videoeditorengine/h263decoder/inc/core.h
changeset 9 d87d32eab1a9
parent 0 951a5db380a0
--- a/videoeditorengine/h263decoder/inc/core.h	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +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:  
-* Internal header for the core module of the Video Decoder Core.
-*
-*/
-
-
-#ifndef _CORE_H_
-#define _CORE_H_
-
-#include "vdcmvc.h"
-#include "vdcaic.h"
-#include "vdeims.h"
-#include "viddemux.h"
-
-#include "biblin.h"
-
-
-/*
- * Defines
- */
-
-#define vdcMalloc malloc
-#define vdcCalloc calloc
-#define vdcRealloc realloc
-#define vdcDealloc free
-
-#ifndef vdcAssert
-#define vdcAssert(exp) assert(exp);
-#endif
-
-
-/*
- * Structs and typedefs
- */
-
-/* {{-output"vdcPictureParam_t_info.txt" -ignore"*" -noCR}}
-   vdcPictureParam_t is used to store the attributes for one picture.
-   {{-output"vdcPictureParam_t_info.txt"}} */
-
-/* {{-output"vdcPictureParam_t.txt"}} */
-typedef struct {
-   int tr;                    /* the TR field or a combination of ETR and TR
-                                 if ETR is used */
-
-   int trd;                   /* Difference between present and previous tr */
-
-   int prevTR;                /* TR of the previous frame */
-
-   /* The following three fields correspond to the flags in the PTYPE field */
-   int fSplitScreenIndicator;
-   int fDocumentCameraIndicator;
-   int fFullPictureFreezeRelease;
-
-   int pictureType;           /* Picture type is one of the following:
-                                    VDX_PIC_TYPE_I       INTRA
-                                    VDX_PIC_TYPE_P       INTER
-                                    VDX_PIC_TYPE_PB      PB (Annex G)
-                                    VDX_PIC_TYPE_IPB     Improved PB
-                                    VDX_PIC_TYPE_B       B (Annex O)
-                                    VDX_PIC_TYPE_EI      EI (Annex O)
-                                    VDX_PIC_TYPE_EP      EP (Annex O) */
-
-   int fPLUSPTYPE;            /* 0 = no PLUSPTYPE, 1 = PLUSPTYPE exists */
-
-   int cpm;                   /* The CPM field */
-   int psbi;                  /* The PSBI field, valid only if cpm == 1 */
-
-   /* The following two fields are relevant if picture type indicates
-      a PB frame */
-   int trb;                   /* The TRB field */
-   int dbquant;               /* The DBQUANT field */
-
-   int lumWidth;              /* the width and height of the luminance */
-   int lumHeight;             /* image to display (divisible with 4) */
-
-   int lumMemWidth;           /* the width and height of the luminance */
-   int lumMemHeight;          /* image in memory (divisible with 16) */
-
-   /* The following six fields are relevant only if fSS is off */
-   int numGOBs;               /* Number of GOBs in picture */
-   int fLastGOBSizeDifferent; /* Flag indicating different size of last GOB */
-   int numMBsInGOB;           /* Number of macroblocks in other GOBs than 
-                                 the last one */
-   int numMBsInLastGOB;       /* Number of macroblocks in last GOB */
-   int numMBLinesInGOB;       /* Number of macroblock lines in one GOB */
-   int numMBsInMBLine;        /* Number of macroblocks in macroblock line */
-
-   /* The following six fields are relevant only if fSS is on */
-   int mbaFieldWidth;         /* MBA Field width */
-   int mbaMaxValue;           /* MBA maximum value. See Table K.2/H.263 */
-   int swiFieldWidth;         /* SWI Field width */
-   int swiMaxValue;           /* SWI maximum value. See Table K.3/H.263 */
-
-   int fUMV;                  /* Unrestricted Motion Vector Mode */
-   int fSAC;                  /* Syntax-based Arithmetic Coding Mode */
-   int fAP;                   /* Advanced Prediction Mode */
-
-   int fRPR;                  /* Reference Picture Resampling Mode */
-   int fRRU;                  /* Reduced-Resolution Update Mode */
-   int rtype;                 /* Rounding type (RTYPE) */
-
-   int elnum;                 /* Enhancement layer number */
-
-   int fCustomSourceFormat;   /* Flag indicating if custom source format 
-                                 is used */
-
-   int fAIC;                  /* Advanced INTRA Coding Mode */
-   int fDF;                   /* Deblocking Filter Mode */
-   int fSS;                   /* Slice Structured Mode */
-   int fRPS;                  /* Reference Picture Selection Mode,
-                                 Note: always valid and therefore should be
-                                 the same as instance->fRPS after decoding
-                                 the first picture header. */
-   int fISD;                  /* Independent Segment Decoding Mode */
-   int fAIV;                  /* Alternate INTER VLC Mode */
-   int fMQ;                   /* Modified Quantization Mode */
-
-                              /* Picture Clock Frequence (PCF) fields */
-   int fCustomPCF;            /* 0 = CIF PCF, 1 = custom PCF */
-   int pcfRate;               /* PCF = pcfRate / pcfScale Hz */
-   int pcfScale;
-
-   /* The following field is relevant only if fUMV is on with fPLUSPTYPE */
-   int fUMVLimited;           /* 0 = motion vector range is not limited,
-                                 1 = motion vector range is limited
-                                    according to Annex D */
-
-   int fMVsOverPictureBoundaries;
-                              /* 0 = prediction over picture boundaries is 
-                                     disallowed,
-                                 1 = prediction over picture boundaries is
-                                     allowed */
-
-   /* The MPEG-4 Video Object Layer (VOL) parameters */
-/*** MPEG-4 REVISION ***/
-
-   int vo_id;                 /* VO Id */
-   int vol_id;                /* VO Id */
-
-   u_char error_res_disable;  /* VOL disable error resilence mode */
-   u_char reversible_vlc;     /* VOL reversible VLCs */
-   u_char data_partitioned;   /* VOL data partitioning */
-
-   int time_increment_resolution; /* resolution of the time increment
-                                     in the VOP header */
-
-   /* The in H.263 not existing MPEG-4 Video Object Plane (VOP) parameters */
-   
-   int mod_time_base;         /* VOP modulo time base (absolute) */
-   int time_base_incr;        /* time base increment of the current VOP
-                                 (used in HEC of Video Packet Header,
-                                 when time_base_incr of the VOP is
-                                 retransmitted */
-   int time_inc;              /* VOP time increment 
-                                 (relative to last mod_time_base) */ 
-   int intra_dc_vlc_thr;
-   int fcode_forward;
-   u_char fixed_vop_rate;       /* fixed vop rate indication, added for transcoding */
-/*** End MPEG-4 REVISION ***/
-
-} vdcPictureParam_t;
-/* {{-output"vdcPictureParam_t.txt"}} */
-
-
-/* {{-output"vdcInstance_t_info.txt" -ignore"*" -noCR}}
-   vdcInstance_t holds the instance data for a Video Decoder Core instance.
-   This structure is used to keep track of the internal state of
-   a VDC instance.
-   {{-output"vdcInstance_t_info.txt"}} */
-
-/* {{-output"vdcInstance_t.txt"}} */
-typedef struct {
-   vdeImsItem_t *currFrame;   /* Current P/I frame (image store item) */
-   vdeImsItem_t *bFrame;      /* Current B frame (of PB, image store item) */
-                              /* NULL pointer indicates that the frames are
-                                 not valid. */
-
-   vdcPictureParam_t pictureParam;
-                              /* Picture parameters for the current picture */
-
-   int32 frameNum;            /* Frame number */
-   int32 frameNumForBFrame;   /* Frame number for B frame */
-
-   int gfid;                  /* GOB Frame ID */
-   vdxPictureHeader_t *prevPicHeader;  /* Header of the previous picture */
-   int fPrevPicHeaderReliable;	/* if header is not 100% reliable, it is better not to compare it with the next header */
-
-   mvcData_t mvcData;         /* Storage for motion vector data */
-
-/*** MPEG-4 REVISION ***/
-
-   aicData_t aicData;         /* Storage AC/DC reconstruction*/
-
-   char *user_data;           /* User Data */
-   int user_data_length; 
-
-/*** End MPEG-4 REVISION ***/
-
-   u_int32 nOfDecodedFrames;  /* Counter for (partially) successfully decoded frames */
-   u_char fIntraGot;          /* non-zero = INTRA frame has been decoded */
-   u_char fEOS;               /* 1 if EOS has been reached, 0 otherwise */
-
-   int fRPS;                  /* Reference Picture Selection in use? 
-                                 At first, set to zero in vdcOpen.
-                                 Then, modified according to the bitstream. */
-
-   int rpsMode;               /* both/either/neither ACK and/or/nor NACK, 
-                                 VDX_RPS_MODE_XXX */
-
-   int fIgnoreRPSBufferUpdate;/* 0 = segment buffering in FIFO mode as normally
-                                 1 = decoded pictures are not put into
-                                     reference segment buffers */
-
-   int numAnnexNScalabilityLayers;
-                              /* -1  = no frames decoded yet,
-                                 0   = Nokia-proprietary Annex N scalability 
-                                       layers not in use,
-                                 2.. = number of scalability layers */
-
-   int fGFIDShouldChange;     /* 1, if GFID should change, 0 otherwise */
-
-   vdeIms_t *imageStore;      /* Pointer to image store */
-
-   void *hParent;             /* typeless handle to vdeInstance_t */
-
-   u_int32 snapshotStartCallback;  /* function pointer to a function informing   w
-                                      the beginning of a snapshot */
-
-   u_int32 snapshotEndCallback;  /* function pointer to a function informing
-                                      the end of a snapshot */
-
-   int snapshotStatus;           /* snapshot transmission status */
-
-   u_int32 reportPictureSizeCallback; /* callback function for informing
-                                         frame size */
-
-} vdcInstance_t;
-/* {{-output"vdcInstance_t.txt"}} */
-
-
-/*
- * Function prototypes
- */
-
-VDC_INLINE int VDC_MIN(int a, int b) {return a < b ? a : b;}
-VDC_INLINE int VDC_MAX(int a, int b) {return a > b ? a : b;}
-
-
-#endif
-
-// End of file