12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- /*------------------------------------------------------------------------------
- -- --
- -- 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. --
- -- --
- --------------------------------------------------------------------------------
- --
- -- Description : Hardware interface read/write
- --
- ------------------------------------------------------------------------------
- --
- -- Version control information, please leave untouched.
- --
- -- $RCSfile: h264hwd_asic.h,v $
- -- $Revision: 1.2 $
- -- $Date: 2008/09/15 09:55:40 $
- --
- ------------------------------------------------------------------------------*/
- #ifndef __H264ASIC_H__
- #define __H264ASIC_H__
- #include "basetype.h"
- #include "dwl.h"
- #include "h264hwd_container.h"
- #include "h264hwd_storage.h"
- #define ASIC_MB_RLC_BUFFER_SIZE 880 /* bytes */
- #define ASIC_MB_CTRL_BUFFER_SIZE 8 /* bytes */
- #define ASIC_MB_MV_BUFFER_SIZE 64 /* bytes */
- #define ASIC_MB_I4X4_BUFFER_SIZE 8 /* bytes */
- #define ASIC_CABAC_INIT_BUFFER_SIZE 3680/* bytes */
- #define ASIC_SCALING_LIST_SIZE 6*16+2*64
- #define ASIC_POC_BUFFER_SIZE 34*4
- #define X170_DEC_TIMEOUT 0x00FFU
- #define X170_DEC_SYSTEM_ERROR 0x0FFFU
- #define X170_DEC_HW_RESERVED 0xFFFFU
- /* asic macroblock types */
- typedef enum H264AsicMbTypes
- {
- HW_P_16x16 = 0,
- HW_P_16x8 = 1,
- HW_P_8x16 = 2,
- HW_P_8x8 = 3,
- HW_I_4x4 = 4,
- HW_I_16x16 = 5,
- HW_I_PCM = 6,
- HW_P_SKIP = 7
- } H264AsicMbTypes_t;
- u32 AllocateAsicBuffers(decContainer_t * pDecCont,
- DecAsicBuffers_t * asicBuff, u32 mbs);
- void ReleaseAsicBuffers(const void *dwl, DecAsicBuffers_t * asicBuff);
- void PrepareIntra4x4ModeData(storage_t * pStorage,
- DecAsicBuffers_t * pAsicBuff);
- void PrepareMvData(storage_t * pStorage, DecAsicBuffers_t * pAsicBuff);
- void PrepareRlcCount(storage_t * pStorage, DecAsicBuffers_t * pAsicBuff);
- void H264SetupVlcRegs(decContainer_t * pDecCont);
- void H264InitRefPicList(decContainer_t *pDecCont);
- u32 H264RunAsic(decContainer_t * pDecCont, DecAsicBuffers_t * pAsicBuff);
- #endif /* __H264ASIC_H__ */
|