diff options
Diffstat (limited to 'libvideoeditor/vss/inc/M4VSS3GPP_Extended_API.h')
-rwxr-xr-x | libvideoeditor/vss/inc/M4VSS3GPP_Extended_API.h | 302 |
1 files changed, 0 insertions, 302 deletions
diff --git a/libvideoeditor/vss/inc/M4VSS3GPP_Extended_API.h b/libvideoeditor/vss/inc/M4VSS3GPP_Extended_API.h deleted file mode 100755 index 9668b67..0000000 --- a/libvideoeditor/vss/inc/M4VSS3GPP_Extended_API.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. - */ - -#ifndef __M4VSS3GPP_EXTENDED_API_H__ -#define __M4VSS3GPP_EXTENDED_API_H__ - -/** - ****************************************************************************** - * @file M4VSS3GPP_Extended_API.h - * @brief API of xVSS - * @note - ****************************************************************************** -*/ - -#ifndef M4VSS_SUPPORT_EXTENDED_FEATURES -#error "*** the flag M4VSS_SUPPORT_EXTENDED_FEATURES should be activated in CompilerSwitches\ - for VideoStudio ***" -#endif - -/** - ****************************************************************************** - * prototype M4xVSS_getTextRgbBufferFct - * @brief External text to RGB buffer functions implemented by the integrator - * must match this prototype. - * @note The function is provided with the renderingData, the text buffer and - * its size. It must build the output RGB image plane containing the text. - * - * @param pRenderingData (IN) The data given by the user in M4xVSS_EffectSettings - * @param pTextBuffer (IN) Text buffer given by the user in M4xVSS_EffectSettings - * @param textBufferSize (IN) Text buffer size given by the user in M4xVSS_EffectSettings - * @param pOutputPlane (IN/OUT) Output RGB565 image - * @return M4NO_ERROR: No error - * @return M4ERR_PARAMETER: At least one parameter is M4OSA_NULL (debug only) - ****************************************************************************** -*/ -typedef M4OSA_ERR (*M4xVSS_getTextRgbBufferFct) -( - M4OSA_Void *pRenderingData, - M4OSA_Void *pTextBuffer, - M4OSA_UInt32 textBufferSize, - M4VIFI_ImagePlane **pOutputPlane -); - -/** - ****************************************************************************** - * struct M4xVSS_BGMSettings - * @brief This structure gathers all the information needed to add Background music to 3gp file - ****************************************************************************** -*/ -typedef struct -{ - M4OSA_Void *pFile; /**< Input file path */ - M4VIDEOEDITING_FileType FileType; /**< .3gp, .amr, .mp3 */ - M4OSA_UInt32 uiAddCts; /**< Time, in milliseconds, at which the added - audio track is inserted */ - M4OSA_UInt32 uiAddVolume; /**< Volume, in percentage, of the added audio track */ - M4OSA_UInt32 uiBeginLoop; /**< Describes in milli-second the start time - of the loop */ - M4OSA_UInt32 uiEndLoop; /**< Describes in milli-second the end time of the - loop (0 means no loop) */ - M4OSA_Bool b_DuckingNeedeed; - M4OSA_Int32 InDucking_threshold; /**< Threshold value at which background - music shall duck */ - M4OSA_Float lowVolume; /**< lower the background track to this factor - and increase the primary track to inverse of this factor */ - M4OSA_Bool bLoop; - M4OSA_UInt32 uiSamplingFrequency; - M4OSA_UInt32 uiNumChannels; -} M4xVSS_BGMSettings; - - -/** - ****************************************************************************** - * enum M4VSS3GPP_VideoEffectType - * @brief This enumeration defines the video effect types of the VSS3GPP - ****************************************************************************** -*/ -typedef enum -{ - M4VSS3GPP_kRGB888 = 0, /**< RGB888 data type */ - M4VSS3GPP_kRGB565 = 1 /**< RGB565 data type */ - -} M4VSS3GPP_RGBType; - -/** - ****************************************************************************** - * struct M4xVSS_EffectSettings - * @brief This structure defines an audio/video effect for the edition. - ****************************************************************************** -*/ -typedef struct -{ - /**< In percent of the cut clip duration */ - M4OSA_UInt32 uiStartPercent; - /**< In percent of the ((clip duration) - (effect starttime)) */ - M4OSA_UInt32 uiDurationPercent; - /**< Framing file path (GIF/PNG file), used only if VideoEffectType == framing */ - M4OSA_Void *pFramingFilePath; - /**< Framing RGB565 buffer, used only if VideoEffectType == framing */ - M4VIFI_ImagePlane *pFramingBuffer; - /**<RGB Buffer type,used only if VideoEffectType == framing */ - M4VSS3GPP_RGBType rgbType; - /**< The top-left X coordinate in the output picture where the added frame will be displayed. - Used only if VideoEffectType == framing || VideoEffectType == text */ - M4OSA_UInt32 topleft_x; - /**< The top-left Y coordinate in the output picture where the added frame will be displayed. - Used only if VideoEffectType == framing || VideoEffectType == text */ - M4OSA_UInt32 topleft_y; - /**< Does framing image is resized to output video size. - Used only if VideoEffectType == framing */ - M4OSA_Bool bResize; - M4VIDEOEDITING_VideoFrameSize framingScaledSize; -/**< Size to which the the framing file needs to be resized */ - /**< Text buffer. Used only if VideoEffectType == text */ - M4OSA_Void* pTextBuffer; - /**< Text buffer size. Used only if VideoEffectType == text */ - M4OSA_UInt32 textBufferSize; - /**< Pointer containing specific data used by the font engine (size, color...) */ - M4OSA_Void* pRenderingData; - /**< Text plane width. Used only if VideoEffectType == text */ - M4OSA_UInt32 uiTextBufferWidth; - /**< Text plane height. Used only if VideoEffectType == text */ - M4OSA_UInt32 uiTextBufferHeight; - /**< Processing rate of the effect added when using the Fifties effect */ - M4OSA_UInt32 uiFiftiesOutFrameRate; - /**< RGB16 input color of the effect added when using the rgb16 color effect */ - M4OSA_UInt16 uiRgb16InputColor; - - M4OSA_UInt8 uialphaBlendingStart; /*Start percentage of Alpha blending*/ - M4OSA_UInt8 uialphaBlendingMiddle; /*Middle percentage of Alpha blending*/ - M4OSA_UInt8 uialphaBlendingEnd; /*End percentage of Alpha blending*/ - M4OSA_UInt8 uialphaBlendingFadeInTime; /*Duration, in percentage of - effect duration, of the FadeIn phase*/ - M4OSA_UInt8 uialphaBlendingFadeOutTime; /*Duration, in percentage of effect - duration, of the FadeOut phase*/ - M4OSA_UInt32 width; /*width of the ARGB8888 clip . - Used only if video effect is framming */ - M4OSA_UInt32 height; /*height of the ARGB8888 clip . - Used only if video effect is framming */ -} M4xVSS_EffectSettings; - -/** - ****************************************************************************** - * struct M4xVSS_AlphaMagicSettings - * @brief This structure defines the alpha magic transition settings - ****************************************************************************** -*/ -typedef struct -{ - M4OSA_Void* pAlphaFilePath; /**< Alpha file path (JPG file) */ - M4OSA_Int32 blendingPercent; /**< Blending Percentage between 0 and 100 */ - M4OSA_Bool isreverse; /**< direct effect or reverse */ - /*To support ARGB8888 : get the width and height */ - M4OSA_UInt32 width; - M4OSA_UInt32 height; -} M4xVSS_AlphaMagicSettings; - -/** - ****************************************************************************** - * enum M4xVSS_SlideTransition_Direction - * @brief Defines directions for the slide transition - ****************************************************************************** -*/ - -typedef enum { - M4xVSS_SlideTransition_RightOutLeftIn, - M4xVSS_SlideTransition_LeftOutRightIn, - M4xVSS_SlideTransition_TopOutBottomIn, - M4xVSS_SlideTransition_BottomOutTopIn -} M4xVSS_SlideTransition_Direction; - -/** - ****************************************************************************** - * struct M4xVSS_AlphaMagicSettings - * @brief This structure defines the slide transition settings - ****************************************************************************** -*/ - -typedef struct -{ - M4xVSS_SlideTransition_Direction direction; /* direction of the slide */ -} M4xVSS_SlideTransitionSettings; - -/** - ****************************************************************************** - * struct M4xVSS_TransitionSettings - * @brief This structure defines additional transition settings specific to - * xVSS, which are appended to the VSS3GPP transition settings - * structure. - ****************************************************************************** -*/ -typedef struct -{ - /* Anything xVSS-specific, but common to all transitions, would go here, - before the union. */ - union { - /**< AlphaMagic settings, used only if VideoTransitionType == - M4xVSS_kVideoTransitionType_AlphaMagic */ - M4xVSS_AlphaMagicSettings *pAlphaMagicSettings; - /* only in case of slide transition. */ - M4xVSS_SlideTransitionSettings *pSlideTransitionSettings; - } transitionSpecific; -} M4xVSS_TransitionSettings; - - -/** - ****************************************************************************** - * enum M4xVSS_MediaRendering - * @brief This enum defines different media rendering using exif orientation - ****************************************************************************** -*/ -typedef enum -{ - M4xVSS_kResizing = 0, /*The picture is resized, the aspect ratio can be different - from the original one. All of the picture is rendered*/ - M4xVSS_kCropping, /*The picture is cropped, the aspect ratio is the same as - the original one. The picture is not rendered entirely*/ - M4xVSS_kBlackBorders /*Black borders are rendered in order to keep the original - aspect ratio. All the picture is rendered*/ - -} M4xVSS_MediaRendering; - - -/** - ****************************************************************************** - * struct M4xVSS_ClipSettings - * @brief This structure defines an input clip for the edition. - * @note It also contains the settings for the cut and begin/end effects applied to the clip. - ****************************************************************************** -*/ -typedef struct -{ - M4OSA_UInt32 uiBeginCutPercent; /**< Begin cut time, in percent of clip - duration (only for 3GPP clip !) */ - M4OSA_UInt32 uiEndCutPercent; /**< End cut time, in percent of clip - duration (only for 3GPP clip !) */ - M4OSA_UInt32 uiDuration; /**< Duration of the clip, if different - from 0, has priority on - uiEndCutTime or uiEndCutPercent */ - M4OSA_Bool isPanZoom; /**< RC: Boolean used to know if the - pan and zoom mode is enabled */ - M4OSA_UInt16 PanZoomXa; /**< RC */ - M4OSA_UInt16 PanZoomTopleftXa; /**< RC */ - M4OSA_UInt16 PanZoomTopleftYa; /**< RC */ - M4OSA_UInt16 PanZoomXb; /**< RC */ - M4OSA_UInt16 PanZoomTopleftXb; /**< RC */ - M4OSA_UInt16 PanZoomTopleftYb; /**< RC */ - M4xVSS_MediaRendering MediaRendering; /**< FB only used with JPEG: to crop, - resize, or render black borders*/ - -} M4xVSS_ClipSettings; - -/** - ****************************************************************************** - * struct M4xVSS_EditSettings - * @brief This structure gathers all the information needed to define a complete - * edition operation - ****************************************************************************** -*/ -typedef struct -{ - /**< Output video size */ - M4VIDEOEDITING_VideoFrameSize outputVideoSize; - /**< Output video format (MPEG4 / H263) */ - M4VIDEOEDITING_VideoFormat outputVideoFormat; - /**< Output audio format (AAC, AMRNB ...) */ - M4VIDEOEDITING_AudioFormat outputAudioFormat; - /**< Output audio sampling freq (8000Hz,...) */ - M4VIDEOEDITING_AudioSamplingFrequency outputAudioSamplFreq; - /**< Maximum output file size in BYTES (if set to 0, no limit */ - M4OSA_UInt32 outputFileSize; - /**< Is output audio must be Mono ? Valid only for AAC */ - M4OSA_Bool bAudioMono; - /**< Output video bitrate*/ - M4OSA_UInt32 outputVideoBitrate; - /**< Output audio bitrate*/ - M4OSA_UInt32 outputAudioBitrate; - /**< Background music track settings */ - M4xVSS_BGMSettings *pBGMtrack; - /**< Function pointer on text rendering engine, if not used, must be set to NULL !! */ - M4xVSS_getTextRgbBufferFct pTextRenderingFct; - /** output video profile and level*/ - M4OSA_Int32 outputVideoProfile; - M4OSA_Int32 outputVideoLevel; - -} M4xVSS_EditSettings; - -#endif /* __M4VSS3GPP_EXTENDED_API_H__ */ - |