123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- /*------------------------------------------------------------------------------
- -- --
- -- 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 : interface between pp and decoder
- --
- --------------------------------------------------------------------------------
- --
- -- Version control information, please leave untouched.
- --
- -- $RCSfile: decppif.h,v $
- -- $Date: 2010/12/02 10:53:50 $
- -- $Revision: 1.16 $
- --
- ------------------------------------------------------------------------------*/
- #ifndef _PPDEC_H_
- #define _PPDEC_H_
- #include "basetype.h"
- /* PP input types (picStruct) */
- /* Frame or top field */
- #define DECPP_PIC_FRAME_OR_TOP_FIELD 0U
- /* Bottom field only */
- #define DECPP_PIC_BOT_FIELD 1U
- /* top and bottom is separate locations */
- #define DECPP_PIC_TOP_AND_BOT_FIELD 2U
- /* top and bottom interleaved */
- #define DECPP_PIC_TOP_AND_BOT_FIELD_FRAME 3U
- /* interleaved top only */
- #define DECPP_PIC_TOP_FIELD_FRAME 4U
- /* interleaved bottom only */
- #define DECPP_PIC_BOT_FIELD_FRAME 5U
- /* Control interface between decoder and pp */
- /* decoder writes, pp read-only */
- typedef struct DecPpInterface_
- {
- enum
- {
- DECPP_IDLE = 0,
- DECPP_RUNNING, /* PP was started */
- DECPP_PIC_READY, /* PP has finished a picture */
- DECPP_PIC_NOT_FINISHED /* PP still processing a picture */
- } ppStatus; /* Decoder keeps track of what it asked the pp to do */
- enum
- {
- MULTIBUFFER_UNINIT = 0, /* buffering mode not yet decided */
- MULTIBUFFER_DISABLED, /* Single buffer legacy mode */
- MULTIBUFFER_SEMIMODE, /* enabled but full pipel cannot be used */
- MULTIBUFFER_FULLMODE /* enabled and full pipeline successful */
- } multiBufStat;
- u32 inputBusLuma;
- u32 inputBusChroma;
- u32 bottomBusLuma;
- u32 bottomBusChroma;
- u32 picStruct; /* structure of input picture */
- u32 topField;
- u32 inwidth;
- u32 inheight;
- u32 usePipeline;
- u32 littleEndian;
- u32 wordSwap;
- u32 croppedW;
- u32 croppedH;
- u32 bufferIndex; /* multibuffer, where to put PP output */
- u32 displayIndex; /* multibuffer, next picture in display order */
- u32 prevAnchorDisplayIndex;
- /* VC-1 */
- u32 rangeRed;
- u32 rangeMapYEnable;
- u32 rangeMapYCoeff;
- u32 rangeMapCEnable;
- u32 rangeMapCCoeff;
- u32 tiledMode;
- } DecPpInterface;
- /* Decoder asks with this struct information about pp setup */
- /* pp writes, decoder read-only */
- typedef struct DecPpQuery_
- {
- /* Dec-to-PP direction */
- u32 tiledMode;
- /* PP-to-Dec direction */
- u32 pipelineAccepted; /* PP accepts pipeline */
- u32 deinterlace; /* Deinterlace feature used */
- u32 multiBuffer; /* multibuffer PP output enabled */
- u32 ppConfigChanged; /* PP config changed after previous output */
- } DecPpQuery;
- #endif
|