videoeditorengine/h263decoder/inc/decpich.h
changeset 0 951a5db380a0
--- /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