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