MAX_CARLINK_A270S/MXC_A27-PCB4.5-270T/lib/hx170dec/include/h264hwd_decoder.h

89 lines
3.6 KiB
C
Raw Permalink Normal View History

2025-01-21 16:49:37 +08:00
/*------------------------------------------------------------------------------
-- --
-- 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 : Top level control of the decoder
--
--------------------------------------------------------------------------------
--
-- Version control information, please leave untouched.
--
-- $RCSfile: h264hwd_decoder.h,v $
-- $Date: 2009/11/26 13:32:15 $
-- $Revision: 1.4 $
--
------------------------------------------------------------------------------*/
#ifndef H264HWD_DECODER_H
#define H264HWD_DECODER_H
/*------------------------------------------------------------------------------
1. Include headers
------------------------------------------------------------------------------*/
#include "basetype.h"
#include "h264hwd_storage.h"
#include "h264hwd_container.h"
#include "h264hwd_dpb.h"
/*------------------------------------------------------------------------------
2. Module defines
------------------------------------------------------------------------------*/
/* enumerated return values of the functions */
enum
{
H264BSD_RDY,
H264BSD_PIC_RDY,
H264BSD_HDRS_RDY,
H264BSD_ERROR,
H264BSD_PARAM_SET_ERROR,
H264BSD_NEW_ACCESS_UNIT,
H264BSD_FMO,
H264BSD_UNPAIRED_FIELD
};
/*------------------------------------------------------------------------------
3. Data types
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
4. Function prototypes
------------------------------------------------------------------------------*/
void h264bsdInit(storage_t * pStorage, u32 noOutputReordering,
u32 useSmoothingBuffer);
u32 h264bsdDecode(decContainer_t * pDecCont, const u8 * byteStrm, u32 len,
u32 picId, u32 * readBytes);
void h264bsdShutdown(storage_t * pStorage);
const dpbOutPicture_t *h264bsdNextOutputPicture(storage_t * pStorage);
u32 h264bsdPicWidth(storage_t * pStorage);
u32 h264bsdPicHeight(storage_t * pStorage);
u32 h264bsdVideoRange(storage_t * pStorage);
u32 h264bsdMatrixCoefficients(storage_t * pStorage);
u32 h264bsdIsMonoChrome(storage_t * pStorage);
void h264bsdCroppingParams(storage_t * pStorage, u32 * croppingFlag,
u32 * left, u32 * width, u32 * top, u32 * height);
u32 h264bsdCheckValidParamSets(storage_t * pStorage);
void h264bsdFlushBuffer(storage_t * pStorage);
u32 h264bsdAspectRatioIdc(const storage_t * pStorage);
void h264bsdSarSize(const storage_t * pStorage, u32 * sar_width,
u32 * sar_height);
#endif /* #ifdef H264HWD_DECODER_H */