diff -r 000000000000 -r 951a5db380a0 videoeditorengine/h263decoder/inc/decpich.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoeditorengine/h263decoder/inc/decpich.h Fri Jan 29 14:08:33 2010 +0200 @@ -0,0 +1,132 @@ +/* +* 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 for picture header decoding functions. +* +*/ + + + + +#ifndef _DECPICH_H_ +#define _DECPICH_H_ + +/* + * Includes + */ + +#include "core.h" + +#include "biblin.h" + + +/* + * Defines + */ + +// unify error codes +#define DPH_OK H263D_OK /* everything ok */ + +#define DPH_OK_BUT_BIT_ERROR H263D_OK_BUT_BIT_ERROR /* bitstream corruption was detected */ +#define DPH_OK_BUT_NOT_CODED H263D_OK_BUT_NOT_CODED /* the VOP is not_coded: no video data sent, + only the timestamp -> skip the frame */ +#define DPH_ERR H263D_ERROR /* a general error */ +#define DPH_ERR_NO_INTRA H263D_ERROR_NO_INTRA /* no INTRA frame has been received */ +#define DPH_ERR_FORMAT_CHANGE H263D_ERROR /* picture size change in bitstream */ + + +/* + * Structs and typedefs + */ + +/* {{-output"dphInParam_t_info.txt" -ignore"*" -noCR}} + This structure is used to pass input parameters to + the dphGetPictureHeader function. + {{-output"dphInParam_t_info.txt"}} */ + +/* {{-output"dphInParam_t.txt"}} */ +typedef struct { + int numStuffBits; /* Number of stuffing bits before PSC */ + int fReadBits; /* 0, if picture header should not be read (use previous + picture header but decode it using dphGetPictureHeader) */ + int fNeedDecodedFrame; +} dphInParam_t; +/* {{-output"dphInParam_t.txt"}} */ + + +/* {{-output"dphInOutParam_t_info.txt" -ignore"*" -noCR}} + This structure is used to pass input parameters to + the dphGetPictureHeader function. The function may modify + the parameters (or the structures pointed by the parameters). + {{-output"dphInOutParam_t_info.txt"}} */ + +/* {{-output"dphInOutParam_t.txt"}} */ +typedef struct { + vdcInstance_t *vdcInstance; /* Video Decoder Core instance */ + bibBuffer_t *inBuffer; /* Bit Buffer instance */ + bibBuffer_t *outBuffer; /* Out Bit Buffer instance data */ + + +} dphInOutParam_t; +/* {{-output"dphInOutParam_t.txt"}} */ + + +/* {{-output"dphOutParam_t_info.txt" -ignore"*" -noCR}} + The dphGetPictureHeader function uses this structure to return + output parameters. + {{-output"dphOutParam_t_info.txt"}} */ + +/* {{-output"dphOutParam_t.txt"}} */ +typedef struct { + int pquant; /* Initial quantizer */ + int trp; /* Temporal Reference for Prediction, + -1 if not indicated in the bitstream */ + u_char *currYFrame; /* Memory buffer for new Y frame */ + u_char *currUFrame; /* Memory buffer for new U frame */ + u_char *currVFrame; /* Memory buffer for new V frame */ + u_char *currYBFrame; /* New Y frame of B part of PB-frame */ + u_char *currUBFrame; /* New U frame of B part of PB-frame */ + u_char *currVBFrame; /* New V frame of B part of PB-frame */ +} dphOutParam_t; +/* {{-output"dphOutParam_t.txt"}} */ + + +/* + * Function prototypes + */ + +int dphGetPictureHeader( + const dphInParam_t *inParam, + dphInOutParam_t *inOutParam, + dphOutParam_t *outParam, + int *bitErrorIndication); + +int dphGetSEI( + vdcInstance_t *vdcInstance, /* Video Decoder Core instance */ + bibBuffer_t *inBuffer, /* Bit Buffer instance */ + int *bitErrorIndication); + +class CMPEG4Transcoder; +int dphGetMPEGVolHeader(dphInOutParam_t *inOutParam, CMPEG4Transcoder *hTranscoder); + +int dphGetMPEGVopHeader( + const dphInParam_t *inParam, + dphInOutParam_t *inOutParam, + dphOutParam_t *outParam, + int *bitErrorIndication); + +#endif + +// End of file