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_API_H__ 187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define __M4VSS3GPP_API_H__ 197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @file M4VSS3GPP_API.h 237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Video Studio Service 3GPP public API. 247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note VSS allows editing 3GPP files. 257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * It is a straightforward and fully synchronous API. 267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * OSAL basic types and errors */ 317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4OSA_Types.h" 327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4OSA_Error.h" 337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * OSAL types for file access */ 367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4OSA_FileReader.h" 377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4OSA_FileWriter.h" 387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Definition of M4_VersionInfo */ 417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4TOOL_VersionInfo.h" 427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Image planes definition */ 457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4VIFI_FiltersAPI.h" 467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Common definitions of video editing components */ 497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4_VideoEditingCommon.h" 507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4ENCODER_AudioCommon.h" 517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4AD_Common.h" 527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4DA_Types.h" 537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Extended API (xVSS) */ 567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef M4VSS_SUPPORT_EXTENDED_FEATURES 577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4VSS3GPP_Extended_API.h" 587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif 597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi//#include "M4VD_HW_API.h" 617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi//#include "M4VE_API.h" 627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef __cplusplus 657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargiextern "C" { 667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif 677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Edition Feature 767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Public type of the VSS edit context */ 847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef M4OSA_Void* M4VSS3GPP_EditContext; 857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VSS3GPP_VideoEffectType 907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enumeration defines the video effect types of the VSS3GPP 917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kVideoEffectType_None = 0, /**< No video effect */ 967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kVideoEffectType_FadeFromBlack = 8, /**< Intended for begin effect */ 977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kVideoEffectType_FadeToBlack = 16, /**< Intended for end effect */ 987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kVideoEffectType_External = 256 /**< External effect function is used */ 997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /* reserved 256 + n */ /**< External effect number n */ 1007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_VideoEffectType; 1027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VSS3GPP_AudioEffectType 1077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enumeration defines the audio effect types of the VSS3GPP 1087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 1107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 1117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kAudioEffectType_None = 0, 1137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kAudioEffectType_FadeIn = 8, /**< Intended for begin effect */ 1147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kAudioEffectType_FadeOut = 16 /**< Intended for end effect */ 1157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_AudioEffectType; 1177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VSS3GPP_VideoTransitionType 1227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enumeration defines the video effect that can be applied during a transition. 1237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 1257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 1267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kVideoTransitionType_None = 0, 1287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kVideoTransitionType_CrossFade = 1, 1297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kVideoTransitionType_External = 256 1307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /* reserved 256 + n */ /**< External transition number n */ 1317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_VideoTransitionType; 1337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VSS3GPP_AudioTransitionType 1387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enumeration defines the audio effect that can be applied during a transition. 1397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 1417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 1427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kAudioTransitionType_None = 0, 1447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kAudioTransitionType_CrossFade 1457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_AudioTransitionType; 1477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4VSS3GPP_ExternalProgress 1527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure contains information provided to the external Effect 1537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * and Transition functions 1547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note The uiProgress value should be enough for most cases 1557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 1577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 1587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Progress of the Effect or the Transition, from 0 to 1000 (one thousand) */ 1607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiProgress; 1617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Index of the current clip (first clip in case of a Transition), from 0 to N */ 1627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi //M4OSA_UInt8 uiCurrentClip; 1637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Current time, in milliseconds, in the current clip time-line */ 1647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiClipTime; 1657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Current time, in milliseconds, in the output clip time-line */ 1667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiOutputTime; 1677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bIsLast; 1687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_ExternalProgress; 1707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 1747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VSS3GPP_codecType 1757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enum defines the codec types used to create interfaces 1767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note This enum is used internally by the VSS3GPP services to identify 1777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * a currently supported codec interface. Each codec is 1787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * registered with one of this type associated. 1797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * When a codec instance is needed, this type is used to 1807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * identify and retrieve its interface. 1817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * This can be extended for other codecs. 1827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 1837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 1847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 1857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /* Video Decoder Types */ 1877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kVideoDecMPEG4 = 0, 1887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kVideoDecH264, 1897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /* Video Encoder Types */ 1917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kVideoEncMPEG4, 1927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kVideoEncH263, 1937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kVideoEncH264, 1947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /* Audio Decoder Types */ 1967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kAudioDecAMRNB, 1977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kAudioDecAAC, 1987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kAudioDecMP3, 1997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /* Audio Encoder Types */ 2017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kAudioEncAMRNB, 2027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kAudioEncAAC, 2037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /* number of codecs, keep it as last enum entry, before invlaid type */ 2057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kCodecType_NB, 2067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /* invalid codec type */ 2077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_kCodecTypeInvalid = 255 2087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_codecType; 2107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * prototype M4VSS3GPP_editVideoEffectFct 2157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Begin and End video effect functions implemented by the integrator 2167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * must match this prototype. 2177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note The function is provided with the original image of the clip. 2187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * It must apply the video effect to build the output image. 2197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * The progress of the effect is given, on a scale from 0 to 1000. 2207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * When the effect function is called, all the image plane structures 2217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * and buffers are valid and owned by the VSS 3GPP. 2227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 2237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pFunctionContext (IN) The function context, previously set by the integrator 2247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pInputPlanes (IN) Input YUV420 image: pointer to an array of three valid 2257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi image planes (Y, U and V) 2267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pOutputPlanes (IN/OUT) Output (filtered) YUV420 image: pointer to an array 2277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi of three valid image planes (Y, U and V) 2287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pProgress (IN) Set of information about the video transition progress. 2297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param uiExternalEffectId (IN) Which effect function should be used (for external effects) 2307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 2317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 2327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: At least one parameter is M4OSA_NULL (debug only) 2337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 2357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef M4OSA_ERR (*M4VSS3GPP_editVideoEffectFct) 2367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi( 2377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void *pFunctionContext, 2387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIFI_ImagePlane *pInputPlanes, 2397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIFI_ImagePlane *pOutputPlanes, 2407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_ExternalProgress *pProgress, 2417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiExternalEffectId 2427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi); 2437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * prototype M4VSS3GPP_editVideoTransitionFct 2487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief External transition functions implemented by the integrator 2497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * must match this prototype. 2507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note The function is provided with the image of the first clip and 2517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * the image of the second clip. It must build the output image 2527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * from the two input images. 2537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * The progress of the transition is given, on a scale from 0 to 1000. 2547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * When the external function is called, all the image plane 2557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * structures and buffers are valid and owned by the VSS 3GPP. 2567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 2577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pFunctionContext (IN) The function context, previously set by the integrator 2587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pClip1InputPlanes (IN) First input YUV420 image: pointer to an array of three 2597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi valid image planes (Y, U and V) 2607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pClip2InputPlanes (IN) Second input YUV420 image: pointer to an array of three 2617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi valid image planes (Y, U and V) 2627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pOutputPlanes (IN/OUT) Output (filtered) YUV420 image: pointer to an array 2637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi of three valid image planes (Y, U and V) 2647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pProgress (IN) Set of information about the video effect progress. 2657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param uiExternalTransitionId (IN) Which transition function should be used 2667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi (for external transitions) 2677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 2687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 2697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: At least one parameter is M4OSA_NULL (debug only) 2707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 2727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef M4OSA_ERR (*M4VSS3GPP_editVideoTransitionFct) 2737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi( 2747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void *pFunctionContext, 2757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIFI_ImagePlane *pClip1InputPlanes, 2767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIFI_ImagePlane *pClip2InputPlanes, 2777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIFI_ImagePlane *pOutputPlanes, 2787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_ExternalProgress *pProgress, 2797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiExternalTransitionId 2807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi); 2817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4VSS3GPP_EffectSettings 2867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure defines an audio/video effect for the edition. 2877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note Effect start time is relative to output clip. 2887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 2907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 2917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 2927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiStartTime; /**< In ms */ 2937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiDuration; /**< In ms */ 2947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_VideoEffectType VideoEffectType; /**< None, FadeIn, FadeOut, etc. */ 2957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_editVideoEffectFct ExtVideoEffectFct; /**< External effect function */ 2967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void *pExtVideoEffectFctCtxt;/**< Context given to the external 2977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi effect function */ 2987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_AudioEffectType AudioEffectType; /**< None, FadeIn, FadeOut */ 2997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef M4VSS_SUPPORT_EXTENDED_FEATURES 3017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_EffectSettings xVSS; 3027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif 3037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_EffectSettings; 3057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 3087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VSS3GPP_TransitionBehaviour 3107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Transition behavior 3117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 3137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 3147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 3157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_TransitionBehaviour_SpeedUp = 0, 3167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_TransitionBehaviour_Linear, 3177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_TransitionBehaviour_SpeedDown, 3187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_TransitionBehaviour_SlowMiddle, 3197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_TransitionBehaviour_FastMiddle 3207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_TransitionBehaviour; 3217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 3247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4VSS3GPP_TransitionSettings 3267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure defines the transition to be applied when assembling two clips. 3277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 3297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 3307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 3317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Duration of the transition, in milliseconds (set to 0 to get no transition) */ 3327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiTransitionDuration; 3337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Type of the video transition */ 3357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_VideoTransitionType VideoTransitionType; 3367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< External transition video effect function */ 3387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_editVideoTransitionFct ExtVideoTransitionFct; 3397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Context of the external transition video effect function */ 3417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void *pExtVideoTransitionFctCtxt; 3427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_AudioTransitionType AudioTransitionType; /**< Type of the audio transition */ 3437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_TransitionBehaviour TransitionBehaviour; /**<Transition behaviour*/ 3447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef M4VSS_SUPPORT_EXTENDED_FEATURES 3467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_TransitionSettings xVSS; 3477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif 3487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_TransitionSettings; 3507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 3537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4VSS3GPP_ClipSettings 3557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure defines an input clip for the edition. 3567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note It also contains the settings for the cut and begin/end effects applied to the clip. 3577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 3597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 3607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 3617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void *pFile; /**< Clip file descriptor */ 3627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_FileType FileType; /**< .3gp, .amr, .mp3 */ 3637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 filePathSize; /**< Clip path size 3647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi (add because of UTF16 conversion)*/ 3657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_ClipProperties ClipProperties; /**< Clip analysis previously computed 3667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi with M4VSS3GPP_editAnalyseClip */ 3677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiBeginCutTime; /**< Begin cut time, in milliseconds */ 3687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiEndCutTime; /**< End cut time, in milliseconds */ 3696e779fda8a4f6258f9b910290b2f296d18fb2585Rajneesh Chowdury M4OSA_Bool bTranscodingRequired; 3707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef M4VSS_SUPPORT_EXTENDED_FEATURES 3727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_ClipSettings xVSS; 3737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif 3747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_ClipSettings; 3767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 3797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4VSS3GPP_EditSettings 3817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure gathers all the information needed to define a complete 3827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * edition operation 3837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 3857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 3867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 3877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Number of element of the clip list pClipList */ 3887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt8 uiClipNumber; 3897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< The properties of this clip will be used as a reference for compatibility checking */ 3907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt8 uiMasterClip; 3917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< List of the input clips settings. Pointer to an array of uiClipNumber 3927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi clip settings pointers */ 3937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_ClipSettings **pClipList; 3947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< List of the transition settings. Pointer to an array of uiClipNumber-1 3957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi transition settings pointers */ 3967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_TransitionSettings **pTransitionList; 3977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_EffectSettings *Effects; /**< List of effects */ 3987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt8 nbEffects; /**< Number of effects in the above list */ 3997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Frame rate at which the modified video sections will be encoded */ 4007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_VideoFramerate videoFrameRate; 4017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void *pOutputFile; /**< Output 3GPP clip file descriptor */ 4027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiOutputPathSize; /**< Output file path size*/ 4037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< Temporary file to store metadata ("moov.bin") */ 4047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void *pTemporaryFile; 4057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 4067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef M4VSS_SUPPORT_EXTENDED_FEATURES 4077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4xVSS_EditSettings xVSS; 4087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif 4097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Float PTVolLevel; 4107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_EditSettings; 4117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 4127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 4137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 4147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 4157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_editAnalyseClip() 4167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This function allows checking if a clip is compatible with VSS 3GPP editing 4177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note It also fills a ClipAnalysis structure, which can be used to check if two 4187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * clips are compatible 4197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pClip (IN) File descriptor of the input 3GPP/MP3 clip file. 4207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pClipProperties (IN) Pointer to a valid ClipProperties structure. 4217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param FileType (IN) Type of the input file (.3gp, .amr, .mp3) 4227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 4237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: At least one parameter is M4OSA_NULL (debug only) 4247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_H263_PROFILE_NOT_SUPPORTED 4257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_INVALID_CLIP_ANALYSIS_VERSION 4267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_AMR_EDITING_UNSUPPORTED 4277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_EDITING_UNSUPPORTED_H263_PROFILE 4287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_EDITING_UNSUPPORTED_MPEG4_PROFILE 4297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_EDITING_UNSUPPORTED_MPEG4_RVLC 4307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_UNSUPPORTED_INPUT_VIDEO_FORMAT 4317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_EDITING_NO_SUPPORTED_VIDEO_STREAM_IN_FILE 4327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_EDITING_UNSUPPORTED_AUDIO_FORMAT 4337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_EDITING_NO_SUPPORTED_STREAM_IN_FILE 4347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 4357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 4367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_editAnalyseClip(M4OSA_Void *pClip, M4VIDEOEDITING_FileType FileType, 4377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_ClipProperties *pClipProperties, 4387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_FileReadPointer *pFileReadPtrFct); 4397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 4407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 4417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 4427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_editCheckClipCompatibility() 4437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This function allows checking if two clips are compatible with each other 4447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * for VSS 3GPP editing assembly feature. 4457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 4467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pClip1Properties (IN) Clip analysis of the first clip 4477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pClip2Properties (IN) Clip analysis of the second clip 4487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 4497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: At least one parameter is M4OSA_NULL (debug only) 4507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_INVALID_CLIP_ANALYSIS_VERSION 4517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_INVALID_CLIP_ANALYSIS_PLATFORM 4527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_INCOMPATIBLE_VIDEO_FORMAT 4537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_INCOMPATIBLE_VIDEO_FRAME_SIZE 4547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_INCOMPATIBLE_VIDEO_TIME_SCALE 4557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_INCOMPATIBLE_VIDEO_DATA_PARTITIONING 4567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_UNSUPPORTED_MP3_ASSEMBLY 4577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_UNSUPPORTED_INPUT_VIDEO_FORMAT 4587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 4597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 4607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_editCheckClipCompatibility(M4VIDEOEDITING_ClipProperties *pClip1Properties, 4617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_ClipProperties *pClip2Properties); 4627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 4637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 4647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 4657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_editInit() 4667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Initializes the VSS 3GPP edit operation (allocates an execution context). 4677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 4687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (OUT) Pointer on the VSS 3GPP edit context to allocate 4697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pFileReadPtrFct (IN) Pointer to OSAL file reader functions 4707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pFileWritePtrFct (IN) Pointer to OSAL file writer functions 4717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 4727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: At least one parameter is M4OSA_NULL 4737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_ALLOC: There is no more available memory 4747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 4757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 4767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_editInit( 4777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_EditContext* pContext, 4787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_FileReadPointer* pFileReadPtrFct, 4797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_FileWriterPointer* pFileWritePtrFct ); 4807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 4817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 4827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 4837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_editCreateClipSettings() 4847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Allows filling a clip settings structure with default values 4857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 4867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note WARNING: pClipSettings->pFile will be allocated in this function. 4877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 4887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pClipSettings (IN) Pointer to a valid M4VSS3GPP_ClipSettings structure 4897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pFile (IN) Clip file name 4907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param filePathSize (IN) Size of the clip path (needed for UTF16 conversion) 4917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param nbEffects (IN) Nb of effect settings to allocate 4927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 4937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: pClipSettings is M4OSA_NULL (debug only) 4947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 4957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 4967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_editCreateClipSettings(M4VSS3GPP_ClipSettings *pClipSettings, 4977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void* pFile, M4OSA_UInt32 filePathSize, 4987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt8 nbEffects); 4997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 5007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 5017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_editDuplicateClipSettings() 5037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Duplicates a clip settings structure, performing allocations if required 5047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 5057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pClipSettingsDest (IN) Pointer to a valid M4VSS3GPP_ClipSettings structure 5067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pClipSettingsOrig (IN) Pointer to a valid M4VSS3GPP_ClipSettings structure 5077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param bCopyEffects (IN) Flag to know if we have to duplicate effects (deprecated) 5087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 5097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: pClipSettings is M4OSA_NULL (debug only) 5107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 5127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_editDuplicateClipSettings(M4VSS3GPP_ClipSettings *pClipSettingsDest, 5137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_ClipSettings *pClipSettingsOrig, 5147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bCopyEffects); 5157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 5167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 5177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_editFreeClipSettings() 5197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Free the pointers allocated in the ClipSetting structure (pFile, Effects). 5207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 5217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pClipSettings (IN) Pointer to a valid M4VSS3GPP_ClipSettings structure 5227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 5237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: pClipSettings is M4OSA_NULL (debug only) 5247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 5267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_editFreeClipSettings(M4VSS3GPP_ClipSettings *pClipSettings); 5277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 5287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 5297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_editOpen() 5317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Set the VSS 3GPP input and output files, and set the settings. 5327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 5337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN) VSS 3GPP edit context 5347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pSettings (IN) Edit settings 5357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 5367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: At least one parameter is M4OSA_NULL (debug only) 5377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_STATE: VSS is not in an appropriate state for this function to be called 5387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_ALLOC: There is no more available memory 5397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 5417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_editOpen(M4VSS3GPP_EditContext pContext, M4VSS3GPP_EditSettings *pSettings); 5427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 5437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 5447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_editStep() 5467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Perform one step of editing. 5477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 5487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN) VSS 3GPP edit context 5497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pProgress (OUT) Progress percentage (0 to 100) of the editing operation 5507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 5517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: pContext is M4OSA_NULL (debug only) 5527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_STATE: VSS 3GPP is not in an appropriate state for this function to 5537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * be called 5547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_WAR_EDITING_DONE:Edition is done, user should now call M4VSS3GPP_editClose() 5557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 5577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_editStep(M4VSS3GPP_EditContext pContext, M4OSA_UInt8 *pProgress); 5587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 5597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 5607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_editClose() 5627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Finish the VSS 3GPP edit operation. 5637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note The output 3GPP file is ready to be played after this call 5647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN) VSS 3GPP edit context 5657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 5667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: pContext is M4OSA_NULL (debug only) 5677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_STATE: VSS 3GPP is not in an appropriate state for this function 5687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * to be called 5697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 5717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_editClose(M4VSS3GPP_EditContext pContext); 5727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 5737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 5747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_editCleanUp() 5767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Free all resources used by the VSS 3GPP edit operation. 5777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note The context is no more valid after this call 5787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN) VSS 3GPP edit context 5797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 5807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: pContext is M4OSA_NULL (debug only) 5817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 5837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_editCleanUp(M4VSS3GPP_EditContext pContext); 5847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 5857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 5867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 5907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Audio Mixing Feature 5917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 5927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 5957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 5967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 5977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Public type of the VSS audio mixing context */ 5987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef M4OSA_Void* M4VSS3GPP_AudioMixingContext; 5997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 6007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 6017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 6027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 6037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4VSS3GPP_AudioMixingSettings 6047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure defines the settings of the audio mixing operation. 6057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 6067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 6077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct { 6087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void* pOriginalClipFile; /**< Input 3GPP clip file */ 6097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void* pAddedAudioTrackFile; /**< New audio track */ 6107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_FileType AddedAudioFileType; /**< File Format of the new audio file */ 6117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiAddCts; /**< Time, in milliseconds, 6127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi at which the added audio track is inserted */ 6137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiAddVolume; /**< Volume, in percentage, 6147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi of the added audio track */ 6157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiBeginLoop; /**< Describes in milli-second the 6167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi start time of the loop */ 6177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiEndLoop; /**< Describes in milli-second the end 6187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi time of the loop (0 means no loop) */ 6197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bRemoveOriginal; /**< If true, the original audio track 6207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi is not taken into account */ 6217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void* pOutputClipFile; /**< Output 3GPP clip file */ 6227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void* pTemporaryFile; /**< Temporary file to store metadata 6237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ("moov.bin") */ 6247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /**< The following parameters are optionnal. They are just used in case of MP3 replacement. */ 6257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_AudioSamplingFrequency outputASF; /**< Output sampling frequency */ 6267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_AudioFormat outputAudioFormat; /**< Output audio codec(AAC/AMR)*/ 6277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_Bitrate outputAudioBitrate; /**< Output audio bitrate */ 6287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt8 outputNBChannels; /**< Output audio nb of channels */ 6297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool b_DuckingNeedeed; 6307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Int32 InDucking_threshold; 6317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Float fBTVolLevel; 6327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Float fPTVolLevel; 6337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Float InDucking_lowVolume; 6347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bLoop; 6357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiSamplingFrequency; 6367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiNumChannels; 6377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_AudioMixingSettings; 6387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 6397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 6407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 6417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_audioMixingInit(M4VSS3GPP_AudioMixingContext* pContext, 6427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4VSS3GPP_AudioMixingSettings* pSettings) 6437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Initializes the VSS audio mixing operation (allocates an execution context). 6447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 6457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (OUT) Pointer on the VSS audio mixing context to allocate 6467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pSettings (IN) Pointer to valid audio mixing settings 6477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pFileReadPtrFct (IN) Pointer to OSAL file reader functions 6487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pFileWritePtrFct (IN) Pointer to OSAL file writer functions 6497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 6507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: At least one parameter is M4OSA_NULL (debug only) 6517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_ALLOC: There is no more available memory 6527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 6537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 6547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_audioMixingInit( 6557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_AudioMixingContext* pContext, 6567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_AudioMixingSettings* pSettings, 6577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_FileReadPointer* pFileReadPtrFct, 6587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_FileWriterPointer* pFileWritePtrFct ); 6597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 6607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 6617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 6627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_audioMixingStep() 6637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Perform one step of audio mixing. 6647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 6657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN) VSS 3GPP audio mixing context 6667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 6677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: pContext is M4OSA_NULL (debug only) 6687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pProgress (OUT) Progress percentage (0 to 100) 6697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi of the finalization operation 6707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_STATE: VSS is not in an appropriate state for 6717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi this function to be called 6727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_WAR_END_OF_AUDIO_MIXING: Audio mixing is over, user should 6737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi now call M4VSS3GPP_audioMixingCleanUp() 6747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 6757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 6767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_audioMixingStep(M4VSS3GPP_AudioMixingContext pContext, 6777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt8 *pProgress); 6787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 6797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 6807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 6817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_audioMixingCleanUp() 6827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Free all resources used by the VSS audio mixing operation. 6837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note The context is no more valid after this call 6847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN) VSS 3GPP audio mixing context 6857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 6867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: pContext is M4OSA_NULL (debug only) 6877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 6887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 6897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_audioMixingCleanUp(M4VSS3GPP_AudioMixingContext pContext); 6907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 6917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 6927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 6937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 6947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 6957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 6967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 6977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Extract Picture Feature 6987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 6997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 7037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 7047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Public type of the VSS extract picture context */ 7057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef M4OSA_Void* M4VSS3GPP_ExtractPictureContext; 7067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 7077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 7087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * struct M4VSS3GPP_ExtractPictureSettings 7107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure defines the settings of the extract picture audio operation. 7117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 7137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct { 7147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void* pInputClipFile; /**< Input 3GPP clip file */ 7157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Int32 iExtractionTime; /**< frame time (in ms) to be extracted */ 7167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Void* pOutputYuvPic; /**< Output YUV picture name */ 7177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VSS3GPP_ExtractPictureSettings; 7187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 7197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 7207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************** 7217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_extractPictureInit() 7227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Initializes the VSS extract picture operation (allocates an execution context). 7237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 7247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (OUT) Pointer on the VSS extract picture context to allocate 7257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pSettings (IN) Pointer to valid extract picture settings 7267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pWidth (OUT) video stream width 7277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pHeight (OUT) video stream height 7287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pFileReadPtrFct (IN) Pointer to OSAL file reader functions 7297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 7307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: At least one parameter is M4OSA_NULL (debug only) 7317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_ALLOC: There is no more available memory 7327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4VSS3GPP_ERR_INVALID_CLIP1: The input clip is empty 7337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 7357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_extractPictureInit( 7367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_ExtractPictureContext* pContext, 7377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VSS3GPP_ExtractPictureSettings* pSettings, 7387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 *pWidth, 7397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 *pHeight, 7407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_FileReadPointer* pFileReadPtrFct ); 7417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 7427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 7437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_extractPictureStep() 7457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Perform one step of picture extraction. 7467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 7477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN) VSS extract picture context 7487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 7497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: pContext is M4OSA_NULL (debug only) 7507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pDecPlanes (OUT) Plane in wich the extracted picture is copied 7517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pProgress (OUT) Progress percentage (0 to 100) 7527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi of the picture extraction 7537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_STATE: VSS is not in an appropriate state for this 7547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi function to be called 7557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return VSS_WAR_END_OF_EXTRACT_PICTURE: Picture extraction is over, user should now 7567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi call M4VSS3GPP_extractPictureCleanUp() 7577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 7597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_extractPictureStep(M4VSS3GPP_ExtractPictureContext pContext, 7607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIFI_ImagePlane *pDecPlanes, M4OSA_UInt8 *pProgress); 7617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 7627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 7637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_extractPictureCleanUp() 7657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Free all resources used by the VSS picture extraction. 7667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note The context is no more valid after this call 7677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN) VSS extract picture context 7687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 7697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: pContext is M4OSA_NULL (debug only) 7707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 7727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_extractPictureCleanUp(M4VSS3GPP_ExtractPictureContext pContext); 7737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 7747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 7757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 7797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Common features 7807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 7817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 7857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 7867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 7877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_GetVersion() 7897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Get the VSS version. 7907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note Can be called anytime. Do not need any context. 7917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pVersionInfo (OUT) Pointer to a version info structure 7927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 7937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 7947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 7957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_GetVersion(M4_VersionInfo* pVersionInfo); 7967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 7977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 7987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef WIN32 7997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 8007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 8017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4VSS3GPP_GetErrorMessage() 8027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Return a string describing the given error code 8037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note The input string must be already allocated (and long enough!) 8047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param err (IN) Error code to get the description from 8057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param sMessage (IN/OUT) Allocated string in which the description will be copied 8067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: Input error is from the VSS3GPP module 8077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER:Input error is not from the VSS3GPP module 8087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 8097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 8107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4VSS3GPP_GetErrorMessage(M4OSA_ERR err, M4OSA_Char* sMessage); 8117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif /**< WIN32 */ 8127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 8137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 8147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef __cplusplus 8157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} 8167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif /* __cplusplus */ 8177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 8187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif /* __M4VSS3GPP_API_H__ */ 8197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 820