diff options
Diffstat (limited to 'libvideoeditor/vss/common')
38 files changed, 0 insertions, 7091 deletions
diff --git a/libvideoeditor/vss/common/inc/From2iToMono_16.h b/libvideoeditor/vss/common/inc/From2iToMono_16.h deleted file mode 100755 index c6ffb3f..0000000 --- a/libvideoeditor/vss/common/inc/From2iToMono_16.h +++ /dev/null @@ -1,30 +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. - */ - -#ifndef _FROM2ITOMONO_16_H_ -#define _FROM2ITOMONO_16_H_ - - -void From2iToMono_16( const short *src, - short *dst, - short n); - -/**********************************************************************************/ - -#endif /* _FROM2ITOMONO_16_H_ */ - -/**********************************************************************************/ - diff --git a/libvideoeditor/vss/common/inc/LVM_Types.h b/libvideoeditor/vss/common/inc/LVM_Types.h deleted file mode 100755 index a28974d..0000000 --- a/libvideoeditor/vss/common/inc/LVM_Types.h +++ /dev/null @@ -1,180 +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 name: LVM_Types.h - -*****************************************************************************************/ - -/****************************************************************************************/ -/* */ -/* Header file defining the standard LifeVibes types for use in the application layer */ -/* interface of all LifeVibes modules */ -/* */ -/****************************************************************************************/ - -#ifndef LVM_TYPES_H -#define LVM_TYPES_H - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/****************************************************************************************/ -/* */ -/* definitions */ -/* */ -/****************************************************************************************/ - -#define LVM_NULL 0 /* NULL pointer */ - -#define LVM_TRUE 1 /* Booleans */ -#define LVM_FALSE 0 - -#define LVM_MAXINT_8 127 /* Maximum positive integer size */ -#define LVM_MAXINT_16 32767 -#define LVM_MAXINT_32 2147483647 -#define LVM_MAXENUM 2147483647 - -#define LVM_MODULEID_MASK 0xFF00 /* Mask to extract the calling module ID - from callbackId */ -#define LVM_EVENTID_MASK 0x00FF /* Mask to extract the callback event from - callbackId */ - -/* Memory table*/ -#define LVM_MEMREGION_PERSISTENT_SLOW_DATA 0 /* Offset to the instance memory region */ -#define LVM_MEMREGION_PERSISTENT_FAST_DATA 1 /* Offset to the persistent data memory - region */ -#define LVM_MEMREGION_PERSISTENT_FAST_COEF 2 /* Offset to the persistent coefficient - memory region */ -#define LVM_MEMREGION_TEMPORARY_FAST 3 /* Offset to temporary memory region */ - - -/****************************************************************************************/ -/* */ -/* Basic types */ -/* */ -/****************************************************************************************/ - -typedef char LVM_CHAR; /* ASCII character */ - -typedef char LVM_INT8; /* Signed 8-bit word */ -typedef unsigned char LVM_UINT8; /* Unsigned 8-bit word */ - -typedef short LVM_INT16; /* Signed 16-bit word */ -typedef unsigned short LVM_UINT16; /* Unsigned 16-bit word */ - -typedef long LVM_INT32; /* Signed 32-bit word */ -typedef unsigned long LVM_UINT32; /* Unsigned 32-bit word */ - - -/****************************************************************************************/ -/* */ -/* Standard Enumerated types */ -/* */ -/****************************************************************************************/ - -/* Operating mode */ -typedef enum -{ - LVM_MODE_OFF = 0, - LVM_MODE_ON = 1, - LVM_MODE_DUMMY = LVM_MAXENUM -} LVM_Mode_en; - - -/* Format */ -typedef enum -{ - LVM_STEREO = 0, - LVM_MONOINSTEREO = 1, - LVM_MONO = 2, - LVM_SOURCE_DUMMY = LVM_MAXENUM -} LVM_Format_en; - - -/* Word length */ -typedef enum -{ - LVM_16_BIT = 0, - LVM_32_BIT = 1, - LVM_WORDLENGTH_DUMMY = LVM_MAXENUM -} LVM_WordLength_en; - - -/* LVM sampling rates */ -typedef enum -{ - LVM_FS_8000 = 0, - LVM_FS_11025 = 1, - LVM_FS_12000 = 2, - LVM_FS_16000 = 3, - LVM_FS_22050 = 4, - LVM_FS_24000 = 5, - LVM_FS_32000 = 6, - LVM_FS_44100 = 7, - LVM_FS_48000 = 8, - LVM_FS_INVALID = LVM_MAXENUM-1, - LVM_FS_DUMMY = LVM_MAXENUM -} LVM_Fs_en; - - -/* Memory Types */ -typedef enum -{ - LVM_PERSISTENT_SLOW_DATA = LVM_MEMREGION_PERSISTENT_SLOW_DATA, - LVM_PERSISTENT_FAST_DATA = LVM_MEMREGION_PERSISTENT_FAST_DATA, - LVM_PERSISTENT_FAST_COEF = LVM_MEMREGION_PERSISTENT_FAST_COEF, - LVM_TEMPORARY_FAST = LVM_MEMREGION_TEMPORARY_FAST, - LVM_MEMORYTYPE_DUMMY = LVM_MAXENUM -} LVM_MemoryTypes_en; - - -/* Memory region definition */ -typedef struct -{ - LVM_UINT32 Size; /* Region size in bytes */ - LVM_MemoryTypes_en Type; /* Region type */ - void *pBaseAddress; /* Pointer to the region base address */ -} LVM_MemoryRegion_st; - - -/****************************************************************************************/ -/* */ -/* Standard Function Prototypes */ -/* */ -/****************************************************************************************/ -typedef LVM_INT32 (*LVM_Callback)(void *pCallbackData, /* Pointer to the callback - data structure */ - void *pGeneralPurpose, /* General purpose pointer - (e.g. to a data structure - needed in the callback) */ - LVM_INT16 GeneralPurpose ); /* General purpose variable - (e.g. to be used as callback ID) */ - - -/****************************************************************************************/ -/* */ -/* End of file */ -/* */ -/****************************************************************************************/ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* LVM_TYPES_H */ diff --git a/libvideoeditor/vss/common/inc/M4AD_Common.h b/libvideoeditor/vss/common/inc/M4AD_Common.h deleted file mode 100755 index f6e596d..0000000 --- a/libvideoeditor/vss/common/inc/M4AD_Common.h +++ /dev/null @@ -1,302 +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. - */ -/** - ************************************************************************ - * @fil M4AD_Common.h - * @brief Audio Shell Decoder common interface declaration - * @note This file declares the common interfaces that audio decoder shells must implement - ************************************************************************ -*/ -#ifndef __M4AD_COMMON_H__ -#define __M4AD_COMMON_H__ - -#include "M4OSA_Types.h" -#include "M4OSA_Error.h" -#include "M4OSA_OptionID.h" -#include "M4OSA_CoreID.h" -#include "M4DA_Types.h" -#include "M4TOOL_VersionInfo.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -typedef M4OSA_Void* M4AD_Context; - -/** - ************************************************************************ - * enum M4AD_OptionID - * @brief This enum defines the Audio decoder options. - * @note These options can be read from or written to a decoder via - * M4AD_getOption_fct/M4AD_setOption_fct - ************************************************************************ -*/ -typedef enum -{ - /** - * Set the flag of presence of protection */ - M4AD_kOptionID_ProtectionAbsent = M4OSA_OPTION_ID_CREATE(M4_WRITE, M4DECODER_AUDIO, 0x01), - - /** - * Set the number of frames per bloc */ - M4AD_kOptionID_NbFramePerBloc = M4OSA_OPTION_ID_CREATE(M4_WRITE, M4DECODER_AUDIO, 0x02), - - /** - * Set the AAC decoder user parameters */ - M4AD_kOptionID_UserParam = M4OSA_OPTION_ID_CREATE(M4_WRITE, M4DECODER_AUDIO, 0x03), - - - /** - * Get the AAC steam type */ - M4AD_kOptionID_StreamType = M4OSA_OPTION_ID_CREATE(M4_READ , M4DECODER_AUDIO, 0x10), - - /** - * Get the number of used bytes in the latest decode - (used only when decoding AAC from ADIF file) */ - M4AD_kOptionID_UsedBytes = M4OSA_OPTION_ID_CREATE(M4_READ , M4DECODER_AUDIO, 0x11), - - /* Reader Interface */ - M4AD_kOptionID_3gpReaderInterface = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_AUDIO, 0x012), - - /* Audio Access Unit */ - M4AD_kOptionID_AudioAU = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_AUDIO, 0x13), - - /* Reader error code */ - M4AD_kOptionID_GetAudioAUErrCode = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_AUDIO, 0x14), - - /* Number of channels */ - M4AD_kOptionID_AudioNbChannels = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_AUDIO, 0x15), - - /* Sampling frequency */ - M4AD_kOptionID_AudioSampFrequency = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_AUDIO, 0x16), - - /* Audio AU CTS */ - M4AD_kOptionID_AuCTS = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_AUDIO, 0x17) - -} M4AD_OptionID; - - - -typedef enum -{ - M4_kUnknown = 0, /* Unknown stream type */ - M4_kAAC, /* M4_kAAC_MAIN or M4_kAAC_LC or M4_kAAC_SSR or M4_kAAC_LTP */ - M4_kAACplus, /* Decoder type is AAC plus */ - M4_keAACplus /* Decoder type is enhanced AAC plus */ -} M4_AACType; - -/** - ************************************************************************ - * enum M4AD_Type - * @brief This enum defines the audio types used to create decoders - * @note This enum is used internally by the VPS to identify a currently supported - * audio decoder interface. Each decoder is registered with one of this type associated. - * When a decoder instance is needed, this type is used to identify - * and retrieve its interface. - ************************************************************************ -*/ -typedef enum -{ - M4AD_kTypeAMRNB = 0, - M4AD_kTypeAMRWB, - M4AD_kTypeAAC, - M4AD_kTypeMP3, - M4AD_kTypePCM, - M4AD_kTypeBBMusicEngine, - M4AD_kTypeWMA, - M4AD_kTypeRMA, - M4AD_kTypeADPCM, - M4AD_kType_NB /* number of decoders, keep it as last enum entry */ - -} M4AD_Type ; - - - -/** - ************************************************************************ - * structure M4AD_Buffer - * @brief Structure to describe a buffer - ************************************************************************ -*/ -typedef struct -{ - M4OSA_MemAddr8 m_dataAddress; - M4OSA_UInt32 m_bufferSize; - int64_t m_timeStampUs; -} M4AD_Buffer; - -/** - ************************************************************************ - * @brief Creates an instance of the decoder - * @note Allocates the context - * - * @param pContext: (OUT) Context of the decoder - * @param pStreamHandler: (IN) Pointer to an audio stream description - * @param pUserData: (IN) Pointer to User data - * - * @return M4NO_ERROR there is no error - * @return M4ERR_STATE State automaton is not applied - * @return M4ERR_ALLOC a memory allocation has failed - * @return M4ERR_PARAMETER at least one parameter is not properly set (in DEBUG only) - ************************************************************************ -*/ - -typedef M4OSA_ERR (M4AD_create_fct)(M4AD_Context *pContext, - M4_AudioStreamHandler *pStreamHandler, void* pUserData); - - -/** - ************************************************************************ - * @brief Destroys the instance of the decoder - * @note After this call the context is invalid - * - * @param context: (IN) Context of the decoder - * - * @return M4NO_ERROR There is no error - * @return M4ERR_PARAMETER The context is invalid (in DEBUG only) - ************************************************************************ -*/ -typedef M4OSA_ERR (M4AD_destroy_fct) (M4AD_Context context); - -/** - ************************************************************************ - * @brief Decodes the given audio data - * @note Parses and decodes the next audio frame, from the given buffer. - * This function changes pInputBufferSize value according to the amount - * of data actually read. - * - * @param context: (IN) Context of the decoder - * @param inputBuffer: (IN/OUT)Input Data buffer. It contains at least one audio frame. - * The size of the buffer must be updated inside the - * function to reflect the size of the actually decoded data. - * (e.g. the first frame in pInputBuffer) - * @param decodedPCMBuffer: (OUT) Output PCM buffer (decoded data). - * @param jumping: (IN) M4OSA_TRUE if a jump was just done, M4OSA_FALSE otherwise. - * @return M4NO_ERROR there is no error - * @return M4ERR_PARAMETER at least one parameter is not properly set - ************************************************************************ -*/ -typedef M4OSA_ERR (M4AD_step_fct) (M4AD_Context context, M4AD_Buffer *pInputBuffer, - M4AD_Buffer *pDecodedPCMBuffer, M4OSA_Bool jumping); - -/** - ************************************************************************ - * @brief Gets the decoder version - * @note The version is given in a M4_VersionInfo structure - * - * @param pValue: (OUT) Pointer to the version structure - * - * @return M4NO_ERROR there is no error - * @return M4ERR_PARAMETER The given pointer is null (in DEBUG only) - ************************************************************************ -*/ -typedef M4OSA_ERR (M4AD_getVersion_fct)(M4_VersionInfo* pVersionInfo); - - -/** - ************************************************************************ - * @brief This function creates the AAC core decoder according to - * the stream properties and to the options that may - * have been set using M4AD_setOption_fct - * @note Creates an instance of the AAC decoder - * @note This function is used especially by the AAC decoder - * - * @param pContext: (IN/OUT) Context of the decoder - * @param pStreamHandler: (IN) Pointer to an audio stream description - * - * @return M4NO_ERROR there is no error - * @return M4ERR_STATE State automaton is not applied - * @return M4ERR_ALLOC a memory allocation has failed - * @return M4ERR_PARAMETER at least one parameter is not properly set (in DEBUG only) - ************************************************************************ -*/ -typedef M4OSA_ERR (M4AD_start_fct) (M4AD_Context pContext); - -/** - ************************************************************************ - * @brief Reset the instance of the decoder - * - * @param context: (IN) Context of the decoder - * - * @return M4NO_ERROR There is no error - * @return M4ERR_PARAMETER The context is invalid (in DEBUG only) - ************************************************************************ -*/ -typedef M4OSA_ERR (M4AD_reset_fct) (M4AD_Context context); - - -/** - ************************************************************************ - * @brief set en option value of the audio decoder - * - * @param context: (IN) Context of the decoder - * @param optionId: (IN) indicates the option to set - * @param pValue: (IN) pointer to structure or value (allocated by user) - * where option is stored - * @return M4NO_ERROR there is no error - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - * @return M4ERR_PARAMETER at least one parameter is not properly set - * @return M4ERR_BAD_OPTION_ID when the option ID is not a valid one - ************************************************************************ -*/ -typedef M4OSA_ERR (M4AD_setOption_fct) (M4AD_Context context, - M4OSA_OptionID optionId, M4OSA_DataOption pValue); - -/** - ************************************************************************ - * @brief Get en option value of the audio decoder - * - * @param context: (IN) Context of the decoder - * @param optionId: (IN) indicates the option to set - * @param pValue: (OUT) pointer to structure or value (allocated by user) - * where option is stored - * @return M4NO_ERROR there is no error - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - * @return M4ERR_PARAMETER at least one parameter is not properly set - * @return M4ERR_BAD_OPTION_ID when the option ID is not a valid one - ************************************************************************ -*/ -typedef M4OSA_ERR (M4AD_getOption_fct) (M4AD_Context context, M4OSA_OptionID optionId, - M4OSA_DataOption pValue); -/** - ************************************************************************ - * structure M4AD_Interface - * @brief This structure defines the generic audio decoder interface - * @note This structure stores the pointers to functions of one audio decoder type. - * The decoder type is one of the M4AD_Type - ************************************************************************ -*/ -typedef struct _M4AD_Interface -{ - - M4AD_create_fct* m_pFctCreateAudioDec; - M4AD_start_fct* m_pFctStartAudioDec; - M4AD_step_fct* m_pFctStepAudioDec; - M4AD_getVersion_fct* m_pFctGetVersionAudioDec; - M4AD_destroy_fct* m_pFctDestroyAudioDec; - M4AD_reset_fct* m_pFctResetAudioDec; - M4AD_setOption_fct* m_pFctSetOptionAudioDec; - M4AD_getOption_fct* m_pFctGetOptionAudioDec; - -} M4AD_Interface; - -#ifdef __cplusplus -} -#endif - -#endif /*__M4AD_COMMON_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4AD_Null.h b/libvideoeditor/vss/common/inc/M4AD_Null.h deleted file mode 100755 index 78140cd..0000000 --- a/libvideoeditor/vss/common/inc/M4AD_Null.h +++ /dev/null @@ -1,54 +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 M4AD_Null.h - * @brief Implementation of the decoder public interface that do nothing - * @note This file defines the getInterface function. -************************************************************************* -*/ -#ifndef __M4AD_NULL_H__ -#define __M4AD_NULL_H__ - -#include "M4AD_Common.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -/** - ************************************************************************ - * @brief Retrieves the interface implemented by the decoder - * @param pDecoderType : pointer on an M4AD_Type (allocated by the caller) - * that will be filled with the decoder type supported by this decoder - * @param pDecoderInterface : address of a pointer that will be set to the interface implemented - * by this decoder. The interface is a structure allocated by the - * function and must be un-allocated by the caller. - * - * @return : M4NO_ERROR if OK - * M4ERR_ALLOC if allocation failed - ************************************************************************ -*/ -M4OSA_ERR M4AD_NULL_getInterface( M4AD_Type *pDecoderType, M4AD_Interface **pDecoderInterface); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /*__M4AD_NULL_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4AIR_API.h b/libvideoeditor/vss/common/inc/M4AIR_API.h deleted file mode 100755 index 7541362..0000000 --- a/libvideoeditor/vss/common/inc/M4AIR_API.h +++ /dev/null @@ -1,184 +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 M4AIR_API.h - * @brief Area of Interest Resizer API - * @note -************************************************************************* -*/ -#ifndef M4AIR_API_H -#define M4AIR_API_H - -/******************************* INCLUDES *******************************/ -#include "M4OSA_Types.h" -#include "M4OSA_Error.h" -#include "M4OSA_CoreID.h" -#include "M4OSA_Mutex.h" -#include "M4OSA_Memory.h" -#include "M4VIFI_FiltersAPI.h" -#include "M4Common_types.h" - -/************************ M4AIR TYPES DEFINITIONS ***********************/ - -/** - ****************************************************************************** - * enum M4AIR_InputFormatType - * @brief The following enumeration lists the different accepted format for the AIR. - * To be available, the associated compilation flag must be defined, else, - * the AIR will return an error (compilation flag : M4AIR_XXXXXX_FORMAT_SUPPORTED). - ****************************************************************************** -*/ -typedef enum -{ - M4AIR_kYUV420P, - M4AIR_kYUV420AP, - M4AIR_kJPG -}M4AIR_InputFormatType ; - - -/** - ****************************************************************************** - * struct M4AIR_Coordinates - * @brief The following structure is used to retrieve X and Y coordinates in a given picture. - ****************************************************************************** -*/ -typedef struct -{ - M4OSA_UInt32 m_x; /**< X coordinate */ - M4OSA_UInt32 m_y; /**< Y coordinate */ -}M4AIR_Coordinates; - - -/** - ****************************************************************************** - * struct M4AIR_Size - * @brief The following structure is used to retrieve the dimension of a given picture area. - ****************************************************************************** -*/ -typedef struct -{ - M4OSA_UInt32 m_width; /**< Width */ - M4OSA_UInt32 m_height; /**< Height */ -}M4AIR_Size; - - -/** - ****************************************************************************** - * struct M4AIR_Params - * @brief The following structure is used to retrieve the parameters needed to get a resized ROI (Region of interest). - ****************************************************************************** -*/ -typedef struct -{ - M4AIR_Coordinates m_inputCoord; /**< X and Y positionning in the input of the first interesting pixel (top-left) */ - M4AIR_Size m_inputSize; /**< Size of the interesting area inside input (width and height)*/ - M4AIR_Size m_outputSize; /**< Size of the output */ - M4OSA_Bool m_bOutputStripe; /**< Flag to know if we will have to provide output per stripe or not */ - M4COMMON_Orientation m_outputOrientation; /**< Desired orientation of the AIR output */ -}M4AIR_Params; - - - - -/*********************** M4AIR ERRORS DEFINITIONS **********************/ - -/* This error means that the requested video format is not supported. */ -#define M4ERR_AIR_FORMAT_NOT_SUPPORTED M4OSA_ERR_CREATE(M4_ERR,M4AIR,0x000001) - -/* This error means that the input or output size is incorrect */ -#define M4ERR_AIR_ILLEGAL_FRAME_SIZE M4OSA_ERR_CREATE(M4_ERR,M4AIR,0x000002) - - - -/********************** M4AIR PUBLIC API DEFINITIONS ********************/ -/** - ****************************************************************************** - * M4OSA_ERR M4AIR_create(M4OSA_Context* pContext,M4AIR_InputFormatType inputFormat); - * @brief This function initialize an instance of the AIR. - * @param pContext: (IN/OUT) Address of the context to create - * @param inputFormat: (IN) input format type. - * @return M4NO_ERROR: there is no error - * @return M4ERR_PARAMETER: pContext is M4OSA_NULL (debug only). Invalid formatType - * @return M4ERR_ALLOC: No more memory is available - ****************************************************************************** -*/ -M4OSA_ERR M4AIR_create(M4OSA_Context* pContext,M4AIR_InputFormatType inputFormat); - - -/** - ****************************************************************************** - * M4OSA_ERR M4AIR_cleanUp(M4OSA_Context pContext) - * @brief This function destroys an instance of the AIR component - * @param pContext: (IN) Context identifying the instance to destroy - * @return M4NO_ERROR: there is no error - * @return M4ERR_PARAMETER: pContext is M4OSA_NULL (debug only). - * @return M4ERR_STATE: Internal state is incompatible with this function call. - ****************************************************************************** -*/ -M4OSA_ERR M4AIR_cleanUp(M4OSA_Context pContext); - - -/** - ****************************************************************************** - * M4OSA_ERR M4AIR_configure(M4OSA_Context pContext, M4AIR_Params* pParams) - * @brief This function will configure the AIR. - * @note It will set the input and output coordinates and sizes, - * and indicates if we will proceed in stripe or not. - * In case a M4AIR_get in stripe mode was on going, it will cancel this previous - * processing and reset the get process. - * @param pContext: (IN) Context identifying the instance - * @param pParams->m_bOutputStripe:(IN) Stripe mode. - * @param pParams->m_inputCoord: (IN) X,Y coordinates of the first valid pixel in input. - * @param pParams->m_inputSize: (IN) input ROI size. - * @param pParams->m_outputSize: (IN) output size. - * @return M4NO_ERROR: there is no error - * @return M4ERR_ALLOC: No more memory space to add a new effect. - * @return M4ERR_PARAMETER: pContext is M4OSA_NULL (debug only). - * @return M4ERR_AIR_FORMAT_NOT_SUPPORTED: the requested input format is not supported. - ****************************************************************************** -*/ -M4OSA_ERR M4AIR_configure(M4OSA_Context pContext, M4AIR_Params* pParams); - - -/** - ****************************************************************************** - * M4OSA_ERR M4AIR_get(M4OSA_Context pContext, M4VIFI_ImagePlane* pIn, M4VIFI_ImagePlane* pOut) - * @brief This function will provide the requested resized area of interest according to - * settings provided in M4AIR_configure. - * @note In case the input format type is JPEG, input plane(s) - * in pIn is not used. In normal mode, dimension specified in output plane(s) structure - * must be the same than the one specified in M4AIR_configure. In stripe mode, only - * the width will be the same, height will be taken as the stripe height (typically 16). - * In normal mode, this function is call once to get the full output picture. In stripe - * mode, it is called for each stripe till the whole picture has been retrieved,and - * the position of the output stripe in the output picture is internally incremented - * at each step. - * Any call to M4AIR_configure during stripe process will reset this one to the - * beginning of the output picture. - * @param pContext: (IN) Context identifying the instance - * @param pIn: (IN) Plane structure containing input Plane(s). - * @param pOut: (IN/OUT) Plane structure containing output Plane(s). - * @return M4NO_ERROR: there is no error - * @return M4ERR_ALLOC: No more memory space to add a new effect. - * @return M4ERR_PARAMETER: pContext is M4OSA_NULL (debug only). - ****************************************************************************** -*/ -M4OSA_ERR M4AIR_get(M4OSA_Context pContext, M4VIFI_ImagePlane* pIn, M4VIFI_ImagePlane* pOut); - - - -#endif /* M4AIR_API_H */ diff --git a/libvideoeditor/vss/common/inc/M4AMRR_CoreReader.h b/libvideoeditor/vss/common/inc/M4AMRR_CoreReader.h deleted file mode 100755 index 9d710f3..0000000 --- a/libvideoeditor/vss/common/inc/M4AMRR_CoreReader.h +++ /dev/null @@ -1,251 +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 M4AMRR_CoreReader.h - * @brief Implementation of AMR parser - * @note This file contains the API def. for AMR Parser. - ****************************************************************************** -*/ -#ifndef __M4AMR_COREREADER_H__ -#define __M4AMR_COREREADER_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "M4OSA_Types.h" -#include "M4OSA_FileReader.h" -#include "M4SYS_Stream.h" -#include "M4SYS_AccessUnit.h" -#include "M4OSA_Time.h" -#include "M4TOOL_VersionInfo.h" - -/** - ****************************************************************************** - * AMR reader Errors & Warnings definition - ****************************************************************************** -*/ -#define M4ERR_AMR_INVALID_FRAME_TYPE M4OSA_ERR_CREATE(M4_ERR,M4AMR_READER, 0x000001) -#define M4ERR_AMR_NOT_COMPLIANT M4OSA_ERR_CREATE(M4_ERR,M4AMR_READER, 0x000002) - -/** - ****************************************************************************** - * enumeration M4AMRR_State - * @brief This enum defines the AMR reader states - * @note These states are used internaly, but can be retrieved from outside the reader. - ****************************************************************************** -*/ -typedef enum{ - M4AMRR_kOpening = 0x0100, - M4AMRR_kOpened = 0x0101, - M4AMRR_kReading = 0x0200, - M4AMRR_kReading_nextAU = 0x0201, - M4AMRR_kClosed = 0x300 -}M4AMRR_State; - -/** -******************************************************************************* -* M4OSA_ERR M4AMRR_openRead (M4OSA_Context* pContext, M4OSA_Void* pFileDescriptor, -* M4OSA_FileReaderPointer* pFileFunction); -* @brief M4AMRR_OpenRead parses the meta data of the AMR and allocates data structure -* @note This function opens the file and creates a context for AMR Parser. -* - sets context to null if error occured. -* @param pContext(OUT) : AMR Reader context allocated in the function -* @param pFileDesscriptor(IN): File descriptor of the input file -* @param pFileFunction(IN) : pointer to file function for file access -* -* @returns M4NO_ERROR : There is no error -* @returns M4ERR_PARAMETER : pContext and/or pFileDescriptor is NULL -* @returns M4ERR_ALLOC : Memory allocation failed -* @returns M4ERR_FILE_NOT_FOUND : file cannot be found -* @returns M4AMRR_ERR_AMR_NOT_COMPLIANT : Tthe input is not a AMR file -* @returns M4OSA_FILE : See OSAL file Spec. for details. -******************************************************************************* -*/ -M4OSA_ERR M4AMRR_openRead (M4OSA_Context* pContext, M4OSA_Void* pFileDescriptor, - M4OSA_FileReadPointer* pFileFunction); - -/** -****************************************************************************** -* M4OSA_ERR M4AMRR_getNextStream(M4OSA_Context Context, M4SYS_StreamDescription* pStreamDesc ); -* @brief Reads the next available stream in the file -* @note Get the stream description of the stream. -* - This function assumes that there is only one stream in AMR file. -* @param Context(IN/OUT) : AMR Reader context -* @param pStreamDesc(OUT): Description of the next read stream -* -* @returns M4NO_ERROR : There is no error -* @returns M4ERR_PARAMETER : atleast one parament is NULL -* @returns M4ERR_BAD_CONTEXT : The provided context is not valid -* @returns M4ERR_ALLOC : Memory allocation failed -* @returns M4ERR_STATE : this function cannot be called in this state. -* @returns M4AMRR_WAR_NO_MORE_STREAM : There are no more streams in the file. -****************************************************************************** -*/ - -M4OSA_ERR M4AMRR_getNextStream(M4OSA_Context Context, M4SYS_StreamDescription* pStreamDesc ); - -/** -****************************************************************************** -* M4OSA_ERR M4AMRR_startReading(M4OSA_Context Context, M4SYS_StreamID* pStreamIDs ); -* @brief Prepares the AMR reading of the specified stream Ids -* @note This function changes the state of the reader reading. -* @param Context(IN/OUT) : AMR Reader context -* @param pStreamIDs(IN) : Array of stream Ids to be prepared. -* -* @returns M4NO_ERROR : There is no error -* @returns M4ERR_PARAMETER : atleast one parament is NULL -* @returns M4ERR_BAD_CONTEXT : The provided context is not valid -* @returns M4ERR_ALLOC : Memory allocation failed -* @returns M4ERR_STATE : this function cannot be called in this state. -* @returns M4ERR_BAD_STREAM_ID : Atleast one of the stream Id. does not exist. -****************************************************************************** -*/ -M4OSA_ERR M4AMRR_startReading(M4OSA_Context Context, M4SYS_StreamID* pStreamIDs ); - -/** -****************************************************************************** -* M4OSA_ERR M4AMRR_nextAU(M4OSA_Context Context, M4SYS_StreamID StreamID, M4SYS_AccessUnit* pAu); -* @brief Reads the access unit into the providing stream -* @note This function allocates the memory to dataAddress filed and copied the data. -* -The Application should not free the dataAddress pointer. -* @param Context(IN/OUT) : AMR Reader context -* @param StreamID(IN) : Selects the stream -* @param pAu(IN/OUT) : Access Unit -* -* @returns M4NO_ERROR : There is no error -* @returns M4ERR_PARAMETER : atleast one parament is NULL -* @returns M4ERR_BAD_CONTEXT : The provided context is not valid -* @returns M4ERR_ALLOC : Memory allocation failed -* @returns M4ERR_STATE : this function cannot be called in this state. -* @returns M4ERR_BAD_STREAM_ID : Atleast one of the stream Id. does not exist. -* @returns M4WAR_NO_DATA_YET : there is no enough data on the stream for new access unit -* @returns M4WAR_END_OF_STREAM : There are no more access unit in the stream -* @returns M4AMRR_ERR_INVALID_FRAME_TYPE : current frame has no valid frame type. -****************************************************************************** -*/ -M4OSA_ERR M4AMRR_nextAU(M4OSA_Context Context, M4SYS_StreamID StreamID, M4SYS_AccessUnit* pAu); - -/** -****************************************************************************** -* M4OSA_ERR M4AMRR_freeAU(M4OSA_Context Context, M4SYS_StreamID StreamID, M4SYS_AccessUnit* pAu); -* @brief Notify the ARM Reader that application will no longer use "AU" -* @note This function frees the memory pointed by pAu->dataAddress pointer -* -Changes the state of the reader back to reading. -* @param Context(IN/OUT) : AMR Reader context -* @param StreamID(IN) : Selects the stream -* @param pAu(IN) : Access Unit -* -* @returns M4NO_ERROR : There is no error -* @returns M4ERR_PARAMETER : atleast one parament is NULL -* @returns M4ERR_BAD_CONTEXT : The provided context is not valid -* @returns M4ERR_ALLOC : Memory allocation failed -* @returns M4ERR_STATE : this function cannot be called in this state. -* @returns M4ERR_BAD_STREAM_ID : Atleast one of the stream Id. does not exist. -****************************************************************************** -*/ -M4OSA_ERR M4AMRR_freeAU(M4OSA_Context Context, M4SYS_StreamID StreamID, M4SYS_AccessUnit* pAu); - -/** -****************************************************************************** -* M4OSA_ERR M4AMRR_seek(M4OSA_Context Context, M4SYS_StreamID* pStreamID, M4OSA_Time time, -* M4SYS_seekAccessMode seekMode, M4OSA_Time* pObtainCTS); -* @brief The function seeks the targeted time in the give stream by streamId. -* @note Each frame is of 20 ms duration,, builds the seek table and points -* the file pointer to starting for the required AU. -* @param Context(IN/OUT) : AMR Reader context -* @param StreamID(IN) : Array of stream IDs. -* @param time(IN) : targeted time -* @param seekMode(IN) : Selects the seek mode -* @param pObtainCTS(OUT) : Returned time nearest to target. -* -* @returns M4NO_ERROR : There is no error -* @returns M4ERR_PARAMETER : atleast one parament is NULL -* @returns M4ERR_BAD_CONTEXT : The provided context is not valid -* @returns M4ERR_ALLOC : Memory allocation failed -* @returns M4ERR_STATE : this function cannot be called in this state. -* @returns M4ERR_BAD_STREAM_ID : Atleast one of the stream Id. does not exist. -* @returns M4WAR_INVALID_TIME : time cannot be reached. -****************************************************************************** -*/ -M4OSA_ERR M4AMRR_seek(M4OSA_Context Context, M4SYS_StreamID* pStreamID, M4OSA_Time time, - M4SYS_SeekAccessMode seekMode, M4OSA_Time* pObtainCTS); - -/** -****************************************************************************** -* M4OSA_ERR M4AMRR_closeRead(M4OSA_Context Context); -* @brief AMR reader closes the file -* @param Context(IN?OUT) : AMR Reader context -* @returns M4NO_ERROR : There is no error -* @returns M4ERR_PARAMETER : atleast one parament is NULL -* @returns M4ERR_BAD_CONTEXT : The provided context is not valid -* @returns M4ERR_ALLOC : Memory allocation failed -* @returns M4ERR_STATE : this function cannot be called in this state. -****************************************************************************** -*/ -M4OSA_ERR M4AMRR_closeRead(M4OSA_Context Context); - -/** -****************************************************************************** -* M4OSA_ERR M4AMRR_getState(M4OSA_Context Context, M4AMRR_State* pState, M4SYS_StreamID streamId); -* @brief Gets the current state of the AMR reader -* @param Context(IN/OUT) : AMR Reader context -* @param pState(OUT) : Core AMR reader state -* @param streamId(IN) : Selects the stream 0 for all -* -* @returns M4NO_ERROR : There is no error -* @returns M4ERR_PARAMETER : atleast one parament is NULL -* @returns M4ERR_BAD_CONTEXT : The provided context is not valid -* @returns M4ERR_BAD_STREAM_ID : Atleast one of the stream Id. does not exist. -****************************************************************************** -*/ -M4OSA_ERR M4AMRR_getState(M4OSA_Context Context, M4AMRR_State* pState, M4SYS_StreamID streamId); - - -/** - ****************************************************************************** - * M4OSA_ERR M4AMRR_getVersion (M4_VersionInfo *pVersion) - * @brief Gets the current version of the AMR reader - * @param version(OUT) : the structure that stores the version numbers - * - * @returns M4NO_ERROR : There is no error - * @returns M4ERR_PARAMETER : version is NULL - ****************************************************************************** -*/ -M4OSA_ERR M4AMRR_getVersion (M4_VersionInfo *pVersion); - -/** - ****************************************************************************** - * M4OSA_ERR M4AMRR_getmaxAUsize (M4OSA_Context Context, M4OSA_UInt32 *pMaxAuSize) - * @brief Computes the maximum access unit size of a stream - * - * @param Context (IN) Context of the reader - * @param pMaxAuSize (OUT) Maximum Access Unit size in the stream - * - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: One of the input pointer is M4OSA_NULL (Debug only) - ****************************************************************************** -*/ -M4OSA_ERR M4AMRR_getmaxAUsize(M4OSA_Context Context, M4OSA_UInt32 *pMaxAuSize); - - -#ifdef __cplusplus -} -#endif /* __cplusplus*/ -#endif /*__M4AMR_COREREADER_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4Common_types.h b/libvideoeditor/vss/common/inc/M4Common_types.h deleted file mode 100755 index 9e6a0fb..0000000 --- a/libvideoeditor/vss/common/inc/M4Common_types.h +++ /dev/null @@ -1,235 +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 M4Common_Types.h - * @brief defines common structures - * @note - * - ************************************************************************ -*/ -#ifndef M4COMMON_TYPES_H -#define M4COMMON_TYPES_H - -#include "M4OSA_Types.h" -#include "M4OSA_Memory.h" - -/** - ************************************************************************ - * structure M4COMMON_MetadataType - ************************************************************************ -*/ -typedef enum -{ - M4COMMON_kUnknownMetaDataType, - /* Local files */ - M4COMMON_kTagID3v1, /**< Metadata from TAG ID3 V1 */ - M4COMMON_kTagID3v2, /**< Metadata from TAG ID3 V2 */ - M4COMMON_kASFContentDesc, /**< Metadata from ASF content description */ - - M4COMMON_k3GppAssetMovieBox, /**< Metadata from a 3gpp file (movie box) */ - M4COMMON_k3GppAssetTrackBox, /**< Metadata from a 3gpp file (track box) */ - - /* Streaming */ - M4COMMON_kMetaDataSdpSession, /**< Metadata from an SDP file (Session level) */ - M4COMMON_kMetaDataSdpAudio, /**< Metadata from an SDP file (media audio level) */ - M4COMMON_kMetaDataSdpVideo, /**< Metadata from an SDP file (media video level) */ - - M4COMMON_kJpegExif /**< EXIF in JPEG */ -} M4COMMON_MetadataType; - -/** - ************************************************************************ - * enumeration M4VPS_EncodingFormat - * @brief Text encoding format - ************************************************************************ -*/ -typedef enum -{ - M4COMMON_kEncFormatUnknown = 0, /**< Unknown format */ - M4COMMON_kEncFormatASCII = 1, /**< ISO-8859-1. Terminated with $00 */ - M4COMMON_kEncFormatUTF8 = 2, /**< UTF-8 encoded Unicode . Terminated with $00 */ - M4COMMON_kEncFormatUTF16 = 3 /**< UTF-16 encoded Unicode. Terminated with $00 00 */ -} M4COMMON_EncodingFormat; - -/** - ************************************************************************ - * structure M4VPS_String - * @brief This structure defines string attribute - ************************************************************************ -*/ -typedef struct -{ - M4OSA_Void* m_pString; /**< Pointer to text */ - M4OSA_UInt32 m_uiSize; /**< Text size in bytes */ - M4COMMON_EncodingFormat m_EncodingFormat; /**< Text encoding format */ - -} M4COMMON_String; - -/** - ************************************************************************ - * structure M4COMMON_Buffer - * @brief This structure defines generic buffer attribute - ************************************************************************ -*/ -typedef struct -{ - M4OSA_MemAddr8 m_pBuffer; /**< Pointer to buffer */ - M4OSA_UInt32 m_size; /**< size of buffer in bytes */ -} M4COMMON_Buffer; - -typedef enum -{ - M4COMMON_kMimeType_NONE, - M4COMMON_kMimeType_JPG, - M4COMMON_kMimeType_PNG, - M4COMMON_kMimeType_BMP, /* bitmap, with header */ - M4COMMON_kMimeType_RGB24, /* raw RGB 24 bits */ - M4COMMON_kMimeType_RGB565, /* raw, RGB 16 bits */ - M4COMMON_kMimeType_YUV420, - M4COMMON_kMimeType_MPEG4_IFrame /* RC: to support PV art */ - -} M4COMMON_MimeType; - -/* picture type definition from id3v2 tag*/ -typedef enum -{ - M4COMMON_kPicType_Other = 0x00, - M4COMMON_kPicType_32_32_Icon = 0x01, - M4COMMON_kPicType_Other_Icon = 0x02, - M4COMMON_kPicType_FrontCover = 0x03, - M4COMMON_kPicType_BackCover = 0x04, - M4COMMON_kPicType_LeafletPage = 0x05, - M4COMMON_kPicType_Media = 0x06, - M4COMMON_kPicType_LeadArtist = 0x07, - M4COMMON_kPicType_Artist = 0x08, - M4COMMON_kPicType_Conductor = 0x09, - M4COMMON_kPicType_Orchestra = 0x0A, - M4COMMON_kPicType_Composer = 0x0B, - M4COMMON_kPicType_Lyricist = 0x0C, - M4COMMON_kPicType_RecordingLocation = 0x0D, - M4COMMON_kPicType_DuringRecording = 0x0E, - M4COMMON_kPicType_DuringPerformance = 0x0F, - M4COMMON_kPicType_MovieScreenCapture = 0x10, - M4COMMON_kPicType_BrightColouredFish = 0x11, - M4COMMON_kPicType_Illustration = 0x12, - M4COMMON_kPicType_ArtistLogo = 0x13, - M4COMMON_kPicType_StudioLogo = 0x14 -} M4COMMON_PictureType; - -/** - ****************************************************************************** - * enum M4COMMON_Orientation - * @brief This enum defines the possible orientation of a frame as described - * in the EXIF standard. - ****************************************************************************** -*/ -typedef enum -{ - M4COMMON_kOrientationUnknown = 0, - M4COMMON_kOrientationTopLeft, - M4COMMON_kOrientationTopRight, - M4COMMON_kOrientationBottomRight, - M4COMMON_kOrientationBottomLeft, - M4COMMON_kOrientationLeftTop, - M4COMMON_kOrientationRightTop, - M4COMMON_kOrientationRightBottom, - M4COMMON_kOrientationLeftBottom -}M4COMMON_Orientation ; - -/** - ****************************************************************************** - * structure M4EXIFC_Location - * @brief The Image GPS location (example : 48°52.21' ) - ****************************************************************************** -*/ -typedef struct -{ - M4OSA_Float degrees; - M4OSA_Float minsec; -} M4COMMON_Location; - -/** - ************************************************************************ - * structure M4COMMON_MetaDataAlbumArt - * @brief This structure defines fields of a album art - ************************************************************************ -*/ -typedef struct -{ - M4COMMON_MimeType m_mimeType; - M4OSA_UInt32 m_uiSize; - M4OSA_Void* m_pData; - - M4COMMON_String m_pDescription; - -} M4COMMON_MetaDataAlbumArt; - -/** - ************************************************************************ - * structure M4COMMON_MetaDataFields - * @brief This structure defines fields of metadata information - ************************************************************************ -*/ -typedef struct -{ - M4COMMON_MetadataType m_MetadataType; - - /* Meta data fields */ - M4COMMON_String m_pTitle; /**< Title for the media */ - M4COMMON_String m_pArtist; /**< Performer or artist */ - M4COMMON_String m_pAlbum; /**< Album title for the media */ - M4COMMON_String m_pAuthor; /**< Author of the media */ - M4COMMON_String m_pGenre; /**< Genre (category and style) of the media */ - M4COMMON_String m_pDescription; /**< Caption or description for the media */ - M4COMMON_String m_pCopyRights; /**< Notice about organization holding copyright - for the media file */ - M4COMMON_String m_pRecordingYear; /**< Recording year for the media */ - M4COMMON_String m_pRating; /**< Media rating */ - - M4COMMON_String m_pClassification; /**< Classification of the media */ - M4COMMON_String m_pKeyWords; /**< Media keywords */ - M4COMMON_String m_pLocation; /**< Location information */ - M4COMMON_String m_pUrl; /**< Reference of the resource */ - - M4OSA_UInt8 m_uiTrackNumber; /**< Track number for the media*/ - M4OSA_UInt32 m_uiDuration; /**< The track duration in milliseconds */ - - M4COMMON_MetaDataAlbumArt m_albumArt; /**< AlbumArt description */ - M4COMMON_String m_pMood; /**< Mood of the media */ - - /**< Modifs ACO 4/12/07 : add Exif specific infos */ - M4COMMON_String m_pCreationDateTime; /**< date and time original image was generated */ - M4COMMON_String m_pLastChangeDateTime; /**< file change date and time */ - M4COMMON_String m_pManufacturer; /**< manufacturer of image input equipment */ - M4COMMON_String m_pModel; /**< model of image input equipment */ - M4COMMON_String m_pSoftware; /**< software used */ - M4COMMON_Orientation m_Orientation; /**< Orientation of the picture */ - - /**< Modifs FS 29/08/08 : additionnal Exif infos */ - M4OSA_UInt32 m_width; /**< image width in pixels */ - M4OSA_UInt32 m_height; /**< image height in pixels */ - M4OSA_UInt32 m_thumbnailSize; /**< size of the thumbnail */ - M4COMMON_String m_pLatitudeRef; /**< Latitude reference */ - M4COMMON_Location m_latitude; /**< Latitude */ - M4COMMON_String m_pLongitudeRef; /**< Longitude reference */ - M4COMMON_Location m_longitude; /**< Longitude */ - -} M4COMMON_MetaDataFields; - - -#endif /*M4COMMON_TYPES_H*/ - diff --git a/libvideoeditor/vss/common/inc/M4DA_Types.h b/libvideoeditor/vss/common/inc/M4DA_Types.h deleted file mode 100755 index 58cab7e..0000000 --- a/libvideoeditor/vss/common/inc/M4DA_Types.h +++ /dev/null @@ -1,203 +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 M4DA_Types.h - * @brief Data access type definition - * @note This file implements media specific types - ************************************************************************ -*/ - -#ifndef __M4DA_TYPES_H__ -#define __M4DA_TYPES_H__ - -#include "NXPSW_CompilerSwitches.h" - -#include "M4OSA_Types.h" -#include "M4OSA_Memory.h" - -#ifdef __cplusplus -extern "C" { -#endif /*__cplusplus*/ - -/** - ************************************************************************ - * enumeration M4_StreamType - * @brief Type used to describe a stream (audio or video data flow). - ************************************************************************ -*/ -typedef enum -{ - M4DA_StreamTypeUnknown = -1, /**< Unknow type */ - M4DA_StreamTypeVideoMpeg4 = 0, /**< MPEG-4 video */ - M4DA_StreamTypeVideoH263 = 1, /**< H263 video */ - M4DA_StreamTypeAudioAmrNarrowBand = 2, /**< Amr narrow band audio */ - M4DA_StreamTypeAudioAmrWideBand = 3, /**< Amr wide band audio */ - M4DA_StreamTypeAudioAac = 4, /**< AAC audio */ - M4DA_StreamTypeAudioMp3 = 5, /**< MP3 audio */ - M4DA_StreamTypeVideoMJpeg = 6, /**< MJPEG video */ - M4DA_StreamTypeAudioPcm = 7, /**< Wav audio */ - M4DA_StreamTypeAudioMidi = 8, /**< Midi audio */ - M4DA_StreamTypeVideoMpeg4Avc = 9, /**< MPEG-4 AVC video (h264) */ - M4DA_StreamTypeAudioAacADTS = 10, /**< AAC ADTS audio */ - M4DA_StreamTypeAudioAacADIF = 11, /**< AAC ADIF audio */ - M4DA_StreamTypeAudioWma = 12, /**< WMA audio */ - M4DA_StreamTypeVideoWmv = 13, /**< WMV video */ - M4DA_StreamTypeAudioReal = 14, /**< REAL audio */ - M4DA_StreamTypeVideoReal = 15, /**< REAL video */ - M4DA_StreamTypeAudioEvrc = 16, /**< Evrc audio */ - M4DA_StreamTypeTimedText = 20, /**< Timed Text */ - M4DA_StreamTypeAudioBba = 21, /**< Beat Brew audio fomat */ - M4DA_StreamTypeAudioSmaf = 22, /**< SMAF audio */ - M4DA_StreamTypeAudioImelody = 23, /**< IMELODY audio*/ - M4DA_StreamTypeAudioXmf = 24, /**< XMF audio */ - M4DA_StreamTypeAudioBpc = 25, /**< BPC audio */ - - /* ADPCM */ - M4DA_StreamTypeAudioADPcm = 26, /**< ADPCM */ - - M4DA_StreamTypeVideoARGB8888 = 27 -} M4_StreamType; - -/** - ************************************************************************ - * structure M4_StreamHandler - * @brief Base structure to describe a stream. - ************************************************************************ -*/ -typedef struct -{ - M4_StreamType m_streamType; /**< Stream type */ - M4OSA_UInt32 m_streamId; /**< Stream Id (unique number definning - the stream) */ - M4OSA_Int32 m_duration; /**< Duration of the stream in milli - seconds */ - M4OSA_UInt32 m_averageBitRate; /**< Average bitrate in kb/s */ - M4OSA_UInt32 m_maxAUSize; /**< Maximum size of an Access Unit */ - M4OSA_UInt8* m_pDecoderSpecificInfo; /**< Pointer on specific information required - to create a decoder */ - M4OSA_UInt32 m_decoderSpecificInfoSize; /**< Size of the specific information - pointer above */ - void* m_pUserData; /**< Pointer on User Data - (initialized by the user) */ - M4OSA_UInt32 m_structSize; /**< Size of the structure in bytes */ - M4OSA_Bool m_bStreamIsOK; /**< Flag to know if stream has no errors after - parsing is finished */ - M4OSA_UInt8* m_pH264DecoderSpecificInfo; /**< Pointer on specific information - required to create a decoder */ - M4OSA_UInt32 m_H264decoderSpecificInfoSize; /**< Size of the specific - information pointer above */ - // MPEG4 & AAC decoders require ESDS info - M4OSA_UInt8* m_pESDSInfo; /**< Pointer on MPEG4 or AAC ESDS box */ - M4OSA_UInt32 m_ESDSInfoSize; /**< Size of the MPEG4 or AAC ESDS box */ -} M4_StreamHandler; - -/** - ************************************************************************ - * structure M4_VideoStreamHandler - * @brief Extended structure to describe a video stream. - ************************************************************************ -*/ -typedef struct -{ - M4_StreamHandler m_basicProperties; /**< Audio-Video stream common parameters */ - M4OSA_UInt32 m_videoWidth; /**< Width of the video in the stream */ - M4OSA_UInt32 m_videoHeight; /**< Height of the video in the stream */ - M4OSA_Float m_averageFrameRate; /**< Average frame rate of the video - in the stream */ - M4OSA_Int32 videoRotationDegrees; /**< Video rotation degree */ - M4OSA_UInt32 m_structSize; /**< Size of the structure in bytes */ -} M4_VideoStreamHandler; - -/** - ************************************************************************ - * structure M4_AudioStreamHandler - * @brief Extended structure to describe an audio stream. - ************************************************************************ -*/ -typedef struct -{ - M4_StreamHandler m_basicProperties; /**< Audio-Video stream common parameters */ - M4OSA_UInt32 m_nbChannels; /**< Number of channels in the audio stream - (1-mono, 2-stereo) */ - M4OSA_UInt32 m_byteFrameLength; /**< Size of frame samples in bytes */ - M4OSA_UInt32 m_byteSampleSize; /**< Number of bytes per sample */ - M4OSA_UInt32 m_samplingFrequency; /**< Sample frequency in kHz */ - M4OSA_UInt32 m_structSize; /**< Size of the structure in bytes */ -} M4_AudioStreamHandler; - -#ifdef M4VPS_SUPPORT_TTEXT - -/** - ************************************************************************ - * structure M4_TextStreamHandler - * @brief Extended structure to describe a text stream. - ************************************************************************ -*/ -typedef struct -{ - M4_StreamHandler m_basicProperties; /**< Audio-Video stream common parameters */ - M4OSA_UInt32 m_trackWidth; /**< Width of the video in the stream */ - M4OSA_UInt32 m_trackHeight; /**< Height of the video in the stream */ - M4OSA_UInt32 m_trackXpos; /**< X position of the text track in video area */ - M4OSA_UInt32 m_trackYpos; /**< Y position of the text track in video area */ - M4OSA_UInt8 back_col_rgba[4]; /**< the background color in RGBA */ - M4OSA_UInt16 uiLenght; /**< the string lenght in bytes */ - M4OSA_UInt32 disp_flag; /**< the way text will be displayed */ - M4OSA_UInt8 horiz_justif; /**< the horizontal justification of the text */ - M4OSA_UInt8 verti_justif; /**< the vertical justification of the text */ - /* style */ - M4OSA_UInt16 styl_start_char; /**< the first character impacted by style */ - M4OSA_UInt16 styl_end_char; /**< the last character impacted by style */ - M4OSA_UInt16 fontID; /**< ID of the font */ - M4OSA_UInt8 face_style; /**< the text face-style: bold, italic, - underlined, plain(default) */ - M4OSA_UInt8 font_size; /**< size in pixel of font */ - M4OSA_UInt8 text_col_rgba[4]; /**< the text color in RGBA */ - /* box */ - M4OSA_UInt16 box_top; /**< the top position of text box in the track area */ - M4OSA_UInt16 box_left; /**< the left position of text box in the track area */ - M4OSA_UInt16 box_bottom; /**< the bottom position of text box in the track area */ - M4OSA_UInt16 box_right; /**< the right position of text box in the track area */ - M4OSA_UInt32 m_structSize; /**< Size of the structure in bytes */ -} M4_TextStreamHandler; - -#endif /*M4VPS_SUPPORT_TTEXT*/ - -/** - ************************************************************************ - * structure M4_AccessUnit - * @brief Structure to describe an access unit. - ************************************************************************ -*/ -typedef struct -{ - M4OSA_UInt32 m_streamID; /**< Id of the stream to get an AU from */ - M4OSA_MemAddr8 m_dataAddress; /**< Pointer to a memory area with the encoded data */ - M4OSA_UInt32 m_size; /**< Size of the dataAdress area */ - M4OSA_Double m_CTS; /**< Composition Time Stamp for the Access Unit */ - M4OSA_Double m_DTS ; /**< Decoded Time Stamp for the Access Unit */ - M4OSA_UInt8 m_attribute; /**< RAP information & AU corrupted */ - M4OSA_UInt32 m_maxsize; /**< Maximum size of the AU */ - M4OSA_UInt32 m_structSize; /**< Structure size */ -} M4_AccessUnit; - -#ifdef __cplusplus -} -#endif /*__cplusplus*/ - -#endif /* __M4DA_TYPES_H__ */ - diff --git a/libvideoeditor/vss/common/inc/M4DECODER_Common.h b/libvideoeditor/vss/common/inc/M4DECODER_Common.h deleted file mode 100755 index 93e3062..0000000 --- a/libvideoeditor/vss/common/inc/M4DECODER_Common.h +++ /dev/null @@ -1,389 +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 M4DECODER_Common.h - * @brief Shell Decoder common interface declaration - * @note This file declares the common interfaces that decoder shells must implement - * - ************************************************************************ -*/ -#ifndef __M4DECODER_COMMON_H__ -#define __M4DECODER_COMMON_H__ - -#include "M4OSA_Types.h" -#include "M4OSA_Error.h" -#include "M4OSA_OptionID.h" -#include "M4OSA_CoreID.h" - -#include "M4READER_Common.h" -#include "M4VIFI_FiltersAPI.h" - -#include "M4_Utils.h" - -/* ----- Errors and Warnings ----- */ - -/** - * Warning: there is no new decoded frame to render since the last rendering - */ -#define M4WAR_VIDEORENDERER_NO_NEW_FRAME M4OSA_ERR_CREATE(M4_WAR, M4DECODER_COMMON, 0x0001) -/** - * Warning: the deblocking filter is not implemented - */ -#define M4WAR_DEBLOCKING_FILTER_NOT_IMPLEMENTED M4OSA_ERR_CREATE(M4_WAR, M4DECODER_COMMON,\ - 0x000002) - - -/* Error: Stream H263 profiles (other than 0) are not supported */ -#define M4ERR_DECODER_H263_PROFILE_NOT_SUPPORTED M4OSA_ERR_CREATE(M4_ERR,\ - M4DECODER_MPEG4, 0x0001) -/* Error: Stream H263 not baseline not supported (Supported sizes are CIF, QCIF or SQCIF) */ -#define M4ERR_DECODER_H263_NOT_BASELINE M4OSA_ERR_CREATE(M4_ERR,\ - M4DECODER_MPEG4, 0x0002) - -/** - ************************************************************************ - * enum M4DECODER_AVCProfileLevel - * @brief This enum defines the AVC decoder profile and level for the current instance - * @note This options can be read from decoder via M4DECODER_getOption_fct - ************************************************************************ -*/ -typedef enum -{ - M4DECODER_AVC_kProfile_0_Level_1 = 0, - M4DECODER_AVC_kProfile_0_Level_1b, - M4DECODER_AVC_kProfile_0_Level_1_1, - M4DECODER_AVC_kProfile_0_Level_1_2, - M4DECODER_AVC_kProfile_0_Level_1_3, - M4DECODER_AVC_kProfile_0_Level_2, - M4DECODER_AVC_kProfile_0_Level_2_1, - M4DECODER_AVC_kProfile_0_Level_2_2, - M4DECODER_AVC_kProfile_0_Level_3, - M4DECODER_AVC_kProfile_0_Level_3_1, - M4DECODER_AVC_kProfile_0_Level_3_2, - M4DECODER_AVC_kProfile_0_Level_4, - M4DECODER_AVC_kProfile_0_Level_4_1, - M4DECODER_AVC_kProfile_0_Level_4_2, - M4DECODER_AVC_kProfile_0_Level_5, - M4DECODER_AVC_kProfile_0_Level_5_1, - M4DECODER_AVC_kProfile_and_Level_Out_Of_Range = 255 -} M4DECODER_AVCProfileLevel; - -/** - ************************************************************************ - * enum M4DECODER_OptionID - * @brief This enum defines the decoder options - * @note These options can be read from or written to a decoder via M4DECODER_getOption_fct - ************************************************************************ -*/ -typedef enum -{ - /** - Get the version of the core decoder - */ - M4DECODER_kOptionID_Version = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x01), - /** - Get the size of the currently decoded video - */ - M4DECODER_kOptionID_VideoSize = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x02), - /** - Set the conversion filter to use at rendering - */ - M4DECODER_kOptionID_OutputFilter = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x03), - /** - Activate the Deblocking filter - */ - M4DECODER_kOptionID_DeblockingFilter = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x04), - /** - Get nex rendered frame CTS - */ - M4DECODER_kOptionID_NextRenderedFrameCTS = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON,\ - 0x05), - - /** - Set the YUV data to the dummy video decoder - */ - M4DECODER_kOptionID_DecYuvData = - M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x06), - /** - Set the YUV data with color effect applied to the dummy video decoder - */ - M4DECODER_kOptionID_YuvWithEffectNonContiguous = - M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x07), - - M4DECODER_kOptionID_YuvWithEffectContiguous = - M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x08), - - M4DECODER_kOptionID_EnableYuvWithEffect = - M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x09), - - /** - * Get the supported video decoders and capabilities */ - M4DECODER_kOptionID_VideoDecodersAndCapabilities = - M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x10), - - /* common to MPEG4 decoders */ - /** - * Get the DecoderConfigInfo */ - M4DECODER_MPEG4_kOptionID_DecoderConfigInfo = M4OSA_OPTION_ID_CREATE(M4_READ,\ - M4DECODER_MPEG4, 0x01), - - /* last decoded cts */ - M4DECODER_kOptionID_AVCLastDecodedFrameCTS = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_AVC,\ - 0x01) -/* Last decoded cts */ - -} M4DECODER_OptionID; - - -/** - ************************************************************************ - * struct M4DECODER_MPEG4_DecoderConfigInfo - * @brief Contains info read from the MPEG-4 VideoObjectLayer. - ************************************************************************ -*/ -typedef struct -{ - M4OSA_UInt8 uiProfile; /**< profile and level as defined in the Visual - Object Sequence header, if present */ - M4OSA_UInt32 uiTimeScale; /**< time scale as parsed in VOL header */ - M4OSA_UInt8 uiUseOfResynchMarker; /**< Usage of resynchronization marker */ - M4OSA_Bool bDataPartition; /**< If 1 data partitioning is used. */ - M4OSA_Bool bUseOfRVLC; /**< Usage of RVLC for the stream */ - -} M4DECODER_MPEG4_DecoderConfigInfo; - - -/** - *********************************************************************** - * structure M4DECODER_VideoSize - * @brief This structure defines the video size (width and height) - * @note This structure is used to retrieve via the M4DECODER_getOption_fct - * function the size of the current decoded video - ************************************************************************ -*/ -typedef struct _M4DECODER_VideoSize -{ - M4OSA_UInt32 m_uiWidth; /**< video width in pixels */ - M4OSA_UInt32 m_uiHeight; /**< video height in pixels */ - -} M4DECODER_VideoSize; - -/** - ************************************************************************ - * structure M4DECODER_OutputFilter - * @brief This structure defines the conversion filter - * @note This structure is used to retrieve the filter function - * pointer and its user data via the function - * M4DECODER_getOption_fct with the option - * M4DECODER_kOptionID_OutputFilter - ************************************************************************ -*/ -typedef struct _M4DECODER_OutputFilter -{ - M4OSA_Void *m_pFilterFunction; /**< pointer to the filter function */ - M4OSA_Void *m_pFilterUserData; /**< user data of the filter */ - -} M4DECODER_OutputFilter; - -/** - ************************************************************************ - * enum M4DECODER_VideoType - * @brief This enum defines the video types used to create decoders - * @note This enum is used internally by the VPS to identify a currently supported - * video decoder interface. Each decoder is registered with one of this type associated. - * When a decoder instance is needed, this type is used to identify and - * and retrieve its interface. - ************************************************************************ -*/ -typedef enum -{ - M4DECODER_kVideoTypeMPEG4 = 0, - M4DECODER_kVideoTypeMJPEG, - M4DECODER_kVideoTypeAVC, - M4DECODER_kVideoTypeWMV, - M4DECODER_kVideoTypeREAL, - M4DECODER_kVideoTypeYUV420P, - - M4DECODER_kVideoType_NB /* number of decoders, keep it as last enum entry */ - -} M4DECODER_VideoType ; - -typedef struct { - M4OSA_UInt32 mProfile; - M4OSA_UInt32 mLevel; -} VideoProfileLevel; - -typedef struct { - VideoProfileLevel *profileLevel; - M4OSA_UInt32 profileNumber; -} VideoComponentCapabilities; - -typedef struct { - M4_StreamType codec; - VideoComponentCapabilities *component; - M4OSA_UInt32 componentNumber; -} VideoDecoder; - -typedef struct { - VideoDecoder *decoder; - M4OSA_UInt32 decoderNumber; -} M4DECODER_VideoDecoders; -/** - ************************************************************************ - * @brief creates an instance of the decoder - * @note allocates the context - * - * @param pContext: (OUT) Context of the decoder - * @param pStreamHandler: (IN) Pointer to a video stream description - * @param pGlobalInterface: (IN) Pointer to the M4READER_GlobalInterface structure that must - * be used by the decoder to read data from the stream - * @param pDataInterface: (IN) Pointer to the M4READER_DataInterface structure that must - * be used by the decoder to read data from the stream - * @param pAccessUnit (IN) Pointer to an access unit (allocated by the caller) - * where the decoded data are stored - * - * @return M4NO_ERROR there is no error - * @return M4ERR_STATE State automaton is not applied - * @return M4ERR_ALLOC a memory allocation has failed - * @return M4ERR_PARAMETER at least one parameter is not properly set (in DEBUG only) - ************************************************************************ -*/ -typedef M4OSA_ERR (M4DECODER_create_fct) (M4OSA_Context *pContext, - M4_StreamHandler *pStreamHandler, - M4READER_GlobalInterface *pGlobalInterface, - M4READER_DataInterface *pDataInterface, - M4_AccessUnit *pAccessUnit, - M4OSA_Void* pUserData); - -/** - ************************************************************************ - * @brief destroy the instance of the decoder - * @note after this call the context is invalid - * - * @param context: (IN) Context of the decoder - * - * @return M4NO_ERROR There is no error - * @return M4ERR_PARAMETER The context is invalid (in DEBUG only) - ************************************************************************ -*/ -typedef M4OSA_ERR (M4DECODER_destroy_fct) (M4OSA_Context context); - -/** - ************************************************************************ - * @brief get an option value from the decoder - * @note this function follows the set/get option mechanism described in OSAL 3.0 - * it allows the caller to retrieve a property value: - * -the version number of the decoder - * -the size (widthxheight) of the image - * - * @param context: (IN) Context of the decoder - * @param optionId: (IN) indicates the option to set - * @param pValue: (IN/OUT) pointer to structure or value (allocated by user) where - * option is stored - * @return M4NO_ERROR there is no error - * @return M4ERR_PARAMETER The context is invalid (in DEBUG only) - * @return M4ERR_BAD_OPTION_ID when the option ID is not a valid one - * @return M4ERR_STATE State automaton is not applied - ************************************************************************ -*/ -typedef M4OSA_ERR (M4DECODER_getOption_fct)(M4OSA_Context context, M4OSA_OptionID optionId, - M4OSA_DataOption pValue); - -/** - ************************************************************************ - * @brief set an option value of the decoder - * @note this function follows the set/get option mechanism described in OSAL 3.0 - * it allows the caller to set a property value: - * -the conversion filter to use at rendering - * - * @param context: (IN) Context of the decoder - * @param optionId: (IN) Identifier indicating the option to set - * @param pValue: (IN) Pointer to structure or value (allocated by user) - * where option is stored - * @return M4NO_ERROR There is no error - * @return M4ERR_BAD_OPTION_ID The option ID is not a valid one - * @return M4ERR_STATE State automaton is not applied - * @return M4ERR_PARAMETER The option parameter is invalid - ************************************************************************ -*/ -typedef M4OSA_ERR (M4DECODER_setOption_fct)(M4OSA_Context context, M4OSA_OptionID optionId, - M4OSA_DataOption pValue); - -/** - ************************************************************************ - * @brief Decode Access Units up to a target time - * @note Parse and decode the stream until it is possible to output a decoded image for which - * the composition time is equal or greater to the passed targeted time - * The data are read from the reader data interface - * - * @param context: (IN) Context of the decoder - * @param pTime: (IN/OUT) IN: Time to decode up to (in milli secondes) - * OUT:Time of the last decoded frame (in ms) - * @param bJump: (IN) 0 if no jump occured just before this call - * 1 if a a jump has just been made - * @param tolerance: (IN) We may decode an earlier frame within the tolerance. - * The time difference is specified in milliseconds. - * - * @return M4NO_ERROR there is no error - * @return M4ERR_PARAMETER at least one parameter is not properly set - * @return M4WAR_NO_MORE_AU there is no more access unit to decode (end of stream) - ************************************************************************ -*/ -typedef M4OSA_ERR (M4DECODER_decode_fct) (M4OSA_Context context, M4_MediaTime* pTime, - M4OSA_Bool bJump, M4OSA_UInt32 tolerance); - -/** - ************************************************************************ - * @brief Renders the video at the specified time. - * @note - * @param context: (IN) Context of the decoder - * @param pTime: (IN/OUT) IN: Time to render to (in milli secondes) - * OUT:Time of the actually rendered frame (in ms) - * @param pOutputPlane:(OUT) Output plane filled with decoded data (converted) - * @param bForceRender:(IN) 1 if the image must be rendered even it has already been - * 0 if not (in which case the function can return - * M4WAR_VIDEORENDERER_NO_NEW_FRAME) - * @return M4NO_ERROR There is no error - * @return M4ERR_PARAMETER At least one parameter is not properly set - * @return M4ERR_STATE State automaton is not applied - * @return M4ERR_ALLOC There is no more available memory - * @return M4WAR_VIDEORENDERER_NO_NEW_FRAME If the frame to render has already been rendered - ************************************************************************ -*/ -typedef M4OSA_ERR (M4DECODER_render_fct) (M4OSA_Context context, M4_MediaTime* pTime, - M4VIFI_ImagePlane* pOutputPlane, - M4OSA_Bool bForceRender); - -/** - ************************************************************************ - * structure M4DECODER_VideoInterface - * @brief This structure defines the generic video decoder interface - * @note This structure stores the pointers to functions of one video decoder type. - * The decoder type is one of the M4DECODER_VideoType - ************************************************************************ -*/ -typedef struct _M4DECODER_VideoInterface -{ - M4DECODER_create_fct* m_pFctCreate; - M4DECODER_destroy_fct* m_pFctDestroy; - M4DECODER_getOption_fct* m_pFctGetOption; - M4DECODER_setOption_fct* m_pFctSetOption; - M4DECODER_decode_fct* m_pFctDecode; - M4DECODER_render_fct* m_pFctRender; -} M4DECODER_VideoInterface; - -#endif /*__M4DECODER_COMMON_H__*/ diff --git a/libvideoeditor/vss/common/inc/M4DECODER_Null.h b/libvideoeditor/vss/common/inc/M4DECODER_Null.h deleted file mode 100644 index 047d857..0000000 --- a/libvideoeditor/vss/common/inc/M4DECODER_Null.h +++ /dev/null @@ -1,57 +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 M4VD_Null.h - * @brief Implementation of the a "null" video decoder,i.e. a decoder - * that does not do actual decoding. - * @note This file defines the getInterface function. -************************************************************************* -*/ -#ifndef __M4DECODER_NULL_H__ -#define __M4DECODER_NULL_H__ - -#include "M4DECODER_Common.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -/** - ************************************************************************ - * @brief Retrieves the interface implemented by the decoder - * @param pDecoderType : Pointer to a M4DECODER_VideoType - * (allocated by the caller) - * that will be filled with the decoder type - * @param pDecoderInterface : Address of a pointer that will be set to - * the interface implemented by this decoder. - * The interface is a structure allocated by - * this function and must be freed by the caller. - * - * @returns : M4NO_ERROR if OK - * M4ERR_ALLOC if allocation failed - ************************************************************************ -*/ -M4OSA_ERR M4DECODER_NULL_getInterface( M4DECODER_VideoType *pDecoderType, - M4DECODER_VideoInterface **pDecoderInterface); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /*__M4DECODER_NULL_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4ENCODER_AudioCommon.h b/libvideoeditor/vss/common/inc/M4ENCODER_AudioCommon.h deleted file mode 100755 index cba02a0..0000000 --- a/libvideoeditor/vss/common/inc/M4ENCODER_AudioCommon.h +++ /dev/null @@ -1,254 +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 M4ENCODER_AudioCommon.h - * @brief VES audio encoders shell interface. - * @note This file defines the types internally used by the VES to abstract audio encoders - ****************************************************************************** -*/ -#ifndef __M4ENCODER_AUDIOCOMMON_H__ -#define __M4ENCODER_AUDIOCOMMON_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -#include "M4OSA_OptionID.h" /* for M4OSA_OPTION_ID_CREATE() */ -#include "M4OSA_CoreID.h" - -#define M4ENCODER_AUDIO_NB_CHANNELS_MAX 2 -/* WARNING: this value must be equal to the number of samples grabbed */ -//#define M4ENCODER_AUDIO_PCM_SAMPLE_NUMBER 960 /* imposed by the AAC encoder. */ -#define M4ENCODER_AUDIO_PCM_SAMPLE_NUMBER 1024 /* imposed by the AAC encoder. */ - - -/** - ****************************************************************************** - * enumeration M4ENCODER_Audio_OptionID - * @brief This enum defines the core AAC shell encoder options - ****************************************************************************** -*/ -typedef enum -{ - /* Maximum generated AU size */ - M4ENCODER_Audio_maxAUsize = M4OSA_OPTION_ID_CREATE(M4_READ,M4ENCODER_AUDIO, 0x01) - -} M4ENCODER_Audio_OptionID; - - - /** - ****************************************************************************** - * enum M4ENCODER_SamplingFrequency - * @brief Thie enum defines the audio sampling frequency. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_k8000Hz = 8000, - M4ENCODER_k11025Hz = 11025, - M4ENCODER_k12000Hz = 12000, - M4ENCODER_k16000Hz = 16000, - M4ENCODER_k22050Hz = 22050, - M4ENCODER_k24000Hz = 24000, - M4ENCODER_k32000Hz = 32000, - M4ENCODER_k44100Hz = 44100, - M4ENCODER_k48000Hz = 48000 -} M4ENCODER_SamplingFrequency; - - -/** - ****************************************************************************** - * enum M4ENCODER_AudioFormat - * @brief This enum defines the audio compression formats. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kAMRNB = 0, - M4ENCODER_kAAC, - M4ENCODER_kAudioNULL, /**< No compression */ - M4ENCODER_kMP3, - M4ENCODER_kAudio_NB /* number of encoders, keep it as last enum entry */ - -} M4ENCODER_AudioFormat; - -/** - ****************************************************************************** - * enum M4ENCODER_ChannelNumber - * @brief Thie enum defines the number of audio channels. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kMono = 0, - M4ENCODER_kStereo, - M4ENCODER_kStereoNoInterleave -} M4ENCODER_ChannelNumber; - -/** - ****************************************************************************** - * enum M4ENCODER_AudioBitrate - * @brief Thie enum defines the avalaible bitrates. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kAudio_4_75_KBPS = 4750, - M4ENCODER_kAudio_5_15_KBPS = 5150, - M4ENCODER_kAudio_5_9_KBPS = 5900, - M4ENCODER_kAudio_6_7_KBPS = 6700, - M4ENCODER_kAudio_7_4_KBPS = 7400, - M4ENCODER_kAudio_7_95_KBPS = 7950, - M4ENCODER_kAudio_8_KBPS = 8000, - M4ENCODER_kAudio_10_2_KBPS = 10200, - M4ENCODER_kAudio_12_2_KBPS = 12200, - M4ENCODER_kAudio_16_KBPS = 16000, - M4ENCODER_kAudio_24_KBPS = 24000, - M4ENCODER_kAudio_32_KBPS = 32000, - M4ENCODER_kAudio_40_KBPS = 40000, - M4ENCODER_kAudio_48_KBPS = 48000, - M4ENCODER_kAudio_56_KBPS = 56000, - M4ENCODER_kAudio_64_KBPS = 64000, - M4ENCODER_kAudio_80_KBPS = 80000, - M4ENCODER_kAudio_96_KBPS = 96000, - M4ENCODER_kAudio_112_KBPS = 112000, - M4ENCODER_kAudio_128_KBPS = 128000, - M4ENCODER_kAudio_144_KBPS = 144000, - M4ENCODER_kAudio_160_KBPS = 160000, - M4ENCODER_kAudio_192_KBPS = 192000, - M4ENCODER_kAudio_224_KBPS = 224000, - M4ENCODER_kAudio_256_KBPS = 256000, - M4ENCODER_kAudio_320_KBPS = 320000 -} M4ENCODER_AudioBitrate; - - -/** - ****************************************************************************** - * enum M4ENCODER_AacRegulation - * @brief The current mode of the bitrate regulation. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kAacRegulNone = 0, /**< no bitrate regulation */ - M4ENCODER_kAacBitReservoir /**< better quality, but more CPU consumed */ -} M4ENCODER_AacRegulation; - -/** - ****************************************************************************** - * enum M4ENCODER_AmrSID - * @brief This enum defines the SID of the AMR encoder. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kAmrNoSID = 0 /**< no SID */ -} M4ENCODER_AmrSID; - -/** - ****************************************************************************** - * struct M4ENCODER_AacParams - * @brief This structure defines all the settings specific to the AAC encoder. - ****************************************************************************** -*/ -typedef struct -{ - M4ENCODER_AacRegulation Regulation; - M4OSA_Bool bHighSpeed; - M4OSA_Bool bTNS; - M4OSA_Bool bPNS; - M4OSA_Bool bIS; - M4OSA_Bool bMS; -} M4ENCODER_AacParams; - -/** - ****************************************************************************** - * struct M4ENCODER_AudioParams - * @brief This structure defines all the settings avalaible when encoding audio. - ****************************************************************************** -*/ -typedef struct s_M4ENCODER_AudioParams -{ - M4ENCODER_SamplingFrequency Frequency; /**< the sampling frequency */ - M4ENCODER_ChannelNumber ChannelNum; /**< the numbe of channels (mono, stereo, ..) */ - M4ENCODER_AudioBitrate Bitrate; /**< bitrate, see enum */ - M4ENCODER_AudioFormat Format; /**< audio compression format, AMR, AAC ... */ - union { - M4ENCODER_AacParams AacParam; - M4ENCODER_AmrSID AmrSID; - } SpecifParam; /**< the audio encoder specific parameters */ -} M4ENCODER_AudioParams; - -/** - ****************************************************************************** - * struct M4ENCODER_AudioDecSpecificInfo - * @brief This structure describes the decoder specific info buffer. - ****************************************************************************** -*/ -typedef struct -{ - M4OSA_MemAddr8 pInfo; /**< the buffer adress */ - M4OSA_UInt32 infoSize; /**< the buffer size in bytes */ -} M4ENCODER_AudioDecSpecificInfo; - -/** - ****************************************************************************** - * struct M4ENCODER_AudioBuffer - * @brief This structure defines the data buffer. - ****************************************************************************** -*/ -typedef struct -{ - /**< the table of buffers (unused buffers are set to NULL) */ - M4OSA_MemAddr8 pTableBuffer[M4ENCODER_AUDIO_NB_CHANNELS_MAX]; - /**< the table of the size of corresponding buffer at same index */ - M4OSA_UInt32 pTableBufferSize[M4ENCODER_AUDIO_NB_CHANNELS_MAX]; -} M4ENCODER_AudioBuffer; - -typedef M4OSA_ERR (M4AE_init) (M4OSA_Context* hContext, M4OSA_Void* pUserData); -typedef M4OSA_ERR (M4AE_cleanUp) (M4OSA_Context pContext); -typedef M4OSA_ERR (M4AE_open) (M4OSA_Context pContext, M4ENCODER_AudioParams *params, - M4ENCODER_AudioDecSpecificInfo *decSpecInfo, - M4OSA_Context grabberContext); -typedef M4OSA_ERR (M4AE_close) (M4OSA_Context pContext); -typedef M4OSA_ERR (M4AE_step) (M4OSA_Context pContext, M4ENCODER_AudioBuffer *inBuffer, - M4ENCODER_AudioBuffer *outBuffer); -typedef M4OSA_ERR (M4AE_getOption) (M4OSA_Context pContext, M4OSA_OptionID option, - M4OSA_DataOption *valuePtr); -/** - ****************************************************************************** - * struct M4ENCODER_AudioGlobalInterface - * @brief Defines all the functions required for an audio encoder shell. - ****************************************************************************** -*/ -typedef struct _M4ENCODER_AudioGlobalInterface -{ - M4AE_init* pFctInit; - M4AE_cleanUp* pFctCleanUp; - M4AE_open* pFctOpen; - M4AE_close* pFctClose; - M4AE_step* pFctStep; - M4AE_getOption* pFctGetOption; -} M4ENCODER_AudioGlobalInterface; - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /*__M4ENCODER_AUDIOCOMMON_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4ENCODER_common.h b/libvideoeditor/vss/common/inc/M4ENCODER_common.h deleted file mode 100755 index 9064602..0000000 --- a/libvideoeditor/vss/common/inc/M4ENCODER_common.h +++ /dev/null @@ -1,471 +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 M4ENCODER_common.h - * @note This file defines the types internally used by the VES to abstract encoders - - ****************************************************************************** -*/ -#ifndef __M4ENCODER_COMMON_H__ -#define __M4ENCODER_COMMON_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/** - * Video preprocessing common interface */ -#include "M4VPP_API.h" - -/** - * Writer common interface */ -#include "M4WRITER_common.h" - -/* IMAGE STAB */ -/* percentage of image suppressed (computed from the standard dimension).*/ -#define M4ENCODER_STAB_FILTER_CROP_PERCENTAGE 10 - /* WARNING: take the inferior even dimension, ex: 10% for QCIF output => 192x158 */ - -/** - ****************************************************************************** - * enum M4ENCODER_OpenMode - * @brief Definition of open mode for the encoder. - * @note DEFAULT : pointer to M4ENCODER_open() which use default parameters - * ADVANCED : pointer to M4ENCODER_open_advanced() which allow to customize - * various encoding parameters - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_OPEN_DEFAULT, - M4ENCODER_OPEN_ADVANCED -} M4ENCODER_OpenMode; - - /** - ****************************************************************************** - * enum M4ENCODER_FrameRate - * @brief Thie enum defines the encoded video framerates. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_k5_FPS, - M4ENCODER_k7_5_FPS, - M4ENCODER_k10_FPS, - M4ENCODER_k12_5_FPS, - M4ENCODER_k15_FPS, - M4ENCODER_k20_FPS, - M4ENCODER_k25_FPS, - M4ENCODER_k30_FPS, - M4ENCODER_kVARIABLE_FPS, /**< Variable video bitrate */ - M4ENCODER_kUSE_TIMESCALE /**< Advanced encoding, use timescale indication rather - than framerate */ -} M4ENCODER_FrameRate; - -/** - ****************************************************************************** - * enum M4ENCODER_InputFormat - * @brief Thie enum defines the video format of the grabbing. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kIYUV420=0, /**< YUV 4:2:0 planar (standard input for mpeg-4 video) */ - M4ENCODER_kIYUV422, /**< YUV422 planar */ - M4ENCODER_kIYUYV, /**< YUV422 interlaced, luma first */ - M4ENCODER_kIUYVY, /**< YUV422 interlaced, chroma first */ - M4ENCODER_kIJPEG, /**< JPEG compressed frames */ - M4ENCODER_kIRGB444, /**< RGB 12 bits 4:4:4 */ - M4ENCODER_kIRGB555, /**< RGB 15 bits 5:5:5 */ - M4ENCODER_kIRGB565, /**< RGB 16 bits 5:6:5 */ - M4ENCODER_kIRGB24, /**< RGB 24 bits 8:8:8 */ - M4ENCODER_kIRGB32, /**< RGB 32 bits */ - M4ENCODER_kIBGR444, /**< BGR 12 bits 4:4:4 */ - M4ENCODER_kIBGR555, /**< BGR 15 bits 5:5:5 */ - M4ENCODER_kIBGR565, /**< BGR 16 bits 5:6:5 */ - M4ENCODER_kIBGR24, /**< BGR 24 bits 8:8:8 */ - M4ENCODER_kIBGR32 /**< BGR 32 bits */ -} M4ENCODER_InputFormat; - -/** - ****************************************************************************** - * enum M4ENCODER_Format - * @brief Thie enum defines the video compression formats. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kMPEG4 = 0, - M4ENCODER_kH263, - M4ENCODER_kH264, - M4ENCODER_kJPEG, - M4ENCODER_kMJPEG, - M4ENCODER_kNULL, - M4ENCODER_kYUV420, /**< No compression */ - M4ENCODER_kYUV422, /**< No compression */ - - M4ENCODER_kVideo_NB /* number of decoders, keep it as last enum entry */ -} M4ENCODER_Format; - -/** - ****************************************************************************** - * enum M4ENCODER_FrameWidth - * @brief Thie enum defines the avalaible frame Width. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_SQCIF_Width = 128, /**< SQCIF 128x96 */ - M4ENCODER_QQVGA_Width = 160, /**< QQVGA 160x120 */ - M4ENCODER_QCIF_Width = 176, /**< QCIF 176x144 */ - M4ENCODER_QVGA_Width = 320, /**< QVGA 320x240 */ - M4ENCODER_CIF_Width = 352, /**< CIF 352x288 */ - M4ENCODER_VGA_Width = 640, /**< VGA 640x480 */ - M4ENCODER_SVGA_Width = 800, /**< SVGA 800x600 */ - M4ENCODER_XGA_Width = 1024, /**< XGA 1024x768 */ - M4ENCODER_XVGA_Width = 1280, /**< XVGA 1280x1024 */ -/* +PR LV5807 */ - M4ENCODER_WVGA_Width = 800, /**< WVGA 800 x 480 */ - M4ENCODER_NTSC_Width = 720, /**< NTSC 720 x 480 */ -/* -PR LV5807 */ - -/* +CR Google */ - M4ENCODER_640_360_Width = 640, /**< 640x360 */ - // StageFright encoders require %16 resolution - M4ENCODER_854_480_Width = 848, /**< 848x480 */ - M4ENCODER_1280_720_Width = 1280, /**< 720p 1280x720 */ - // StageFright encoders require %16 resolution - M4ENCODER_1080_720_Width = 1088, /**< 720p 1088x720 */ - M4ENCODER_960_720_Width = 960, /**< 720p 960x720 */ - M4ENCODER_1920_1080_Width = 1920 /**< 1080p 1920x1080 */ -/* -CR Google */ - -} M4ENCODER_FrameWidth; - -/** - ****************************************************************************** - * enum M4ENCODER_FrameHeight - * @brief Thie enum defines the avalaible frame Height. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_SQCIF_Height = 96, /**< SQCIF 128x96 */ - M4ENCODER_QQVGA_Height = 120, /**< QQVGA 160x120 */ - M4ENCODER_QCIF_Height = 144, /**< QCIF 176x144 */ - M4ENCODER_QVGA_Height = 240, /**< QVGA 320x240 */ - M4ENCODER_CIF_Height = 288, /**< CIF 352x288 */ - M4ENCODER_VGA_Height = 480, /**< VGA 340x480 */ - M4ENCODER_SVGA_Height = 600, /**< SVGA 800x600 */ - M4ENCODER_XGA_Height = 768, /**< XGA 1024x768 */ - M4ENCODER_XVGA_Height = 1024, /**< XVGA 1280x1024 */ -/* +PR LV5807 */ - M4ENCODER_WVGA_Height = 480, /**< WVGA 800 x 480 */ - M4ENCODER_NTSC_Height = 480, /**< NTSC 720 x 480 */ -/* -PR LV5807 */ - -/* +CR Google */ - M4ENCODER_640_360_Height = 360, /**< 640x360 */ - M4ENCODER_854_480_Height = 480, /**< 854x480 */ - M4ENCODER_1280_720_Height = 720, /**< 720p 1280x720 */ - M4ENCODER_1080_720_Height = 720, /**< 720p 1080x720 */ - M4ENCODER_960_720_Height = 720, /**< 720p 960x720 */ - // StageFright encoders require %16 resolution - M4ENCODER_1920_1080_Height = 1088 /**< 1080p 1920x1080 */ -/* -CR Google */ -} M4ENCODER_FrameHeight; - -/** - ****************************************************************************** - * enum M4ENCODER_Bitrate - * @brief Thie enum defines the avalaible bitrates. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_k28_KBPS = 28000, - M4ENCODER_k40_KBPS = 40000, - M4ENCODER_k64_KBPS = 64000, - M4ENCODER_k96_KBPS = 96000, - M4ENCODER_k128_KBPS = 128000, - M4ENCODER_k192_KBPS = 192000, - M4ENCODER_k256_KBPS = 256000, - M4ENCODER_k384_KBPS = 384000, - M4ENCODER_k512_KBPS = 512000, - M4ENCODER_k800_KBPS = 800000 - -} M4ENCODER_Bitrate; - -/* IMAGE STAB */ - -/** - ****************************************************************************** - * enum M4ENCODER_StabMode - * @brief The current mode of the stabilization filter. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kStabOff = 0, /**< stabilization filter is disabled */ - M4ENCODER_kStabCentered, /**< stabilization filter is enabled. */ - /**< Video input and output must have the same dimensions. Output - image will have black borders */ - M4ENCODER_kStabGrabMore /**< stabilization filter is enabled. */ - /**< Video input dimensions must be bigger than output. The ratio - is indicated by M4ENCODER_STAB_FILTER_CROP_PERCENTAGE */ - -} M4ENCODER_StabMode; - -/** - ****************************************************************************** - * enum M4ENCODER_FrameMode - * @brief Values to drive the encoder behaviour (type of frames produced) - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kNormalFrame = 0, /**< let the encoder decide which type of frame to encode */ - M4ENCODER_kLastFrame = 1, /**< force encoder the flush all its buffers because it is - last frame */ - M4ENCODER_kIFrame = 2 /**< force encoder to generate an I frame */ - -} M4ENCODER_FrameMode; - -/** - ****************************************************************************** - * struct M4ENCODER_Params - * @brief This structure defines all the settings avalaible when encoding. - ****************************************************************************** -*/ -typedef struct -{ - /* Input */ - M4ENCODER_InputFormat InputFormat; /**< Input video format (grabbing) */ - M4ENCODER_FrameWidth InputFrameWidth; /**< Input Frame width (grabbing) */ - M4ENCODER_FrameHeight InputFrameHeight; /**< Input Frame height (grabbing) */ - - /* Output */ - M4ENCODER_FrameWidth FrameWidth; /**< Frame width */ - M4ENCODER_FrameHeight FrameHeight; /**< Frame height */ - M4ENCODER_Bitrate Bitrate; /**< Bitrate, see enum */ - M4ENCODER_FrameRate FrameRate; /**< Framerate, see enum */ - M4ENCODER_Format Format; /**< Video compression format, H263, MPEG4, - MJPEG ... */ - M4OSA_Int32 videoProfile; /** video profile */ - M4OSA_Int32 videoLevel; /** video level */ -} M4ENCODER_Params; - -/** - ****************************************************************************** - * struct M4ENCODER_AdvancedParams - * @brief This structure defines the advanced settings available for MPEG-4 encoding. - ****************************************************************************** -*/ -typedef struct -{ - /** - * Input parameters (grabber coupled with encoder): */ - M4ENCODER_InputFormat InputFormat; /**< Input video format */ - M4ENCODER_FrameWidth InputFrameWidth; /**< Input Frame width */ - M4ENCODER_FrameHeight InputFrameHeight; /**< Input Frame height */ - - /** - * Common settings for H263 and MPEG-4: */ - M4ENCODER_FrameWidth FrameWidth; /**< Frame width */ - M4ENCODER_FrameHeight FrameHeight; /**< Frame height */ - M4OSA_UInt32 Bitrate; /**< Free value for the bitrate */ - /**< Framerate (if set to M4ENCODER_kUSE_TIMESCALE use uiRateFactor & uiTimeScale instead) */ - M4ENCODER_FrameRate FrameRate; - /**< Video compression format: H263 or MPEG4 */ - M4ENCODER_Format Format; - M4OSA_Int32 videoProfile; /** output video profile */ - M4OSA_Int32 videoLevel; /** output video level */ - M4OSA_UInt32 uiHorizontalSearchRange; /**< Set to 0 will use default value (15) */ - M4OSA_UInt32 uiVerticalSearchRange; /**< Set to 0 will use default value (15) */ - /**< Set to 0 will use default value (0x7FFF i.e. let engine decide when to put an I) */ - M4OSA_UInt32 uiStartingQuantizerValue; - /**< Enable if priority is quality, Disable if priority is framerate */ - M4OSA_Bool bInternalRegulation; - /**< Ratio between the encoder frame rate and the actual frame rate */ - M4OSA_UInt8 uiRateFactor; - /**< I frames periodicity, set to 0 will use default value */ - M4OSA_UInt32 uiIVopPeriod; - /**< Motion estimation [default=0 (all tools), disable=8 (no tool)] */ - M4OSA_UInt8 uiMotionEstimationTools; - - /** - * Settings for MPEG-4 only: */ - M4OSA_UInt32 uiTimeScale; /**< Free value for the timescale */ - M4OSA_Bool bErrorResilience; /**< Disabled by default */ - /**< Disabled by default (if enabled, bErrorResilience should be enabled too!) */ - M4OSA_Bool bDataPartitioning; - M4OSA_Bool bAcPrediction; /**< AC prediction [default=1, disable=0] */ - -} M4ENCODER_AdvancedParams; - -/** - ****************************************************************************** - * struct M4ENCODER_StillPictureParams - * @brief This structure defines all the settings avalaible when encoding still - * picture. - ****************************************************************************** -*/ -typedef struct -{ - M4ENCODER_FrameWidth FrameWidth; /**< Frame width */ - M4ENCODER_FrameHeight FrameHeight; /**< Frame height */ - M4OSA_UInt32 Quality; /**< Bitrate, see enum */ - M4ENCODER_Format InputFormat; /**< YUV 420 or 422 */ - M4ENCODER_Format Format; /**< Video compression format, H263, MPEG4, - MJPEG ... */ - M4OSA_Bool PreProcessNeeded; /**< Is the call to the VPP is necessary */ - M4OSA_Bool EncodingPerStripes; /**< Is encoding per stripes */ - -} M4ENCODER_StillPictureParams; - -/** - ****************************************************************************** - * struct M4ENCODER_Header - * @brief This structure defines the buffer where the sequence header is put. - ****************************************************************************** -*/ -typedef struct -{ - M4OSA_MemAddr8 pBuf; /**< Buffer for the header */ - M4OSA_UInt32 Size; /**< Size of the data */ - -} M4ENCODER_Header; - -/** - ****************************************************************************** - * enum M4ENCODER_OptionID - * @brief This enums defines all avalaible options. - ****************************************************************************** -*/ -typedef enum -{ - /**< set the fragment size, option value is M4OSA_UInt32 type */ - M4ENCODER_kOptionID_VideoFragmentSize = M4OSA_OPTION_ID_CREATE (M4_WRITE,\ - M4ENCODER_COMMON, 0x01), - - /**< set the stabilization filtering, option value is M4ENCODER_StabMode type */ - M4ENCODER_kOptionID_ImageStabilization = M4OSA_OPTION_ID_CREATE (M4_WRITE,\ - M4ENCODER_COMMON, 0x02), - - /**< prevent writting of any AU, option value is M4OSA_Bool type */ - M4ENCODER_kOptionID_InstantStop = M4OSA_OPTION_ID_CREATE (M4_WRITE,\ - M4ENCODER_COMMON, 0x03), - - /**< get the DSI (encoder header) generated by the encoder */ - M4ENCODER_kOptionID_EncoderHeader = M4OSA_OPTION_ID_CREATE (M4_READ ,\ - M4ENCODER_COMMON, 0x04), -/*+ CR LV6775 -H.264 Trimming */ - - M4ENCODER_kOptionID_SetH264ProcessNALUfctsPtr= M4OSA_OPTION_ID_CREATE (M4_READ ,\ - M4ENCODER_COMMON, 0x05), - M4ENCODER_kOptionID_H264ProcessNALUContext = M4OSA_OPTION_ID_CREATE (M4_READ ,\ - M4ENCODER_COMMON, 0x06) -/*-CR LV6775 -H.264 Trimming */ -} M4ENCODER_OptionID; - -/*+ CR LV6775 -H.264 Trimming */ -typedef M4OSA_ERR (H264MCS_ProcessEncodedNALU_fct)(M4OSA_Void*ainstance,M4OSA_UInt8* inbuff, - M4OSA_Int32 inbuf_size, - M4OSA_UInt8 *outbuff, M4OSA_Int32 *outbuf_size); -//*- CR LV6775 -H.264 Trimming */ - -typedef M4OSA_Void* M4ENCODER_Context; - -typedef M4OSA_ERR (M4ENCODER_init) ( - M4ENCODER_Context* pContext, - M4WRITER_DataInterface* pWriterDataInterface, - M4VPP_apply_fct* pVPPfct, - M4VPP_Context pVPPctxt, - M4OSA_Void* pExternalAPI, - M4OSA_Void* pUserData -); - -typedef M4OSA_ERR (M4ENCODER_open) ( - M4ENCODER_Context pContext, - M4SYS_AccessUnit* pAU, - M4OSA_Void* pParams /* Can be M4ENCODER_Params, M4ENCODER_AdvancedParams or - M4ENCODER_StillPictureParams */ -); - -typedef M4OSA_ERR (M4ENCODER_start) (M4ENCODER_Context pContext); -typedef M4OSA_ERR (M4ENCODER_stop) (M4ENCODER_Context pContext); -typedef M4OSA_ERR (M4ENCODER_pause) (M4ENCODER_Context pContext); -typedef M4OSA_ERR (M4ENCODER_resume) (M4ENCODER_Context pContext); -typedef M4OSA_ERR (M4ENCODER_close) (M4ENCODER_Context pContext); -typedef M4OSA_ERR (M4ENCODER_cleanup) (M4ENCODER_Context pContext); -typedef M4OSA_ERR (M4ENCODER_regulBitRate) (M4ENCODER_Context pContext); - -typedef M4OSA_ERR (M4ENCODER_encode) ( - M4ENCODER_Context pContext, - M4VIFI_ImagePlane* pInPlane, - M4OSA_Double Cts, - M4ENCODER_FrameMode FrameMode -); - -typedef M4OSA_ERR (M4ENCODER_setOption) ( - M4ENCODER_Context pContext, - M4OSA_UInt32 optionID, - M4OSA_DataOption optionValue -); - -typedef M4OSA_ERR (M4ENCODER_getOption) ( - M4ENCODER_Context pContext, - M4OSA_UInt32 optionID, - M4OSA_DataOption optionValue -); - -/** - ****************************************************************************** - * struct M4ENCODER_GlobalInterface - * @brief Defines all the functions required for an encoder shell. - ****************************************************************************** -*/ - -typedef struct _M4ENCODER_GlobalInterface -{ - M4ENCODER_init* pFctInit; - M4ENCODER_open* pFctOpen; - - M4ENCODER_start* pFctStart; /* Grabber mode */ - M4ENCODER_stop* pFctStop; /* Grabber mode */ - - M4ENCODER_pause* pFctPause; /* Grabber mode */ - M4ENCODER_resume* pFctResume; /* Grabber mode */ - - M4ENCODER_close* pFctClose; - M4ENCODER_cleanup* pFctCleanup; - - M4ENCODER_regulBitRate* pFctRegulBitRate; - M4ENCODER_encode* pFctEncode; /* Standalone mode */ - - M4ENCODER_setOption* pFctSetOption; - M4ENCODER_getOption* pFctGetOption; -} M4ENCODER_GlobalInterface; - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /*__M4ENCODER_COMMON_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4OSA_CoreID.h b/libvideoeditor/vss/common/inc/M4OSA_CoreID.h deleted file mode 100755 index 7408fc8..0000000 --- a/libvideoeditor/vss/common/inc/M4OSA_CoreID.h +++ /dev/null @@ -1,200 +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 M4OSA_CoreID.h - * @brief defines the uniques component identifiers used for memory management - * and optionID mechanism - * @note - * - ************************************************************************ -*/ -#ifndef __M4OSA_COREID_H__ -#define __M4OSA_COREID_H__ - -/* CoreId are defined on 14 bits */ -/* we start from 0x0100, lower values are reserved for osal core components */ - -/* reader shells*/ -#define M4READER_COMMON 0x0100 -#define M4READER_AVI 0x0101 -#define M4READER_AMR 0x0102 -#define M4READER_3GP 0x0103 -#define M4READER_NET 0x0104 -#define M4READER_3GP_HTTP 0x0105 -#define M4READER_MP3 0x0106 -#define M4READER_WAV 0x0107 -#define M4READER_MIDI 0x0108 -#define M4READER_ASF 0x0109 -#define M4READER_REAL 0x010A -#define M4READER_AAC 0x010B -#define M4READER_FLEX 0x010C -#define M4READER_BBA 0x010D -#define M4READER_SYNTHESIS_AUDIO 0x010E -#define M4READER_JPEG 0x010F - - -/* writer shells*/ -#define M4WRITER_COMMON 0x0110 -#define M4WRITER_AVI 0x0111 -#define M4WRITER_AMR 0x0112 -#define M4WRITER_3GP 0x0113 -#define M4WRITER_JPEG 0x0116 -#define M4WRITER_MP3 0x0117 - -/* decoder shells */ -#define M4DECODER_COMMON 0x0120 -#define M4DECODER_JPEG 0x0121 -#define M4DECODER_MPEG4 0x0122 -#define M4DECODER_AUDIO 0x0123 -#define M4DECODER_AVC 0x0124 -#define M4DECODER_MIDI 0x0125 -#define M4DECODER_WMA 0x0126 -#define M4DECODER_WMV 0x0127 -#define M4DECODER_RMV 0x0128 -#define M4DECODER_RMA 0x0129 -#define M4DECODER_AAC 0x012A -#define M4DECODER_BEATBREW 0x012B -#define M4DECODER_EXTERNAL 0x012C - -/* encoder shells */ -#define M4ENCODER_COMMON 0x0130 -#define M4ENCODER_JPEG 0x0131 -#define M4ENCODER_MPEG4 0x0132 -#define M4ENCODER_AUDIO 0x0133 -#define M4ENCODER_VID_NULL 0x0134 -#define M4ENCODER_MJPEG 0x0135 -#define M4ENCODER_MP3 0x0136 -#define M4ENCODER_H264 0x0137 -#define M4ENCODER_AAC 0x0138 -#define M4ENCODER_AMRNB 0x0139 -#define M4ENCODER_AUD_NULL 0x013A -#define M4ENCODER_EXTERNAL 0x013B - -/* cores */ -#define M4JPG_DECODER 0x0140 -#define M4JPG_ENCODER 0x0141 - -#define M4MP4_DECODER 0x0142 -#define M4MP4_ENCODER 0x0143 - -#define M4AVI_COMMON 0x0144 -#define M4AVI_READER 0x0145 -#define M4AVI_WRITER 0x0146 - -#define M4HTTP_ENGINE 0x0147 - -#define M4OSA_TMPFILE 0x0148 -#define M4TOOL_TIMER 0x0149 - -#define M4AMR_READER 0x014A - -#define M4MP3_READER 0x014B - -#define M4WAV_READER 0x014C -#define M4WAV_WRITER 0x014D -#define M4WAV_COMMON 0x014E - -#define M4ADTS_READER 0x014F -#define M4ADIF_READER 0x016A - -#define M4SPS 0x0150 -#define M4EXIF_DECODER 0x0151 -#define M4EXIF_ENCODER 0x0152 -#define M4GIF_DECODER 0x0153 -#define M4GIF_ENCODER 0x0154 -#define M4PNG_DECODER 0x0155 -#define M4PNG_ENCODER 0x0156 -#define M4WBMP_DECODER 0x0157 -#define M4WBMP_ENCODER 0x0158 - -#define M4AMR_WRITER 0x0159 /**< no room to put it along M4AMR_READER */ - - -#define M4AVC_DECODER 0x015A -#define M4AVC_ENCODER 0x015B - -#define M4ASF_READER 0x015C -#define M4WMDRM_AGENT 0x015D -#define M4MIDI_READER 0x0162 /**< no room before the presenters */ -#define M4RM_READER 0x163 -#define M4RMV_DECODER 0x164 -#define M4RMA_DECODER 0x165 - -#define M4TOOL_XML 0x0166 -#define M4TOOL_EFR 0x0167 /**< Decryption module for Video Artist */ -#define M4IAL_FTN 0x0168 /* FTN implementation of the IAL */ -#define M4FTN 0x0169 /* FTN library */ - -/* presenter */ -#define M4PRESENTER_AUDIO 0x0160 -#define M4PRESENTER_VIDEO 0x0161 - -/* high level interfaces (vps, etc..)*/ -#define M4VPS 0x0170 -#define M4VTS 0x0171 -#define M4VXS 0x0172 -#define M4CALLBACK 0x0173 -#define M4VES 0x0174 -#define M4PREPROCESS_VIDEO 0x0175 -#define M4GRAB_AUDIO 0x0176 -#define M4GRAB_VIDEO 0x0177 -#define M4VSSAVI 0x0178 -#define M4VSS3GPP 0x0179 -#define M4PTO3GPP 0x017A -#define M4PVX_PARSER 0x017B -#define M4VCS 0x017C -#define M4MCS 0x017D -#define M4MNMC 0x0180 /**< mnm controller */ -#define M4TTEXT_PARSER 0x0181 /**< timed text */ -#define M4MM 0x0182 /**< Music manager */ -#define M4MDP 0x0183 /**< Metadata parser */ -#define M4MMSQLCORE 0x0184 -#define M4VPSIL 0x0185 -#define M4FILEIL 0x0186 /* IL file Interface */ -#define M4MU 0x0187 -#define M4VEE 0x0188 /**< Video effect engine */ -#define M4VA 0x0189 /* VideoArtist */ -#define M4JTS 0x018A -#define M4JTSIL 0x018B -#define M4AIR 0x018C /**< AIR */ -#define M4SPE 0x018D /**< Still picture editor */ -#define M4VS 0x018E /**< Video Studio (xVSS) */ -#define M4VESIL 0x018F /**< VES il */ -#define M4ID3 0x0190 /**< ID3 Tag Module */ -#define M4SC 0x0191 /**< Media Scanner */ -#define M4TG 0x0192 /**< Thumbnail Generator*/ -#define M4TS 0x0193 /**< Thumbnail storage */ -#define M4MB 0x0194 /**< Media browser */ - -/* high level application (test or client app) */ -#define M4APPLI 0x0200 -#define M4VA_APPLI 0x0201 /**< Video Artist test application */ - -/* external components (HW video codecs, etc.) */ -#define M4VD_EXTERNAL 0x0300 -#define M4VE_EXTERNAL 0x0301 - - -/* priority to combine with module ids */ -#define M4HIGH_PRIORITY 0xC000 -#define M4MEDIUM_PRIORITY 0x8000 -#define M4LOW_PRIORITY 0x4000 -#define M4DEFAULT_PRIORITY 0x0000 - - -#endif /*__M4OSA_COREID_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4PCMR_CoreReader.h b/libvideoeditor/vss/common/inc/M4PCMR_CoreReader.h deleted file mode 100755 index 6afc50c..0000000 --- a/libvideoeditor/vss/common/inc/M4PCMR_CoreReader.h +++ /dev/null @@ -1,132 +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 M4WAV_WavReader.h - * @brief WAV Reader declarations - * @note This file implements functions of the WAV reader - ************************************************************************ -*/ - -#include "M4OSA_CoreID.h" -#include "M4OSA_Types.h" -#include "M4OSA_Memory.h" -#include "M4OSA_FileReader.h" -#include "M4SYS_AccessUnit.h" -#include "M4TOOL_VersionInfo.h" - - -#define M4PCMC_ERR_PCM_NOT_COMPLIANT M4OSA_ERR_CREATE(M4_ERR, M4WAV_COMMON,0x000001) -#define M4PCMC_ERR_PCM_NO_SPACE_AVAIL M4OSA_ERR_CREATE(M4_ERR, M4WAV_COMMON,0x000002) -#define M4PCMC_ERR_PCM_NOT_SUPPORTED M4OSA_ERR_CREATE(M4_ERR, M4WAV_COMMON,0x000003) - -#define M4PCMC_WAR_END_OF_STREAM M4OSA_ERR_CREATE(M4_WAR, M4WAV_COMMON ,0x000001) - -/** - ************************************************************************ - * structure M4WAVC_DecoderSpecificInfo - * @brief This structure defines the decoder Specific informations - * @note This structure is used by the WAV reader to store all - * decoder specific informations: - * - Sample Frequency - * - Average Bytes per second - * - Number of channels (1 or 2) - * - Number of bits per sample (8 or 16) - ************************************************************************ -*/ -typedef struct { - M4OSA_UInt32 SampleFrequency; - M4OSA_UInt32 AvgBytesPerSec; - M4OSA_UInt32 DataLength; - M4OSA_UInt16 nbChannels; - M4OSA_UInt16 BitsPerSample; -} M4PCMC_DecoderSpecificInfo; - -/** - ************************************************************************ - * enum M4WAVR_State - * @brief This enum defines the WAV Reader States - * @note The state automaton is documented separately - * consult the design specification for details - ************************************************************************ -*/ -typedef enum { - M4PCMR_kInit = 0x0000, - M4PCMR_kOpening = 0x0100, - M4PCMR_kOpening_streamRetrieved = 0x0101, - M4PCMR_kReading = 0x0200, - M4PCMR_kReading_nextAU = 0x0201, - M4PCMR_kClosed = 0x0300 -} M4PCMR_State; - -/** - ************************************************************************ - * enum M4WAVR_OptionID - * @brief This enum defines the WAV Reader options - * @note Only one option is available: - * - M4WAVR_kPCMblockSize: sets the size of the PCM block to read - * from WAV file - ************************************************************************ -*/ -typedef enum { - M4PCMR_kPCMblockSize = M4OSA_OPTION_ID_CREATE(M4_READ, M4WAV_READER, 0x01) -} M4PCMR_OptionID; - -/** - ************************************************************************ - * structure M4WAVR_Context - * @brief This structure defines the WAV Reader context - * @note This structure is used for all WAV Reader calls to store - * the context - ************************************************************************ -*/ -typedef struct { - M4OSA_MemAddr32 m_pDecoderSpecInfo;/**< Pointer to the decoder specific info - structure contained in pStreamDesc - (only used to free...) */ - M4OSA_FileReadPointer* m_pFileReadFunc;/**< The OSAL set of pointer to function for - file management */ - M4OSA_Context m_fileContext; /**< The context needed by OSAL to manage File */ - M4PCMC_DecoderSpecificInfo m_decoderConfig;/**< Specific configuration for decoder */ - M4PCMR_State m_state; /**< state of the wav reader */ - M4PCMR_State m_microState; /**< state of the read wav stream */ - M4OSA_UInt32 m_blockSize; /**< Size of the read block */ - M4OSA_UInt32 m_offset; /**< Offset of the PCM read (i.e m_offset of the - file without wav header) */ - M4OSA_MemAddr32 m_pAuBuffer; /**< Re-used buffer for AU content storage */ - M4OSA_FilePosition m_dataStartOffset;/**< offset of the pcm data beginning into - the file */ -} M4PCMR_Context; - -/************************************************************************* - * - * Prototypes of all WAV reader functions - * - ************************************************************************/ -M4OSA_ERR M4PCMR_openRead(M4OSA_Context* pContext, M4OSA_Void* pUrl, - M4OSA_FileReadPointer* pFileFunction); -M4OSA_ERR M4PCMR_getNextStream(M4OSA_Context context, M4SYS_StreamDescription* pStreamDesc); -M4OSA_ERR M4PCMR_startReading(M4OSA_Context context, M4SYS_StreamID* pStreamIDs); -M4OSA_ERR M4PCMR_nextAU(M4OSA_Context context, M4SYS_StreamID streamID, M4SYS_AccessUnit* pAU); -M4OSA_ERR M4PCMR_freeAU(M4OSA_Context context, M4SYS_StreamID streamID, M4SYS_AccessUnit* pAU); -M4OSA_ERR M4PCMR_seek(M4OSA_Context context, M4SYS_StreamID* pStreamID, M4OSA_Time time, - M4SYS_SeekAccessMode seekAccessMode, M4OSA_Time* pObtainCTS); -M4OSA_ERR M4PCMR_closeRead(M4OSA_Context context); -M4OSA_ERR M4PCMR_getOption(M4OSA_Context context, M4PCMR_OptionID optionID, - M4OSA_DataOption* pValue); -M4OSA_ERR M4PCMR_setOption(M4OSA_Context context, M4PCMR_OptionID optionID, - M4OSA_DataOption Value); -M4OSA_ERR M4PCMR_getVersion(M4_VersionInfo *pVersion); diff --git a/libvideoeditor/vss/common/inc/M4READER_3gpCom.h b/libvideoeditor/vss/common/inc/M4READER_3gpCom.h deleted file mode 100755 index 22a5a03..0000000 --- a/libvideoeditor/vss/common/inc/M4READER_3gpCom.h +++ /dev/null @@ -1,193 +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 M4READER_3gpCom.h - * @brief Generic encapsulation of the core 3gp reader - * @note This file declares the generic shell interface retrieving function - * of the 3GP reader - ************************************************************************ -*/ - -#ifndef __M4READER_3GPCOM_H__ -#define __M4READER_3GPCOM_H__ - -#include "NXPSW_CompilerSwitches.h" - -#include "M4OSA_Types.h" -#include "M4OSA_Error.h" -#include "M4READER_Common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Error: Function M4READER_Com3GP_getNextStreamHandler must be called before. - */ -#define M4ERR_NO_VIDEO_STREAM_RETRIEVED_YET M4OSA_ERR_CREATE(M4_ERR, M4READER_3GP, 0x000001) - -/** - * Error: No video stream H263 in file. - */ -#define M4ERR_VIDEO_NOT_H263 M4OSA_ERR_CREATE(M4_ERR, M4READER_3GP, 0x000002) - -/** - * There has been a problem with the decoder configuration information, seems to be invalid */ -#define M4ERR_READER3GP_DECODER_CONFIG_ERROR M4OSA_ERR_CREATE(M4_ERR, M4READER_3GP, 0x000003) - -#define M4READER_COM3GP_MAXVIDEOSTREAM 5 -#define M4READER_COM3GP_MAXAUDIOSTREAM 5 -#define M4READER_COM3GP_MAXTEXTSTREAM 5 - -typedef struct -{ - M4OSA_Context m_pFFContext; /**< core file format context */ - - M4_StreamHandler* m_AudioStreams[M4READER_COM3GP_MAXAUDIOSTREAM]; - M4_StreamHandler* m_pAudioStream; /**< pointer to the current allocated audio - stream handler */ - - M4_StreamHandler* m_VideoStreams[M4READER_COM3GP_MAXVIDEOSTREAM]; - M4_StreamHandler* m_pVideoStream; /**< pointer to the current allocated video - stream handler */ - -#ifdef M4VPS_SUPPORT_TTEXT - M4_StreamHandler* m_TextStreams[M4READER_COM3GP_MAXTEXTSTREAM]; - M4_StreamHandler* m_pTextStream; /**< pointer to the current allocated text - stream handler */ -#endif /*M4VPS_SUPPORT_TTEXT*/ - -} M4READER_Com3GP_Context; - -/** - ************************************************************************ - * structure M4READER_3GP_Buffer (but nothing specific to 3GP, nor to a reader !) - * @brief This structure defines a buffer that can be used to exchange data (should be in OSAL) - ************************************************************************ -*/ -typedef struct -{ - M4OSA_UInt32 size; /**< the size in bytes of the buffer */ - M4OSA_MemAddr8 dataAddress; /**< the pointer to the buffer */ -} M4READER_3GP_Buffer; - -/** - ************************************************************************ - * enum M4READER_3GP_OptionID - * @brief This enum defines the reader options specific to the 3GP format. - * @note These options can be read from or written to a 3GP reader via M4READER_3GP_getOption. - ************************************************************************ -*/ -typedef enum -{ - /** - * Get the DecoderConfigInfo for H263, - * option value must be a pointer to M4READER_3GP_H263Properties allocated by caller */ - M4READER_3GP_kOptionID_H263Properties = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_3GP, 0x01), - - /** - * Get the Purple Labs drm information */ - M4READER_3GP_kOptionID_PurpleLabsDrm = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_3GP, 0x02), - - /** - * Set the Fast open mode (Only the first AU of each stream will be parsed -> less CPU, - less RAM). */ - M4READER_3GP_kOptionID_FastOpenMode = M4OSA_OPTION_ID_CREATE(M4_WRITE, M4READER_3GP, 0x03), - - /** - * Set the Audio only mode (the video stream won't be opened) */ - M4READER_3GP_kOptionID_AudioOnly = M4OSA_OPTION_ID_CREATE(M4_WRITE, M4READER_3GP, 0x04), - - /** - * Set the Video only mode (the audio stream won't be opened) */ - M4READER_3GP_kOptionID_VideoOnly = M4OSA_OPTION_ID_CREATE(M4_WRITE, M4READER_3GP, 0x05), - - /** - * Get the next video CTS */ - M4READER_3GP_kOptionID_getNextVideoCTS = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_3GP, 0x06) - -} M4READER_3GP_OptionID; - - -/** - ************************************************************************ - * struct M4READER_3GP_H263Properties - * @brief Contains info about H263 stream read from the 3GP file. - ************************************************************************ -*/ -typedef struct -{ - /**< the profile as defined in the Visual Object Sequence header, if present */ - M4OSA_UInt8 uiProfile; - /**< the level as defined in the Visual Object Sequence header, if present */ - M4OSA_UInt8 uiLevel; - -} M4READER_3GP_H263Properties; - -/** - ************************************************************************ - * @brief Get the next stream found in the 3gp file - * @note - * @param pContext: (IN) Context of the reader - * @param pMediaFamily: (OUT) Pointer to a user allocated M4READER_MediaFamily that will - * be filled with the media family of the found stream - * @param pStreamHandler: (OUT) Pointer to a stream handler that will be allocated and - * filled with the found stream description - * @return M4NO_ERROR There is no error - * @return M4ERR_PARAMETER At least one parameter is not properly set - * @return M4WAR_NO_MORE_STREAM No more available stream in the media (all streams found) - ************************************************************************ -*/ -M4OSA_ERR M4READER_Com3GP_getNextStreamHandler(M4OSA_Context context, - M4READER_MediaFamily *pMediaFamily, - M4_StreamHandler **pStreamHandler); - -/** - ************************************************************************ - * @brief Prepare the access unit (AU) - * @note An AU is the smallest possible amount of data to be decoded by a decoder. - * @param pContext: (IN) Context of the reader - * @param pStreamHandler (IN) The stream handler of the stream to make jump - * @param pAccessUnit (IN/OUT) Pointer to an access unit to fill with read data - * (the au structure is allocated by the user, and must - * be initialized by calling M4READER_fillAuStruct_fct - * after creation) - * @return M4NO_ERROR There is no error - * @return M4ERR_PARAMETER At least one parameter is not properly set - * @returns M4ERR_ALLOC Memory allocation failed - ************************************************************************ -*/ -M4OSA_ERR M4READER_Com3GP_fillAuStruct(M4OSA_Context context, M4_StreamHandler *pStreamHandler, - M4_AccessUnit *pAccessUnit); - -/** - ************************************************************************ - * @brief Cleans up the stream handler - * @param pContext: (IN/OUT) Context of the reader shell - * @param pStreamHandler: (IN/OUT) Stream handler - * @return M4ERR_PARAMETER: The context is null - * @return M4NO_ERROR: No error - ************************************************************************ -*/ -M4OSA_ERR M4READER_Com3GP_cleanUpHandler(M4_StreamHandler* pStreamHandler); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* __M4READER_3GPCOM_H__ */ - diff --git a/libvideoeditor/vss/common/inc/M4READER_Amr.h b/libvideoeditor/vss/common/inc/M4READER_Amr.h deleted file mode 100755 index b6e7f97..0000000 --- a/libvideoeditor/vss/common/inc/M4READER_Amr.h +++ /dev/null @@ -1,61 +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 M4READER_Amr.h - * @brief Generic encapsulation of the core amr reader - * @note This file declares the generic shell interface retrieving function - * of the AMR reader - ************************************************************************ -*/ -#ifndef __M4READER_AMR_H__ -#define __M4READER_AMR_H__ - -#include "M4READER_Common.h" - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/** -************************************************************************* -* @brief Retrieves the generic interfaces implemented by the reader -* -* @param pMediaType : Pointer on a M4READER_MediaType (allocated by the caller) -* that will be filled with the media type supported by this reader -* @param pRdrGlobalInterface : Address of a pointer that will be set to the global interface -* implemented by this reader. The interface is a structure allocated -* by the function and must be un-allocated by the caller. -* @param pRdrDataInterface : Address of a pointer that will be set to the data interface -* implemented by this reader. The interface is a structure allocated -* by the function and must be un-allocated by the caller. -* -* @returns : M4NO_ERROR if OK -* ERR_ALLOC if an allocation failed -* ERR_PARAMETER at least one parameter is not properly set (in DEBUG only) -************************************************************************* -*/ -M4OSA_ERR M4READER_AMR_getInterfaces(M4READER_MediaType *pMediaType, - M4READER_GlobalInterface **pRdrGlobalInterface, - M4READER_DataInterface **pRdrDataInterface); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /*__M4READER_AMR_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4READER_Common.h b/libvideoeditor/vss/common/inc/M4READER_Common.h deleted file mode 100755 index 8863a7e..0000000 --- a/libvideoeditor/vss/common/inc/M4READER_Common.h +++ /dev/null @@ -1,717 +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 M4READER_Common.h - * @brief Shell Reader common interface declaration - * @note This file declares the common interfaces that reader shells must implement - * - ************************************************************************ -*/ -#ifndef __M4READER_COMMON_H__ -#define __M4READER_COMMON_H__ - -#include "M4OSA_Types.h" -#include "M4OSA_Error.h" -#include "M4OSA_FileReader.h" -#include "M4OSA_CoreID.h" -#include "M4DA_Types.h" -#include "M4Common_types.h" - -/* ERRORS */ -#define M4ERR_READER_UNKNOWN_STREAM_TYPE M4OSA_ERR_CREATE(M4_ERR, M4READER_COMMON, 0x0001) - -/* WARNINGS */ -#define M4WAR_READER_NO_METADATA M4OSA_ERR_CREATE(M4_WAR, M4READER_COMMON, 0x0001) -#define M4WAR_READER_INFORMATION_NOT_PRESENT M4OSA_ERR_CREATE(M4_WAR, M4READER_COMMON, 0x0002) - - -/** - ************************************************************************ - * enum M4READER_MediaType - * @brief This enum defines the Media types used to create media readers - * @note This enum is used internally by the VPS to identify a currently supported - * media reader interface. Each reader is registered with one of this type associated. - * When a reader instance is needed, this type is used to identify and - * and retrieve its interface. - ************************************************************************ -*/ -typedef enum -{ - M4READER_kMediaTypeUnknown = -1, /**< Unknown media type */ - M4READER_kMediaType3GPP = 0, /**< 3GPP file media type */ - M4READER_kMediaTypeAVI = 1, /**< AVI file media type */ - M4READER_kMediaTypeAMR = 2, /**< AMR file media type */ - M4READER_kMediaTypeMP3 = 3, /**< MP3 file media type */ - M4READER_kMediaTypeRTSP = 4, /**< RTSP network accessed media type */ - M4READER_kMediaType3GPPHTTP = 5, /**< Progressively downloaded 3GPP file media type */ - M4READER_kMediaTypePVHTTP = 6, /**< Packet Video HTTP proprietary type */ - M4READER_kMediaTypeWAV = 7, /**< WAV file media type */ - M4READER_kMediaType3GPEXTHTTP = 8, /**< An external progressively downloaded 3GPP file - media type */ - M4READER_kMediaTypeAAC = 9, /**< ADTS and ADIF AAC support */ - M4READER_kMediaTypeREAL = 10, /**< REAL Media type */ - M4READER_kMediaTypeASF = 11, /**< ASF Media type */ - M4READER_kMediaTypeFLEXTIME = 12, /**< FlexTime Media type */ - M4READER_kMediaTypeBBA = 13, /**< Beatbrew audio Media type */ - M4READER_kMediaTypeSYNTHAUDIO = 14, /**< Synthesis audio Media type */ - M4READER_kMediaTypePCM = 15, /**< PCM Media type */ - M4READER_kMediaTypeJPEG = 16, /**< JPEG Media type */ - M4READER_kMediaTypeGIF = 17, /**< GIF Media type */ - M4READER_kMediaTypeADIF = 18, /**< AAC-ADTS Media type */ - M4READER_kMediaTypeADTS = 19, /**< AAC-ADTS Media type */ - - M4READER_kMediaType_NB /* number of readers, keep it as last enum entry */ - -} M4READER_MediaType; - -/** - ************************************************************************ - * enum M4READER_MediaFamily - * @brief This enum defines the Media family of a stream - * @note This enum is used internally by the VPS to identify what kind of stream - * has been retrieved via getNextStream() function. - ************************************************************************ -*/ -typedef enum -{ - M4READER_kMediaFamilyUnknown = -1, - M4READER_kMediaFamilyVideo = 0, - M4READER_kMediaFamilyAudio = 1, - M4READER_kMediaFamilyText = 2 -} M4READER_MediaFamily; - - - -/** - ************************************************************************ - * enum M4READER_OptionID - * @brief This enum defines the reader options - * @note These options can be read from a reader via M4READER_getOption_fct - ************************************************************************ -*/ -typedef enum -{ - /** - Get the duration of the movie (in ms) - */ - M4READER_kOptionID_Duration = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0), - - /** - Get the version of the core reader - */ - M4READER_kOptionID_Version = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 1), - - /** - Get the copyright from the media (if present) - (currently implemented for 3GPP only: copyright get from the cprt atom in the udta if present) - */ - M4READER_kOptionID_Copyright= M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 2), - - - /** - Set the OSAL file reader functions to the reader (type of value: M4OSA_FileReadPointer*) - */ - M4READER_kOptionID_SetOsaFileReaderFctsPtr = M4OSA_OPTION_ID_CREATE(M4_READ,\ - M4READER_COMMON, 3), - - /** - Set the OSAL file writer functions to the reader (type of value: M4OSA_FileWriterPointer*) - */ - M4READER_kOptionID_SetOsaFileWriterFctsPtr = M4OSA_OPTION_ID_CREATE(M4_READ,\ - M4READER_COMMON, 4), - - /** - Set the OSAL file writer functions to the reader (type of value: M4OSA_NetFunction*) - */ - M4READER_kOptionID_SetOsaNetFctsPtr = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 5), - - /** - Creation time in sec. since midnight, Jan. 1, 1970 (type of value: M4OSA_UInt32*) - (available only for 3GPP content, including PGD) - */ - M4READER_kOptionID_CreationTime = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 6), - - /** - Bitrate in bps (type of value: M4OSA_Double*) - */ - M4READER_kOptionID_Bitrate = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 7), - - /** - Tag ID3v1 of MP3 source (type of value: M4MP3R_ID3Tag*) - */ - M4READER_kOptionID_Mp3Id3v1Tag = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 8), - - /** - Tag ID3v2 of MP3 source (type of value: M4MP3R_ID3Tag*) - */ - M4READER_kOptionID_Mp3Id3v2Tag = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 9), - - /** - Number of Access Unit in the Audio stream (type of value: M4OSA_UInt32*) - */ - M4READER_kOptionID_GetNumberOfAudioAu = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0xA), - - /** - Number of frames per bloc - */ - M4READER_kOptionID_GetNbframePerBloc = M4OSA_OPTION_ID_CREATE(M4_READ,\ - M4READER_COMMON, 0xB), - - /** - Flag for protection presence - */ - M4READER_kOptionID_GetProtectPresence = M4OSA_OPTION_ID_CREATE(M4_READ,\ - M4READER_COMMON, 0xC), - - /** - Set DRM Context - */ - M4READER_kOptionID_SetDRMContext = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0xD), - - /** - Get ASF Content Description Object - */ - M4READER_kOptionID_ContentDescription = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0xE), - - /** - Get ASF Content Description Object - */ - M4READER_kOptionID_ExtendedContentDescription = M4OSA_OPTION_ID_CREATE(M4_READ,\ - M4READER_COMMON, 0xF), - - /** - Get Asset 3gpp Fields - */ - M4READER_kOptionID_3gpAssetFields = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0x10), - - /** - Set the max metadata size supported in the reader - Only relevant in 3gp parser till now, but can be used for other readers - */ - M4READER_kOptionID_MaxMetadataSize = M4OSA_OPTION_ID_CREATE(M4_WRITE, M4READER_COMMON, 0x11), - - M4READER_kOptionID_GetMetadata = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0x12), - /** - Get 3gpp 'ftyp' atom - */ - M4READER_kOptionID_3gpFtypBox = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0x13), - - - /* value is M4OSA_Bool* */ - /* return the drm protection status of the file*/ - M4READER_kOptionID_isProtected = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0x14), - - /* value is a void* */ - /* return the aggregate rights of the file*/ - /* The buffer must be allocated by the application and must be big enough*/ - /* By default, the size for WMDRM is 76 bytes */ - M4READER_kOptionID_getAggregateRights = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0x15), - /** - Get ASF Content Description Object - */ - M4READER_kOptionID_ExtendedContentEncryption = M4OSA_OPTION_ID_CREATE(M4_READ,\ - M4READER_COMMON, 0x16), - - /** - Number of Access Unit in the Video stream (type of value: M4OSA_UInt32*) - */ - M4READER_kOptionID_GetNumberOfVideoAu = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0x17), - - /** - Chunk mode activation size in case of JPG reader */ - M4READER_kOptionID_JpegChunckSize = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0x18), - - /** - Check if ASF file contains video */ - M4READER_kOptionID_hasVideo = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0x19), - - /** - Set specific read mode for Random Access JPEG */ - M4READER_kOptionID_JpegRAMode = M4OSA_OPTION_ID_CREATE(M4_WRITE, M4READER_COMMON, 0x20), - - /** - Get Thumbnail buffer in case of JPG reader */ - M4READER_kOptionID_JpegThumbnail = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0x21), - - /** - Get FPDATA buffer in case of JPG reader */ - M4READER_kOptionID_JpegFPData = M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0x22), - - /** - Get JPEG info (progressive, subsampling) */ - M4READER_kOptionID_JpegInfo= M4OSA_OPTION_ID_CREATE(M4_READ, M4READER_COMMON, 0x23) - - -/*****************************************/ -} M4READER_OptionID; -/*****************************************/ - -/** - ************************************************************************ - * structure M4READER_CopyRight - * @brief This structure defines a copyRight description - * @note This structure is used to retrieve the copyRight of the media - * (if present) via the getOption() function - ************************************************************************ -*/ -typedef struct _M4READER_CopyRight -{ - /** - Pointer to copyright data (allocated by user) - */ - M4OSA_UInt8* m_pCopyRight; - - /** - Pointer to copyright size. The pCopyRightSize must - be Initialized with the size available in the pCopyRight buffer - */ - M4OSA_UInt32 m_uiCopyRightSize; - -} M4READER_CopyRight; - - - -/** - ************************************************************************ - * structure M4READER_StreamDataOption - * @brief This structure defines a generic stream data option - * @note It is used is used to set or get a stream specific data defined - * by a relevant reader option ID. - ************************************************************************ -*/ -typedef struct _M4READER_StreamDataOption -{ - M4_StreamHandler* m_pStreamHandler; /**< identifier of the stream */ - M4OSA_Void* m_pOptionValue; /**< value of the data option to get or to set */ - -} M4READER_StreamDataOption; - -/** - ************************************************************************ - * enumeration M4_EncodingFormat - * @brief Text encoding format - ************************************************************************ -*/ -// typedef enum -// { -// M4_kEncFormatUnknown = 0, /**< Unknown format */ -// M4_kEncFormatASCII = 1, /**< ISO-8859-1. Terminated with $00 */ -// M4_kEncFormatUTF8 = 2, /**< UTF-8 encoded Unicode . Terminated with $00 */ -// M4_kEncFormatUTF16 = 3 /**< UTF-16 encoded Unicode. Terminated with $00 00 */ -/*} M4_EncodingFormat;*/ - -/** - ************************************************************************ - * structure M4_StringAttributes - * @brief This structure defines string attribute - ************************************************************************ -*/ -// typedef struct -// { -// M4OSA_Void* m_pString; /**< Pointer to text */ -// M4OSA_UInt32 m_uiSize; /**< Size of text */ -// M4_EncodingFormat m_EncodingFormat; /**< Text encoding format */ -// } M4_StringAttributes; - - -/** - ************************************************************************ - * structure M4READER_Buffer - * @brief This structure defines a buffer in all readers - ************************************************************************ -*/ -typedef struct -{ - M4OSA_UInt8* m_pData; - M4OSA_UInt32 m_uiBufferSize; -} M4READER_Buffer; - -typedef struct -{ - M4OSA_UInt32 m_uiSessionId; - M4OSA_UInt32 m_uiMediaId; - M4OSA_UInt32 m_uiNbInstance; - M4OSA_Char** m_pInstance; -} M4_SdpAssetInstance; -/* -typedef enum -{ - M4READER_kUnknownFormat = 0, - M4READER_kTagID3V1, - M4READER_kTagID3V2, - M4READER_kASFContentDesc, - M4READER_k3GppAssetBoxFromUDTA, - M4READER_k3GppAssetBoxFromSDP, - M4READER_kJpegExif -} M4READER_MetaDataType;*/ - - -/** - ************************************************************************ - * structure M4_3gpAssetFields - * @brief This structure defines fields of a 3gpp asset information - ************************************************************************ -*/ -typedef struct -{ - M4COMMON_MetaDataFields m_metadata; - - M4OSA_UInt32 m_uiSessionID; /* For SDP */ - M4OSA_UInt32 m_uiMediaID; /* For SDP */ - - - /* Note: The two following fields were added for internal use - (For Music manager project..) !! */ - M4_StreamType m_VideoStreamType; /**< Video stream type */ - M4_StreamType m_AudioStreamType; /**< Audio stream type */ - -} M4_MetaDataFields; - - -#define M4_METADATA_STR_NB 22 /* one string in album art structure*/ - -typedef struct -{ - M4OSA_UInt32 m_uiNbBuffer; - M4_SdpAssetInstance* m_pAssetInfoInst; /* Set of 3gpp asset boxes */ - M4COMMON_MetaDataAlbumArt m_albumArt; /* RC: PV specific album art:added - here because this type is used by - union below in streaming */ - -} M4READER_netInfos; - - -typedef union -{ - M4READER_Buffer m_pTagID3Buffer[2]; /* Tag ID3 V1, V2 */ - struct - { - M4READER_Buffer m_pAsfDescContent; /* ASF description content buffer */ - M4READER_Buffer m_pAsfExtDescContent; /* ASF extended description content buffer */ - } m_asf; - M4_MetaDataFields m_pMetadataFields; /* Already parsed and filled 3gpp asset fields */ - M4READER_netInfos m_pAssetInfoInstance; /* Set of 3gpp asset boxes in the sdp file */ - -} M4_MetadataBuffer; - - - - -/*********** READER GLOBAL Interface ************************************/ - -/** - ************************************************************************ - * @brief create an instance of the reader - * @note create the context - * @param pContext: (OUT) pointer on a reader context - * @return M4NO_ERROR there is no error - * @return M4ERR_PARAMETER at least one parameter is not properly set - * @return M4ERR_ALLOC a memory allocation has failed - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_create_fct) (M4OSA_Context* pContext); - -/** - ************************************************************************ - * @brief destroy the instance of the reader - * @note after this call the context is invalid - * @param context: (IN) Context of the reader - * @return M4NO_ERROR there is no error - * @return M4ERR_PARAMETER at least one parameter is not properly set - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_destroy_fct) (M4OSA_Context context); - - -/** - ************************************************************************ - * @brief open the reader and initializes its created instance - * @note this function, for the network reader, sends the DESCRIBE - * @param context: (IN) Context of the reader - * @param pFileDescriptor: (IN) Pointer to proprietary data identifying the media to open - * @return M4NO_ERROR there is no error - * @return M4ERR_PARAMETER the context is NULL - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_open_fct) (M4OSA_Context context, M4OSA_Void* pFileDescriptor); - - -/** - ************************************************************************ - * @brief close the reader - * @note - * @param context: (IN) Context of the reader - * @return M4NO_ERROR there is no error - * @return M4ERR_PARAMETER the context is NULL - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_close_fct) (M4OSA_Context context); - - - -/** - ************************************************************************ - * @brief Get the next stream found in the media - * @note - * @param context: (IN) Context of the reader - * @param pMediaFamily: (OUT) pointer to a user allocated M4READER_MediaFamily that will - * be filled with the media family of the found stream - * @param pStreamHandler: (OUT) pointer to a stream handler that will be allocated and - * filled with the found stream description - * @return M4NO_ERROR there is no error - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - * @return M4ERR_PARAMETER at least one parameter is not properly set - * @return M4WAR_NO_MORE_STREAM no more available stream in the media (all streams found) - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_getNextStream_fct) (M4OSA_Context context, - M4READER_MediaFamily *pMediaFamily, - M4_StreamHandler **pStreamHandler); - - -/** - ************************************************************************ - * @brief fill the access unit structure with initialization values - * @note - * @param context: (IN) Context of the reader - * @param pStreamHandler: (IN) pointer to the stream handler to which the access unit - * will be associated - * @param pAccessUnit: (IN/OUT) pointer to the access unit (allocated by the caller) - * to initialize - * @return M4NO_ERROR there is no error - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - * @return M4ERR_PARAMETER at least one parameter is not properly set - * @return M4ERR_ALLOC there is no more memory available - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_fillAuStruct_fct) (M4OSA_Context context, - M4_StreamHandler *pStreamHandler, - M4_AccessUnit *pAccessUnit); - -/** - ************************************************************************ - * @brief starts the instance of the reader - * @note only needed for network until now... - * @param context: (IN) Context of the reader - * @return M4NO_ERROR there is no error - * @return M4ERR_PARAMETER the context is NULL - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_start_fct) (M4OSA_Context context); - -/** - ************************************************************************ - * @brief stop reading - * @note only needed for network until now... (makes a pause) - * @param context: (IN) Context of the reader - * @return M4NO_ERROR there is no error - * @return M4ERR_PARAMETER the context is NULL - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_stop_fct) (M4OSA_Context context); - - -/** - ************************************************************************ - * @brief get an option value from the reader - * @note this function follows the set/get option mechanism described in OSAL 3.0 - * it allows the caller to retrieve a property value: - * -the duration of the longest stream of the media - * -the version number of the reader - * - * @param context: (IN) Context of the reader - * @param optionId: (IN) indicates the option to get - * @param pValue: (OUT) pointer to structure or value (allocated by user) - * where option is stored - * - * @return M4NO_ERROR there is no error - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - * @return M4ERR_PARAMETER at least one parameter is not properly set - * @return M4ERR_BAD_OPTION_ID when the option ID is not a valid one - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_getOption_fct) (M4OSA_Context context, M4OSA_OptionID optionId, - M4OSA_DataOption pValue); - - -/** - ************************************************************************ - * @brief set en option value of the readder - * @note this function follows the set/get option mechanism described in OSAL 3.0 - * it allows the caller to set a property value: - * - nothing for the moment - * - * @param context: (IN) Context of the reader - * @param optionId: (IN) indicates the option to set - * @param pValue: (IN) pointer to structure or value (allocated by user) where - * option is stored - * - * @return M4NO_ERROR there is no error - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - * @return M4ERR_PARAMETER at least one parameter is not properly set - * @return M4ERR_BAD_OPTION_ID when the option ID is not a valid one - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_setOption_fct) (M4OSA_Context context, M4OSA_OptionID optionId, - M4OSA_DataOption pValue); - - -/** - ************************************************************************ - * @brief jump into the stream at the specified time - * @note - * @param context: (IN) Context of the reader - * @param pStreamHandler (IN) the stream handler of the stream to make jump - * @param pTime (IN/OUT) IN: the time to jump to (in ms) - * OUT: the time to which the stream really jumped - * @return M4NO_ERROR there is no error - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - * @return M4ERR_PARAMETER at least one parameter is not properly set - * @return M4ERR_ALLOC there is no more memory available - * @return M4ERR_BAD_STREAM_ID the streamID does not exist - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_jump_fct) (M4OSA_Context context, - M4_StreamHandler *pStreamHandler, - M4OSA_Int32* pTime); - - -/** - ************************************************************************ - * @brief reset the stream, that is seek it to beginning and make it ready to be read - * @note - * @param context: (IN) Context of the reader - * @param pStreamHandler (IN) The stream handler of the stream to reset - * @return M4NO_ERROR there is no error - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - * @return M4ERR_PARAMETER at least one parameter is not properly set - * @return M4ERR_ALLOC there is no more memory available - * @return M4ERR_BAD_STREAM_ID the streamID does not exist - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_reset_fct) (M4OSA_Context context, - M4_StreamHandler *pStreamHandler); - - -/** - ************************************************************************ - * @brief get the time of the closest RAP access unit before the given time - * @note - * @param context: (IN) Context of the reader - * @param pStreamHandler (IN) the stream handler of the stream to search - * @param pTime (IN/OUT) IN: the time to search from (in ms) - * OUT: the time (cts) of the preceding RAP AU. - * @return M4NO_ERROR there is no error - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - * @return M4ERR_PARAMETER at least one parameter is not properly set - * @return M4ERR_BAD_STREAM_ID the streamID does not exist - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_getPrevRapTime_fct) (M4OSA_Context context, - M4_StreamHandler *pStreamHandler, - M4OSA_Int32* pTime); - - -/** - ************************************************************************ - * structure M4READER_GlobalInterface - * @brief This structure defines the generic media reader GLOBAL interface - * @note This structure stores the pointers to functions concerning - * creation and control of one reader type. - * The reader type is one of the M4READER_MediaType - ************************************************************************ -*/ -typedef struct _M4READER_GlobalInterface -/*****************************************/ -{ - M4READER_create_fct* m_pFctCreate; - M4READER_destroy_fct* m_pFctDestroy; - M4READER_open_fct* m_pFctOpen; - M4READER_close_fct* m_pFctClose; - M4READER_getOption_fct* m_pFctGetOption; - M4READER_setOption_fct* m_pFctSetOption; - M4READER_getNextStream_fct* m_pFctGetNextStream; - M4READER_fillAuStruct_fct* m_pFctFillAuStruct; - M4READER_start_fct* m_pFctStart; - M4READER_stop_fct* m_pFctStop; - M4READER_jump_fct* m_pFctJump; - M4READER_reset_fct* m_pFctReset; - M4READER_getPrevRapTime_fct* m_pFctGetPrevRapTime; - -} M4READER_GlobalInterface; - - -/************* READER DATA Interface ************************************/ - - - -/** - ************************************************************************ - * @brief Gets an access unit (AU) from the stream handler source. - * @note An AU is the smallest possible amount of data to be decoded by a decoder (audio/video). - * - * @param context: (IN) Context of the reader - * @param pStreamHandler (IN) The stream handler of the stream to make jump - * @param pAccessUnit (IN/OUT) Pointer to an access unit to fill with read data - * (the au structure is allocated by the user, and must be - * initialized by calling M4READER_fillAuStruct_fct after - * creation) - * @return M4NO_ERROR there is no error - * @return M4ERR_BAD_CONTEXT provided context is not a valid one - * @return M4ERR_PARAMETER at least one parameter is not properly set - * @returns M4ERR_ALLOC memory allocation failed - * @returns M4ERR_BAD_STREAM_ID at least one of the stream Id. does not exist. - * @returns M4WAR_NO_DATA_YET there is no enough data on the stream for new - * access unit - * @returns M4WAR_NO_MORE_AU there are no more access unit in the stream - * (end of stream) - ************************************************************************ -*/ -typedef M4OSA_ERR (M4READER_getNextAu_fct)(M4OSA_Context context, - M4_StreamHandler *pStreamHandler, - M4_AccessUnit *pAccessUnit); - - -/** - ************************************************************************ - * structure M4READER_DataInterface - * @brief This structure defines the generic media reader DATA interface - * @note This structure stores the pointers to functions concerning - * data access for one reader type.(those functions are typically called from - * a decoder) The reader type is one of the M4READER_MediaType - ************************************************************************ -*/ -typedef struct _M4READER_DataInterface -{ - M4READER_getNextAu_fct* m_pFctGetNextAu; - - /** - stores the context created by the M4READER_create_fct() function - so it is accessible without decoder - */ - M4OSA_Context m_readerContext; -/*****************************************/ -} M4READER_DataInterface; -/*****************************************/ - - -#endif /*__M4READER_COMMON_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4READER_Pcm.h b/libvideoeditor/vss/common/inc/M4READER_Pcm.h deleted file mode 100755 index f0fc857..0000000 --- a/libvideoeditor/vss/common/inc/M4READER_Pcm.h +++ /dev/null @@ -1,59 +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 M4READER_Pcm.h - * @brief Generic encapsulation of the core wav reader - * @note This file declares the generic shell interface retrieving function - * of the wav reader -************************************************************************* -*/ -#ifndef __M4READER_PCM_H__ -#define __M4READER_PCM_H__ - -#include "M4READER_Common.h" - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/** -************************************************************************* -* @brief Retrieves the generic interfaces implemented by the reader -* -* @param pMediaType : Pointer on a M4READER_MediaType (allocated by the caller) -* that will be filled with the media type supported by this reader -* @param pRdrGlobalInterface : Address of a pointer that will be set to the global interface -* implemented by this reader. The interface is a structure allocated -* by the function and must be un-allocated by the caller. -* @param pRdrDataInterface : Address of a pointer that will be set to the data interface -* implemented by this reader. The interface is a structure allocated -* by the function and must be un-allocated by the caller. -* -* @returns : M4NO_ERROR if OK -* ERR_ALLOC if an allocation failed -* ERR_PARAMETER at least one parameter is not properly set (in DEBUG only) -************************************************************************* -*/ -M4OSA_ERR M4READER_PCM_getInterfaces(M4READER_MediaType *pMediaType, - M4READER_GlobalInterface **pRdrGlobalInterface, - M4READER_DataInterface **pRdrDataInterface); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /*__M4READER_PCM_H__*/ diff --git a/libvideoeditor/vss/common/inc/M4SYS_AccessUnit.h b/libvideoeditor/vss/common/inc/M4SYS_AccessUnit.h deleted file mode 100755 index f50367c..0000000 --- a/libvideoeditor/vss/common/inc/M4SYS_AccessUnit.h +++ /dev/null @@ -1,90 +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 M4SYS_AccessUnit.h - * @brief Access unit manipulation - * @note This file defines the access unit structure, - * and declares functions to manipulate it. - ************************************************************************ -*/ - -#ifndef M4SYS_ACCESSUNIT_H -#define M4SYS_ACCESSUNIT_H - -#include "M4OSA_Types.h" -#include "M4OSA_Error.h" -#include "M4OSA_Memory.h" -#include "M4OSA_Time.h" -#include "M4SYS_Stream.h" - -/** The attribute of a fragment*/ -typedef enum { - M4SYS_kFragAttrOk = 01, /**< The fragment is correct, there is no error - (size cannot be 0)*/ - M4SYS_kFragAttrCorrupted = 02, /**< The fragment is corrupted (there is at least a bit or byte - error somewhere in the fragment (size cannot be 0)*/ - M4SYS_kFragAttrLost = 03 /**< The fragment is lost, so the size must be 0.*/ -} M4SYS_FragAttr; - - -/** A Fragment is a piece of access unit. It can be decoded without decoding the others*/ -typedef struct { - M4OSA_MemAddr8 fragAddress; /**< The data pointer. All fragments of the same access unit - must be contiguous in memory*/ - M4OSA_UInt32 size; /**< The size of the fragment. It must be 0 if fragment is - flagged 'lost'*/ - M4SYS_FragAttr isCorrupted; /**< The attribute of this fragment*/ -} M4SYS_Frag; - -/**< The attribute of an access unit*/ -typedef M4OSA_UInt8 M4SYS_AU_Attr; - -#define AU_Corrupted 0x01 /**< At least one fragment of the access unit is flagged corrupted.*/ -#define AU_P_Frame 0x02 /**< The access unit is a P_frame*/ -#define AU_RAP 0x04 /**< The access unit is a random access point.*/ - - -/** An access unit is the smallest piece of data with timing information.*/ -typedef struct { - M4SYS_StreamDescription* stream ; - M4OSA_MemAddr32 dataAddress; /**< The data pointer. The size of this block - (allocated size) must be a 32-bits integer multiple*/ - M4OSA_UInt32 size; /**< The size in bytes of the dataAddress. The size may - not match a 32-bits word boundary.*/ - M4OSA_Time CTS; /**< The Composition Time Stamp*/ - M4OSA_Time DTS; /**< The Decoded Time Stamp*/ - M4SYS_AU_Attr attribute; /**< The attribute of the access unit*/ - M4OSA_UInt8 nbFrag; /**< The number of fragments. It can be 0 if there is - no fragment.*/ - M4SYS_Frag** frag; /**< An array of 'nbFrag' fragments. It stores the - fragments structure. The original definition - < of frag has been changed from M4SYS_Frag* frag[] - to M4SYS_Frag** frag since the support - < of such syntax is only a Microsoft extension of - the C compiler. */ -} M4SYS_AccessUnit; - -/* Error codes */ -#define M4ERR_AU_NO_MORE_FRAG M4OSA_ERR_CREATE(M4_ERR,M4SYS_CMAPI,0x000001) -#define M4ERR_AU_BUFFER_OVERFLOW M4OSA_ERR_CREATE(M4_ERR,M4SYS_CMAPI,0x000002) -#define M4ERR_AU_BAD_INDEX M4OSA_ERR_CREATE(M4_ERR,M4SYS_CMAPI,0x000003) -#define M4ERR_NOT_ENOUGH_FRAG M4OSA_ERR_CREATE(M4_ERR,M4SYS_CMAPI,0x000004) - - - -#endif /*M4SYS_ACCESSUNIT_H*/ - diff --git a/libvideoeditor/vss/common/inc/M4SYS_Stream.h b/libvideoeditor/vss/common/inc/M4SYS_Stream.h deleted file mode 100755 index bab0ce7..0000000 --- a/libvideoeditor/vss/common/inc/M4SYS_Stream.h +++ /dev/null @@ -1,185 +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 M4SYS_Stream.h - * @brief Stream manipulation - * @note This file defines the stream structure. - ************************************************************************ -*/ - -#ifndef M4SYS_STREAM_H -#define M4SYS_STREAM_H - -#include "M4OSA_Types.h" -#include "M4OSA_Memory.h" -#include "M4OSA_Time.h" - -typedef M4OSA_UInt32 M4SYS_StreamID; - -/** The streamType type provides a way to distinguish all streams (AAC, AMR, YUV420, MPEG-4 Video, - H263). Stream types can be sorted in 2 ways: -@arg Some of them are raw data, others are encoded -@arg Some of them are related to an audio media, a video media... -@n So a specific naming convention has been designed to allow a quick parsing of the streamType - value to return the above categories. StreamType is an un-signed integer on 16 bits. -@arg The first byte (MSB) defines the codec type. It can be either Audio,Video, Picture, - Text or Scene. -@arg The second byte (LSB) defines the sub-codecs type (ie YUV420, PCM_16 bits, AMR...). - Moreover if this value is greater than 0x80 the stream is a raw stream, else the stream - is an encoded one -@n 0x0000 is a forbidden value, it describes an unknown stream */ - -typedef enum { - M4SYS_kUnknown = 0x0000, - /* Stream type definition - 0xYYZZ : YY is the codec type (Audio, Video, Picture, Scene ...) - ZZ is the sub-codec type (AAC, AMR , ...) - if ZZ is greater than 0x80 it is a raw format*/ - - /* Audio ones : Range from [0x0100-0x01FF]*/ - M4SYS_kAudioUnknown = 0x0100, - M4SYS_kAAC = 0x0101, - M4SYS_kCELP = 0x0102, - M4SYS_kAMR = 0x0103, - M4SYS_kAMR_WB = 0x0104, - M4SYS_kMP3 = 0x0105, - M4SYS_kMIDI = 0x0106, - M4SYS_kWMA = 0x0107, - M4SYS_kREALAUDIO = 0x0108, - M4SYS_kEVRC = 0x0109, - M4SYS_kPCM_16bitsS = 0x0181, /* PCM 16 bits Signed */ - M4SYS_kPCM_16bitsU = 0x0182, /* PCM 16 bits Un-signed */ - M4SYS_kPCM_8bitsU = 0x0183, /* PCM 8 bits Un-signed */ -/* FixAA 2008/03/03 types: M4SYS_kPCM_16bitsS, M4SYS_kPCM_16bitsU and M4SYS_kPCM_8bitsU - are now only used by AudioMixer and ReaderAVI => An update is necessary in the future for use - type M4SYS_kPCM */ - M4SYS_kXMF = 0x0184, - M4SYS_kSMAF = 0x0185, - M4SYS_kIMEL = 0x0186, - M4SYS_kBBA = 0x0187, - M4SYS_kBPC = 0x0188, - M4SYS_kADPCM = 0x0189, /* ADPCM added */ - M4SYS_kPCM = 0x0190, /* stream type added: PCM; PR2569 fixAA */ - M4SYS_kAudioAll = 0x01FF, /* all audio streams */ - - /* Video ones : Range [0x0200-0x02FF]*/ - M4SYS_kVideoUnknown = 0x0200, - M4SYS_kMPEG_4 = 0x0201, - M4SYS_kH263 = 0x0202, - M4SYS_kH263pp = 0x0203, - M4SYS_kH264 = 0x0204, - M4SYS_kREALVIDEO = 0x0205, - M4SYS_kYUV420 = 0x0281, - M4SYS_kRGB32 = 0x0282, - M4SYS_kBGR32 = 0x0283, - M4SYS_kRGB24 = 0x0284, - M4SYS_kBGR24 = 0x0285, - M4SYS_kVideoAll = 0x02FF, /* all video streams */ - - /* Picture ones : Range [0x0300-0x03FF]*/ - M4SYS_kPictureUnknown = 0x0300, - M4SYS_kJPEG = 0x0301, - M4SYS_kGIF = 0x0302, - M4SYS_kBMP = 0x0383, - M4SYS_kStillAll = 0x03FF, /* all still picture streams */ - - /* Text ones : Range [0x0400-0x04FF]*/ - M4SYS_kTextUnknown = 0x0400, - M4SYS_kTimedText = 0x0401, - M4SYS_kUTF8 = 0x0481, - M4SYS_kUTF16 = 0x0482, - M4SYS_kUCS2 = 0x0483, - M4SYS_kTextAll = 0x04FF, /* all text streams */ - - /* Scene & Graphics ones : Range [0x0500-0x05FF]*/ - M4SYS_kSceneUnknown = 0x0500, - M4SYS_kSMIL = 0x0501, - M4SYS_kBIFS = 0x0502, - M4SYS_kSceneAll = 0x05FF, /* all scene streams */ - - /* hinted ones : Range [0x0600-0x06FF]*/ - M4SYS_kHintedUnknown = 0x0600, - M4SYS_kRTP = 0x0601, - M4SYS_kMPEG2_TS = 0x0602, - M4SYS_kHintedAll = 0x06FF, /* all packetized streams */ - - /* MPEG-4 system ones : Range [0x0700-0x07FF]*/ - M4SYS_kSysUnknown = 0x0700, - M4SYS_kODS = 0x0701, - M4SYS_kIPMP = 0x0702, - M4SYS_kOCI = 0x0703, - M4SYS_kSysAll = 0x07FF /* all system streams*/ -} M4SYS_StreamType ; - -typedef struct { - M4SYS_StreamID streamID ; - M4OSA_UInt32 value ; -} M4SYS_StreamIDValue ; - -typedef struct { - M4SYS_StreamID streamID ; - M4OSA_UInt32 size ; - M4OSA_MemAddr32 addr ; -} M4SYS_StreamIDmemAddr ; - -/** This strucure defines a set of properties associated to a stream*/ -typedef struct { - M4SYS_StreamID streamID; /**< The ID of the stream. It must be unique for a media - (ie in a MP4 file, two tracks can not have two times the same ID). - 0 is forbidden.*/ - M4SYS_StreamType streamType; /**< The stream type of the stream*/ - M4OSA_UInt8 profileLevel; /**< The profile & level of a stream. It is related to the - stream type & the definition comes from the standard bodies - (i.e. MPEG-4 Video & MPEG-4 Audio). Some values are - pre-defined: 0xFE=userPrivate 0xFF=no Profile & - Level specified*/ - M4OSA_UInt32 decoderSpecificInfoSize; /**< The decoder configuration. These bytes are - needed to initialise a decoder.*/ - M4OSA_MemAddr32 decoderSpecificInfo; /**< The size (in bytes) of the decoder specific info.*/ - M4OSA_UInt32 timeScale; /**< The time scale of the stream. It means that all timing - duration of this stream are computed in this timescale - (ie timeScale = 8000, means there are 8000 ticks in - one second)*/ - M4OSA_Time duration; /**< The stream duration of this stream. The time unit is the - time scale. The value can be set to M4SYS_UnknownTime if - the duration is not known.*/ - M4OSA_Int32 averageBitrate; /**< The average bitrate (in bit per second) of this stream. - The average bitrate is computed on the stream duration. - -1 value means either there is no average bitrate or no - average bitrate is provided.*/ - M4OSA_Int32 maxBitrate; /**< The maximum bitrate (in bit per second) of this stream. - The maximum bitrate is computed on a sliding window of 1 - second. -1 value means either there is no max. bitrate or - no max. bitrate is provided.*/ -} M4SYS_StreamDescription; - -typedef enum { - M4SYS_kPreviousRAP = 0x01 , - M4SYS_kNextRAP = 0x02 , - M4SYS_kClosestRAP = 0x03 , - M4SYS_kNoRAPprevious = 0x11 , - M4SYS_kNoRAPnext = 0x12 , - M4SYS_kNoRAPclosest = 0x13 , - M4SYS_kBeginning = 0x20 -} M4SYS_SeekAccessMode ; - -#endif /*M4SYS_STREAM_H*/ - - - diff --git a/libvideoeditor/vss/common/inc/M4TOOL_VersionInfo.h b/libvideoeditor/vss/common/inc/M4TOOL_VersionInfo.h deleted file mode 100755 index 7016b8d..0000000 --- a/libvideoeditor/vss/common/inc/M4TOOL_VersionInfo.h +++ /dev/null @@ -1,48 +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 M4TOOL_VersionInfo.h - * @brief defines a common version information structure - * @note - * - ************************************************************************ -*/ -#ifndef __M4TOOL_VERSIONINFO_H__ -#define __M4TOOL_VERSIONINFO_H__ - -#include "M4OSA_Types.h" - -/** - * structure M4_VersionInfo - * @brief This structure describes version of core component - * @note This structure is typically used to retrieve version information - * of a component via getOption function - */ -typedef struct _M4_VersionInfo -{ - M4OSA_UInt32 m_major; /*major version of the component*/ - M4OSA_UInt32 m_minor; /*minor version of the component*/ - M4OSA_UInt32 m_revision; /*revision version of the component*/ - - /* Structure size */ - M4OSA_UInt32 m_structSize; - -} M4_VersionInfo; - - -#endif /*__M4TOOL_VERSIONINFO_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4VD_EXTERNAL_Interface.h b/libvideoeditor/vss/common/inc/M4VD_EXTERNAL_Interface.h deleted file mode 100755 index 90bfcb6..0000000 --- a/libvideoeditor/vss/common/inc/M4VD_EXTERNAL_Interface.h +++ /dev/null @@ -1,50 +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. - */ - -#ifndef __M4VD_EXTERNAL_INTERFACE_H__ -#define __M4VD_EXTERNAL_INTERFACE_H__ - -#include "M4DECODER_Common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ----- DSI bitstream parser ----- */ - -/* This function is available to clients of the shell to allow them to analyse clips -(useful for video editing) without having to instanciate a decoder, which can be useful precisely -if HW decoders are a possibility. */ - -M4OSA_ERR M4DECODER_EXTERNAL_ParseVideoDSI( - M4OSA_UInt8* pVol, M4OSA_Int32 aVolSize, - M4DECODER_MPEG4_DecoderConfigInfo* pDci, - M4DECODER_VideoSize* pVideoSize); - -M4OSA_ERR getAVCProfileAndLevel(M4OSA_UInt8* pDSI, M4OSA_Int32 DSISize, - M4OSA_Int32 *pProfile, M4OSA_Int32 *pLevel); - -M4OSA_ERR getH263ProfileAndLevel(M4OSA_UInt8* pDSI, M4OSA_Int32 DSISize, - M4OSA_Int32 *pProfile, M4OSA_Int32 *pLevel); - -M4OSA_ERR getMPEG4ProfileAndLevel(M4OSA_UInt8 profileAndLevel, - M4OSA_Int32 *pProfile, M4OSA_Int32 *pLevel); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* __M4VD_EXTERNAL_INTERFACE_H__ */ diff --git a/libvideoeditor/vss/common/inc/M4VD_Tools.h b/libvideoeditor/vss/common/inc/M4VD_Tools.h deleted file mode 100755 index 3ca36ac..0000000 --- a/libvideoeditor/vss/common/inc/M4VD_Tools.h +++ /dev/null @@ -1,47 +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. - */ - -#ifndef __M4VD_TOOLS_H__ -#define __M4VD_TOOLS_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "NXPSW_CompilerSwitches.h" -#include "M4OSA_Memory.h" -#include "M4OSA_Types.h" -/* ----- bitstream parser ----- */ - -typedef struct -{ - M4OSA_UInt32 stream_byte; - M4OSA_UInt32 stream_index; - M4OSA_MemAddr8 in; - -} M4VS_Bitstream_ctxt; - -M4OSA_UInt32 M4VD_Tools_GetBitsFromMemory(M4VS_Bitstream_ctxt* parsingCtxt, - M4OSA_UInt32 nb_bits); -M4OSA_ERR M4VD_Tools_WriteBitsToMemory(M4OSA_UInt32 bitsToWrite, - M4OSA_MemAddr32 dest_bits, - M4OSA_UInt8 offset, M4OSA_UInt8 nb_bits); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* __M4VD_TOOLS_H__ */ diff --git a/libvideoeditor/vss/common/inc/M4VFL_transition.h b/libvideoeditor/vss/common/inc/M4VFL_transition.h deleted file mode 100755 index 77f76cb..0000000 --- a/libvideoeditor/vss/common/inc/M4VFL_transition.h +++ /dev/null @@ -1,102 +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 M4TRAN_transition.h - * @brief - * @note - ****************************************************************************** -*/ - -#ifndef __M4VFL_TRANSITION_H__ -#define __M4VFL_TRANSITION_H__ - -#ifdef __cplusplus -extern "C" { -#endif -typedef unsigned char UInt8; -typedef unsigned long UInt32; - -typedef struct S_M4ViComImagePlane -{ - UInt32 u_width; /* active width, in pixels */ - UInt32 u_height; /* active height, in lines */ - UInt32 u_topleft; /* index of 1st active pixel */ - UInt32 u_stride; /* line stride, in bytes */ - UInt8 *pac_data; /* buffer address */ -} M4ViComImagePlane; - -typedef struct S_M4VFL_modifLumParam -{ - unsigned short lum_factor; - unsigned short copy_chroma; -} M4VFL_ModifLumParam; - -#define M4VIFI_OK 0 -#define M4VIFI_ILLEGAL_FRAME_HEIGHT 8 -#define M4VIFI_ILLEGAL_FRAME_WIDTH 9 - -unsigned char M4VFL_modifyLumaByStep(M4ViComImagePlane *plane_in, M4ViComImagePlane *plane_out, - M4VFL_ModifLumParam *lum_param, void *user_data); - -unsigned char M4VFL_modifyLumaWithScale(M4ViComImagePlane *plane_in, M4ViComImagePlane *plane_out, - unsigned long lum_factor, void *user_data); - -/** - ************************************************************************************************* - * M4OSA_ERR M4VIFI_ImageBlendingonYUV420 (void *pUserData, - * M4VIFI_ImagePlane *pPlaneIn1, - * M4VIFI_ImagePlane *pPlaneIn2, - * M4VIFI_ImagePlane *pPlaneOut, - * M4VIFI_UInt32 Progress) - * @brief Blends two YUV 4:2:0 Planar images. - * @note Blends YUV420 planar images, - * Map the value of progress from (0 - 1000) to (0 - 1024) - * Set the range of blendingfactor, - * 1. from 0 to (Progress << 1) ;for Progress <= 512 - * 2. from (( Progress - 512)<< 1) to 1024 ;otherwise - * Set the increment of blendingfactor for each element in the image row by the factor, - * = (Range-1) / (image width-1) ;for width >= range - * = (Range) / (image width) ;otherwise - * Loop on each(= i) row of output Y plane (steps of 2) - * Loop on each(= j) column of output Y plane (steps of 2) - * Get four Y samples and one U & V sample from two input YUV4:2:0 images and - * Compute four Y sample and one U & V sample for output YUV4:2:0 image - * using the following, - * Out(i,j) = blendingfactor(i,j) * In1(i,j)+ (l - blendingfactor(i,j)) * In2(i,j) - * end loop column - * end loop row. - * @param pUserData: (IN) User Specific Parameter - * @param pPlaneIn1: (IN) Pointer to an array of image plane structures maintained for Y, U - * and V planes. - * @param pPlaneIn2: (IN) Pointer to an array of image plane structures maintained for Y, U - * and V planes. - * @param pPlaneOut: (OUT) Pointer to an array of image plane structures maintained for Y, U - * and V planes. - * @param Progress: (IN) Progress value (varies between 0 and 1000) - * @return M4VIFI_OK: No error - * @return M4VIFI_ILLEGAL_FRAME_HEIGHT: Error in height - * @return M4VIFI_ILLEGAL_FRAME_WIDTH: Error in width - ***********************************************************************************************/ -unsigned char M4VIFI_ImageBlendingonYUV420 (void *pUserData, M4ViComImagePlane *pPlaneIn1, - M4ViComImagePlane *pPlaneIn2, - M4ViComImagePlane *pPlaneOut, UInt32 Progress); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif // __M4VFL_TRANSITION_H__ diff --git a/libvideoeditor/vss/common/inc/M4VIFI_Clip.h b/libvideoeditor/vss/common/inc/M4VIFI_Clip.h deleted file mode 100755 index 1f07616..0000000 --- a/libvideoeditor/vss/common/inc/M4VIFI_Clip.h +++ /dev/null @@ -1,35 +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 M4VIFI_Clip.h - * @brief Global Table definition - * @note This file defines the Clipping and Division table address - ****************************************************************************** -*/ - -#ifndef _M4VIFI_CLIP_H_ -#define _M4VIFI_CLIP_H_ - -/* Clipping matrix for RGB values */ -EXTERN CNST M4VIFI_UInt8 *M4VIFI_ClipTable_zero; -/* Division table for (65535/x); x = 0 to 512 */ -EXTERN CNST M4VIFI_UInt16 *M4VIFI_DivTable_zero; - -#endif /* _M4VIFI_CLIP_H_ */ - -/* End of file M4VIFI_Clip.h */ - diff --git a/libvideoeditor/vss/common/inc/M4VIFI_Defines.h b/libvideoeditor/vss/common/inc/M4VIFI_Defines.h deleted file mode 100755 index e4591e5..0000000 --- a/libvideoeditor/vss/common/inc/M4VIFI_Defines.h +++ /dev/null @@ -1,154 +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 M4VIFI_Defines.h - * @brief Macro Definition - * @note This file defines all the macro used in the filter library - ****************************************************************************** -*/ - -#ifndef _M4VIFI_DEFINES_H_ -#define _M4VIFI_DEFINES_H_ - -/** - ***************************************************************************** - * Macros used for color transform RGB565 to YUV - ***************************************************************************** -*/ -#define CST_RGB_16_SIZE 2 -#define Y16(r, g, b) CLIP( ( ( (80593 * r)+(77855 * g)+(30728 * b)) >> 15)) -#define U16(r, g, b) CLIP(128+ ( ( -(45483 * r)-(43936 * g)+(134771 * b)) >> 15 )) -#define V16(r, g, b) CLIP(128+ ( ( (134771 * r)-(55532 * g)-(21917 * b)) >> 15 )) - - -/** - ***************************************************************************** - * Macros used for color transform YUV to RGB - * B = 1.164(Y - 16) + 2.018(U - 128) - * G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128) - * R = 1.164(Y - 16) + 1.596(V - 128) - * Above Conversion Formula is implemented for fixed point operation - ***************************************************************************** -*/ - -#define CST_RGB_24_SIZE 3 - -#ifdef __RGB_V1__ -#define DEMATRIX(Rx,Gx,Bx,Yx37,Ux,Vx) \ - Rx = CLIP(((Yx37 + (Vx * 51) + 16) >> 5) - 223); \ - Gx = CLIP(((Yx37 - ((Ux+(Vx<<1)) * 13) +16) >> 5) + 135); \ - Bx = CLIP(((Yx37 + (Ux * 65) + 16) >> 5) - 277) -#else -#define DEMATRIX(Rx,Gx,Bx,Yx2568,Ux,Vx) \ - Rx = CLIP(((Yx2568 + (Vx * 0x3343) + (M4VIFI_Int32)0xffe40800) >> 13)); \ - Gx = CLIP(((Yx2568 - (Ux * 0x0c92) - (Vx * 0x1a1e) + (M4VIFI_Int32)0x00110180) >> 13)); \ - Bx = CLIP(((Yx2568 + (Ux * 0x40cf) + (M4VIFI_Int32)0xffdd4200) >> 13)); -#endif /* __RGB_V1__ */ - -/** - ***************************************************************************** - * Packing and Unpacking is different for little and big endian - * r, g, b, Rx, Gx, Bx are 8 bit color value - * a, data are 16 bit pixel value - ***************************************************************************** - */ - -/* Pack computations common for little endian and big endian modes */ -#define PACK_BGR24(rgb_ptr,Rx,Gx,Bx) {rgb_ptr[0] = (M4VIFI_UInt8)Bx; rgb_ptr[1] =\ - (M4VIFI_UInt8)Gx; rgb_ptr[2] = (M4VIFI_UInt8)Rx;} -#define PACK_RGB24(rgb_ptr,Rx,Gx,Bx) {rgb_ptr[0] = (M4VIFI_UInt8)Rx; rgb_ptr[1] =\ - (M4VIFI_UInt8)Gx; rgb_ptr[2] = (M4VIFI_UInt8)Bx;} - -#ifdef BIG_ENDIAN -#define PACK_RGB565(a, Rx, Gx, Bx) (((Rx >> 3) << (11 + (a)))\ - | ((Gx >> 2) << (5 + (a))) | ((Bx >> 3) << (a))) -#define PACK_BGR565(a, Rx, Gx, Bx) (((Bx >> 3) << (11 + (a)))\ - | ((Gx >> 2) << (5 + (a))) | ((Rx >> 3) << (a))) -#define GET_RGB565(r, g, b, data) {b = ((data) & 31); g =\ - ((data >> 5) & 63); r = ((data >> 11) & 31);} -#define GET_BGR565(b, g, r, data) \ - r = ((data) & 31); \ - g = ((data >> 5) & 63); \ - b = ((data >> 11) & 31 ); -#else /* LITTLE endian: 0x12345678 -> 78 56 34 12 */ -#define PACK_RGB565(a, Rx, Gx, Bx) (((Bx >> 3) << (8 + (a))) \ - | (((Gx >> 2)&0x7) << (13 + (a))) | ((Gx >> 5) << (a)) | ((Rx >> 3) << (3 + a))) -#define PACK_BGR565(a, Rx, Gx, Bx) (((Rx >> 3) << (11 + (a))) \ - | ((Gx >> 2) << (5 + (a))) | ((Bx >> 3) << (a))) -#define GET_RGB565(r, g, b, data) { b = (M4VIFI_UInt8)(((data) & 0x1F00) >> 8); g =\ - (M4VIFI_UInt8)((((data) & 0x7) << 3) | (((data) & 0xE000) >> 13)); r =\ - (M4VIFI_UInt8)(((data) & 0xF8) >> 3);} -#define GET_BGR565(b, g, r, data) \ - b = ((data) & 31); \ - g = ((data >> 5) & 63); \ - r = ((data >> 11) & 31 ); -#endif /* BIG_ENDIAN */ - - -#define CST_RGB_24_SIZE 3 -#define Y24(r,g,b) CLIP(( ( (19595 * r) + (38470 * g) + (9437 * b) ) >>16)) -#define U24(r,g,b) CLIP(128 + ( ( -(11059 * r) - (21709 * g) + (32768 * b)) >>16)) -#define V24(r,g,b) CLIP(128 + ( ( (32768 * r) - (27426 * g) - (5329 * b)) >>16)) -#define GET_RGB24(r,g,b,s,o) r = s[o]; g = s[o + 1]; b = s[o + 2]; - -/** - *********************************************************************************** - * Macro for clipping using the clipping matrix for RGB values - *********************************************************************************** -*/ -/** Clip function ensures values with range of 0 and 255 */ -#define CLIP(x) *(M4VIFI_ClipTable_zero + (x)) -#define CLIP_OVF 500 -#define CLIP_LUT_SIZE (256 + 2 * CLIP_OVF) -/** Division table for RGB565 to HLS conversion */ -#define DIVCLIP(x) *(M4VIFI_DivTable_zero + (x)) - -/** - ***************************************************************************** - * Endianness (default configuration is Little Endian) - ***************************************************************************** -*/ -#if (!defined(LITTLE_ENDIAN) && !defined(BIG_ENDIAN)) -/** Default endian setting */ -#define LITTLE_ENDIAN -#endif - -/** - ***************************************************************************** - * Other macros and define - ***************************************************************************** -*/ -/** YUV plane index */ -#define PLANES 3 -#define YPlane 0 -#define UPlane 1 -#define VPlane 2 - -/** Check for value is EVEN */ -#ifndef IS_EVEN -#define IS_EVEN(a) (!(a & 0x01)) -#endif - -/* Used for fixed point implementation */ -#ifndef MAX_SHORT -#define MAX_SHORT 0x10000 -#endif - -#endif /* _M4VIFI_DEFINES_H_ */ - -/* End of file M4VIFI_Defines.h */ - diff --git a/libvideoeditor/vss/common/inc/M4VIFI_FiltersAPI.h b/libvideoeditor/vss/common/inc/M4VIFI_FiltersAPI.h deleted file mode 100755 index 3d2fc9d..0000000 --- a/libvideoeditor/vss/common/inc/M4VIFI_FiltersAPI.h +++ /dev/null @@ -1,785 +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 M4VIFI_FiltersAPI.h - * @brief External API and Data definitions for the video filter library - * @note This file defines and declares data common to the video filter library: - * -# data types - * -# error codes - * -# external API's - * -# API level structure definition - ****************************************************************************** -*/ - -#ifndef _M4VIFI_FILTERSAPI_H_ - -#define _M4VIFI_FILTERSAPI_H_ - -#ifdef __cplusplus - -extern "C" { - -#endif /* __cplusplus */ - - /** - *********************************************************** - * Data types definition - *********************************************************** - */ - - typedef unsigned char M4VIFI_UInt8; - typedef char M4VIFI_Int8; - typedef unsigned short M4VIFI_UInt16; - typedef unsigned long M4VIFI_UInt32; - typedef short M4VIFI_Int16; - typedef long M4VIFI_Int32; - typedef float M4VIFI_Float; - typedef double M4VIFI_Double; - typedef unsigned char M4VIFI_ErrorCode; - -/** - *********************************************************** - * Error codes definition - *********************************************************** -*/ -#define M4VIFI_OK 0 -#define M4VIFI_INVALID_PARAM 7 -#define M4VIFI_ILLEGAL_FRAME_HEIGHT 8 -#define M4VIFI_ILLEGAL_FRAME_WIDTH 9 - -/** - *********************************************************** - * Other basic definitions - *********************************************************** -*/ -#define CNST const -#define EXTERN extern - -#ifndef NULL -#define NULL 0 - -#endif -#ifndef FALSE -#define FALSE 0 -#define TRUE !FALSE - -#endif - -/** - *********************************************************** - * Structures definition - *********************************************************** -*/ - -/** - ****************************************************************************** - * structure M4VIFI_ImagePlane - * @brief Texture (YUV) planes structure - * @note This structure details the image planes for the output textures: - * sizes (in pixels) are luma plane sizes, the 3 pointers point - * to the Y, U and V buffers which store data in planar format. - ****************************************************************************** -*/ - - typedef struct - { - M4VIFI_UInt32 u_width; /**< Width of luma in pixel unit */ - M4VIFI_UInt32 u_height; /**< Height of luma in pixel unit */ - M4VIFI_UInt32 u_topleft; /**< Pointer to first texture active pixel */ - M4VIFI_UInt32 u_stride; /**< Stride value */ - M4VIFI_UInt8 *pac_data; /**< Pointer to the data */ - } M4VIFI_ImagePlane; - -/** - ****************************************************************************** - * structure M4VIFI_FramingData - * @brief Data necessary to add an overlay on an image - * @note This structure details the position and the data of the overlay - ****************************************************************************** -*/ - typedef struct - { - M4VIFI_UInt32 - m_xPosStep; /**< X positioning of the overlay vs main picture. - X positioning is expressed in percentage vs the main - picture width. - m_xPosStep must be expressed by step of 1% and between - -50/+50%. - 0% means overlay is centered vs main picture on - X abscissa. */ - M4VIFI_UInt32 - m_yPosStep; /**< Y positioning of the overlay vs main picture. - Y positioning is expressed in percentage vs the main - picture width. - m_xPosStep must be expressed by step of 1% and between - -50/+50%. - 0% means overlay is centered vs main picture on - Y abscissa. */ - - M4VIFI_ImagePlane - * - m_imagePlane; /**< Pointer to the framing image with alpha channel */ - } M4VIFI_FramingData; - -/** - ****************************************************************************** - * structure M4VIFI_HLSoffset - * @brief HLS offset structure - * @note This structure have the hue, saturation and lightness value - * for quality enhancement. Range of values neccessarily be - * hue = -360 to 360, sat = 0 to 100 and light = 0 t0 100 - ****************************************************************************** -*/ - typedef struct - { - M4VIFI_Int16 hue; /**< Hue offset */ - M4VIFI_Int16 sat; /**< Saturation offset */ - M4VIFI_Int16 light; /**< Light offset */ - } M4VIFI_HLSoffset; - -/** - ****************************************************************************** - * structure M4VIFI_Tranformation - * @brief Image Tranformation Structure - * @note Image Tranformation Request - * rotation : 1 -> +90deg Rotation - * -1 -> -90deg Rotation - * 0 -> No Rotation - ****************************************************************************** -*/ - typedef struct - { - M4VIFI_Int32 i32_rotation; /**< Rotation Flag */ - } M4VIFI_Tranformation; - -/** - ****************************************************************************** - * structure M4VIFI_pContext - * @brief New Structures - * @note -# Structure of M4VIFI_HLSoffset - ****************************************************************************** -*/ - typedef struct - { - M4VIFI_HLSoffset hlsOffset; /**< HLS offset structure */ - } M4VIFI_pContext; - - /* - ***************************************************** - * External API functions - ***************************************************** - */ - - /**< Effect filters */ - M4VIFI_UInt8 M4VIFI_SepiaYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_GrayscaleYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_ContrastYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_NegativeYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_FlipYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_MirrorYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_Rotate180YUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_Rotate90RightYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_Rotate90LeftYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_ColorRYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_ColorGYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_ColorBYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_FramingRGB565toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_FramingYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_SetHueInYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_ColdYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - M4VIFI_UInt8 M4VIFI_WarmYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - -/* ADS Compiler */ - -/* Generic ARM assembly functions */ -#if defined ADS_ARM - - /** Apply grayscale effect RGB565toRGB565 */ - - M4VIFI_UInt8 M4VIFI_GrayscaleRGB565toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear RGB888toRGB888 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearRGB888toRGB888(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear RGB565toRGB565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearRGB565toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV420toYUV420 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** RGB565 to YUV420 */ - M4VIFI_UInt8 M4VIFI_RGB565toYUV420AdsArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** BGR565 to YUV420 */ - M4VIFI_UInt8 M4VIFI_BGR565toYUV420AdsArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** YUV422 to YUV420 */ - M4VIFI_UInt8 M4VIFI_UYVYtoYUV420AdsArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** YUV420 to RGB565 */ - M4VIFI_UInt8 M4VIFI_YUV420toRGB565AdsArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** YUV420 to BGR565 */ - M4VIFI_UInt8 M4VIFI_YUV420toBGR565AdsArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Resize Bilinear YUV420toRGB565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565AdsArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Resize Bilinear YUV420toBGR565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565AdsArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Resize Bilinear YUV420toRGB565 with rotation +90 or -90 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565RotatedRightAdsArm( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeftAdsArm( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Resize Bilinear YUV420toBGR565 with rotation +90 or -90 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565RotatedRightAdsArm( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeftAdsArm( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Modify HLS in RGB565 */ - M4VIFI_UInt8 M4VIFI_SetHLSinRGB565AdsArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Modify HLS in BGR565 */ - M4VIFI_UInt8 M4VIFI_SetHLSinBGR565AdsArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - -#define M4VIFI_RGB565toYUV420 M4VIFI_RGB565toYUV420AdsArm -#define M4VIFI_BGR565toYUV420 M4VIFI_BGR565toYUV420AdsArm -#define M4VIFI_UYVYtoYUV420 M4VIFI_UYVYtoYUV420AdsArm -#define M4VIFI_YUV420toRGB565 M4VIFI_YUV420toRGB565AdsArm -#define M4VIFI_YUV420toBGR565 M4VIFI_YUV420toBGR565AdsArm -#define M4VIFI_ResizeBilinearYUV420toRGB565 \ - M4VIFI_ResizeBilinearYUV420toRGB565AdsArm - -#define M4VIFI_ResizeBilinearYUV420toBGR565 \ - M4VIFI_ResizeBilinearYUV420toBGR565AdsArm - -#define M4VIFI_ResizeBilinearYUV420toRGB565RotatedRight \ - M4VIFI_ResizeBilinearYUV420toRGB565RotatedRightAdsArm - -#define M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeft \ - M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeftAdsArm - -#define M4VIFI_ResizeBilinearYUV420toBGR565RotatedRight \ - M4VIFI_ResizeBilinearYUV420toBGR565RotatedRightAdsArm - -#define M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeft \ - M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeftAdsArm - -#define M4VIFI_SetHLSinRGB565 M4VIFI_SetHLSinRGB565AdsArm -#define M4VIFI_SetHLSinBGR565 M4VIFI_SetHLSinBGR565AdsArm - -/* ARM9E assembly functions */ -#elif defined ADS_ARM9E - - /** Apply grayscale effect RGB565toRGB565 */ - - M4VIFI_UInt8 M4VIFI_GrayscaleRGB565toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV888toYUV888 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearRGB888toRGB888(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV565toYUV565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearRGB565toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - /** Resize Bilinear YUV420toYUV420 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** RGB565 to YUV420 */ - M4VIFI_UInt8 M4VIFI_RGB565toYUV420AdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** BGR565 to YUV420 */ - M4VIFI_UInt8 M4VIFI_BGR565toYUV420AdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** YUV422 to YUV420 */ - M4VIFI_UInt8 M4VIFI_UYVYtoYUV420AdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** YUV420 to RGB565 */ - M4VIFI_UInt8 M4VIFI_YUV420toRGB565AdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** YUV420 to BGR565 */ - M4VIFI_UInt8 M4VIFI_YUV420toBGR565AdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Resize Bilinear YUV420toRGB565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565AdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Resize Bilinear YUV420toBGR565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565AdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Resize Bilinear YUV420toRGB565 with rotation +90 or -90 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565RotatedRightAdsArm9E( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeftAdsArm9E( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Resize Bilinear YUV420toBGR565 with rotation +90 or -90 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565RotatedRightAdsArm9E( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeftAdsArm9E( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Modify HLS in RGB565 */ - M4VIFI_UInt8 M4VIFI_SetHLSinRGB565AdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Modify HLS in BGR565 */ - M4VIFI_UInt8 M4VIFI_SetHLSinBGR565AdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Resize YUV420toYUV420 from QCIF to QVGA*/ - M4VIFI_UInt8 M4VIFI_YUV420QCIFtoYUV420QVGAAdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /**Resize YUV420toRGB565 from QCIF to QVGA*/ - M4VIFI_UInt8 M4VIFI_YUV420QCIFtoRGB565QVGAAdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - /**Resize YUV420toRGB565 from QCIF to QVGA with rotation +90*/ - M4VIFI_UInt8 M4VIFI_YUV420QCIFtoRGB565QVGA_RRAdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - /**Resize YUV420toRGB565 from QCIF to QVGA with rotation -90*/ - M4VIFI_UInt8 M4VIFI_YUV420QCIFtoRGB565QVGA_RLAdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); -/** Resizes YUV420 Planar Image and stores in YUV420 Linear format with/without +or-90 rotation*/ - M4VIFI_UInt8 M4VIFI_YUV420PlanartoYUV420LinearAdsArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - -#define M4VIFI_RGB565toYUV420 M4VIFI_RGB565toYUV420AdsArm9E -#define M4VIFI_BGR565toYUV420 M4VIFI_BGR565toYUV420AdsArm9E -#define M4VIFI_UYVYtoYUV420 M4VIFI_UYVYtoYUV420AdsArm9E -#define M4VIFI_YUV420toRGB565 M4VIFI_YUV420toRGB565AdsArm9E -#define M4VIFI_YUV420toBGR565 M4VIFI_YUV420toBGR565AdsArm9E -#define M4VIFI_ResizeBilinearYUV420toRGB565 \ - M4VIFI_ResizeBilinearYUV420toRGB565AdsArm9E -#define M4VIFI_ResizeBilinearYUV420toBGR565 \ - M4VIFI_ResizeBilinearYUV420toBGR565AdsArm9E -#define M4VIFI_ResizeBilinearYUV420toRGB565RotatedRight \ - M4VIFI_ResizeBilinearYUV420toRGB565RotatedRightAdsArm9E -#define M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeft \ - M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeftAdsArm9E -#define M4VIFI_ResizeBilinearYUV420toBGR565RotatedRight \ - M4VIFI_ResizeBilinearYUV420toBGR565RotatedRightAdsArm9E -#define M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeft \ - M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeftAdsArm9E -#define M4VIFI_SetHLSinRGB565 M4VIFI_SetHLSinRGB565AdsArm9E -#define M4VIFI_SetHLSinBGR565 M4VIFI_SetHLSinBGR565AdsArm9E -#define M4VIFI_YUV420QCIFtoYUV420QVGA M4VIFI_YUV420QCIFtoYUV420QVGAAdsArm9E -#define M4VIFI_YUV420QCIFtoRGB565QVGA M4VIFI_YUV420QCIFtoRGB565QVGAAdsArm9E -#define M4VIFI_YUV420QCIFtoRGB565QVGA_RR M4VIFI_YUV420QCIFtoRGB565QVGA_RRAdsArm9E -#define M4VIFI_YUV420QCIFtoRGB565QVGA_RL M4VIFI_YUV420QCIFtoRGB565QVGA_RLAdsArm9E -#define M4VIFI_YUV420PlanartoYUV420Linear M4VIFI_YUV420PlanartoYUV420LinearAdsArm9E -/* GCC Compiler */ -/* Generic ARM assembly functions */ - -#elif defined GCC_ARM - - /** Apply grayscale effect RGB565toRGB565 */ - - M4VIFI_UInt8 M4VIFI_GrayscaleRGB565toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV888toYUV888 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearRGB888toRGB888(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV565toYUV565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearRGB565toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV420toYUV420 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** RGB565 to YUV420 */ - M4VIFI_UInt8 M4VIFI_RGB565toYUV420GccArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** BGR565 to YUV420 */ - M4VIFI_UInt8 M4VIFI_BGR565toYUV420GccArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** YUV420 to RGB565 */ - M4VIFI_UInt8 M4VIFI_YUV420toRGB565GccArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** YUV420 to BGR565 */ - M4VIFI_UInt8 M4VIFI_YUV420toBGR565GccArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Resize Bilinear YUV420toRGB565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565GccArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Resize Bilinear YUV420toBGR565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565GccArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Resize Bilinear YUV420toRGB565 with rotation +90 or -90 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565RotatedRightGccArm( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeftGccArm( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Resize Bilinear YUV420toBGR565 with rotation +90 or -90 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565RotatedRightGccArm( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeftGccArm( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Modify HLS in RGB565 */ - M4VIFI_UInt8 M4VIFI_SetHLSinRGB565GccArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Modify HLS in BGR565 */ - M4VIFI_UInt8 M4VIFI_SetHLSinBGR565GccArm(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - -#define M4VIFI_RGB565toYUV420 M4VIFI_RGB565toYUV420GccArm -#define M4VIFI_BGR565toYUV420 M4VIFI_BGR565toYUV420GccArm -#define M4VIFI_YUV420toRGB565 M4VIFI_YUV420toRGB565GccArm -#define M4VIFI_YUV420toBGR565 M4VIFI_YUV420toBGR565GccArm -#define M4VIFI_ResizeBilinearYUV420toRGB565 \ - M4VIFI_ResizeBilinearYUV420toRGB565GccArm -#define M4VIFI_ResizeBilinearYUV420toBGR565 \ - M4VIFI_ResizeBilinearYUV420toBGR565GccArm -#define M4VIFI_ResizeBilinearYUV420toRGB565RotatedRight \ - M4VIFI_ResizeBilinearYUV420toRGB565RotatedRightGccArm -#define M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeft \ - M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeftGccArm -#define M4VIFI_ResizeBilinearYUV420toBGR565RotatedRight \ - M4VIFI_ResizeBilinearYUV420toBGR565RotatedRightGccArm -#define M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeft \ - M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeftGccArm -#define M4VIFI_SetHLSinRGB565 M4VIFI_SetHLSinRGB565GccArm -#define M4VIFI_SetHLSinBGR565 M4VIFI_SetHLSinBGR565GccArm - -/* ARM9E assembly functions */ -#elif defined GCC_ARM9E - - /** Apply grayscale effect RGB565toRGB565 */ - - M4VIFI_UInt8 M4VIFI_GrayscaleRGB565toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV888toYUV888 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearRGB888toRGB888(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV565toYUV565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearRGB565toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV420toYUV420 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** RGB565 to YUV420 */ - M4VIFI_UInt8 M4VIFI_RGB565toYUV420GccArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** BGR565 to YUV420 */ - M4VIFI_UInt8 M4VIFI_BGR565toYUV420GccArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** YUV420 to RGB565 */ - M4VIFI_UInt8 M4VIFI_YUV420toRGB565GccArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** YUV420 to BGR565 */ - M4VIFI_UInt8 M4VIFI_YUV420toBGR565GccArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Resize Bilinear YUV420toRGB565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565GccArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Resize Bilinear YUV420toBGR565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565GccArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Resize Bilinear YUV420toRGB565 with rotation +90 or -90 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565RotatedRightGccArm9E( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeftGccArm9E( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Resize Bilinear YUV420toBGR565 with rotation +90 or -90 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565RotatedRightGccArm9E( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeftGccArm9E( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Modify HLS in RGB565 */ - M4VIFI_UInt8 M4VIFI_SetHLSinRGB565GccArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Modify HLS in BGR565 */ - M4VIFI_UInt8 M4VIFI_SetHLSinBGR565GccArm9E(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - -#define M4VIFI_RGB565toYUV420 M4VIFI_RGB565toYUV420GccArm9E -#define M4VIFI_BGR565toYUV420 M4VIFI_BGR565toYUV420GccArm9E -#define M4VIFI_YUV420toRGB565 M4VIFI_YUV420toRGB565GccArm9E -#define M4VIFI_YUV420toBGR565 M4VIFI_YUV420toBGR565GccArm9E -#define M4VIFI_ResizeBilinearYUV420toRGB565 \ - M4VIFI_ResizeBilinearYUV420toRGB565GccArm9E -#define M4VIFI_ResizeBilinearYUV420toBGR565 \ - M4VIFI_ResizeBilinearYUV420toBGR565GccArm9E -#define M4VIFI_ResizeBilinearYUV420toRGB565RotatedRight \ - M4VIFI_ResizeBilinearYUV420toRGB565RotatedRightGccArm9E -#define M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeft \ - M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeftGccArm9E -#define M4VIFI_ResizeBilinearYUV420toBGR565RotatedRight \ - M4VIFI_ResizeBilinearYUV420toBGR565RotatedRightGccArm9E -#define M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeft \ - M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeftGccArm9E -#define M4VIFI_SetHLSinBGR565 M4VIFI_SetHLSinBGR565GccArm9E -#define M4VIFI_SetHLSinRGB565 M4VIFI_SetHLSinRGB565GccArm9E - -/* TI CCS assembly files */ -#elif defined TI411_ARM9E - - /** Apply grayscale effect RGB565toRGB565 */ - - M4VIFI_UInt8 M4VIFI_GrayscaleRGB565toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV888toYUV888 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearRGB888toRGB888(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV565toYUV565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearRGB565toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV420toYUV420 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** YUV420 (Planar) to RGB565 */ - M4VIFI_UInt8 M4VIFI_YUV420toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** YUV420 (Planar) to Resized RGB565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** YUV420 (Planar) to Resized RGB888 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB888(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** YUV420(Planar) to Resized and Rotated (-90) RGB565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeft(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** YUV420(Planar) to Resized and Rotated (+90) RGB565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565RotatedRight( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** YUV420(Planar) to Resized YUV420(Planar) */ - M4VIFI_UInt8 M4VIFI_YUV420QCIFtoYUV420QVGA(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** Resize YUV420(Planar) of QCIF to RGB565 of QVGA resolution */ - M4VIFI_UInt8 M4VIFI_YUV420QCIFtoRGB565QVGA(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - -/** Resize YUV420(Planar) of QCIF to RGB565 of QVGA resolution with rotation(-90) */ - M4VIFI_UInt8 M4VIFI_YUV420QCIFtoRGB565QVGA_RL(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - -/** Resize YUV420(Planar) of QCIF to RGB565 of QVGA resolution with rotation(+90) */ - M4VIFI_UInt8 M4VIFI_YUV420QCIFtoRGB565QVGA_RR(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - -#define M4VIFI_YUV420toRGB565 M4VIFI_YUV420toRGB565Ti411Arm9E -#define M4VIFI_ResizeBilinearYUV420toRGB565 \ - M4VIFI_ResizeBilinearYUV420toRGB565Ti411Arm9E -#define M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeft \ - M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeftTi411Arm9E -#define M4VIFI_ResizeBilinearYUV420toRGB565RotatedRight \ - M4VIFI_ResizeBilinearYUV420toRGB565RotatedRightTi411Arm9E - -#define M4VIFI_YUV420QCIFtoYUV420QVGA M4VIFI_YUV420QCIFtoYUV420QVGATi411Arm9E -#define M4VIFI_YUV420QCIFtoRGB565QVGA M4VIFI_YUV420QCIFtoRGB565QVGATi411Arm9E -#define M4VIFI_YUV420QCIFtoRGB565QVGA_RL M4VIFI_YUV420QCIFtoRGB565QVGA_RLTi411Arm9E -#define M4VIFI_YUV420QCIFtoRGB565QVGA_RR M4VIFI_YUV420QCIFtoRGB565QVGA_RRTi411Arm9E - -/* ANSI C Functions */ -#else - - /** Apply grayscale effect RGB565toRGB565 */ - - M4VIFI_UInt8 M4VIFI_GrayscaleRGB565toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV888toYUV888 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearRGB888toRGB888(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV565toYUV565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearRGB565toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** Resize Bilinear YUV420toYUV420 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - - /** RGB565 to YUV420 */ - M4VIFI_UInt8 M4VIFI_RGB565toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** BRG565 to YUV420 */ - M4VIFI_UInt8 M4VIFI_BGR565toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** BRG888 to YUV420 */ - M4VIFI_UInt8 M4VIFI_BGR888toYUV420(void *pUserData, - M4VIFI_ImagePlane *PlaneIn, M4VIFI_ImagePlane PlaneOut[3]); - /** RGB888 to YUV420 */ - M4VIFI_UInt8 M4VIFI_RGB888toYUV420(void *pUserData, - M4VIFI_ImagePlane *PlaneIn, M4VIFI_ImagePlane PlaneOut[3]); - - /** YUV422 to YUV420 */ - M4VIFI_UInt8 M4VIFI_UYVYtoYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - - /** YUV420 to RGB565 */ - M4VIFI_UInt8 M4VIFI_YUV420toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** YUV420 to BGR565 */ - M4VIFI_UInt8 M4VIFI_YUV420toBGR565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - /** YUV420 to BGR565 */ - M4VIFI_UInt8 M4VIFI_YUV420toBGR565RotatedLeft(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - /** YUV420 to BGR565 */ - M4VIFI_UInt8 M4VIFI_YUV420toBGR565RotatedRight(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - /** YUV420 to BGR24 */ - M4VIFI_UInt8 M4VIFI_YUV420toBGR24(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - /** YUV420 to RGB24 */ - M4VIFI_UInt8 M4VIFI_YUV420toRGB24(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - /** Resize Bilinear YUV420toYUV420 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toYUV420(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - /** Resize Bilinear YUV420toRGB565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB888(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Resize Bilinear YUV420toBGR565 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Resize Bilinear YUV420toRGB565 with rotation +90 or -90 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565RotatedRight( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toRGB565RotatedLeft(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Resize Bilinear YUV420toBGR565 with rotation +90 or -90 */ - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565RotatedRight( - void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_ResizeBilinearYUV420toBGR565RotatedLeft(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Modify HLS in RGB565 */ - M4VIFI_UInt8 M4VIFI_SetHLSinRGB565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /** Modify HLS in BGR565 */ - M4VIFI_UInt8 M4VIFI_SetHLSinBGR565(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *PlaneOut); - /**Resize YUV420toYUV420 from QCIF to QVGA*/ - M4VIFI_UInt8 M4VIFI_YUV420QCIFtoYUV420QVGA(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - /**Resize YUV420toRGB565 from QCIF to QVGA*/ - M4VIFI_UInt8 M4VIFI_YUV420QCIFtoRGB565QVGA(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - /**Resize YUV420toRGB565 from QCIF to QVGA with rotation +90*/ - M4VIFI_UInt8 M4VIFI_YUV420QCIFtoRGB565QVGA_RR(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - /**Resize YUV420toRGB565 from QCIF to QVGA with rotation -90*/ - M4VIFI_UInt8 M4VIFI_YUV420QCIFtoRGB565QVGA_RL(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); -/** Resizes YUV420 Planar Image and stores in YUV420 Linear format with/without +or-90 rotation*/ - M4VIFI_UInt8 M4VIFI_YUV420PlanartoYUV420Linear(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); - -/** Resizes YUV420 Planar Image and stores in YUV422 Interleaved format - with/without +or-90 rotation*/ - M4VIFI_UInt8 M4VIFI_YUV420PlanartoYUV422Interleaved(void *pUserData, - M4VIFI_ImagePlane *pPlaneIn, M4VIFI_ImagePlane *pPlaneOut); -#endif - - /** definition of the converter function types */ - - typedef M4VIFI_UInt8 M4VIFI_PlanConverterFunctionType(void - *pContext, M4VIFI_ImagePlane* in, M4VIFI_ImagePlane* out); - - /** definition of the preprocessing function types */ - typedef M4VIFI_UInt8 M4VIFI_PreprocessFunctionType(void - *pContext, M4VIFI_ImagePlane* in, M4VIFI_ImagePlane* out); - - M4VIFI_UInt8 M4VIFI_YUV420toYUV420(void *user_data, - M4VIFI_ImagePlane *PlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_YUV420PlanarToYUV420Semiplanar(void *user_data, - M4VIFI_ImagePlane *PlaneIn, M4VIFI_ImagePlane *PlaneOut); - M4VIFI_UInt8 M4VIFI_SemiplanarYUV420toYUV420(void *user_data, - M4VIFI_ImagePlane *PlaneIn, M4VIFI_ImagePlane *PlaneOut); -#ifdef __cplusplus - -} - -#endif /* __cplusplus */ - -#endif /* _M4VIFI_FILTERSAPI_H_ */ - -/* End of file M4VIFI_FiltersAPI.h */ diff --git a/libvideoeditor/vss/common/inc/M4VPP_API.h b/libvideoeditor/vss/common/inc/M4VPP_API.h deleted file mode 100755 index 965ca22..0000000 --- a/libvideoeditor/vss/common/inc/M4VPP_API.h +++ /dev/null @@ -1,151 +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 M4VPP_API.h - * @brief Video preprocessing API public functions prototypes. - * @note - ****************************************************************************** -*/ - -#ifndef M4VPP_API_H -#define M4VPP_API_H - -#include "M4OSA_Types.h" /**< Include for common OSAL types */ -#include "M4OSA_Error.h" /**< Include for common OSAL errors */ - -/** - * Include Video filters interface definition (for the M4VIFI_ImagePlane type) */ -#include "M4VIFI_FiltersAPI.h" - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/** - ****************************************************************************** - * Public type of the Video Preprocessing execution context - ****************************************************************************** -*/ -typedef M4OSA_Void* M4VPP_Context; - -typedef enum -{ - M4VPP_kIYUV420=0, /**< YUV 4:2:0 planar (standard input for mpeg-4 video) */ - M4VPP_kIYUV422, /**< YUV422 planar */ - M4VPP_kIYUYV, /**< YUV422 interlaced, luma first */ - M4VPP_kIUYVY, /**< YUV422 interlaced, chroma first */ - M4VPP_kIJPEG, /**< JPEG compressed frames */ - M4VPP_kIRGB444, /**< RGB 12 bits 4:4:4 */ - M4VPP_kIRGB555, /**< RGB 15 bits 5:5:5 */ - M4VPP_kIRGB565, /**< RGB 16 bits 5:6:5 */ - M4VPP_kIRGB24, /**< RGB 24 bits 8:8:8 */ - M4VPP_kIRGB32, /**< RGB 32 bits */ - M4VPP_kIBGR444, /**< BGR 12 bits 4:4:4 */ - M4VPP_kIBGR555, /**< BGR 15 bits 5:5:5 */ - M4VPP_kIBGR565, /**< BGR 16 bits 5:6:5 */ - M4VPP_kIBGR24, /**< BGR 24 bits 8:8:8 */ - M4VPP_kIBGR32 /**< BGR 32 bits */ -} M4VPP_InputVideoFormat; - - -/** - ****************************************************************************** - * @brief Prototype of the main video preprocessing function - * @note Preprocess one frame - * @param pContext: (IN) Execution context of the VPP. - * @param pPlaneIn: (INOUT) Input Image - * @param pPlaneOut: (INOUT) Output Image - ****************************************************************************** -*/ -typedef M4OSA_ERR (M4VPP_apply_fct) (M4VPP_Context pContext, M4VIFI_ImagePlane* pPlaneIn, - M4VIFI_ImagePlane* pPlaneOut); - - - -/** - ****************************************************************************** - * M4OSA_ERR M4VPP_initVideoPreprocessing(M4VPP_Context* pContext) - * @brief This function allocates a new execution context for the Video Preprocessing component. - * @note - * @param pContext: (OUT) Execution context allocated by the function. - * @return M4NO_ERROR: there is no error. - * @return M4ERR_ALLOC: there is no more available memory. - * @return M4ERR_PARAMETER: pContext is NULL (debug only). - ****************************************************************************** -*/ -M4OSA_ERR M4VPP_initVideoPreprocessing(M4VPP_Context* pContext); - -/** - ****************************************************************************** - * M4OSA_ERR M4VPP_applyVideoPreprocessing(M4VPP_Context pContext, M4VIFI_ImagePlane* pPlaneIn, - * M4VIFI_ImagePlane* pPlaneOut) - * @brief Preprocess one frame. - * @note - * @param pContext: (IN) Execution context. - * @param pPlaneIn: (INOUT) Input Image - * @param pPlaneOut: (INOUT) Output Image - * @return M4NO_ERROR: there is no error. - * @return M4ERR_PARAMETER: pContext or pPlaneIn or pPlaneOut is NULL (debug only). - * @return M4ERR_STATE: Video Preprocessing is not in an appropriate state for this function - * to be called - ****************************************************************************** -*/ -M4OSA_ERR M4VPP_applyVideoPreprocessing(M4VPP_Context pContext, M4VIFI_ImagePlane* pPlaneIn, - M4VIFI_ImagePlane* pPlaneOut); - -/** - ****************************************************************************** - * M4OSA_ERR M4VPP_cleanUpVideoPreprocessing(M4VPP_Context pContext) - * @brief This method frees the execution context for the Video Preprocessing component. - * Any further usage of the context will lead to unpredictable result. - * @note - * @param pContext: (IN) Execution context. - * @return M4NO_ERROR: there is no error. - * @return M4ERR_PARAMETER: pContext is NULL (debug only). - ****************************************************************************** -*/ -M4OSA_ERR M4VPP_cleanUpVideoPreprocessing(M4VPP_Context pContext); - -/** - ****************************************************************************** - * M4OSA_ERR M4VPP_setVideoPreprocessingMode(M4VPP_Context pContext, M4VES_InputVideoFormat format) - * @brief This method apply the video preprocessing to the input plane. Result is put into the - * output plan. - * @param pContext: (IN) Execution context. - * @param format : (IN) Format of input plane (rgb, yuv, ...) - * @return M4NO_ERROR: there is no error - ****************************************************************************** -*/ -M4OSA_ERR M4VPP_setVideoPreprocessingMode(M4VPP_Context pContext, M4VPP_InputVideoFormat format); - -/** - ****************************************************************************** - * @brief Definition of the errors specific to this module. - ****************************************************************************** -*/ - -/**< Input and output planes have incompatible properties */ -#define M4VPP_ERR_IMCOMPATIBLE_IN_AND_OUT_PLANES M4OSA_ERR_CREATE( M4_ERR,\ - M4PREPROCESS_VIDEO, 0x000001); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* M4VPP_API_H */ - diff --git a/libvideoeditor/vss/common/inc/M4WRITER_common.h b/libvideoeditor/vss/common/inc/M4WRITER_common.h deleted file mode 100755 index abb7b86..0000000 --- a/libvideoeditor/vss/common/inc/M4WRITER_common.h +++ /dev/null @@ -1,261 +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 M4WRITER_common.h - * @brief VES writers shell interface. - * @note This file defines the types internally used by the VES to abstract writers - ****************************************************************************** -*/ -#ifndef __M4WRITER_COMMON_H__ -#define __M4WRITER_COMMON_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -#include "M4OSA_Types.h" -#include "M4OSA_FileWriter.h" /* for M4OSA_FileWriterPointer */ -#include "M4OSA_FileReader.h" /* for M4OSA_FileWriterPointer */ -#include "M4OSA_OptionID.h" /* for M4OSA_OPTION_ID_CREATE() */ -#include "M4OSA_CoreID.h" /* for M4WRITER_COMMON */ - -#include "M4SYS_Stream.h" /* for M4SYS_StreamID */ -#include "M4SYS_AccessUnit.h" /* for M4SYS_AccessUnit */ - -/** - ****************************************************************************** - * MP4W Errors & Warnings definition - ****************************************************************************** -*/ -#define M4WAR_WRITER_STOP_REQ M4OSA_ERR_CREATE(M4_WAR, M4WRITER_COMMON ,0x000001) - -/** - ****************************************************************************** - * enum M4WRITER_OutputFileType - * @brief This enum defines the avalaible output file format. - ****************************************************************************** -*/ -typedef enum -{ - M4WRITER_kUnknown=-1, - M4WRITER_k3GPP=0, /**< 3GPP compliant file */ - M4WRITER_kAVI=1, /**< AVI file */ - M4WRITER_kAMR=2, /**< AMR file */ - M4WRITER_kNETWORK3GPP=3, /**< 3GPP via TCP */ - M4WRITER_kPCM=4, /**< PCM file */ - M4WRITER_kJPEG=5, /**< JPEG EXIF writer */ - M4WRITER_kMP3=6, /**< MP3 writer */ - - M4WRITER_kType_NB /* number of writers, keep it as last enum entry */ - -} M4WRITER_OutputFileType; - -/** - ****************************************************************************** - * enum M4WRITER_OptionID - * @brief This enums defines all avalaible options. All the reuturned values are in - * M4OSA_UInt32 type. - ****************************************************************************** -*/ -typedef enum { - M4WRITER_kMaxAUSize = M4OSA_OPTION_ID_CREATE (M4_READ|M4_WRITE, M4WRITER_COMMON, 0x01), - M4WRITER_kMaxChunckSize = M4OSA_OPTION_ID_CREATE (M4_READ|M4_WRITE, M4WRITER_COMMON, 0x02), - M4WRITER_kFileSize = M4OSA_OPTION_ID_CREATE (M4_READ , \ - M4WRITER_COMMON, 0x03), /**< File size if the process was ended when we call the method */ - M4WRITER_kFileSizeAudioEstimated= M4OSA_OPTION_ID_CREATE (M4_READ ,\ - M4WRITER_COMMON, 0x04), /**< File size if the process was ended when we call the - method, estimated size for audio */ - M4WRITER_kEmbeddedString = M4OSA_OPTION_ID_CREATE (M4_WRITE ,\ - M4WRITER_COMMON, 0x05), /**< String embedded at the end of the file(SW - VES) */ - M4WRITER_kEmbeddedVersion = M4OSA_OPTION_ID_CREATE (M4_WRITE ,\ - M4WRITER_COMMON, 0x06), /**< Version embedded at the end of the file */ - M4WRITER_kIntegrationTag = M4OSA_OPTION_ID_CREATE (M4_WRITE ,\ - M4WRITER_COMMON, 0x07), /**< String embedded at the end of the file (char[60] - for integration purpose) */ - M4WRITER_kMaxFileSize = M4OSA_OPTION_ID_CREATE (M4_WRITE , \ - M4WRITER_COMMON, 0x08), /**< Maximum file size limitation */ - M4WRITER_kMaxFileDuration = M4OSA_OPTION_ID_CREATE (M4_WRITE ,\ - M4WRITER_COMMON, 0x09), /**< Maximum file duration limitation */ - M4WRITER_kSetFtypBox = M4OSA_OPTION_ID_CREATE (M4_WRITE ,\ - M4WRITER_COMMON, 0x0A), /**< Set 'ftyp' atom */ - M4WRITER_kMetaData = M4OSA_OPTION_ID_CREATE (M4_WRITE ,\ - M4WRITER_COMMON, 0x0B), /**< Additionnal information to set in the file */ - M4WRITER_kDSI = M4OSA_OPTION_ID_CREATE (M4_WRITE , \ - M4WRITER_COMMON, 0x0C), /**< To set DSI of the file (Decoder specifc info) */ - M4WRITER_kJpegReserveFPData = M4OSA_OPTION_ID_CREATE (M4_WRITE ,\ - M4WRITER_COMMON, 0x0D), /**< Reserve some space in the file for JPEG fast - processing data */ - M4WRITER_kJpegSetFPData = M4OSA_OPTION_ID_CREATE (M4_WRITE , \ - M4WRITER_COMMON, 0x0E), /**< Write Fast Processing Data in the file*/ - /* + CRLV6775 -H.264 trimming */ - M4WRITER_kMUL_PPS_SPS = M4OSA_OPTION_ID_CREATE (M4_WRITE , M4WRITER_COMMON, 0x0F) - /* - CRLV6775 -H.264 trimming */ -} M4WRITER_OptionID; - - -/** - ****************************************************************************** - * struct M4WRITER_Header - * @brief This structure defines the buffer where an header is put. - ****************************************************************************** -*/ -typedef struct -{ - M4OSA_MemAddr8 pBuf; /**< Buffer for the header */ - M4OSA_UInt32 Size; /**< Size of the data */ -} M4WRITER_Header; - - -/** - ****************************************************************************** - * struct M4WRITER_StreamVideoInfos - * @brief This structure defines the specific video stream infos, extension to - * M4SYS_StreamDescription. - ****************************************************************************** -*/ -typedef struct { - M4OSA_UInt32 height; /**< Frame height */ - M4OSA_UInt32 width; /**< Frame Width */ - M4OSA_Double fps; /**< Targetted framerate of the video */ - M4WRITER_Header Header; /**< Sequence header of the video stream, - member set to NULL if no header present */ -} M4WRITER_StreamVideoInfos; - - -/** - ****************************************************************************** - * struct M4WRITER_StreamAudioInfos - * @brief This structure defines the specific audio stream infos, extension to - M4SYS_StreamDescription. - ****************************************************************************** -*/ -typedef struct { - M4OSA_UInt32 nbSamplesPerSec; /**< Number of Samples per second */ - M4OSA_UInt16 nbBitsPerSample; /**< Number of Bits in 1 sample */ - M4OSA_UInt16 nbChannels; /**< Number of channels */ - M4WRITER_Header Header; /**< Decoder Specific Info of the audiostream, - member set to NULL if no DSI present */ -} M4WRITER_StreamAudioInfos; - - -/** - ****************************************************************************** - * enum M4WRITER_Orientation - * @brief This enum defines the possible orientation of a frame as described - * in the EXIF standard. - ****************************************************************************** -*/ -typedef enum -{ - M4WRITER_OrientationUnknown = 0, - M4WRITER_OrientationTopLeft, - M4WRITER_OrientationTopRight, - M4WRITER_OrientationBottomRight, - M4WRITER_OrientationBottomLeft, - M4WRITER_OrientationLeftTop, - M4WRITER_OrientationRightTop, - M4WRITER_OrientationRightBottom, - M4WRITER_OrientationLeftBottom -}M4WRITER_Orientation ; - -/** - ****************************************************************************** - * struct M4WRITER_MetaData - * @brief This structure defines all the meta data to store in the encoded file. - ****************************************************************************** -*/ -typedef struct -{ - M4OSA_Char* Description ; - M4OSA_Char* PhoneManufacturer ; - M4OSA_Char* PhoneModel ; - M4OSA_Char* Artist ; - M4OSA_Char* Copyright ; - M4OSA_Char* Software ; - M4OSA_Char* CreationDate; - M4WRITER_Orientation Orientation ; - - M4OSA_UInt32 Width ; - M4OSA_UInt32 Height ; - - M4OSA_UInt32 ThumbnailWidth ; - M4OSA_UInt32 ThumbnailHeight ; - M4OSA_Bool ThumbnailPresence ; -}M4WRITER_MetaData; - - -typedef void* M4WRITER_Context; - -typedef M4OSA_ERR (M4WRITER_openWrite) (M4WRITER_Context* hContext,\ - void* outputFileDescriptor,\ - M4OSA_FileWriterPointer* pFileWriterPointer,\ - void* tempFileDescriptor, \ - M4OSA_FileReadPointer* pFileReaderPointer); -typedef M4OSA_ERR (M4WRITER_addStream) (M4WRITER_Context pContext,\ - M4SYS_StreamDescription*streamDescription); -typedef M4OSA_ERR (M4WRITER_startWriting) (M4WRITER_Context pContext); -typedef M4OSA_ERR (M4WRITER_closeWrite) (M4WRITER_Context pContext); -typedef M4OSA_ERR (M4WRITER_setOption) (M4WRITER_Context pContext, \ - M4OSA_UInt32 optionID, \ - M4OSA_DataOption optionValue); -typedef M4OSA_ERR (M4WRITER_getOption) (M4WRITER_Context pContext, \ - M4OSA_UInt32 optionID, \ - M4OSA_DataOption optionValue); - - -/** - ****************************************************************************** - * struct M4WRITER_GlobalInterface - * @brief Defines all the functions required for a writer shell. - ****************************************************************************** -*/ -typedef struct _M4WRITER_GlobalInterface -{ - M4WRITER_openWrite* pFctOpen; - M4WRITER_addStream* pFctAddStream; - M4WRITER_startWriting* pFctStartWriting; - M4WRITER_closeWrite* pFctCloseWrite; - M4WRITER_setOption* pFctSetOption; - M4WRITER_getOption* pFctGetOption; -} M4WRITER_GlobalInterface; - -typedef M4OSA_ERR M4WRITER_startAU(M4WRITER_Context pContext, M4SYS_StreamID streamID,\ - M4SYS_AccessUnit* pAU); -typedef M4OSA_ERR M4WRITER_processAU(M4WRITER_Context pContext, M4SYS_StreamID streamID,\ - M4SYS_AccessUnit* pAU); - -/** - ****************************************************************************** - * struct M4WRITER_DataInterface - * @brief Defines all the functions required to write data with a writer shell. - ****************************************************************************** -*/ -typedef struct _M4WRITER_DataInterface -{ - M4WRITER_startAU* pStartAU; - M4WRITER_processAU* pProcessAU; - - M4WRITER_Context pWriterContext; - -} M4WRITER_DataInterface; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /*__M4WRITER_COMMON_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4_BitStreamParser.h b/libvideoeditor/vss/common/inc/M4_BitStreamParser.h deleted file mode 100755 index c875458..0000000 --- a/libvideoeditor/vss/common/inc/M4_BitStreamParser.h +++ /dev/null @@ -1,134 +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 M4_BitStreamParser.h - * @brief MPEG-4 File Format bit stream utility - * @note This file contains utility functions used to parse MPEG specific - * data structures. - ************************************************************************ -*/ -#ifndef __M4_BITSTREAMPARSER_H__ -#define __M4_BITSTREAMPARSER_H__ - -#include "M4OSA_Types.h" - -/** -* M4_BitStreamParser_Init. -* -* Allocates the context and initializes internal data -* -* @param pContext : A pointer to the context internally used by the package - ALLOCATED BY THE -* FUNCTION (M4OSA_NULL if allocation fails) -* @param bitStream : A pointer to the bitstream - must be 32 bits as access are 32 bits -* @param size : The size of the bitstream in bytes -* -*/ -void M4_BitStreamParser_Init(void** pContext, void* pBitStream, M4OSA_Int32 size); - -/** - ************************************************************************ - * @brief Clean up context - * @param pContext (IN/OUT) M4_BitStreamParser context. - ************************************************************************ -*/ -void M4_BitStreamParser_CleanUp(void* pContext); - -/** - ************************************************************************ - * @brief Read the next <length> bits in the bitstream. - * @note The function does not update the bitstream pointer. - * @param pContext (IN/OUT) M4_BitStreamParser context. - * @param length (IN) The number of bits to extract from the bitstream - * @return the read bits - ************************************************************************ -*/ -M4OSA_UInt32 M4_BitStreamParser_ShowBits(void* pContext, M4OSA_Int32 length); - -/** - ************************************************************************ - * @brief Increment the bitstream pointer of <length> bits. - * @param pContext (IN/OUT) M4_BitStreamParser context. - * @param length (IN) The number of bit to shift the bitstream - ************************************************************************ -*/ -void M4_BitStreamParser_FlushBits(void* pContext, M4OSA_Int32 length); - -/** - ************************************************************************ - * @brief Get a pointer to the current byte pointed by the bitstream pointer. - * It does not update the bitstream pointer - * - * @param pContext : A pointer to the context internally used by the package - * @param length : The number of bit to extract from the bitstream - * - * @returns the read bits -*/ -M4OSA_UInt32 M4_BitStreamParser_GetBits(void* pContext,M4OSA_Int32 bitPos, M4OSA_Int32 length); - -/** -* M4_BitStreamParser_Restart resets the bitstream indexes. -* -* @param pContext : A pointer to the context internally used by the package -* -*/ -void M4_BitStreamParser_Restart(void* pContext); - -/** - ************************************************************************ - * @brief Get a pointer to the current byte pointed by the bitstream pointer. - * @returns pointer to the current location in the bitstream - * @note It should be used carefully as the pointer is in the bitstream itself - * and no copy is made. - * @param pContext (IN/OUT) M4_BitStreamParser context. -*/ -M4OSA_UInt8* M4_BitStreamParser_GetCurrentbitStreamPointer(void* pContext); - -/** -* M4_BitStreamParser_GetSize gets the size of the bitstream in bytes -* -* @param pContext : A pointer to the context internally used by the package -* -* @returns the size of the bitstream in bytes -*/ -M4OSA_Int32 M4_BitStreamParser_GetSize(void* pContext); - -void M4_MPEG4BitStreamParser_Init(void** pContext, void* pBitStream, M4OSA_Int32 size); - -/** -* getMpegLengthFromInteger returns a decoded size value from an encoded one (SDL) -* -* @param pContext : A pointer to the context internally used by the package -* @param val : encoded value -* -* @returns size in a human readable form -*/ - -M4OSA_Int32 M4_MPEG4BitStreamParser_GetMpegLengthFromInteger(void* pContext, M4OSA_UInt32 val); - - -/** - ************************************************************************ - * @brief Decode an MPEG4 Systems descriptor size from an encoded SDL size data. - * @note The value is read from the current bitstream location. - * @param pContext (IN/OUT) M4_BitStreamParser context. - * @return Size in a human readable form - ************************************************************************ -*/ -M4OSA_Int32 M4_MPEG4BitStreamParser_GetMpegLengthFromStream(void* pContext); - -#endif /*__M4_BITSTREAMPARSER_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4_Common.h b/libvideoeditor/vss/common/inc/M4_Common.h deleted file mode 100755 index 760a7da..0000000 --- a/libvideoeditor/vss/common/inc/M4_Common.h +++ /dev/null @@ -1,163 +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 M4_Common.h - * @brief Common data structure between shells - * @note -************************************************************************* -*/ -#ifndef __M4_COMMON_H__ -#define __M4_COMMON_H__ - -#include "M4OSA_Types.h" - -/** - ************************************************************************ - * structure _parameterSet - * @brief This structure defines the structure of parameters for the avc - * decoder specific info - * @note - ************************************************************************ -*/ -typedef struct _parameterSet -{ - M4OSA_UInt16 m_length; /* Number of items*/ - M4OSA_UInt8* m_pParameterSetUnit; /* Array of items*/ -} ParameterSet ; - -/** - ************************************************************************ - * structure _avcSpecificInfo - * @brief This structure defines the structure of specific info for the avc decoder - * @note - ************************************************************************ -*/ -typedef struct _avcSpecificInfo -{ - M4OSA_UInt8 m_nalUnitLength; /* length in bytes of the NALUnitLength - field in a AVC sample */ - M4OSA_UInt8 m_numOfSequenceParameterSets; /* Number of sequence parameter sets*/ - M4OSA_UInt8 m_numOfPictureParameterSets; /* Number of picture parameter sets*/ - ParameterSet *m_pSequenceParameterSet; /* Sequence parameter sets array*/ - ParameterSet *m_pPictureParameterSet; /* Picture parameter sets array*/ -} AvcSpecificInfo ; - -/** - ************************************************************************ - * structure M4_SynthesisAudioInfo - * @brief This structure contains specific pointers used for synthesis audio format - ************************************************************************ -*/ -typedef struct _synthesisAudioInfo -{ - M4OSA_Void* m_pInputBuf; - M4OSA_Void* m_pInputInfo; - M4OSA_UInt16 m_uiNbSubFramePerStep; - M4OSA_UInt32 m_uiUsedBytes; -} M4_SynthesisAudioInfo; - - -/* - ************************************************************************ - * enum M4_AACDownsamplingMode - * @brief This enum states modes for Down sampling - ************************************************************************ -*/ -typedef enum -{ - AAC_kDS_OFF = 0, /**< No Down sampling */ - AAC_kDS_BY_2 = 1, /**< Down sampling by 2 - Profile = AAC : - output sampling rate = aac_samp_freq/2 - Profile = HE_AAC and input is AAC: - Output sampling rate = aac_samp_freq.(No downsamping). - Profile = HE_AAC and input is HE_AAC: - Output sampling rate = aac_samp_freq (Downsampling - occurs in SBR tool). - case profile = HE_AAC_v2 : - Not Supported */ - AAC_kDS_BY_3 = 2, /**< Down sampling by 3 - only for AAC profile */ - AAC_kDS_BY_4 = 3, /**< Down sampling by 4 - only for AAC profile */ - AAC_kDS_BY_8 = 4 /**< Down sampling by 8 - only for AAC profile */ - -} M4_AACDownsamplingMode; - - -/* - ************************************************************************ - * enum M4_AACOutputMode - * @brief This enum defines the output mode - ************************************************************************ -*/ -typedef enum -{ - AAC_kMono = 0, /**< Output is Mono */ - AAC_kStereo = 1 /**< Output is Stereo */ -} M4_AACOutputMode; - - -/* - ************************************************************************ - * enum M4_AACDecProfile - * @brief This enum defines the AAC decoder profile - ************************************************************************ -*/ -typedef enum -{ - AAC_kAAC = 0, /**< AAC profile (only AAC LC object are supported) */ - AAC_kHE_AAC = 1, /**< HE AAC or AAC+ profile (SBR in LP Mode) */ - AAC_kHE_AAC_v2 = 2 /**< HE AAC v2 or Enhanced AAC+ profile (SBR Tool in HQ Mode) */ -} M4_AACDecProfile; - - -/** - ************************************************************************ - * structure M4_AacDecoderConfig - * @brief This structure defines specific settings according to - * the user requirements - ************************************************************************ -*/ -typedef struct -{ - M4_AACDecProfile m_AACDecoderProfile; - M4_AACDownsamplingMode m_DownSamplingMode; - M4_AACOutputMode m_OutputMode; - -} M4_AacDecoderConfig; - - -/** - ************************************************************************ - * structure M4READER_AudioSbrUserdata - * @brief This structure defines the user's data needed to decode the - * AACplus stream - * @note The field m_pFirstAU is used in case of local files and - * the field m_bIsSbrEnabled is used in streaming case. - ************************************************************************ -*/ -typedef struct -{ - M4OSA_Void* m_pFirstAU; /**< The first AU from where SBR data are - extracted (local file case)*/ - M4OSA_Bool m_bIsSbrEnabled; /**< A boolean that indicates if the stream is - AACplus (streaming case)*/ - M4_AacDecoderConfig* m_pAacDecoderUserConfig;/**< Decoder specific user setting */ - -} M4READER_AudioSbrUserdata; - -#endif /* __M4_COMMON_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4_Utils.h b/libvideoeditor/vss/common/inc/M4_Utils.h deleted file mode 100755 index a1e0829..0000000 --- a/libvideoeditor/vss/common/inc/M4_Utils.h +++ /dev/null @@ -1,49 +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 M4_Utils.h - * @brief Utilities - * @note This file defines utility macros -************************************************************************* -*/ -#ifndef __M4_UTILS_H__ -#define __M4_UTILS_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/* M4_MediaTime definition - This type is used internally by some shell components */ -#include "M4OSA_Types.h" -typedef M4OSA_Double M4_MediaTime; - -/* GET_MEMORY32 macro definition - This macro is used by the 3GP reader*/ -#ifdef __BIG_ENDIAN -#define GET_MEMORY32(x) (x) -#else -#define GET_MEMORY32(x) ( (((x)&0xff)<<24) | (((x)&0xff00)<<8) |\ - (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24) ) -#endif /*__BIG_ENDIAN*/ - -#ifdef __cplusplus -} -#endif - -#endif /* __M4_UTILS_H__*/ - diff --git a/libvideoeditor/vss/common/inc/M4_VideoEditingCommon.h b/libvideoeditor/vss/common/inc/M4_VideoEditingCommon.h deleted file mode 100755 index 9e7d03f..0000000 --- a/libvideoeditor/vss/common/inc/M4_VideoEditingCommon.h +++ /dev/null @@ -1,336 +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 M4_VideoEditingCommon.h - * @brief Video Editing (VSS3GPP, MCS, PTO3GPP) common definitions - * @note - ****************************************************************************** -*/ - -#ifndef __M4_VIDEOEDITINGCOMMON_H__ -#define __M4_VIDEOEDITINGCOMMON_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Version */ -/* CHANGE_VERSION_HERE */ -#define M4VIDEOEDITING_VERSION_MAJOR 3 -#define M4VIDEOEDITING_VERSION_MINOR 1 -#define M4VIDEOEDITING_VERSION_REVISION 0 - -#define M4VIDEOEDITING_VIDEO_UNKNOWN_PROFILE 0x7fffffff -#define M4VIDEOEDITING_VIDEO_UNKNOWN_LEVEL 0x7fffffff - -/** - ****************************************************************************** - * enum M4VIDEOEDITING_FileType - * @brief This enum defines the file format type to be used - ****************************************************************************** -*/ -typedef enum { - M4VIDEOEDITING_kFileType_3GPP = 0, /**< 3GPP file media type : input & output */ - M4VIDEOEDITING_kFileType_MP4 = 1, /**< MP4 file media type : input */ - M4VIDEOEDITING_kFileType_AMR = 2, /**< AMR file media type : input & output */ - M4VIDEOEDITING_kFileType_MP3 = 3, /**< MP3 file media type : input */ - M4VIDEOEDITING_kFileType_PCM = 4, /**< PCM RAW file media type : input RC */ - M4VIDEOEDITING_kFileType_JPG = 5, /**< STILL PICTURE FEATURE: JPG file media - type : input AND OUTPUT */ - M4VIDEOEDITING_kFileType_BMP = 6, /**< STILL PICTURE FEATURE: BMP file media - type : input only */ - M4VIDEOEDITING_kFileType_GIF = 7, /**< STILL PICTURE FEATURE: GIF file media - type : input only */ - M4VIDEOEDITING_kFileType_PNG = 8, /**< STILL PICTURE FEATURE: PNG file media - type : input only */ - M4VIDEOEDITING_kFileType_ARGB8888 = 9, /**< STILL PICTURE FEATURE: ARGB8888 file - media type : input only */ - M4VIDEOEDITING_kFileType_M4V = 10, /**< M4V file media type : input only */ - M4VIDEOEDITING_kFileType_Unsupported = 255 /**< Unsupported file media type */ -} M4VIDEOEDITING_FileType; - - -/** - ****************************************************************************** - * enum M4VIDEOEDITING_VideoFormat - * @brief This enum defines the avalaible video compression formats. - ****************************************************************************** -*/ -typedef enum -{ - M4VIDEOEDITING_kNoneVideo = 0, /**< Video not present */ - M4VIDEOEDITING_kH263 = 1, /**< H263 video */ - M4VIDEOEDITING_kH264 = 2, /**< H264 video */ - M4VIDEOEDITING_kMPEG4 = 3, /**< MPEG-4 video */ - M4VIDEOEDITING_kNullVideo = 254, /**< Do not care video type, use NULL encoder */ - M4VIDEOEDITING_kUnsupportedVideo = 255 /**< Unsupported video stream type */ -} M4VIDEOEDITING_VideoFormat; - -/** - ****************************************************************************** - * enum M4VIDEOEDITING_AudioFormat - * @brief This enum defines the avalaible audio format. - * @note HE_AAC, HE_AAC_v2 and MP3 can not be used for the output audio format - ****************************************************************************** -*/ -typedef enum { - M4VIDEOEDITING_kNoneAudio = 0, /**< Audio not present */ - M4VIDEOEDITING_kAMR_NB = 1, /**< AMR Narrow Band audio */ - M4VIDEOEDITING_kAAC = 2, /**< AAC audio */ - M4VIDEOEDITING_kAACplus = 3, /**< AAC+ audio */ - M4VIDEOEDITING_keAACplus = 4, /**< Enhanced AAC+ audio */ - M4VIDEOEDITING_kMP3 = 5, /**< MP3 audio */ - M4VIDEOEDITING_kEVRC = 6, /**< EVRC audio */ - M4VIDEOEDITING_kPCM = 7, /**< PCM audio */ - M4VIDEOEDITING_kNullAudio = 254, /**< Do not care audio type, use NULL encoder */ - M4VIDEOEDITING_kUnsupportedAudio = 255 /**< Unsupported audio stream type */ -} M4VIDEOEDITING_AudioFormat; - -/** - ****************************************************************************** - * enum M4VIDEOEDITING_VideoFrameSize - * @brief This enum defines the available output frame sizes. - ****************************************************************************** -*/ -typedef enum -{ - M4VIDEOEDITING_kSQCIF=0, /**< SQCIF 128x96 */ - M4VIDEOEDITING_kQQVGA, /**< QQVGA 160x120 */ - M4VIDEOEDITING_kQCIF, /**< QCIF 176x144 */ - M4VIDEOEDITING_kQVGA, /**< QVGA 320x240 */ - M4VIDEOEDITING_kCIF, /**< CIF 352x288 */ - M4VIDEOEDITING_kVGA, /**< VGA 640x480 */ -/* +PR LV5807 */ - M4VIDEOEDITING_kWVGA, /**< WVGA 800x480 */ - M4VIDEOEDITING_kNTSC, /**< NTSC 720x480 */ -/* -PR LV5807 */ - -/* +CR Google */ - M4VIDEOEDITING_k640_360, /**< 640x360 */ - M4VIDEOEDITING_k854_480, /**< 854x480 */ - M4VIDEOEDITING_k1280_720, /**< 720p 1280x720 */ - M4VIDEOEDITING_k1080_720, /**< 720p 1080x720 */ - M4VIDEOEDITING_k960_720, /**< 720p 960x720 */ - M4VIDEOEDITING_k1920_1080 /**<1080p 1920x1080*/ -/* -CR Google */ - -} M4VIDEOEDITING_VideoFrameSize; - - -/** - ****************************************************************************** - * enum M4VIDEOEDITING_Videoframerate - * @brief This enum defines the available video framerates. - ****************************************************************************** -*/ -typedef enum -{ - M4VIDEOEDITING_k5_FPS = 0, - M4VIDEOEDITING_k7_5_FPS, - M4VIDEOEDITING_k10_FPS, - M4VIDEOEDITING_k12_5_FPS, - M4VIDEOEDITING_k15_FPS, - M4VIDEOEDITING_k20_FPS, - M4VIDEOEDITING_k25_FPS, - M4VIDEOEDITING_k30_FPS -} M4VIDEOEDITING_VideoFramerate; - - -/** - ****************************************************************************** - * enum M4VIDEOEDITING_AudioSamplingFrequency - * @brief This enum defines the available output audio sampling frequencies - * @note 8 kHz is the only supported frequency for AMR-NB output - * @note 16 kHz is the only supported frequency for AAC output - * @note The recommended practice is to use the Default value when setting the encoding parameters - ****************************************************************************** -*/ -typedef enum { - M4VIDEOEDITING_kDefault_ASF = 0, /**< Default Audio Sampling Frequency for selected - Audio output format */ - M4VIDEOEDITING_k8000_ASF = 8000, /**< Note: Default audio Sampling Frequency for - AMR-NB output */ - M4VIDEOEDITING_k11025_ASF = 11025, - M4VIDEOEDITING_k12000_ASF = 12000, - M4VIDEOEDITING_k16000_ASF = 16000, /**< Note: Default audio Sampling Frequency - for AAC output */ - M4VIDEOEDITING_k22050_ASF = 22050, - M4VIDEOEDITING_k24000_ASF = 24000, - M4VIDEOEDITING_k32000_ASF = 32000, - M4VIDEOEDITING_k44100_ASF = 44100, - M4VIDEOEDITING_k48000_ASF = 48000 - -} M4VIDEOEDITING_AudioSamplingFrequency; - - -/** - ****************************************************************************** - * enum M4VIDEOEDITING_Bitrate - * @brief This enum defines the available audio or video bitrates. - ****************************************************************************** -*/ -typedef enum -{ - M4VIDEOEDITING_kVARIABLE_KBPS = -1, /* no regulation */ - M4VIDEOEDITING_kUndefinedBitrate = 0, /* undefined */ - M4VIDEOEDITING_k8_KBPS = 8000, - M4VIDEOEDITING_k9_2_KBPS = 9200, /* evrc only */ - M4VIDEOEDITING_k12_2_KBPS = 12200, /* amr only */ - M4VIDEOEDITING_k16_KBPS = 16000, - M4VIDEOEDITING_k24_KBPS = 24000, - M4VIDEOEDITING_k32_KBPS = 32000, - M4VIDEOEDITING_k40_KBPS = 40000, - M4VIDEOEDITING_k48_KBPS = 48000, - M4VIDEOEDITING_k56_KBPS = 56000, - M4VIDEOEDITING_k64_KBPS = 64000, - M4VIDEOEDITING_k80_KBPS = 80000, - M4VIDEOEDITING_k96_KBPS = 96000, - M4VIDEOEDITING_k112_KBPS = 112000, - M4VIDEOEDITING_k128_KBPS = 128000, - M4VIDEOEDITING_k160_KBPS = 160000, - M4VIDEOEDITING_k192_KBPS = 192000, - M4VIDEOEDITING_k224_KBPS = 224000, - M4VIDEOEDITING_k256_KBPS = 256000, - M4VIDEOEDITING_k288_KBPS = 288000, - M4VIDEOEDITING_k320_KBPS = 320000, - M4VIDEOEDITING_k384_KBPS = 384000, - M4VIDEOEDITING_k512_KBPS = 512000, - M4VIDEOEDITING_k800_KBPS = 800000, -/*+ New Encoder bitrates */ - M4VIDEOEDITING_k2_MBPS = 2000000, - M4VIDEOEDITING_k5_MBPS = 5000000, - M4VIDEOEDITING_k8_MBPS = 8000000, -/*- New Encoder bitrates */ -} M4VIDEOEDITING_Bitrate; - - -/** - ****************************************************************************** - * structure M4VIDEOEDITING_FtypBox - * @brief Information to build the 'ftyp' atom - ****************************************************************************** -*/ -#define M4VIDEOEDITING_MAX_COMPATIBLE_BRANDS 10 -typedef struct -{ - /* All brand fields are actually char[4] stored in big-endian integer format */ - - M4OSA_UInt32 major_brand; /* generally '3gp4' */ - M4OSA_UInt32 minor_version; /* generally '0000' or 'x.x ' */ - M4OSA_UInt32 nbCompatibleBrands; /* number of compatible brands */ - M4OSA_UInt32 compatible_brands[M4VIDEOEDITING_MAX_COMPATIBLE_BRANDS]; /* array of - max compatible brands */ - -} M4VIDEOEDITING_FtypBox; - -/* Some useful brands */ -#define M4VIDEOEDITING_BRAND_0000 0x00000000 -#define M4VIDEOEDITING_BRAND_3G2A 0x33673261 -#define M4VIDEOEDITING_BRAND_3GP4 0x33677034 -#define M4VIDEOEDITING_BRAND_3GP5 0x33677035 -#define M4VIDEOEDITING_BRAND_3GP6 0x33677036 -#define M4VIDEOEDITING_BRAND_AVC1 0x61766331 -#define M4VIDEOEDITING_BRAND_EMP 0x656D7020 -#define M4VIDEOEDITING_BRAND_ISOM 0x69736F6D -#define M4VIDEOEDITING_BRAND_MP41 0x6D703431 -#define M4VIDEOEDITING_BRAND_MP42 0x6D703432 -#define M4VIDEOEDITING_BRAND_VFJ1 0x76666A31 - -/** - ****************************************************************************** - * enum M4VIDEOEDITING_ClipProperties - * @brief This structure gathers the information related to an input file - ****************************************************************************** -*/ -typedef struct { - - /** - * Common */ - M4OSA_Bool bAnalysed; /**< Flag to know if the file has - been already analysed or not */ - M4OSA_UInt8 Version[3]; /**< Version of the libraries used to - perform the clip analysis */ - M4OSA_UInt32 uiClipDuration; /**< Clip duration (in ms) */ - M4VIDEOEDITING_FileType FileType; /**< .3gp, .amr, .mp3 */ - M4VIDEOEDITING_FtypBox ftyp; /**< 3gp 'ftyp' atom, major_brand = - 0 if not used */ - - /** - * Video */ - M4VIDEOEDITING_VideoFormat VideoStreamType; /**< Format of the video stream */ - M4OSA_UInt32 uiClipVideoDuration; /**< Video track duration (in ms) */ - M4OSA_UInt32 uiVideoBitrate; /**< Video average bitrate (in bps)*/ - M4OSA_UInt32 uiVideoMaxAuSize; /**< Maximum Access Unit size of the - video stream */ - M4OSA_UInt32 uiVideoWidth; /**< Video frame width */ - M4OSA_UInt32 uiVideoHeight; /**< Video frame height */ - M4OSA_UInt32 uiVideoTimeScale; /**< Video time scale */ - M4OSA_Float fAverageFrameRate; /**< Average frame rate of the video - stream */ - M4OSA_Int32 uiVideoLevel; /**< video level*/ - M4OSA_Int32 uiVideoProfile; /**< video profile */ - - M4OSA_Bool bMPEG4dataPartition; /**< MPEG-4 uses data partitioning */ - M4OSA_Bool bMPEG4rvlc; /**< MPEG-4 uses RVLC tool */ - M4OSA_Bool bMPEG4resynchMarker; /**< MPEG-4 stream uses Resynch - Marker */ - - /** - * Audio */ - M4VIDEOEDITING_AudioFormat AudioStreamType; /**< Format of the audio stream */ - M4OSA_UInt32 uiClipAudioDuration; /**< Audio track duration (in ms) */ - M4OSA_UInt32 uiAudioBitrate; /**< Audio average bitrate (in bps) */ - M4OSA_UInt32 uiAudioMaxAuSize; /**< Maximum Access Unit size of the - audio stream */ - M4OSA_UInt32 uiNbChannels; /**< Number of channels - (1=mono, 2=stereo) */ - M4OSA_UInt32 uiSamplingFrequency; /**< Sampling audio frequency - (8000 for amr, 16000 or more for aac) */ - M4OSA_UInt32 uiExtendedSamplingFrequency; /**< Extended frequency for - AAC+, eAAC+ streams */ - M4OSA_UInt32 uiDecodedPcmSize; /**< Size of the decoded PCM data */ - - /** - * Video editing compatibility chart */ - M4OSA_Bool bVideoIsEditable; /**< Video stream can be decoded and - re-encoded */ - M4OSA_Bool bAudioIsEditable; /**< Audio stream can be decoded and - re-encoded */ - M4OSA_Bool bVideoIsCompatibleWithMasterClip; /**< Video properties match reference - clip properties */ - M4OSA_Bool bAudioIsCompatibleWithMasterClip; /**< Audio properties match reference - clip properties */ - - /** - * Still Picture */ - M4OSA_UInt32 uiStillPicWidth; /**< Image width */ - M4OSA_UInt32 uiStillPicHeight; /**< Image height */ - M4OSA_UInt32 uiClipAudioVolumePercentage; - M4OSA_Bool bSetImageData; - - M4OSA_Int32 videoRotationDegrees; /**< Video rotation degree */ - -} M4VIDEOEDITING_ClipProperties; - - -#ifdef __cplusplus - } -#endif - -#endif /* __M4_VIDEOEDITINGCOMMON_H__ */ - diff --git a/libvideoeditor/vss/common/inc/MonoTo2I_16.h b/libvideoeditor/vss/common/inc/MonoTo2I_16.h deleted file mode 100755 index 74b1c8a..0000000 --- a/libvideoeditor/vss/common/inc/MonoTo2I_16.h +++ /dev/null @@ -1,30 +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. - */ - -#ifndef _MONOTO2I_16_H_ -#define _MONOTO2I_16_H_ - - -void MonoTo2I_16( const short *src, - short *dst, - short n); - -/**********************************************************************************/ - -#endif /* _MONOTO2I_16_H_ */ - -/**********************************************************************************/ - diff --git a/libvideoeditor/vss/common/inc/NXPSW_CompilerSwitches.h b/libvideoeditor/vss/common/inc/NXPSW_CompilerSwitches.h deleted file mode 100755 index 13cac6d..0000000 --- a/libvideoeditor/vss/common/inc/NXPSW_CompilerSwitches.h +++ /dev/null @@ -1,26 +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. - */ - -#ifndef NXPSW_COMPILERSWITCHES_H -#define NXPSW_COMPILERSWITCHES_H - -/* ----- Main features ----- */ -#include "NXPSW_CompilerSwitches_MCS.h" /* Transcoder */ - -/* ----- Add-ons ----- */ - -#endif /* NXPSW_COMPILERSWITCHES_H */ - diff --git a/libvideoeditor/vss/common/inc/NXPSW_CompilerSwitches_MCS.h b/libvideoeditor/vss/common/inc/NXPSW_CompilerSwitches_MCS.h deleted file mode 100755 index e1b62e1..0000000 --- a/libvideoeditor/vss/common/inc/NXPSW_CompilerSwitches_MCS.h +++ /dev/null @@ -1,132 +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. - */ -#ifndef NXPSW_COMPILERSWITCHES_MCS_H -#define NXPSW_COMPILERSWITCHES_MCS_H - - /***********/ - /* READERS */ - /***********/ - -/* ----- AMR reader support ----- */ -#define M4VSS_SUPPORT_READER_AMR /**< [default] Support .amr files */ - -/* ----- 3GPP reader support ----- */ -#define M4VSS_SUPPORT_READER_3GP /**< [default] Support .mp4, .3gp files */ - - -/* ----- MP3 reader support ----- */ -#define M4VSS_SUPPORT_READER_MP3 /**< [default] Support .mp3 files */ - -/* ----- RAW reader support ----- */ -#define M4VSS_SUPPORT_READER_PCM /**< [default] Support .pcm files */ - - - /************/ - /* DECODERS */ - /************/ - -/* ----- AMR NB decoder support ----- */ -#define M4VSS_SUPPORT_AUDEC_AMRNB /**< [default] Support AMR NB streams */ - -/* ----- AAC decoder support ----- */ -#define M4VSS_SUPPORT_AUDEC_AAC /**< [default] Support AAC, AAC+ and eAAC+ streams */ -#define M4VSS_SUPPORT_VIDEC_NULL - -/* ----- MP4/H263 video decoder support ----- */ -#define M4VSS_SUPPORT_VIDEC_3GP /**< [default] Support mpeg4 and H263 decoders */ - -#ifdef M4VSS_SUPPORT_VIDEC_3GP -#define GET_DECODER_CONFIG_INFO -#endif - -#define M4VSS_SUPPORT_VIDEO_AVC /**< [default] Support H264 decoders */ - -/* ----- MP3 decoder support----- */ -#define M4VSS_SUPPORT_AUDEC_MP3 /**< [default] Support MP3 decoders */ - - -/* ----- NULL decoder support----- */ -#define M4VSS_SUPPORT_AUDEC_NULL /** [default] Support PCM reading */ - - - /***********/ - /* WRITERS */ - /***********/ - -/* ----- 3gp writer ----- */ -#define M4VSS_SUPPORT_WRITER_3GPP /**< [default] support encapsulating in 3gp format - {amr,aac} x {mpeg4,h263} */ - - - - - - /************/ - /* ENCODERS */ - /************/ - -/* ----- mpeg4 & h263 encoder ----- */ -#define M4VSS_SUPPORT_ENCODER_MPEG4 /**< [default] support encoding in mpeg4 and - h263 format {yuv,rgb} */ - -/* ----- h264 encoder ----- */ -#define M4VSS_SUPPORT_ENCODER_AVC - -/* ----- amr encoder ----- */ -#define M4VSS_SUPPORT_ENCODER_AMR /**< [default] support encoding in amr 12.2 format {amr,wav} */ - -/* ----- aac encoder ----- */ -#define M4VSS_SUPPORT_ENCODER_AAC /**< [default] support encoding in aac format {amr,wav} */ - - -/* ----- mp3 encoder ----- */ -#define M4VSS_SUPPORT_ENCODER_MP3 /**< [default] support encoding in mp3 format {mp3} */ - - /************/ - /* FEATURES */ - /************/ - -/* ----- VSS3GPP & xVSS ----- */ -#define M4VSS_SUPPORT_EXTENDED_FEATURES /**< [default] if defined, implementation is xVSS else - it is VSS3GPP */ - -/* ----- SPS ----- */ -#ifdef M4VSS_SUPPORT_EXTENDED_FEATURES - -//#define M4SPS_GIF_NOT_SUPPORTED /**< [option] do not support GIF format in still picture api */ -//#define M4SPS_JPEG_NOT_SUPPORTED /**< [option] do not support JPEG format in still picture api */ -//#define M4SPS_PNG_NOT_SUPPORTED /**< [option] do not support PNG format in still picture api */ -#define M4SPS_WBMP_NOT_SUPPORTED /**< [option] do not support WBMP format in still picture api */ -#define M4SPS_BGR565_COLOR_OUTPUT /**< [option] output in still picture api is BGR565 - (default = BGR24) */ - -#else - -#define M4SPS_GIF_NOT_SUPPORTED /**< [option] do not support GIF format in still picture api */ -//#define M4SPS_JPEG_NOT_SUPPORTED /**< [option] do not support JPEG format in still picture api */ -#define M4SPS_PNG_NOT_SUPPORTED /**< [option] do not support PNG format in still picture api */ -#define M4SPS_WBMP_NOT_SUPPORTED /**< [option] do not support WBMP format in still picture api */ -//#define M4SPS_BGR565_COLOR_OUTPUT /**< [option] output in still picture api is BGR565 -// (default = BGR24) */ - -#endif - -#define M4VSS_ENABLE_EXTERNAL_DECODERS - -#define M4VSS_SUPPORT_OMX_CODECS - -#endif /* NXPSW_COMPILERSWITCHES_MCS_H */ - diff --git a/libvideoeditor/vss/common/inc/SSRC.h b/libvideoeditor/vss/common/inc/SSRC.h deleted file mode 100755 index 2b1cfcf..0000000 --- a/libvideoeditor/vss/common/inc/SSRC.h +++ /dev/null @@ -1,296 +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. - */ - -/****************************************************************************************/ -/* */ -/* Project:: */ -/* %name: SSRC.h % */ -/* */ -/****************************************************************************************/ - -/* - The input and output blocks of the SRC are by default blocks of 40 ms. This means that - the following default block sizes are used: - - Fs Default Block size - ----- ---------- - 8000 320 - 11025 441 - 12000 480 - 16000 640 - 22050 882 - 24000 960 - 32000 1280 - 44100 1764 - 48000 1920 - - An API is provided to change the default block size into any multiple of the minimal - block size. - - All the sampling rates above are supported as input and as output sampling rate -*/ - -#ifndef __SSRC_H__ -#define __SSRC_H__ - -/**************************************************************************************** - INCLUDES -*****************************************************************************************/ - -#include "LVM_Types.h" - -/**************************************************************************************** - DEFINITIONS -*****************************************************************************************/ - -#define SSRC_INSTANCE_SIZE 548 -#define SSRC_INSTANCE_ALIGNMENT 4 -#define SSRC_SCRATCH_ALIGNMENT 4 - -/**************************************************************************************** - TYPE DEFINITIONS -*****************************************************************************************/ - -/* Status return values */ -typedef enum -{ - SSRC_OK = 0, /* Successful return from a routine */ - SSRC_INVALID_FS = 1, /* The input or the output sampling rate is - invalid */ - SSRC_INVALID_NR_CHANNELS = 2, /* The number of channels is not equal to mono - or stereo */ - SSRC_NULL_POINTER = 3, /* One of the input pointers is NULL */ - SSRC_WRONG_NR_SAMPLES = 4, /* Invalid number of samples */ - SSRC_ALLINGMENT_ERROR = 5, /* The instance memory or the scratch memory - is not alligned */ - SSRC_INVALID_MODE = 6, /* A wrong value has been used for the mode - parameter */ - SSRC_INVALID_VALUE = 7, /* An invalid (out of range) value has been - used for one of the parameters */ - LVXXX_RETURNSTATUS_DUMMY = LVM_MAXENUM -} SSRC_ReturnStatus_en; - -/* Instance memory */ -typedef struct -{ - LVM_INT32 Storage [ SSRC_INSTANCE_SIZE/4 ]; -} SSRC_Instance_t; - -/* Scratch memory */ -typedef LVM_INT32 SSRC_Scratch_t; - -/* Nuber of samples mode */ -typedef enum -{ - SSRC_NR_SAMPLES_DEFAULT = 0, - SSRC_NR_SAMPLES_MIN = 1, - SSRC_NR_SAMPLES_DUMMY = LVM_MAXENUM -} SSRC_NR_SAMPLES_MODE_en; - -/* Instance parameters */ -typedef struct -{ - LVM_Fs_en SSRC_Fs_In; - LVM_Fs_en SSRC_Fs_Out; - LVM_Format_en SSRC_NrOfChannels; - LVM_INT16 NrSamplesIn; - LVM_INT16 NrSamplesOut; -} SSRC_Params_t; - - -/**************************************************************************************** - FUNCTION PROTOTYPES -*****************************************************************************************/ - - -/****************************************************************************************/ -/* */ -/* FUNCTION: SSRC_GetNrSamples */ -/* */ -/* DESCRIPTION: */ -/* This function retrieves the number of samples (or sample pairs for stereo) to be */ -/* used as input and as output of the SSRC module. */ -/* */ -/* PARAMETERS: */ -/* Mode There are two modes: */ -/* - SSRC_NR_SAMPELS_DEFAULT. In this mode, the function */ -/* will return the number of samples for 40 ms blocks */ -/* - SSRC_NR_SAMPELS_MIN will return the minimal number */ -/* of samples that is supported for this conversion */ -/* ratio. Each integer multiple of this ratio will */ -/* be accepted by the SSRC_Init function */ -/* */ -/* pSSRC_Params pointer to the instance parameters */ -/* */ -/* RETURNS: */ -/* SSRC_OK Succeeded */ -/* SSRC_INVALID_FS When the requested input or output sampling rates */ -/* are invalid. */ -/* SSRC_INVALID_NR_CHANNELS When the channel format is not equal to LVM_MONO */ -/* or LVM_STEREO */ -/* SSRC_NULL_POINTER When pSSRC_Params is a NULL pointer */ -/* SSRC_INVALID_MODE When Mode is not a valid setting */ -/* */ -/* */ -/* NOTES: */ -/* */ -/****************************************************************************************/ - -SSRC_ReturnStatus_en SSRC_GetNrSamples( SSRC_NR_SAMPLES_MODE_en Mode, - SSRC_Params_t* pSSRC_Params ); - - -/****************************************************************************************/ -/* */ -/* FUNCTION: SSRC_GetScratchSize */ -/* */ -/* DESCRIPTION: */ -/* This function retrieves the scratch size for a given conversion ratio and */ -/* for given buffer sizes at the input and at the output */ -/* */ -/* PARAMETERS: */ -/* pSSRC_Params pointer to the instance parameters */ -/* pScratchSize pointer to the scratch size. The SSRC_GetScratchSize */ -/* function will fill in the correct value (in bytes). */ -/* */ -/* RETURNS: */ -/* SSRC_OK when the function call succeeds */ -/* SSRC_INVALID_FS When the requested input or output sampling rates */ -/* are invalid. */ -/* SSRC_INVALID_NR_CHANNELS When the channel format is not equal to LVM_MONO */ -/* or LVM_STEREO */ -/* SSRC_NULL_POINTER When any of the input pointers is a NULL pointer */ -/* SSRC_WRONG_NR_SAMPLES When the number of samples on the input or on the output */ -/* are incorrect */ -/* */ -/* NOTES: */ -/* */ -/****************************************************************************************/ - -SSRC_ReturnStatus_en SSRC_GetScratchSize( SSRC_Params_t* pSSRC_Params, - LVM_INT32* pScratchSize ); - - -/****************************************************************************************/ -/* */ -/* FUNCTION: SSRC_Init */ -/* */ -/* DESCRIPTION: */ -/* This function is used to initialize the SSRC module instance. */ -/* */ -/* PARAMETERS: */ -/* pSSRC_Instance Instance pointer */ -/* */ -/* pSSRC_Scratch pointer to the scratch memory */ -/* pSSRC_Params pointer to the instance parameters */ -/* pInputInScratch, pointer to a location in the scratch memory that can be */ -/* used to store the input samples (e.g. to save memory) */ -/* pOutputInScratch pointer to a location in the scratch memory that can be */ -/* used to store the output samples (e.g. to save memory) */ -/* */ -/* RETURNS: */ -/* SSRC_OK Succeeded */ -/* SSRC_INVALID_FS When the requested input or output sampling rates */ -/* are invalid. */ -/* SSRC_INVALID_NR_CHANNELS When the channel format is not equal to LVM_MONO */ -/* or LVM_STEREO */ -/* SSRC_WRONG_NR_SAMPLES When the number of samples on the input or the output */ -/* are incorrect */ -/* SSRC_NULL_POINTER When any of the input pointers is a NULL pointer */ -/* SSRC_ALLINGMENT_ERROR When the instance memory or the scratch memory is not */ -/* 4 bytes alligned */ -/* */ -/* NOTES: */ -/* 1. The init function will clear the internal state */ -/* */ -/****************************************************************************************/ - -SSRC_ReturnStatus_en SSRC_Init( SSRC_Instance_t* pSSRC_Instance, - SSRC_Scratch_t* pSSRC_Scratch, - SSRC_Params_t* pSSRC_Params, - LVM_INT16** ppInputInScratch, - LVM_INT16** ppOutputInScratch); - - -/****************************************************************************************/ -/* */ -/* FUNCTION: SSRC_SetGains */ -/* */ -/* DESCRIPTION: */ -/* This function sets headroom gain and the post gain of the SSRC */ -/* */ -/* PARAMETERS: */ -/* bHeadroomGainEnabled parameter to enable or disable the headroom gain of the */ -/* SSRC. The default value is LVM_MODE_ON. LVM_MODE_OFF */ -/* can be used in case it can be guaranteed that the input */ -/* level is below -6dB in all cases (the default headroom */ -/* is -6 dB) */ -/* */ -/* bOutputGainEnabled parameter to enable or disable the output gain. The */ -/* default value is LVM_MODE_ON */ -/* */ -/* OutputGain the value of the output gain. The output gain is a linear */ -/* gain value. 0x7FFF is equal to +6 dB and 0x0000 corresponds */ -/* to -inf dB. By default, a 3dB gain is applied, resulting */ -/* in an overall gain of -3dB (-6dB headroom + 3dB output gain)*/ -/* */ -/* RETURNS: */ -/* SSRC_OK Succeeded */ -/* SSRC_NULL_POINTER When pSSRC_Instance is a NULL pointer */ -/* SSRC_INVALID_MODE Wrong value used for the bHeadroomGainEnabled or the */ -/* bOutputGainEnabled parameters. */ -/* SSRC_INVALID_VALUE When OutputGain is out to the range [0;32767] */ -/* */ -/* NOTES: */ -/* 1. The SSRC_SetGains function is an optional function that should only be used */ -/* in rare cases. Preferably, use the default settings. */ -/* */ -/****************************************************************************************/ - -SSRC_ReturnStatus_en SSRC_SetGains( SSRC_Instance_t* pSSRC_Instance, - LVM_Mode_en bHeadroomGainEnabled, - LVM_Mode_en bOutputGainEnabled, - LVM_INT16 OutputGain ); - - -/****************************************************************************************/ -/* */ -/* FUNCTION: SSRC_Process */ -/* */ -/* DESCRIPTION: */ -/* Process function for the SSRC module. */ -/* */ -/* PARAMETERS: */ -/* pSSRC_Instance Instance pointer */ -/* pSSRC_AudioIn Pointer to the input data */ -/* pSSRC_AudioOut Pointer to the output data */ -/* */ -/* RETURNS: */ -/* SSRC_OK Succeeded */ -/* SSRC_NULL_POINTER When one of pSSRC_Instance, pSSRC_AudioIn or pSSRC_AudioOut */ -/* is NULL */ -/* */ -/* NOTES: */ -/* */ -/****************************************************************************************/ - -SSRC_ReturnStatus_en SSRC_Process( SSRC_Instance_t* pSSRC_Instance, - LVM_INT16* pSSRC_AudioIn, - LVM_INT16* pSSRC_AudioOut); - -/****************************************************************************************/ - -#endif /* __SSRC_H__ */ diff --git a/libvideoeditor/vss/common/inc/VideoEditorResampler.h b/libvideoeditor/vss/common/inc/VideoEditorResampler.h deleted file mode 100755 index b8497d3..0000000 --- a/libvideoeditor/vss/common/inc/VideoEditorResampler.h +++ /dev/null @@ -1,45 +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. - */ - -#ifndef VIDEOEDITORRESAMPLER_H -#define VIDEOEDITORRESAMPLER_H -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -#include "M4OSA_Types.h" - -M4OSA_Context LVAudioResamplerCreate(M4OSA_Int32 bitDepth, M4OSA_Int32 inChannelCount, - M4OSA_Int32 sampleRate, M4OSA_Int32 quality); -void LVAudiosetSampleRate(M4OSA_Context resamplerContext,M4OSA_Int32 inSampleRate); -void LVAudiosetVolume(M4OSA_Context resamplerContext, M4OSA_Int16 left, M4OSA_Int16 right) ; -void LVAudioresample_LowQuality(M4OSA_Int16* out, M4OSA_Int16* input, - M4OSA_Int32 outFrameCount, M4OSA_Context resamplerContext); -void LVDestroy(M4OSA_Context resamplerContext); - -void MonoTo2I_16( const M4OSA_Int16 *src, - M4OSA_Int16 *dst, - M4OSA_Int16 n); - -void From2iToMono_16( const M4OSA_Int16 *src, - M4OSA_Int16 *dst, - M4OSA_Int16 n); -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* VIDEOEDITORRESAMPLER_H */ - - |