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 ****************************************************************************** 187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @file M4_VideoEditingCommon.h 197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Video Editing (VSS3GPP, MCS, PTO3GPP) common definitions 207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifndef __M4_VIDEOEDITINGCOMMON_H__ 257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define __M4_VIDEOEDITINGCOMMON_H__ 267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef __cplusplus 287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargiextern "C" { 297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif 307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Version */ 337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* CHANGE_VERSION_HERE */ 347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_VERSION_MAJOR 3 357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_VERSION_MINOR 1 367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_VERSION_REVISION 0 377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 380a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury#define M4VIDEOEDITING_VIDEO_UNKNOWN_PROFILE 0x7fffffff 390a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury#define M4VIDEOEDITING_VIDEO_UNKNOWN_LEVEL 0x7fffffff 407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VIDEOEDITING_FileType 447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enum defines the file format type to be used 457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum { 48e1f105895f913b19ad848cc90a3cd57dad657abfDharmaray Kundargi M4VIDEOEDITING_kFileType_3GPP = 0, /**< 3GPP file media type : input & output */ 49e1f105895f913b19ad848cc90a3cd57dad657abfDharmaray Kundargi M4VIDEOEDITING_kFileType_MP4 = 1, /**< MP4 file media type : input */ 507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kFileType_AMR = 2, /**< AMR file media type : input & output */ 517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kFileType_MP3 = 3, /**< MP3 file media type : input */ 527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kFileType_PCM = 4, /**< PCM RAW file media type : input RC */ 537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kFileType_JPG = 5, /**< STILL PICTURE FEATURE: JPG file media 547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi type : input AND OUTPUT */ 557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kFileType_BMP = 6, /**< STILL PICTURE FEATURE: BMP file media 567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi type : input only */ 577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kFileType_GIF = 7, /**< STILL PICTURE FEATURE: GIF file media 587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi type : input only */ 597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kFileType_PNG = 8, /**< STILL PICTURE FEATURE: PNG file media 607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi type : input only */ 61e1f105895f913b19ad848cc90a3cd57dad657abfDharmaray Kundargi M4VIDEOEDITING_kFileType_ARGB8888 = 9, /**< STILL PICTURE FEATURE: ARGB8888 file 62e1f105895f913b19ad848cc90a3cd57dad657abfDharmaray Kundargi media type : input only */ 63e1f105895f913b19ad848cc90a3cd57dad657abfDharmaray Kundargi M4VIDEOEDITING_kFileType_M4V = 10, /**< M4V file media type : input only */ 64e1f105895f913b19ad848cc90a3cd57dad657abfDharmaray Kundargi M4VIDEOEDITING_kFileType_Unsupported = 255 /**< Unsupported file media type */ 657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VIDEOEDITING_FileType; 667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VIDEOEDITING_VideoFormat 717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enum defines the avalaible video compression formats. 727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 760a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury M4VIDEOEDITING_kNoneVideo = 0, /**< Video not present */ 770a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury M4VIDEOEDITING_kH263 = 1, /**< H263 video */ 780a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury M4VIDEOEDITING_kH264 = 2, /**< H264 video */ 790a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury M4VIDEOEDITING_kMPEG4 = 3, /**< MPEG-4 video */ 800a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury M4VIDEOEDITING_kNullVideo = 254, /**< Do not care video type, use NULL encoder */ 810a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury M4VIDEOEDITING_kUnsupportedVideo = 255 /**< Unsupported video stream type */ 827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VIDEOEDITING_VideoFormat; 837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VIDEOEDITING_AudioFormat 877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enum defines the avalaible audio format. 887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note HE_AAC, HE_AAC_v2 and MP3 can not be used for the output audio format 897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum { 927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kNoneAudio = 0, /**< Audio not present */ 937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kAMR_NB = 1, /**< AMR Narrow Band audio */ 947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kAAC = 2, /**< AAC audio */ 957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kAACplus = 3, /**< AAC+ audio */ 967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_keAACplus = 4, /**< Enhanced AAC+ audio */ 977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kMP3 = 5, /**< MP3 audio */ 987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kEVRC = 6, /**< EVRC audio */ 997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kPCM = 7, /**< PCM audio */ 1007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kNullAudio = 254, /**< Do not care audio type, use NULL encoder */ 1017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kUnsupportedAudio = 255 /**< Unsupported audio stream type */ 1027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VIDEOEDITING_AudioFormat; 1037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VIDEOEDITING_VideoFrameSize 1077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enum defines the available output frame sizes. 1087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 1117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1128806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_kSQCIF=0, /**< SQCIF 128x96 */ 1138806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_kQQVGA, /**< QQVGA 160x120 */ 1148806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_kQCIF, /**< QCIF 176x144 */ 1158806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_kQVGA, /**< QVGA 320x240 */ 1168806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_kCIF, /**< CIF 352x288 */ 1178806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_kVGA, /**< VGA 640x480 */ 1188806b706693c0992724f6603353af18aeb4a0f80Hong Teng/* +PR LV5807 */ 1198806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_kWVGA, /**< WVGA 800x480 */ 1208806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_kNTSC, /**< NTSC 720x480 */ 1218806b706693c0992724f6603353af18aeb4a0f80Hong Teng/* -PR LV5807 */ 1227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* +CR Google */ 1248806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_k640_360, /**< 640x360 */ 1258806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_k854_480, /**< 854x480 */ 1268806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_k1280_720, /**< 720p 1280x720 */ 1278806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_k1080_720, /**< 720p 1080x720 */ 1288806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_k960_720, /**< 720p 960x720 */ 1298806b706693c0992724f6603353af18aeb4a0f80Hong Teng M4VIDEOEDITING_k1920_1080 /**<1080p 1920x1080*/ 1307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* -CR Google */ 1317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VIDEOEDITING_VideoFrameSize; 1337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VIDEOEDITING_Videoframerate 1387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enum defines the available video framerates. 1397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 1427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k5_FPS = 0, 1447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k7_5_FPS, 1457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k10_FPS, 1467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k12_5_FPS, 1477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k15_FPS, 1487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k20_FPS, 1497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k25_FPS, 1507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k30_FPS 1517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VIDEOEDITING_VideoFramerate; 1527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VIDEOEDITING_AudioSamplingFrequency 1577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enum defines the available output audio sampling frequencies 1587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 8 kHz is the only supported frequency for AMR-NB output 1597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 16 kHz is the only supported frequency for AAC output 1607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note The recommended practice is to use the Default value when setting the encoding parameters 1617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum { 1647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kDefault_ASF = 0, /**< Default Audio Sampling Frequency for selected 1657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi Audio output format */ 1667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k8000_ASF = 8000, /**< Note: Default audio Sampling Frequency for 1677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi AMR-NB output */ 1687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k11025_ASF = 11025, 1697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k12000_ASF = 12000, 1707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k16000_ASF = 16000, /**< Note: Default audio Sampling Frequency 1717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi for AAC output */ 1727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k22050_ASF = 22050, 1737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k24000_ASF = 24000, 1747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k32000_ASF = 32000, 1757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k44100_ASF = 44100, 1767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k48000_ASF = 48000 1777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VIDEOEDITING_AudioSamplingFrequency; 1797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VIDEOEDITING_Bitrate 1847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enum defines the available audio or video bitrates. 1857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 1887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kVARIABLE_KBPS = -1, /* no regulation */ 1907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_kUndefinedBitrate = 0, /* undefined */ 1917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k8_KBPS = 8000, 1927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k9_2_KBPS = 9200, /* evrc only */ 1937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k12_2_KBPS = 12200, /* amr only */ 1947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k16_KBPS = 16000, 1957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k24_KBPS = 24000, 1967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k32_KBPS = 32000, 1977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k40_KBPS = 40000, 1987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k48_KBPS = 48000, 1997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k56_KBPS = 56000, 2007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k64_KBPS = 64000, 2017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k80_KBPS = 80000, 2027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k96_KBPS = 96000, 2037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k112_KBPS = 112000, 2047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k128_KBPS = 128000, 2057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k160_KBPS = 160000, 2067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k192_KBPS = 192000, 2077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k224_KBPS = 224000, 2087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k256_KBPS = 256000, 2097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k288_KBPS = 288000, 2107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k320_KBPS = 320000, 2117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k384_KBPS = 384000, 2127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k512_KBPS = 512000, 2137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k800_KBPS = 800000, 2147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/*+ New Encoder bitrates */ 2157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k2_MBPS = 2000000, 2167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k5_MBPS = 5000000, 2177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_k8_MBPS = 8000000, 2187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/*- New Encoder bitrates */ 2197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VIDEOEDITING_Bitrate; 2207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * structure M4VIDEOEDITING_FtypBox 2257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Information to build the 'ftyp' atom 2267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 2287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_MAX_COMPATIBLE_BRANDS 10 2297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 2307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 2317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /* All brand fields are actually char[4] stored in big-endian integer format */ 2327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 major_brand; /* generally '3gp4' */ 2347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 minor_version; /* generally '0000' or 'x.x ' */ 2357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 nbCompatibleBrands; /* number of compatible brands */ 2367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 compatible_brands[M4VIDEOEDITING_MAX_COMPATIBLE_BRANDS]; /* array of 2377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi max compatible brands */ 2387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VIDEOEDITING_FtypBox; 2407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* Some useful brands */ 2427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_BRAND_0000 0x00000000 2437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_BRAND_3G2A 0x33673261 2447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_BRAND_3GP4 0x33677034 2457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_BRAND_3GP5 0x33677035 2467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_BRAND_3GP6 0x33677036 2477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_BRAND_AVC1 0x61766331 2487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_BRAND_EMP 0x656D7020 2497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_BRAND_ISOM 0x69736F6D 2507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_BRAND_MP41 0x6D703431 2517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_BRAND_MP42 0x6D703432 2527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4VIDEOEDITING_BRAND_VFJ1 0x76666A31 2537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enum M4VIDEOEDITING_ClipProperties 2577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This structure gathers the information related to an input file 2587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 2607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct { 2617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /** 2637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Common */ 2647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bAnalysed; /**< Flag to know if the file has 2657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi been already analysed or not */ 2667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt8 Version[3]; /**< Version of the libraries used to 2677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi perform the clip analysis */ 2687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiClipDuration; /**< Clip duration (in ms) */ 2697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_FileType FileType; /**< .3gp, .amr, .mp3 */ 2707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_FtypBox ftyp; /**< 3gp 'ftyp' atom, major_brand = 2717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 0 if not used */ 2727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /** 2747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Video */ 2757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_VideoFormat VideoStreamType; /**< Format of the video stream */ 2767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiClipVideoDuration; /**< Video track duration (in ms) */ 2777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiVideoBitrate; /**< Video average bitrate (in bps)*/ 2787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiVideoMaxAuSize; /**< Maximum Access Unit size of the 2797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi video stream */ 2807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiVideoWidth; /**< Video frame width */ 2817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiVideoHeight; /**< Video frame height */ 2827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiVideoTimeScale; /**< Video time scale */ 2837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Float fAverageFrameRate; /**< Average frame rate of the video 2847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi stream */ 2850a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury M4OSA_Int32 uiVideoLevel; /**< video level*/ 2860a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury M4OSA_Int32 uiVideoProfile; /**< video profile */ 2870a25bd5bacf5408ca205b15e53cfb6dc2fc1d171Rajneesh Chowdury 2887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bMPEG4dataPartition; /**< MPEG-4 uses data partitioning */ 2897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bMPEG4rvlc; /**< MPEG-4 uses RVLC tool */ 2907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bMPEG4resynchMarker; /**< MPEG-4 stream uses Resynch 2917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi Marker */ 2927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /** 2947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Audio */ 2957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_AudioFormat AudioStreamType; /**< Format of the audio stream */ 2967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiClipAudioDuration; /**< Audio track duration (in ms) */ 2977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiAudioBitrate; /**< Audio average bitrate (in bps) */ 2987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiAudioMaxAuSize; /**< Maximum Access Unit size of the 2997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi audio stream */ 3007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiNbChannels; /**< Number of channels 3017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi (1=mono, 2=stereo) */ 3027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiSamplingFrequency; /**< Sampling audio frequency 3037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi (8000 for amr, 16000 or more for aac) */ 3047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiExtendedSamplingFrequency; /**< Extended frequency for 3057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi AAC+, eAAC+ streams */ 3067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiDecodedPcmSize; /**< Size of the decoded PCM data */ 3077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /** 3097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Video editing compatibility chart */ 3107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bVideoIsEditable; /**< Video stream can be decoded and 3117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi re-encoded */ 3127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bAudioIsEditable; /**< Audio stream can be decoded and 3137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi re-encoded */ 3147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bVideoIsCompatibleWithMasterClip; /**< Video properties match reference 3157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi clip properties */ 3167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Bool bAudioIsCompatibleWithMasterClip; /**< Audio properties match reference 3177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi clip properties */ 3187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi /** 3207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Still Picture */ 3217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiStillPicWidth; /**< Image width */ 3227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiStillPicHeight; /**< Image height */ 3237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiClipAudioVolumePercentage; 3246e779fda8a4f6258f9b910290b2f296d18fb2585Rajneesh Chowdury M4OSA_Bool bSetImageData; 3257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 326e9eec0e0975c57c0dac91eb5b4cbb052b7dd011aRajneesh Chowdury M4OSA_Int32 videoRotationDegrees; /**< Video rotation degree */ 327e9eec0e0975c57c0dac91eb5b4cbb052b7dd011aRajneesh Chowdury 3287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} M4VIDEOEDITING_ClipProperties; 3297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef __cplusplus 3327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi } 3337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif 3347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif /* __M4_VIDEOEDITINGCOMMON_H__ */ 3367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 337