17c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* 27c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Copyright (C) 2011 The Android Open Source Project 37c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 47c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Licensed under the Apache License, Version 2.0 (the "License"); 57c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * you may not use this file except in compliance with the License. 67c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * You may obtain a copy of the License at 77c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 87c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * http://www.apache.org/licenses/LICENSE-2.0 97c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Unless required by applicable law or agreed to in writing, software 117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * distributed under the License is distributed on an "AS IS" BASIS, 127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * See the License for the specific language governing permissions and 147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * limitations under the License. 157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifndef __M4VSS3GPP_EXTENDED_API_H__ 187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define __M4VSS3GPP_EXTENDED_API_H__ 197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @file M4VSS3GPP_Extended_API.h 237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief API of xVSS 247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifndef M4VSS_SUPPORT_EXTENDED_FEATURES 297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#error "*** the flag M4VSS_SUPPORT_EXTENDED_FEATURES should be activated in CompilerSwitches\ 307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi for VideoStudio ***" 317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif 327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * prototype M4xVSS_getTextRgbBufferFct 367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief External text to RGB buffer functions implemented by the integrator 377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * must match this prototype. 387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note The function is provided with the renderingData, the text buffer and 397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * its size. It must build the output RGB image plane containing the text. 407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pRenderingData (IN) The data given by the user in M4xVSS_EffectSettings 427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pTextBuffer (IN) Text buffer given by the user in M4xVSS_EffectSettings 437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param textBufferSize (IN) Text buffer size given by the user in M4xVSS_EffectSettings 447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pOutputPlane (IN/OUT) Output RGB565 image 457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: At least one parameter is M4OSA_NULL (debug only) 477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef M4OSA_ERR (*M4xVSS_getTextRgbBufferFct) 507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi( 517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void *pRenderingData, 527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void *pTextBuffer, 537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 textBufferSize, 547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIFI_ImagePlane **pOutputPlane 557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi); 567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4xVSS_BGMSettings 607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure gathers all the information needed to add Background music to 3gp file 617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void *pFile; /**< Input file path */ 667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_FileType FileType; /**< .3gp, .amr, .mp3 */ 677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiAddCts; /**< Time, in milliseconds, at which the added 687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi audio track is inserted */ 697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiAddVolume; /**< Volume, in percentage, of the added audio track */ 707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiBeginLoop; /**< Describes in milli-second the start time 717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi of the loop */ 727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiEndLoop; /**< Describes in milli-second the end time of the 737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi loop (0 means no loop) */ 747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool b_DuckingNeedeed; 757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Int32 InDucking_threshold; /**< Threshold value at which background 767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi music shall duck */ 777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Float lowVolume; /**< lower the background track to this factor 787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi and increase the primary track to inverse of this factor */ 797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bLoop; 807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiSamplingFrequency; 817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiNumChannels; 827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4xVSS_BGMSettings; 837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VSS3GPP_VideoEffectType 887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enumeration defines the video effect types of the VSS3GPP 897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kRGB888 = 0, /**< RGB888 data type */ 947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kRGB565 = 1 /**< RGB565 data type */ 957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_RGBType; 977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4xVSS_EffectSettings 1017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure defines an audio/video effect for the edition. 1027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 1057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< In percent of the cut clip duration */ 1077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiStartPercent; 1087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< In percent of the ((clip duration) - (effect starttime)) */ 1097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiDurationPercent; 1107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Framing file path (GIF/PNG file), used only if VideoEffectType == framing */ 1117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void *pFramingFilePath; 1127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Framing RGB565 buffer, used only if VideoEffectType == framing */ 1137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIFI_ImagePlane *pFramingBuffer; 1147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**<RGB Buffer type,used only if VideoEffectType == framing */ 1157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_RGBType rgbType; 1167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< The top-left X coordinate in the output picture where the added frame will be displayed. 1177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi Used only if VideoEffectType == framing || VideoEffectType == text */ 1187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 topleft_x; 1197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< The top-left Y coordinate in the output picture where the added frame will be displayed. 1207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi Used only if VideoEffectType == framing || VideoEffectType == text */ 1217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 topleft_y; 1227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Does framing image is resized to output video size. 1237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi Used only if VideoEffectType == framing */ 1247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bResize; 1257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_VideoFrameSize framingScaledSize; 1267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/**< Size to which the the framing file needs to be resized */ 1277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Text buffer. Used only if VideoEffectType == text */ 1287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void* pTextBuffer; 1297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Text buffer size. Used only if VideoEffectType == text */ 1307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 textBufferSize; 1317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Pointer containing specific data used by the font engine (size, color...) */ 1327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void* pRenderingData; 1337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Text plane width. Used only if VideoEffectType == text */ 1347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiTextBufferWidth; 1357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Text plane height. Used only if VideoEffectType == text */ 1367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiTextBufferHeight; 1377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Processing rate of the effect added when using the Fifties effect */ 1387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiFiftiesOutFrameRate; 1397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< RGB16 input color of the effect added when using the rgb16 color effect */ 1407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt16 uiRgb16InputColor; 1417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt8 uialphaBlendingStart; /*Start percentage of Alpha blending*/ 1437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt8 uialphaBlendingMiddle; /*Middle percentage of Alpha blending*/ 1447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt8 uialphaBlendingEnd; /*End percentage of Alpha blending*/ 1457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt8 uialphaBlendingFadeInTime; /*Duration, in percentage of 1467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi effect duration, of the FadeIn phase*/ 1477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt8 uialphaBlendingFadeOutTime; /*Duration, in percentage of effect 1487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi duration, of the FadeOut phase*/ 1497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 width; /*width of the ARGB8888 clip . 1507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi Used only if video effect is framming */ 1517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 height; /*height of the ARGB8888 clip . 1527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi Used only if video effect is framming */ 1537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4xVSS_EffectSettings; 1547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4xVSS_AlphaMagicSettings 1587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure defines the alpha magic transition settings 1597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 1627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void* pAlphaFilePath; /**< Alpha file path (JPG file) */ 1647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Int32 blendingPercent; /**< Blending Percentage between 0 and 100 */ 1657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool isreverse; /**< direct effect or reverse */ 1667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /*To support ARGB8888 : get the width and height */ 1677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 width; 1687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 height; 1697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4xVSS_AlphaMagicSettings; 1707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4xVSS_SlideTransition_Direction 1747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Defines directions for the slide transition 1757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum { 1797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_SlideTransition_RightOutLeftIn, 1807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_SlideTransition_LeftOutRightIn, 1817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_SlideTransition_TopOutBottomIn, 1827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_SlideTransition_BottomOutTopIn 1837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4xVSS_SlideTransition_Direction; 1847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4xVSS_AlphaMagicSettings 1887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure defines the slide transition settings 1897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 1937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_SlideTransition_Direction direction; /* direction of the slide */ 1957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4xVSS_SlideTransitionSettings; 1967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4xVSS_TransitionSettings 2007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure defines additional transition settings specific to 2017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * xVSS, which are appended to the VSS3GPP transition settings 2027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * structure. 2037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 2057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 2067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 2077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /* Anything xVSS-specific, but common to all transitions, would go here, 2087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi before the union. */ 2097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi union { 2107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< AlphaMagic settings, used only if VideoTransitionType == 2117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_kVideoTransitionType_AlphaMagic */ 2127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_AlphaMagicSettings *pAlphaMagicSettings; 2137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /* only in case of slide transition. */ 2147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_SlideTransitionSettings *pSlideTransitionSettings; 2157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi } transitionSpecific; 2167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4xVSS_TransitionSettings; 2177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4xVSS_MediaRendering 2227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enum defines different media rendering using exif orientation 2237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 2257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 2267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 2277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_kResizing = 0, /*The picture is resized, the aspect ratio can be different 2287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi from the original one. All of the picture is rendered*/ 2297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_kCropping, /*The picture is cropped, the aspect ratio is the same as 2307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi the original one. The picture is not rendered entirely*/ 2317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_kBlackBorders /*Black borders are rendered in order to keep the original 2327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi aspect ratio. All the picture is rendered*/ 2337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4xVSS_MediaRendering; 2357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4xVSS_ClipSettings 2407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure defines an input clip for the edition. 2417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note It also contains the settings for the cut and begin/end effects applied to the clip. 2427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 2447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 2457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 2467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiBeginCutPercent; /**< Begin cut time, in percent of clip 2477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi duration (only for 3GPP clip !) */ 2487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiEndCutPercent; /**< End cut time, in percent of clip 2497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi duration (only for 3GPP clip !) */ 2507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiDuration; /**< Duration of the clip, if different 2517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi from 0, has priority on 2527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi uiEndCutTime or uiEndCutPercent */ 2537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool isPanZoom; /**< RC: Boolean used to know if the 2547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi pan and zoom mode is enabled */ 2557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt16 PanZoomXa; /**< RC */ 2567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt16 PanZoomTopleftXa; /**< RC */ 2577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt16 PanZoomTopleftYa; /**< RC */ 2587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt16 PanZoomXb; /**< RC */ 2597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt16 PanZoomTopleftXb; /**< RC */ 2607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt16 PanZoomTopleftYb; /**< RC */ 2617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_MediaRendering MediaRendering; /**< FB only used with JPEG: to crop, 2627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi resize, or render black borders*/ 2637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4xVSS_ClipSettings; 2657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4xVSS_EditSettings 2697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure gathers all the information needed to define a complete 2707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * edition operation 2717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 2737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 2747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 2757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Output video size */ 2767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_VideoFrameSize outputVideoSize; 2777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Output video format (MPEG4 / H263) */ 2787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_VideoFormat outputVideoFormat; 2797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Output audio format (AAC, AMRNB ...) */ 2807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_AudioFormat outputAudioFormat; 2817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Output audio sampling freq (8000Hz,...) */ 2827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_AudioSamplingFrequency outputAudioSamplFreq; 2837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Maximum output file size in BYTES (if set to 0, no limit */ 2847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 outputFileSize; 2857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Is output audio must be Mono ? Valid only for AAC */ 2867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bAudioMono; 2877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Output video bitrate*/ 2887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 outputVideoBitrate; 2897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Output audio bitrate*/ 2907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 outputAudioBitrate; 2917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Background music track settings */ 2927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_BGMSettings *pBGMtrack; 2937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Function pointer on text rendering engine, if not used, must be set to NULL !! */ 2947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_getTextRgbBufferFct pTextRenderingFct; 2950a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury /** output video profile and level*/ 2960a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury M4OSA_Int32 outputVideoProfile; 2970a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury M4OSA_Int32 outputVideoLevel; 2987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4xVSS_EditSettings; 3007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif /* __M4VSS3GPP_EXTENDED_API_H__ */ 3027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 303