12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /*------------------------------------------------------------------------------
- -- --
- -- 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 : Get neighbour blocks
- --
- --------------------------------------------------------------------------------
- --
- -- Version control information, please leave untouched.
- --
- -- $RCSfile: h264hwd_neighbour.h,v $
- -- $Date: 2008/03/13 12:48:06 $
- -- $Revision: 1.1 $
- --
- ------------------------------------------------------------------------------*/
- /*------------------------------------------------------------------------------
- Table of contents
-
- 1. Include headers
- 2. Module defines
- 3. Data types
- 4. Function prototypes
- ------------------------------------------------------------------------------*/
- #ifndef H264HWD_NEIGHBOUR_H
- #define H264HWD_NEIGHBOUR_H
- /*------------------------------------------------------------------------------
- 1. Include headers
- ------------------------------------------------------------------------------*/
- #include "basetype.h"
- #include "h264hwd_macroblock_layer.h"
- /*------------------------------------------------------------------------------
- 2. Module defines
- ------------------------------------------------------------------------------*/
- typedef enum {
- MB_A = 0,
- MB_B,
- MB_C,
- MB_D,
- MB_CURR,
- MB_NA = 0xFF
- } neighbourMb_e;
- /*------------------------------------------------------------------------------
- 3. Data types
- ------------------------------------------------------------------------------*/
- typedef struct
- {
- neighbourMb_e mb;
- u8 index;
- } neighbour_t;
- /*------------------------------------------------------------------------------
- 4. Function prototypes
- ------------------------------------------------------------------------------*/
- void h264bsdInitMbNeighbours(mbStorage_t *pMbStorage, u32 picWidth,
- u32 picSizeInMbs);
- /*@null@*/ mbStorage_t* h264bsdGetNeighbourMb(mbStorage_t *pMb,
- neighbourMb_e neighbour);
- u32 h264bsdIsNeighbourAvailable(mbStorage_t *pMb,
- /*@null@*/ mbStorage_t *pNeighbour);
- const neighbour_t* h264bsdNeighbour4x4BlockA(u32 blockIndex);
- const neighbour_t* h264bsdNeighbour4x4BlockB(u32 blockIndex);
- const neighbour_t* h264bsdNeighbour4x4BlockC(u32 blockIndex);
- const neighbour_t* h264bsdNeighbour4x4BlockD(u32 blockIndex);
- #endif /* #ifdef H264HWD_NEIGHBOUR_H */
|