diff -r 951a5db380a0 -r e0b5df5c0969 videoeditorengine/avcedit/inc/biblin.h --- a/videoeditorengine/avcedit/inc/biblin.h Fri Jan 29 14:08:33 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,246 +0,0 @@ -/* -* Copyright (c) 2010 Ixonos Plc. -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - Initial contribution -* -* Contributors: -* Ixonos Plc -* -* Description: -* Header file for Bit Buffer module. -* -*/ - - -#ifndef _BIBLIN_H_ -#define _BIBLIN_H_ - -// @@ HARI AVC Added the below 8 lines -// make sure they are in the proper location etc... -#if defined(__SYMBIAN32__) -#define __EPOC__ -//#include "epoclib.h" -#else -#include -#include -//#include -#endif - -#include "nrctyp32.h" - -/* - * Defines - */ - -/* Error codes */ -/* Obsolete error codes are not used anymore and are defined only to maintain - backwards compatibility with older versions of the file. */ -#define ERR_BIB_STRUCT_ALLOC 1000 /* If a structure allocation failed */ -#define ERR_BIB_BUFFER_ALLOC 1001 /* Obsolete */ -#define ERR_BIB_FILE_READ 1002 /* Obsolete */ -#define ERR_BIB_NOT_ENOUGH_DATA 1003 /* If the number of bits requested from - the buffer is greater than the number - of bits available in the buffer */ -#define ERR_BIB_ALREADY_OPENED 1004 /* Obsolete */ -#define ERR_BIB_FILE_OPEN 1005 /* Obsolete */ -#define ERR_BIB_ALREADY_CLOSED 1006 /* Obsolete */ -#define ERR_BIB_FILE_CLOSE 1007 /* Obsolete */ -#define ERR_BIB_NUM_BITS 1008 /* Obsolete */ -#define ERR_BIB_FILE_NOT_OPEN 1009 /* Obsolete */ -#define ERR_BIB_ILLEGAL_SIZE 1010 /* Obsolete */ -#define ERR_BIB_CANNOT_REWIND 1011 /* If the number of bits requested to be - rewinded is greater than the number - of bits available in the buffer */ -#define ERR_BIB_BUFLIST 1012 /* If the internal buffer list has - been corrupted */ -#define ERR_BIB_TOO_SMALL_BUFFER 1013 /* Obsolete */ -#define ERR_BIB_FEC_RELOCK 1050 /* Obsolete */ -#define ERR_BIB_PSC_FOUND 1060 /* Obsolete */ - - -/* - * Structs and typedefs - */ - - - -/* {{-output"bibBuffer_t_info.txt" -ignore"*" -noCR}} - * The bibBuffer_t data type is a structure containing all the necessary data - * for a bit buffer instance (except for the actual data buffer). This - * structure is passed to all of the bit buffer functions. - * {{-output"bibBuffer_t_info.txt"}} - */ - -/* {{-output"bibBuffer_t.txt"}} */ - - - -enum CopyMode { - CopyNone = 0, - CopyWhole = 1, - CopyWithEdit = 2, - EditOnly = 3 -}; - -typedef struct bibEditParams_s { - - int StartByteIndex; // start byte position where data is to be written - int StartBitIndex; // start bit position where data is to be written - int curNumBits; // number of bits that need to be replaced - int newNumBits; // number of bits to be written - int newValue; // the value to be written - -} bibEditParams_t; - -typedef struct bibBufferEdit_s { - - CopyMode copyMode; - int numChanges; - bibEditParams_t *editParams; - -} bibBufferEdit_t; - - - - -typedef struct bibBuffer_s { - u_char *baseAddr; /* the start address of the buffer */ - - unsigned size; /* the size of the buffer in bytes */ - - unsigned getIndex; /* an index to the buffer where data was last got */ - - int bitIndex; /* an index to the byte pointed by getIndex + 1 */ - - u_int32 bitsLeft; /* the number of bits currently in the buffer */ - - u_int32 numBytesRead; /* the total number of bytes read */ - - int error; /* stores possible error code */ - -} bibBuffer_t; -/* {{-output"bibBuffer_t.txt"}} */ - -#ifdef DEBUG_OUTPUT -extern bibBuffer_t * buffer_global; -#endif - -/* typedefs for bibFlushBits, bibGetBits, and bibShowBits function types */ -typedef void (*bibFlushBits_t) (int, bibBuffer_t *, int *, int *, int16 *); -typedef u_int32 (*bibGetBits_t) (int, bibBuffer_t *, int *, int *, int16 *); -typedef u_int32 (*bibShowBits_t) (int, bibBuffer_t *, int *, int *, int16 *); - -/* - * External macros - */ - -/* - * bibNumberOfBitsLeft - * - * Parameters: - * bibBuffer_t *buffer input bit buffer instance - * - * Function: - * This macro returns the number of bits which are left to be read - * from the current position. - * - * Returns: - * See above. - */ - - #define bibNumberOfBitsLeft(buffer) \ - ((buffer)->bitsLeft) - -/* - * External function prototypes - */ - -bibBuffer_t *bibCreate(void *srcBuffer, unsigned srcBufferLength, - int16 *errorCode); - -void bibDelete(bibBuffer_t *buffer, int16 *errorCode); - -u_int32 bibNumberOfFlushedBits(bibBuffer_t *buffer); - -u_int32 bibNumberOfFlushedBytes(bibBuffer_t *buffer); - -u_int32 bibNumberOfRewBits(bibBuffer_t *buffer); - -void bibRewindBits(u_int32 numberOfBits, bibBuffer_t *buffer, int16 *errorCode); - -int bibCheckPSCValidity( bibBuffer_t *buffer, int syncCodeLength ); - -void bibAddMPEG4Header( bibBuffer_t *buffer, u_int8 *data, int length, int16 *errorCode ); - -void bibMarkBufferWithPSC( bibBuffer_t *buffer, int16 *error ); - -/* - * Prototypes for bibFlushBits/bibGetBits/bibShowBits - */ - -void bibFlushBitsL(int numberOfBits, bibBuffer_t *buffer); -u_int32 bibGetBitsL(int numberOfBits, bibBuffer_t *buffer); -u_int32 bibShowBitsL(int numberOfBits, bibBuffer_t *buffer); - -inline void bibFlushBits(int numberOfBits, bibBuffer_t *buffer, int *numberOfBitsGot, int * /*bitErrorIndication*/, int16 * /*errorCode*/) -{ - *numberOfBitsGot = numberOfBits; - bibFlushBitsL(numberOfBits, buffer); -} - -inline u_int32 bibGetBits(int numberOfBits, bibBuffer_t *buffer, int *numberOfBitsGot, int * /*bitErrorIndication*/, int16 * /*errorCode*/) -{ - *numberOfBitsGot = numberOfBits; - return bibGetBitsL(numberOfBits, buffer); -} - -inline u_int32 bibShowBits(int numberOfBits, bibBuffer_t *buffer, int *numberOfBitsGot, int * /*bitErrorIndication*/, int16 * /*errorCode*/) -{ - *numberOfBitsGot = numberOfBits; - return bibShowBitsL(numberOfBits, buffer); -} - -#define bibFlushBitsFromBuffer bibFlushBits -#define bibGetBitsFromBuffer bibGetBits -#define bibShowBitsFromBuffer bibShowBits - - -bibBufferEdit_t *bibBufferEditCreate(int16 *errorCode); -void bibBufEditDelete(bibBufferEdit_t *bufEdit, int16 *errorCode); - -// copy from input buffer to output buffer in various copy modes (with or without editing) -void CopyStream(bibBuffer_t *SrcBuffer,bibBuffer_t *DestBuffer,bibBufferEdit_t *bufEdit, - int ByteStart,int BitStart); -// copy from input buffer to output buffer (without editing) -void CopyBuffer(bibBuffer_t *SrcBuffer,bibBuffer_t *DestBuffer, - int ByteStart,int BitStart, int ByteEnd, int BitEnd); -// copy from BufferEdit to output buffer (no copying; rather, inserting code into output buffer) -void CopyBufferEdit(bibBuffer_t *SrcBuffer, bibBuffer_t *DestBuffer, - bibEditParams_t *edParam, int updateSrcBufferStats=1); -// insert correct IntraDC values for H.263 chrominance blocks in output buffer -void ResetH263IntraDcUV(bibBuffer_t *DestBuffer, int uValue, int vValue); -// insert correct IntraDC values for MPEG-4 chrominance blocks in output buffer -void ResetMPEG4IntraDcUV(bibBuffer_t *DestBuffer, int IntraDC_size); - - /* - SrcValue the source value from which bits are to be extacted - MaxNumBits the length in bits of the source value - StartBit the index of the starting bit form where data is to be retrieved - getBits the number of bits to be retrieved - */ -u_int32 bibGetBitsFromWordL(u_int32 SrcValue, u_int32 getBits, u_int32 *StartBit, - u_int32 MaxNumBits); -void bibForwardBits(u_int32 numberOfBits, bibBuffer_t *buffer); -void bibStuffBits(bibBuffer_t *buffer); -void bibStuffBitsMPEG4(bibBuffer_t *inBuffer, bibBuffer_t *outBuffer, bibBufferEdit_t *bufEdit, - int *StartByteIndex, int *StartBitIndex, int updateSrcBufferStats); - - -#endif -// End of File