/*------------------------------------------------------------------------------ -- -- -- 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 : Stream decoding storage definition -- -------------------------------------------------------------------------------- -- -- Version control information, please leave untouched. -- -- $RCSfile: rv_storage.h,v $ -- $Date: 2010/03/31 08:55:00 $ -- $Revision: 1.7 $ -- ------------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------ Table of context 1. xxx... ------------------------------------------------------------------------------*/ #ifndef RV_STRMSTORAGE_H #define RV_STRMSTORAGE_H #include "basetype.h" #include "rv_cfg.h" #include "bqueue.h" typedef struct { DWLLinearMem_t data; u32 picType; u32 picId; u32 tf; u32 ff[2]; u32 rff; u32 rfc; u32 isInter; u32 nbrErrMbs; RvDecRet retVal; u32 sendToPp; RvDecTime timeCode; u32 frameWidth, frameHeight; u32 codedWidth, codedHeight; } picture_t; typedef struct { u32 status; u32 strmDecReady; picture_t pPicBuf[16]; picture_t pRprBuf; u32 outBuf[16]; u32 outIndex; u32 outCount; u32 workOut; u32 work0; u32 work1; u32 latestId; /* current pic id, used for debug */ u32 skipB; u32 prevPicCodingType; u32 pictureBroken; u32 intraFreeze; u32 rprDetected; u32 rprNextPicType; u32 previousB; u32 previousModeFull; u32 isRv8; u32 fwdScale; u32 bwdScale; u32 tr; u32 prevTr; u32 trb; DWLLinearMem_t vlcTables; DWLLinearMem_t directMvs; DWLLinearMem_t rprWorkBuffer; DWLLinearMem_t slices; u32 frameCodeLength; u32 frameSizes[2*9]; u32 maxFrameWidth, maxFrameHeight; u32 maxMbsPerFrame; u32 numSlices; u32 rawMode; /* to store number of bits needed to indicate rv9 frame size */ u32 frameSizeBits; /* used to compute timestamps for output pictures */ u32 picId; u32 prevPicId; u32 prevBIdx; bufferQueue_t bq; bufferQueue_t bqPp; u32 maxNumBuffers; u32 numBuffers; u32 numPpBuffers; } DecStrmStorage; #endif /* #ifndef RV_STRMSTORAGE_H */