--- 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