diff options
Diffstat (limited to 'libvideoeditor/vss/3gpwriter/src/M4MP4W_Utils.c')
-rwxr-xr-x | libvideoeditor/vss/3gpwriter/src/M4MP4W_Utils.c | 312 |
1 files changed, 0 insertions, 312 deletions
diff --git a/libvideoeditor/vss/3gpwriter/src/M4MP4W_Utils.c b/libvideoeditor/vss/3gpwriter/src/M4MP4W_Utils.c deleted file mode 100755 index 62e2ad0..0000000 --- a/libvideoeditor/vss/3gpwriter/src/M4MP4W_Utils.c +++ /dev/null @@ -1,312 +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_Utils.c - * @brief Utilities and private functions for the MP4 writer -****************************************************************************** -*/ - -#include "NXPSW_CompilerSwitches.h" - -#ifndef _M4MP4W_USE_CST_MEMORY_WRITER - -#include "M4MP4W_Utils.h" -#include "M4OSA_Error.h" -#include "M4MP4W_Types.h" - -#define ERR_CHECK(exp, err) if (!(exp)) { return err; } - -/*******************************************************************************/ -M4OSA_ERR M4MP4W_putByte(M4OSA_UChar c, M4OSA_FileWriterPointer* fileFunction, - M4OSA_Context context) -/*******************************************************************************/ -{ - M4OSA_ERR err = fileFunction->writeData(context, (M4OSA_MemAddr8)&c, 1); - return err; -} - -/*******************************************************************************/ -M4OSA_ERR M4MP4W_putBE16(M4OSA_UInt32 val, M4OSA_FileWriterPointer* fileFunction, - M4OSA_Context context) -/*******************************************************************************/ -{ - M4OSA_ERR err; - err = M4MP4W_putByte((M4OSA_UChar)(val >> 8), fileFunction, context); - ERR_CHECK(err == M4NO_ERROR, err); - err = M4MP4W_putByte((M4OSA_UChar)val, fileFunction, context); - return err; -} - -/*******************************************************************************/ -M4OSA_ERR M4MP4W_putBE24(M4OSA_UInt32 val, M4OSA_FileWriterPointer* fileFunction, - M4OSA_Context context) -/*******************************************************************************/ -{ - M4OSA_ERR err; - err = M4MP4W_putByte((M4OSA_UChar)(val >> 16), fileFunction, context); - ERR_CHECK(err == M4NO_ERROR, err); - err = M4MP4W_putByte((M4OSA_UChar)(val >> 8), fileFunction, context); - ERR_CHECK(err == M4NO_ERROR, err); - err = M4MP4W_putByte((M4OSA_UChar)val, fileFunction, context); - return err; -} - -/*******************************************************************************/ -M4OSA_ERR M4MP4W_putBE32(M4OSA_UInt32 val, M4OSA_FileWriterPointer* fileFunction, - M4OSA_Context context) -/*******************************************************************************/ -{ - M4OSA_ERR err; - err = M4MP4W_putByte((M4OSA_UChar)(val >> 24), fileFunction, context); - ERR_CHECK(err == M4NO_ERROR, err); - err = M4MP4W_putByte((M4OSA_UChar)(val >> 16), fileFunction, context); - ERR_CHECK(err == M4NO_ERROR, err); - err = M4MP4W_putByte((M4OSA_UChar)(val >> 8), fileFunction, context); - ERR_CHECK(err == M4NO_ERROR, err); - err = M4MP4W_putByte((M4OSA_UChar)val, fileFunction, context); - return err; -} - -/*******************************************************************************/ -M4OSA_ERR M4MP4W_putBlock(const M4OSA_UChar* Block, M4OSA_UInt32 size, - M4OSA_FileWriterPointer* fileFunction, M4OSA_Context context) -/*******************************************************************************/ -{ - M4OSA_ERR err = fileFunction->writeData(context, (M4OSA_MemAddr8)Block, size); - return err; -} - -/*******************************************************************************/ -void M4MP4W_convertInt32BE(M4OSA_UInt32* valPtr) -/*******************************************************************************/ -{ - M4OSA_UChar a, b; - M4OSA_UChar* c = (M4OSA_UChar*)valPtr; - a = *(c); - b = *(c+1); - *(c) = *(c+3); - *(c+1) = *(c+2); - *(c+2) = b; - *(c+3) = a; -} - -/*******************************************************************************/ -void M4MP4W_table32ToBE(M4OSA_UInt32* tab, M4OSA_UInt32 nb) -/*******************************************************************************/ -{ - M4OSA_UInt32 i; - for (i=0; i<nb; i++) - M4MP4W_convertInt32BE(&(tab)[i]); -} - -/*******************************************************************************/ -void* M4MP4W_realloc(M4OSA_MemAddr32 ptr, M4OSA_UInt32 oldSize, M4OSA_UInt32 newSize) -/*******************************************************************************/ -{ - M4OSA_MemAddr32 ptr2 = (M4OSA_MemAddr32)M4OSA_32bitAlignedMalloc(newSize, M4MP4_WRITER, - (M4OSA_Char *)"realloc"); - if (M4OSA_NULL != ptr2) - { - memcpy((void *)ptr2, (void *)ptr, oldSize); - } - free(ptr); - return ptr2; -} - -/*******************************************************************************/ -M4OSA_ERR M4MP4W_freeContext(M4OSA_Context context) -/*******************************************************************************/ -{ -#ifdef _M4MP4W_MOOV_FIRST - M4OSA_UInt32 i; -#endif /*_M4MP4W_MOOV_FIRST*/ - M4MP4W_Mp4FileData* mMp4FileDataPtr = (M4MP4W_Mp4FileData*)context; - ERR_CHECK(context != M4OSA_NULL, M4ERR_PARAMETER); - - /*freeContext is now called after closeWrite*/ - ERR_CHECK( mMp4FileDataPtr->state == M4MP4W_closed, M4ERR_STATE); - mMp4FileDataPtr->state = M4MP4W_closed; - - if (mMp4FileDataPtr->audioTrackPtr != M4OSA_NULL) - { - /*delete also other chunks if any*/ - /*for (i=0; i<=mMp4FileDataPtr->audioTrackPtr->currentChunk; i++)*/ - -#ifdef _M4MP4W_MOOV_FIRST - for (i=0; i<=mMp4FileDataPtr->audioTrackPtr->LastAllocatedChunk; i++) - { - free(mMp4FileDataPtr->audioTrackPtr->Chunk[i]); - } -#else - if ((M4OSA_NULL != mMp4FileDataPtr->audioTrackPtr->Chunk) && - (M4OSA_NULL != mMp4FileDataPtr->audioTrackPtr->Chunk[0])) - { - free(mMp4FileDataPtr->audioTrackPtr->Chunk[0]); - } - if (M4OSA_NULL != mMp4FileDataPtr->audioTrackPtr->chunkOffsetTable) - { - free(mMp4FileDataPtr->audioTrackPtr->chunkOffsetTable); - } -#endif /*_M4MP4W_MOOV_FIRST*/ - - /*now dynamic*/ - if (M4OSA_NULL != mMp4FileDataPtr->audioTrackPtr->Chunk) - { - free(mMp4FileDataPtr->audioTrackPtr->Chunk); - } - if (M4OSA_NULL != mMp4FileDataPtr->audioTrackPtr->chunkSizeTable) - { - free(mMp4FileDataPtr->audioTrackPtr->chunkSizeTable); - } - if (M4OSA_NULL != mMp4FileDataPtr->audioTrackPtr->chunkSampleNbTable) - { - free(mMp4FileDataPtr->audioTrackPtr->chunkSampleNbTable); - } - if (M4OSA_NULL != mMp4FileDataPtr->audioTrackPtr->chunkTimeMsTable) - { - free(mMp4FileDataPtr->audioTrackPtr->chunkTimeMsTable); - } - - if (mMp4FileDataPtr->audioTrackPtr->TABLE_STTS != M4OSA_NULL) - { - free(mMp4FileDataPtr->audioTrackPtr->TABLE_STTS); - } - - if (mMp4FileDataPtr->audioTrackPtr->TABLE_STSZ != M4OSA_NULL) - { - free(mMp4FileDataPtr->audioTrackPtr->TABLE_STSZ); - } - - if (mMp4FileDataPtr->audioTrackPtr->DSI != M4OSA_NULL) - { - free(mMp4FileDataPtr->audioTrackPtr->DSI); - mMp4FileDataPtr->audioTrackPtr->DSI = M4OSA_NULL; - } - - free(mMp4FileDataPtr->audioTrackPtr); - mMp4FileDataPtr->audioTrackPtr = M4OSA_NULL; - } - if (mMp4FileDataPtr->videoTrackPtr != M4OSA_NULL) - { - /*delete also other chunks if any*/ - /*for (i=0; i<=mMp4FileDataPtr->videoTrackPtr->currentChunk; i++)*/ - -#ifdef _M4MP4W_MOOV_FIRST - for (i=0; i<=mMp4FileDataPtr->videoTrackPtr->LastAllocatedChunk; i++) - { - free(mMp4FileDataPtr->videoTrackPtr->Chunk[i]); - } -#else - if ((M4OSA_NULL != mMp4FileDataPtr->videoTrackPtr->Chunk) && - (M4OSA_NULL != mMp4FileDataPtr->videoTrackPtr->Chunk[0])) - { - free(mMp4FileDataPtr->videoTrackPtr->Chunk[0]); - } - if (M4OSA_NULL != mMp4FileDataPtr->videoTrackPtr->chunkOffsetTable) - { - free(mMp4FileDataPtr->videoTrackPtr->chunkOffsetTable); - } -#endif /*_M4MP4W_MOOV_FIRST*/ - - /*now dynamic*/ - if (M4OSA_NULL != mMp4FileDataPtr->videoTrackPtr->Chunk) - { - free(mMp4FileDataPtr->videoTrackPtr->Chunk); - } - if (M4OSA_NULL != mMp4FileDataPtr->videoTrackPtr->chunkSizeTable) - { - free(mMp4FileDataPtr->videoTrackPtr->chunkSizeTable); - } - if (M4OSA_NULL != mMp4FileDataPtr->videoTrackPtr->chunkSampleNbTable) - { - free(mMp4FileDataPtr->videoTrackPtr->chunkSampleNbTable); - } - if (M4OSA_NULL != mMp4FileDataPtr->videoTrackPtr->chunkTimeMsTable) - { - free(mMp4FileDataPtr->videoTrackPtr->chunkTimeMsTable); - } - - if (mMp4FileDataPtr->videoTrackPtr->DSI != M4OSA_NULL) - { - free(mMp4FileDataPtr->videoTrackPtr->DSI); - mMp4FileDataPtr->videoTrackPtr->DSI = M4OSA_NULL; - } - - /*now dynamic*/ - if (M4OSA_NULL != mMp4FileDataPtr->videoTrackPtr->TABLE_STTS) - { - free(mMp4FileDataPtr->videoTrackPtr->TABLE_STTS); - } - if (M4OSA_NULL != mMp4FileDataPtr->videoTrackPtr->TABLE_STSZ) - { - free(mMp4FileDataPtr->videoTrackPtr->TABLE_STSZ); - } - if (M4OSA_NULL != mMp4FileDataPtr->videoTrackPtr->TABLE_STSS) - { - free(mMp4FileDataPtr->videoTrackPtr->TABLE_STSS); - } - - free(mMp4FileDataPtr->videoTrackPtr); - mMp4FileDataPtr->videoTrackPtr = M4OSA_NULL; - } - - if (mMp4FileDataPtr->embeddedString != M4OSA_NULL) - { - free(mMp4FileDataPtr->embeddedString); - mMp4FileDataPtr->embeddedString = M4OSA_NULL; - } - - free(mMp4FileDataPtr); - - return M4NO_ERROR; -} - -#ifdef _M4MP4W_OPTIMIZE_FOR_PHONE -/*******************************************************************************/ -M4OSA_Void M4MP4W_put32_Hi(M4OSA_UInt32* tab, M4OSA_UInt16 Hi) -/*******************************************************************************/ -{ - *tab &= 0xFFFF; - *tab |= Hi<<16; -} - -/*******************************************************************************/ -M4OSA_Void M4MP4W_put32_Lo(M4OSA_UInt32* tab, M4OSA_UInt16 Lo) -/*******************************************************************************/ -{ - *tab &= 0xFFFF0000; - *tab |= Lo; -} - -/*******************************************************************************/ -M4OSA_UInt16 M4MP4W_get32_Hi(M4OSA_UInt32* tab) -/*******************************************************************************/ -{ - return (*tab >> 16) & 0xFFFF; -} - -/*******************************************************************************/ -M4OSA_UInt16 M4MP4W_get32_Lo(M4OSA_UInt32* tab) -/*******************************************************************************/ -{ - return *tab & 0xFFFF; -} -#endif - -#endif /* _M4MP4W_USE_CST_MEMORY_WRITER */ - |