123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- /*------------------------------------------------------------------------------
- -- --
- -- This software is confidential and proprietary and may be used --
- -- only as expressly authorized by a licensing agreement from --
- -- --
- -- Hantro Products Oy. --
- -- --
- -- (C) COPYRIGHT 2006 HANTRO PRODUCTS OY --
- -- ALL RIGHTS RESERVED --
- -- --
- -- The entire notice above must be reproduced --
- -- on all copies and should not be removed. --
- -- --
- --------------------------------------------------------------------------------
- --
- -- Abstract : Definition of decContainer_t data structure
- --
- --------------------------------------------------------------------------------
- --
- -- Version control information, please leave untouched.
- --
- -- $RCSfile: h264hwd_container.h,v $
- -- $Date: 2009/04/27 08:56:17 $
- -- $Revision: 1.10 $
- --
- ------------------------------------------------------------------------------*/
- #ifndef H264HWD_CONTAINER_H
- #define H264HWD_CONTAINER_H
- /*------------------------------------------------------------------------------
- 1. Include headers
- ------------------------------------------------------------------------------*/
- #include "basetype.h"
- #include "h264hwd_storage.h"
- #include "h264hwd_util.h"
- #include "refbuffer.h"
- #include "deccfg.h"
- #include "decppif.h"
- /*------------------------------------------------------------------------------
- 2. Module defines
- ------------------------------------------------------------------------------*/
- /*------------------------------------------------------------------------------
- 3. Data types
- ------------------------------------------------------------------------------*/
- #define H264DEC_UNINITIALIZED 0U
- #define H264DEC_INITIALIZED 1U
- #define H264DEC_BUFFER_EMPTY 2U
- #define H264DEC_NEW_HEADERS 3U
- /* asic interface */
- typedef struct DecAsicBuffers
- {
- u32 buff_status;
- DWLLinearMem_t mbCtrl;
- DWLLinearMem_t mv;
- DWLLinearMem_t intraPred;
- DWLLinearMem_t residual;
- DWLLinearMem_t *outBuffer;
- DWLLinearMem_t cabacInit;
- u32 refPicList[16];
- u32 maxRefFrm;
- u32 filterDisable;
- i32 chromaQpIndexOffset;
- i32 chromaQpIndexOffset2;
- u32 currentMB;
- u32 notCodedMask;
- u32 rlcWords;
- u32 picSizeInMbs;
- u32 wholePicConcealed;
- u32 disableOutWriting;
- u32 enableDmvAndPoc;
- } DecAsicBuffers_t;
- typedef struct decContainer
- {
- const void *checksum;
- u32 decStat;
- u32 picNumber;
- u32 asicRunning;
- u32 rlcMode;
- u32 tryVlc;
- u32 reallocate;
- const u8 *pHwStreamStart;
- u32 hwStreamStartBus;
- u32 hwBitPos;
- u32 hwLength;
- u32 streamPosUpdated;
- u32 nalStartCode;
- u32 modeChange;
- u32 gapsCheckedForThis;
- u32 packetDecoded;
- u32 forceRlcMode; /* by default stays 0, testing can set it to 1 for RLC mode */
- u32 h264Regs[DEC_X170_REGISTERS];
- storage_t storage; /* h264bsd storage */
- DecAsicBuffers_t asicBuff[1];
- const void *dwl; /* DWL instance */
- u32 refBufSupport;
- u32 h264ProfileSupport;
- u32 is8190;
- u32 maxDecPicWidth;
- refBuffer_t refBufferCtrl;
- u32 keepHwReserved;
- struct pp_
- {
- const void *ppInstance;
- void (*PPDecStart) (const void *, const DecPpInterface *);
- void (*PPDecWaitEnd) (const void *);
- void (*PPConfigQuery) (const void *, DecPpQuery *);
- void (*PPNextDisplayId)(const void *, u32); /* set the next PP outpic ID (multibuffer) */
- DecPpInterface decPpIf;
- DecPpQuery ppInfo;
- const DWLLinearMem_t * sentPicToPp[17]; /* list of pictures sent to pp */
- const DWLLinearMem_t * queuedPicToPp; /* queued picture that should be processed next */
- u32 multiMaxId; /* maximum position used in sentPicToPp[] */
- } pp;
- } decContainer_t;
- /*------------------------------------------------------------------------------
- 4. Function prototypes
- ------------------------------------------------------------------------------*/
- #endif /* #ifdef H264HWD_CONTAINER_H */
|