summaryrefslogtreecommitdiffstats
path: root/libvideoeditor/vss/3gpwriter/inc/M4MP4W_Types.h
diff options
context:
space:
mode:
Diffstat (limited to 'libvideoeditor/vss/3gpwriter/inc/M4MP4W_Types.h')
-rwxr-xr-xlibvideoeditor/vss/3gpwriter/inc/M4MP4W_Types.h329
1 files changed, 0 insertions, 329 deletions
diff --git a/libvideoeditor/vss/3gpwriter/inc/M4MP4W_Types.h b/libvideoeditor/vss/3gpwriter/inc/M4MP4W_Types.h
deleted file mode 100755
index 5f9d16b..0000000
--- a/libvideoeditor/vss/3gpwriter/inc/M4MP4W_Types.h
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- ******************************************************************************
- * @file M4MP4W_Types.h
- * @brief Definition of types for the core MP4 writer
- ******************************************************************************
- */
-
-#ifndef M4MP4W_TYPES_H
-#define M4MP4W_TYPES_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#include "NXPSW_CompilerSwitches.h"
-
-#ifndef _M4MP4W_USE_CST_MEMORY_WRITER
-
-/* includes */
-#include "M4OSA_Types.h"
-#include "M4OSA_FileWriter.h"
-#include "M4OSA_FileReader.h"
-#include "M4SYS_Stream.h"
-
-/**
- ******************************************************************************
- * structure M4MP4C_FtypBox
- * @brief Information to build the 'ftyp' atom
- ******************************************************************************
- */
-#define M4MPAC_FTYP_TAG 0x66747970 /* 'ftyp' */
-#define M4MPAC_MAX_COMPATIBLE_BRANDS 10
-typedef struct
-{
- /* All brand fields are actually char[4] stored in big-endian integer format */
-
- M4OSA_UInt32 major_brand; /* generally '3gp4' */
- M4OSA_UInt32 minor_version; /* generally '0000' or 'x.x ' */
- M4OSA_UInt32 nbCompatibleBrands; /* number of compatible brands */
- M4OSA_UInt32 compatible_brands[M4MPAC_MAX_COMPATIBLE_BRANDS]; /* array of max compatible
- brands */
-} M4MP4C_FtypBox;
-
-
-/**
- ******************************************************************************
- * structure M4MP4W_memAddr
- * @brief Buffer structure for the MP4 writer
- ******************************************************************************
- */
-typedef struct
-{
- M4OSA_UInt32 size;
- M4OSA_MemAddr32 addr;
-} M4MP4W_memAddr;
-
-/**
- ******************************************************************************
- * Time type for the core MP4 writer
- ******************************************************************************
- */
-typedef M4OSA_UInt32 M4MP4W_Time32;
-
-/**
- ******************************************************************************
- * enumeration M4MP4W_State
- * @brief This enum defines the core MP4 writer states
- * @note These states are used internaly, but can be retrieved from outside
- * the writer.
- ******************************************************************************
- */
-typedef enum
-{
- M4MP4W_opened = 0x100,
- M4MP4W_ready = 0x200,
- M4MP4W_writing = 0x300,
- M4MP4W_writing_startAU = 0x301,
- M4MP4W_closed = 0x400
-} M4MP4W_State;
-
-/**
- ******************************************************************************
- * enumeration M4MP4W_OptionID
- * @brief This enum defines the core MP4 writer options
- * @note These options give parameters for the core MP4 writer
- ******************************************************************************
- */
-typedef enum
-{
- M4MP4W_maxAUperChunk = 0xC101,
- M4MP4W_maxChunkSize = 0xC102,
- M4MP4W_maxChunkInter = 0xC103,
- M4MP4W_preWriteCallBack = 0xC104,
- M4MP4W_postWriteCallBack = 0xC105,
- M4MP4W_maxAUsize = 0xC106,
- M4MP4W_IOD = 0xC111,
- M4MP4W_ESD = 0xC112,
- M4MP4W_SDP = 0xC113,
- M4MP4W_trackSize = 0xC114,
- M4MP4W_MOOVfirst = 0xC121,
- M4MP4W_V2_MOOF = 0xC131,
- M4MP4W_V2_tblCompres = 0xC132,
- /*warning: unspecified options:*/
- M4MP4W_maxFileSize = 0xC152,
- M4MP4W_CamcoderVersion = 0xC153, /*000 to 999 !*/
- M4MP4W_estimateAudioSize = 0xC154, /*audio AUs are processed after the video, */
- /*this option MUST NOT be set if non constant audio
- frame size (e.g. if SID)*/
- M4MP4W_embeddedString = 0xC155,
- M4MP4W_integrationTag = 0xC156,
- M4MP4W_maxFileDuration = 0xC157,
- M4MP4W_setFtypBox = 0xC158,
- M4MP4W_DSI = 0xC159,
- /* H.264 trimming */
- M4MP4W_MUL_PPS_SPS = 0xC160,
- /* H.264 trimming */
-} M4MP4W_OptionID;
-
-/**
- ******************************************************************************
- * Audio & video stream IDs
- ******************************************************************************
- */
-#define AudioStreamID 1
-#define VideoStreamID 2
-
-/**
- ******************************************************************************
- * Default parameters values, that can be modified by M4MP4W_setOption
- ******************************************************************************
- */
-#define M4MP4W_DefaultWidth 320
-#define M4MP4W_DefaultHeight 240
-#define M4MP4W_DefaultMaxAuSize 4096 /*bytes*/
-#define M4MP4W_DefaultMaxChunkSize 100000 /*bytes*/
-#define M4MP4W_DefaultInterleaveDur 0 /*bytes*/
-
-
-/**
- ******************************************************************************
- * structure M4MP4W_StreamIDsize
- * @brief Video plane size
- ******************************************************************************
- */
-typedef struct
-{
- M4SYS_StreamID streamID;
- M4OSA_UInt16 height;
- M4OSA_UInt16 width;
-} M4MP4W_StreamIDsize;
-
-/**
- ******************************************************************************
- * structure M4MP4W_TrackData
- * @brief Internal core MP4 writer track structure
- ******************************************************************************
- */
-typedef struct
-{
- M4SYS_StreamType trackType;
- M4OSA_UInt32 timescale; /* T (video=1000), (AMR8=8000), (AMR16=16000)*/
- M4OSA_UInt32 sampleSize; /* S (video=0)*/
- M4OSA_UInt32 sttsTableEntryNb; /* J (audio=1)*/
- M4MP4W_Time32 lastCTS; /* CTS of the previous AU,
- init to 0.Gives duration at the end.*/
- M4OSA_UInt32 sampleNb; /* K (audio=F)*/
-} M4MP4W_TrackData;
-
-/**
- ******************************************************************************
- * structure M4MP4W_AudioTrackData
- * @brief Internal core MP4 writer audio specific structure
- ******************************************************************************
- */
-typedef struct
-{
- M4MP4W_State microState;
- M4MP4W_TrackData CommonData;
- M4OSA_UChar** Chunk;
- M4OSA_UInt32* chunkSizeTable;
-#ifndef _M4MP4W_MOOV_FIRST
- M4OSA_UInt32* chunkOffsetTable;
-#endif /*_M4MP4W_MOOV_FIRST*/
- M4OSA_UInt32* chunkSampleNbTable;
- M4OSA_UInt32* chunkTimeMsTable;
- M4OSA_UInt32 currentChunk; /* Init to 0*/
- M4OSA_UInt32 currentPos; /* Init to 0 */
-#ifdef _M4MP4W_OPTIMIZE_FOR_PHONE
- M4OSA_UInt32 currentStsc; /* Init to 0 */
-#endif
- M4MP4W_Time32 sampleDuration; /* Check (AMR8=160), (AMR16=320)*/
- M4OSA_UInt32 MaxChunkSize; /* Init to M4MP4W_Mp4FileData.MaxChunkSize*/
- M4OSA_UInt32 MaxAUSize; /* Init to M4MP4W_Mp4FileData.MaxAUSize*/
- M4OSA_UInt32 LastAllocatedChunk;
- /* previously, audio au size was supposed constant,
- * which is actually not the case if silences (sid).*/
- /* at first audio au, sampleSize is set. It is later reset to 0 if non constant size.*/
- /* So sampleSize should be tested to know weither or not there is a TABLE_STSZ. */
- M4OSA_UInt32* TABLE_STSZ; /* table size is 4K*/
- M4OSA_UInt32 nbOfAllocatedStszBlocks;
- M4OSA_UInt32* TABLE_STTS;
- M4OSA_UInt32 nbOfAllocatedSttsBlocks;
- M4OSA_UInt32 maxBitrate; /*not used in amr case*/
- M4OSA_UInt32 avgBitrate; /*not used in amr case*/
- M4OSA_UChar* DSI; /* Decoder Specific Info: May be M4OSA_NULL
- (defaulted) for AMR */
- M4OSA_UInt8 dsiSize; /* DSI size, always 9 bytes for AMR */
-} M4MP4W_AudioTrackData;
-
-
-/**
- ******************************************************************************
- * structure M4MP4W_VideoTrackData
- * @brief Internal core MP4 writer video specific structure
- ******************************************************************************
- */
-typedef struct
-{
- M4MP4W_State microState;
- M4MP4W_TrackData CommonData;
- M4OSA_UChar** Chunk;
- M4OSA_UInt32* chunkSizeTable;
-#ifndef _M4MP4W_MOOV_FIRST
- M4OSA_UInt32* chunkOffsetTable;
-#endif /*_M4MP4W_MOOV_FIRST*/
- M4OSA_UInt32* chunkSampleNbTable;
- M4MP4W_Time32* chunkTimeMsTable;
- M4OSA_UInt32 currentChunk; /* Init to 0*/
- M4OSA_UInt32 currentPos ; /* Init to 0*/
-#ifdef _M4MP4W_OPTIMIZE_FOR_PHONE
- M4OSA_UInt32 currentStsc; /* Init to 0*/
-#endif
- M4OSA_UInt32 stssTableEntryNb ; /* N*/
- M4OSA_UInt16 width; /* X*/
- M4OSA_UInt16 height; /* Y*/
- M4OSA_UInt32* TABLE_STTS; /* table size is J*/
- M4OSA_UInt32 nbOfAllocatedSttsBlocks;
-#ifdef _M4MP4W_OPTIMIZE_FOR_PHONE
- M4OSA_UInt16* TABLE_STSZ; /* table size is 2K*/
-#else
- M4OSA_UInt32* TABLE_STSZ; /* table size is 4K*/
-#endif
- M4OSA_UInt32 nbOfAllocatedStszBlocks;
- M4OSA_UInt32* TABLE_STSS; /* table size is N*/
- M4OSA_UInt32 nbOfAllocatedStssBlocks;
-#ifdef _M4MP4W_OPTIMIZE_FOR_PHONE
- M4OSA_UInt32 MaxAUperChunk; /*Init to 0, i.e. not used*/
-#endif
- M4OSA_UInt32 MaxChunkSize; /*Init to M4MP4W_Mp4FileData.MaxChunkSize*/
- M4OSA_UInt32 MaxAUSize; /*Init to M4MP4W_Mp4FileData.MaxAUSize*/
- M4OSA_UInt32 LastAllocatedChunk;
- M4OSA_UInt32 maxBitrate;
- M4OSA_UInt32 avgBitrate;
- M4OSA_UChar* DSI; /* Decoder Specific Info: May be M4OSA_NULL
- (defaulted) for H263*/
- M4OSA_UInt8 dsiSize; /* DSI size, always 7 bytes for H263 */
-} M4MP4W_VideoTrackData;
-
-/**
- ******************************************************************************
- * structure M4MP4W_Mp4FileData
- * @brief Internal core MP4 writer private context structure
- ******************************************************************************
- */
-typedef struct
-{
- M4MP4W_State state;
- M4OSA_Char* url;
- M4OSA_UInt32 duration; /* D in ms, max duration of audio&video*/
- M4OSA_UInt32 filesize; /* actual filesize in bytes*/
- M4MP4W_AudioTrackData* audioTrackPtr;
- M4OSA_Bool hasAudio;
- M4MP4W_VideoTrackData* videoTrackPtr;
- M4OSA_Bool hasVideo;
- M4OSA_UInt32 MaxChunkSize; /* Init to 100000*/
- M4OSA_UInt32 MaxAUSize; /* Init to 4096*/
- M4OSA_UInt32 MaxFileSize; /* Init to 0, i.e. not used*/
- M4MP4W_Time32 InterleaveDur; /* Init to 0, i.e. not used, ms*/
- /* M4MP4W_WriteCallBack PreWriteCallBack;*/ /*Init to M4OSA_NULL*/
- /* M4MP4W_WriteCallBack PostWriteCallBack;*/ /*Init to M4OSA_NULL*/
- M4OSA_FileWriterPointer* fileWriterFunctions;
- M4OSA_FileReadPointer* fileReaderFunctions;
- M4OSA_UInt32 camcoderVersion;
- M4OSA_Bool estimateAudioSize; /* default is false*/
- M4OSA_UInt32 audioMsChunkDur; /* in ms, set only if estimateAudioSize
- is true*/
- M4OSA_UInt32 audioMsStopTime; /* time to stop audio, set only if
- estimateAudioSize is true*/
- M4OSA_Context fileWriterContext;
-#ifndef _M4MP4W_MOOV_FIRST
- M4OSA_UInt32 absoluteCurrentPos; /* new field for offset update*/
-#endif /*_M4MP4W_MOOV_FIRST*/
- M4OSA_UChar* embeddedString; /* 16 bytes string, default value
- writen if NULL*/
- M4OSA_UChar* integrationTag; /* 60 bytes string, memset to 0 if NULL */
- M4OSA_UInt32 MaxFileDuration; /* Init to 0, i.e. not used*/
- M4MP4C_FtypBox ftyp; /* ftyp atom, if not defined set major_brand
- = 0, will use default box */
-#ifdef _M4MP4W_RESERVED_MOOV_DISK_SPACE
- M4OSA_Char* safetyFileUrl;
- M4OSA_Bool cleanSafetyFile;
-#endif /* _M4MP4W_RESERVED_MOOV_DISK_SPACE */
- M4OSA_Bool bMULPPSSPS;
-} M4MP4W_Mp4FileData;
-
-#endif /* _M4MP4W_USE_CST_MEMORY_WRITER */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /*M4MP4W_TYPES_H*/
-