123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- /*------------------------------------------------------------------------------
- -- --
- -- 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 : Top level interface for sequence and picture layer decoding
- --
- --------------------------------------------------------------------------------
- --
- -- Version control information, please leave untouched.
- --
- -- $RCSfile: vc1hwd_decoder.h,v $
- -- $Revision: 1.9 $
- -- $Date: 2010/02/25 12:30:24 $
- --
- ------------------------------------------------------------------------------*/
- #ifndef VC1HWD_DECODER_H
- #define VC1HWD_DECODER_H
- /*------------------------------------------------------------------------------
- Include headers
- ------------------------------------------------------------------------------*/
- #include "basetype.h"
- #include "vc1decapi.h"
- #include "vc1hwd_container.h"
- #include "vc1hwd_storage.h"
- #include "vc1hwd_util.h"
- #include "vc1hwd_stream.h"
- #include "vc1hwd_headers.h"
- /*------------------------------------------------------------------------------
- Module defines
- ------------------------------------------------------------------------------*/
- #define INVALID_ANCHOR_PICTURE ((u16x)(-1))
- #define MIN_PIC_WIDTH 48
- #define MIN_PIC_HEIGHT 48
- #define MAX_NUM_MBS ((1920>>4)*(1088>>4))
- /* enumerated return values of the functions */
- enum {
- VC1HWD_OK,
- VC1HWD_NOT_CODED_PIC,
- VC1HWD_PIC_RDY,
- VC1HWD_SEQ_HDRS_RDY,
- VC1HWD_ENTRY_POINT_HDRS_RDY,
- VC1HWD_END_OF_SEQ,
- VC1HWD_PIC_HDRS_RDY,
- VC1HWD_FIELD_HDRS_RDY,
- VC1HWD_ERROR,
- VC1HWD_METADATA_ERROR,
- VC1HWD_MEMORY_FAIL,
- VC1HWD_USER_DATA_RDY,
- VC1HWD_HDRS_ERROR
- };
- /*------------------------------------------------------------------------------
- Data types
- ------------------------------------------------------------------------------*/
- /*------------------------------------------------------------------------------
- Function prototypes
- ------------------------------------------------------------------------------*/
- u16x vc1hwdInit( const void *dwl, swStrmStorage_t *pStorage,
- const VC1DecMetaData *pMetaData,
- u32 numFrameBuffers );
- u16x vc1hwdDecode( decContainer_t *pDecCont,
- swStrmStorage_t *pStorage,
- strmData_t *strmData );
- u16x vc1hwdRelease( const void *dwl, swStrmStorage_t *pStorage );
- u16x vc1hwdUnpackMetaData( const u8 *pBuffer, VC1DecMetaData *MetaData );
- void vc1hwdErrorConcealment( const u16x flush,
- swStrmStorage_t * pStorage );
- u16x vc1hwdNextPicture( swStrmStorage_t * pStorage, u16x * pNextPicture,
- u32* pFieldToRet, u16x endOfStream, u32 deinterlace,
- u32* pPicId, u32* errMbs );
- u16x vc1hwdBufferPicture( swStrmStorage_t * pStorage, u16x picToBuffer,
- u16x bufferB, u16x picId, u16x errMbs );
- u32 vc1hwdSeekFrameStart( swStrmStorage_t * pStorage,
- strmData_t *pStrmData );
- void vc1hwdSetPictureInfo( decContainer_t *pDecCont, u32 picId );
- void vc1hwdUpdateWorkBufferIndexes( swStrmStorage_t * pStorage, u32 isBPic );
- #endif /* #ifndef VC1HWD_DECODER_H */
|