diff options
Diffstat (limited to 'libvideoeditor/vss/inc/M4VSS3GPP_InternalFunctions.h')
-rwxr-xr-x | libvideoeditor/vss/inc/M4VSS3GPP_InternalFunctions.h | 651 |
1 files changed, 0 insertions, 651 deletions
diff --git a/libvideoeditor/vss/inc/M4VSS3GPP_InternalFunctions.h b/libvideoeditor/vss/inc/M4VSS3GPP_InternalFunctions.h deleted file mode 100755 index e855882..0000000 --- a/libvideoeditor/vss/inc/M4VSS3GPP_InternalFunctions.h +++ /dev/null @@ -1,651 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - ****************************************************************************** - * @file M4VSS3GPP_InternalFunctions.h - * @brief This file contains all function prototypes not visible to the external world. - * @note - ****************************************************************************** -*/ - - -#ifndef __M4VSS3GPP_INTERNALFUNCTIONS_H__ -#define __M4VSS3GPP_INTERNALFUNCTIONS_H__ - -#include "NXPSW_CompilerSwitches.h" -/** - * VSS public API and types */ -#include "M4VSS3GPP_API.h" - -/** - * VSS private types */ -#include "M4VSS3GPP_InternalTypes.h" - - -#include "M4READER_Common.h" /**< for M4_AccessUnit definition */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* All errors are fatal in the VSS */ -#define M4ERR_CHECK_RETURN(err) if(M4NO_ERROR!=err) return err; - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intEditStepVideo() - * @brief One step of video processing - * @param pC (IN/OUT) Internal edit context - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intEditStepVideo(M4VSS3GPP_InternalEditContext *pC); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intEditStepAudio() - * @brief One step of audio processing - * @param pC (IN/OUT) Internal edit context - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intEditStepAudio(M4VSS3GPP_InternalEditContext *pC); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intEditStepMP3() - * @brief One step of audio processing for the MP3 clip - * @param pC (IN/OUT) Internal edit context - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intEditStepMP3(M4VSS3GPP_InternalEditContext *pC); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intOpenClip() - * @brief Open next clip - * @param pC (IN/OUT) Internal edit context - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intOpenClip(M4VSS3GPP_InternalEditContext *pC, M4VSS3GPP_ClipContext **hClip, - M4VSS3GPP_ClipSettings *pClipSettings); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intDestroyVideoEncoder() - * @brief Destroy the video encoder - * @note - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intDestroyVideoEncoder(M4VSS3GPP_InternalEditContext *pC); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intCreateVideoEncoder() - * @brief Creates the video encoder - * @note - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intCreateVideoEncoder(M4VSS3GPP_InternalEditContext *pC); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intReachedEndOfVideo() - * @brief Do what to do when the end of a clip video track is reached - * @note If there is audio on the current clip, process it, else switch to the next clip - * @param pC (IN/OUT) Internal edit context - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intReachedEndOfVideo(M4VSS3GPP_InternalEditContext *pC); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intReachedEndOfAudio() - * @brief Do what to do when the end of a clip audio track is reached - * @param pC (IN/OUT) Internal edit context - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intReachedEndOfAudio(M4VSS3GPP_InternalEditContext *pC); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intCheckClipCompatibleWithVssEditing() - * @brief Check if the clip is compatible with VSS editing - * @note - * @param pClipCtxt (IN) internal clip context - * @param pClipProperties (OUT) Pointer to a valid ClipProperties structure. - * @return M4NO_ERROR: No error - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intCheckClipCompatibleWithVssEditing(M4VIDEOEDITING_ClipProperties \ - *pClipProperties); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intClipOpen() - * @brief Open a clip. Creates a clip context. - * @note - * @param hClipCtxt (OUT) Return the internal clip context - * @param pClipSettings (IN) Edit settings of this clip. The module will keep a - * reference to this pointer - * @param pFileReadPtrFct (IN) Pointer to OSAL file reader functions - * @param bSkipAudioTrack (IN) If true, do not open the audio - * @param bFastOpenMode (IN) If true, use the fast mode of the 3gpp reader - * (only the first AU is read) - * @return M4NO_ERROR: No error - * @return M4ERR_ALLOC: There is no more available memory - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intClipInit ( - M4VSS3GPP_ClipContext **hClipCtxt, - M4OSA_FileReadPointer *pFileReadPtrFct -); - -M4OSA_ERR M4VSS3GPP_intClipOpen ( - M4VSS3GPP_ClipContext *pClipCtxt, - M4VSS3GPP_ClipSettings *pClipSettings, - M4OSA_Bool bSkipAudioTrack, - M4OSA_Bool bFastOpenMode, - M4OSA_Bool bAvoidOpeningVideoDec -); - - -/** - ****************************************************************************** - * M4OSA_Void M4VSS3GPP_intClipDeleteAudioTrack() - * @brief Delete the audio track. Clip will be like if it had no audio track - * @note - * @param pClipCtxt (IN) Internal clip context - ****************************************************************************** -*/ -M4OSA_Void M4VSS3GPP_intClipDeleteAudioTrack(M4VSS3GPP_ClipContext *pClipCtxt); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intClipDecodeVideoUpToCurrentTime() - * @brief Jump to the previous RAP and decode up to the current video time - * @param pClipCtxt (IN) Internal clip context - * @param iCts (IN) Target CTS - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intClipDecodeVideoUpToCts(M4VSS3GPP_ClipContext* pClipCtxt, M4OSA_Int32 iCts); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intClipReadNextAudioFrame() - * @brief Read one AU frame in the clip - * @note - * @param pClipCtxt (IN) Internal clip context - * @return M4NO_ERROR: No error - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intClipReadNextAudioFrame(M4VSS3GPP_ClipContext *pClipCtxt); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intClipDecodeCurrentAudioFrame() - * @brief Decode the current AUDIO frame. - * @note - * @param pClipCtxt (IN) internal clip context - * @return M4NO_ERROR: No error - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intClipDecodeCurrentAudioFrame(M4VSS3GPP_ClipContext *pClipCtxt); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intClipJumpAudioAt() - * @brief Jump in the audio track of the clip. - * @note - * @param pClipCtxt (IN) internal clip context - * @param pJumpCts (IN/OUT) in:target CTS, out: reached CTS - * @return M4NO_ERROR: No error - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intClipJumpAudioAt(M4VSS3GPP_ClipContext *pClipCtxt, M4OSA_Int32 *pJumpCts); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intClipClose() - * @brief Close a clip. Destroy the context. - * @note - * @param pClipCtxt (IN) Internal clip context - * @return M4NO_ERROR: No error - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intClipClose(M4VSS3GPP_ClipContext *pClipCtxt); - -M4OSA_ERR M4VSS3GPP_intClipCleanUp(M4VSS3GPP_ClipContext *pClipCtxt); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intEditJumpMP3() - * @brief One step of jumping processing for the MP3 clip. - * @note On one step, the jump of several AU is done - * @param pC (IN/OUT) Internal edit context - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intEditJumpMP3(M4VSS3GPP_InternalEditContext *pC); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_registerWriter() - * @brief This function will register a specific file format writer. - * @note According to the Mediatype, this function will store in the internal context - * the writer context. - * @param pContext: (IN) Execution context. - * @return M4NO_ERROR: there is no error - * @return M4ERR_PARAMETER pContext,pWtrGlobalInterface or pWtrDataInterface is - * M4OSA_NULL (debug only), or invalid MediaType - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_registerWriter(M4VSS3GPP_MediaAndCodecCtxt *pC, - M4WRITER_OutputFileType MediaType, - M4WRITER_GlobalInterface* pWtrGlobalInterface, - M4WRITER_DataInterface* pWtrDataInterface); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_registerEncoder() - * @brief This function will register a specific video encoder. - * @note According to the Mediatype, this function will store in the internal context - * the encoder context. - * @param pContext: (IN) Execution context. - * @return M4NO_ERROR: there is no error - * @return M4ERR_PARAMETER pContext or pEncGlobalInterface is M4OSA_NULL (debug only), - * or invalid MediaType - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_registerVideoEncoder(M4VSS3GPP_MediaAndCodecCtxt *pC, - M4ENCODER_Format MediaType, - M4ENCODER_GlobalInterface *pEncGlobalInterface); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_registerAudioEncoder() - * @brief This function will register a specific audio encoder. - * @note According to the Mediatype, this function will store in the internal context - * the encoder context. - * @param pContext: (IN) Execution context. - * @param mediaType: (IN) The media type. - * @param pEncGlobalInterface: (OUT) the encoder interface functions. - * @return M4NO_ERROR: there is no error - * @return M4ERR_PARAMETER: pContext or pEncGlobalInterface is M4OSA_NULL (debug only) - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_registerAudioEncoder(M4VSS3GPP_MediaAndCodecCtxt *pC, - M4ENCODER_AudioFormat MediaType, - M4ENCODER_AudioGlobalInterface *pEncGlobalInterface); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_registerReader() - * @brief Register reader. - * @param pContext (IN/OUT) VSS context. - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_registerReader(M4VSS3GPP_MediaAndCodecCtxt *pC, - M4READER_MediaType mediaType, - M4READER_GlobalInterface *pRdrGlobalInterface, - M4READER_DataInterface *pRdrDataInterface); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_registerVideoDecoder() - * @brief Register video decoder - * @param pContext (IN/OUT) VSS context. - * @param decoderType (IN) Decoder type - * @param pDecoderInterface (IN) Decoder interface. - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only), or the decoder type - * is invalid - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_registerVideoDecoder(M4VSS3GPP_MediaAndCodecCtxt *pC, - M4DECODER_VideoType decoderType, - M4DECODER_VideoInterface *pDecoderInterface); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_registerAudioDecoder() - * @brief Register audio decoder - * @note This function is used internaly by the VSS to register audio decoders, - * @param context (IN/OUT) VSS context. - * @param decoderType (IN) Audio decoder type - * @param pDecoderInterface (IN) Audio decoder interface. - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null, or the decoder type is invalid - * (in DEBUG only) - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_registerAudioDecoder(M4VSS3GPP_MediaAndCodecCtxt *pC, - M4AD_Type decoderType, - M4AD_Interface *pDecoderInterface); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_unRegisterAllWriters() - * @brief Unregister writer - * @param pContext (IN/OUT) VSS context. - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_unRegisterAllWriters(M4VSS3GPP_MediaAndCodecCtxt *pC); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_unRegisterAllEncoders() - * @brief Unregister the encoders - * @param pContext (IN/OUT) VSS context. - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_unRegisterAllEncoders(M4VSS3GPP_MediaAndCodecCtxt *pC); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_unRegisterAllReaders() - * @brief Unregister reader - * @param pContext (IN/OUT) VSS context. - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_unRegisterAllReaders(M4VSS3GPP_MediaAndCodecCtxt *pC); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_unRegisterAllDecoders() - * @brief Unregister the decoders - * @param pContext (IN/OUT) VSS context. - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_unRegisterAllDecoders(M4VSS3GPP_MediaAndCodecCtxt *pC); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_setCurrentWriter() - * @brief Set current writer - * @param pContext (IN/OUT) VSS context. - * @param mediaType (IN) Media type. - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) - * @return M4WAR_VSS_MEDIATYPE_NOT_SUPPORTED: Media type not supported - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_setCurrentWriter(M4VSS3GPP_MediaAndCodecCtxt *pC, - M4VIDEOEDITING_FileType mediaType); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_setCurrentVideoEncoder() - * @brief Set a video encoder - * @param pContext (IN/OUT) VSS context. - * @param MediaType (IN) Encoder type - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) - * @return M4WAR_VSS_MEDIATYPE_NOT_SUPPORTED: Media type not supported - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_setCurrentVideoEncoder(M4VSS3GPP_MediaAndCodecCtxt *pC, - M4SYS_StreamType mediaType); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_setCurrentAudioEncoder() - * @brief Set an audio encoder - * @param context (IN/OUT) VSS context. - * @param MediaType (IN) Encoder type - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_setCurrentAudioEncoder(M4VSS3GPP_MediaAndCodecCtxt *pC, - M4SYS_StreamType mediaType); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_setCurrentReader() - * @brief Set current reader - * @param pContext (IN/OUT) VSS context. - * @param mediaType (IN) Media type. - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) - * @return M4WAR_VSS_MEDIATYPE_NOT_SUPPORTED: Media type not supported - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_setCurrentReader(M4VSS3GPP_MediaAndCodecCtxt *pC, - M4VIDEOEDITING_FileType mediaType); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_setCurrentVideoDecoder() - * @brief Set a video decoder - * @param pContext (IN/OUT) VSS context. - * @param decoderType (IN) Decoder type - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) - * @return M4WAR_VSS_MEDIATYPE_NOT_SUPPORTED: Media type not supported - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_setCurrentVideoDecoder(M4VSS3GPP_MediaAndCodecCtxt *pC, - M4_StreamType mediaType); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_setCurrentAudioDecoder() - * @brief Set an audio decoder - * @param context (IN/OUT) VSS context. - * @param decoderType (IN) Decoder type - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_setCurrentAudioDecoder(M4VSS3GPP_MediaAndCodecCtxt *pC, - M4_StreamType mediaType); - -/** - ************************************************************************ - * M4OSA_ERR M4VSS3GPP_clearInterfaceTables() - * @brief Clear encoders, decoders, reader and writers interfaces tables - * @param pContext (IN/OUT) VSS context. - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: The context is null - ************************************************************************ -*/ -M4OSA_ERR M4VSS3GPP_clearInterfaceTables(M4VSS3GPP_MediaAndCodecCtxt *pC); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_SubscribeMediaAndCodec() - * @brief This function registers the reader, decoders, writers and encoders - * in the VSS. - * @note - * @param pContext: (IN) Execution context. - * @return M4NO_ERROR: there is no error - * @return M4ERR_PARAMETER pContext is NULL - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_subscribeMediaAndCodec(M4VSS3GPP_MediaAndCodecCtxt *pContext); - -/** - ****************************************************************************** - * M4OSA_UInt32 M4VSS3GPP_intGetFrameSize_AMRNB() - * @brief Return the length, in bytes, of the AMR Narrow-Band frame contained in the given buffer - * @note - * @param pAudioFrame (IN) AMRNB frame - * @return M4NO_ERROR: No error - ****************************************************************************** -*/ -M4OSA_UInt32 M4VSS3GPP_intGetFrameSize_AMRNB(M4OSA_MemAddr8 pAudioFrame); - -/** - ****************************************************************************** - * M4OSA_UInt32 M4VSS3GPP_intGetFrameSize_EVRC() - * @brief Return the length, in bytes, of the EVRC frame contained in the given buffer - * @note - * 0 1 2 3 - * +-+-+-+-+ - * |fr type| RFC 3558 - * +-+-+-+-+ - * - * Frame Type: 4 bits - * The frame type indicates the type of the corresponding codec data - * frame in the RTP packet. - * - * For EVRC and SMV codecs, the frame type values and size of the - * associated codec data frame are described in the table below: - * - * Value Rate Total codec data frame size (in octets) - * --------------------------------------------------------- - * 0 Blank 0 (0 bit) - * 1 1/8 2 (16 bits) - * 2 1/4 5 (40 bits; not valid for EVRC) - * 3 1/2 10 (80 bits) - * 4 1 22 (171 bits; 5 padded at end with zeros) - * 5 Erasure 0 (SHOULD NOT be transmitted by sender) - * - * @param pCpAudioFrame (IN) EVRC frame - * @return M4NO_ERROR: No error - ****************************************************************************** -*/ -M4OSA_UInt32 M4VSS3GPP_intGetFrameSize_EVRC(M4OSA_MemAddr8 pAudioFrame); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intBuildAnalysis() - * @brief Get video and audio properties from the clip streams - * @note This function must return fatal errors only (errors that should not happen in the - * final integrated product). - * @param pClipCtxt (IN) internal clip context - * @param pClipProperties (OUT) Pointer to a valid ClipProperties structure. - * @return M4NO_ERROR: No error - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intBuildAnalysis(M4VSS3GPP_ClipContext *pClipCtxt, - M4VIDEOEDITING_ClipProperties *pClipProperties); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intCreateAudioEncoder() - * @brief Reset the audio encoder (Create it if needed) - * @note - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intCreateAudioEncoder(M4VSS3GPP_EncodeWriteContext *pC_ewc, - M4VSS3GPP_MediaAndCodecCtxt *pC_ShellAPI, - M4OSA_UInt32 uiAudioBitrate); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intCreate3GPPOutputFile() - * @brief Creates and prepare the output MP3 file - * @note Creates the writer, Creates the output file, Adds the streams, Readies the - * writing process - * @param pC (IN/OUT) Internal edit context - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intCreate3GPPOutputFile(M4VSS3GPP_EncodeWriteContext *pC_ewc, - M4VSS3GPP_MediaAndCodecCtxt *pC_ShellAPI, - M4OSA_FileWriterPointer *pOsaFileWritPtr, - M4OSA_Void* pOutputFile, - M4OSA_FileReadPointer *pOsaFileReadPtr, - M4OSA_Void* pTempFile, - M4OSA_UInt32 maxOutputFileSize); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intAudioMixingCompatibility() - * @brief This function allows checking if two clips are compatible with each other for - * VSS 3GPP audio mixing feature. - * @note - * @param pC (IN) Context of the audio mixer - * @param pInputClipProperties (IN) Clip analysis of the first clip - * @param pAddedClipProperties (IN) Clip analysis of the second clip - * @return M4NO_ERROR: No error - * @return M4VSS3GPP_ERR_INVALID_CLIP_ANALYSIS_VERSION - * @return M4VSS3GPP_ERR_INPUT_CLIP_IS_NOT_A_3GPP - * @return M4NO_ERROR - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intAudioMixingCompatibility(M4VSS3GPP_InternalAudioMixingContext *pC, - M4VIDEOEDITING_ClipProperties \ - *pInputClipProperties, - M4VIDEOEDITING_ClipProperties \ - *pAddedClipProperties); - -/** - ****************************************************************************** - * M4OSA_Void M4VSS3GPP_intClipDeleteAudioTrack() - * @brief Delete the audio track. Clip will be like if it had no audio track - * @note - * @param pClipCtxt (IN) Internal clip context - ****************************************************************************** -*/ -M4OSA_Void M4VSS3GPP_intClipDeleteAudioTrack(M4VSS3GPP_ClipContext *pClipCtxt); - -/****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intStartAU() - * @brief StartAU writer-like interface used for the VSS 3GPP only - * @note - * @param pContext: (IN) It is the VSS 3GPP context in our case - * @param streamID: (IN) Id of the stream to which the Access Unit is related. - * @param pAU: (IN/OUT) Access Unit to be prepared. - * @return M4NO_ERROR: there is no error - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intStartAU(M4WRITER_Context pContext, M4SYS_StreamID streamID, - M4SYS_AccessUnit* pAU); - -/****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intProcessAU() - * @brief ProcessAU writer-like interface used for the VSS 3GPP only - * @note - * @param pContext: (IN) It is the VSS 3GPP context in our case - * @param streamID: (IN) Id of the stream to which the Access Unit is related. - * @param pAU: (IN/OUT) Access Unit to be written - * @return M4NO_ERROR: there is no error - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intProcessAU(M4WRITER_Context pContext, M4SYS_StreamID streamID, - M4SYS_AccessUnit* pAU); - -/** - ****************************************************************************** - * M4OSA_ERR M4VSS3GPP_intVPP() - * @brief We implement our own VideoPreProcessing function - * @note It is called by the video encoder - * @param pContext (IN) VPP context, which actually is the VSS 3GPP context in our case - * @param pPlaneIn (IN) - * @param pPlaneOut (IN/OUT) Pointer to an array of 3 planes that will contain the - * output YUV420 image - * @return M4NO_ERROR: No error - ****************************************************************************** -*/ -M4OSA_ERR M4VSS3GPP_intVPP(M4VPP_Context pContext, M4VIFI_ImagePlane* pPlaneIn, - M4VIFI_ImagePlane* pPlaneOut); - -#ifdef __cplusplus -} -#endif - -#endif /* __M4VSS3GPP_INTERNALFUNCTIONS_H__ */ - |