blob: 4c6e98a5ed77c103134f08451a7a05b0cccf3796 [file] [log] [blame]
/********************************************************************************
* Marvell GPL License Option
*
* If you received this File from Marvell, you may opt to use, redistribute and/or
* modify this File in accordance with the terms and conditions of the General
* Public License Version 2, June 1991 (the "GPL License"), a copy of which is
* available along with the File in the license.txt file or by writing to the Free
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
* on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
*
* THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
* WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
* DISCLAIMED. The GPL License provides additional details about this warranty
* disclaimer.
******************************************************************************/
//////
/// don't edit! auto-generated by docc: vscope_spec.h
////////////////////////////////////////////////////////////
#ifndef vscope_spec_h
#define vscope_spec_h (){}
#include "ctypes.h"
#pragma pack(1)
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _DOCC_H_BITOPS_
#define _DOCC_H_BITOPS_ (){}
#define _bSETMASK_(b) ((b)<32 ? (1<<((b)&31)) : 0)
#define _NSETMASK_(msb,lsb) (_bSETMASK_((msb)+1)-_bSETMASK_(lsb))
#define _bCLRMASK_(b) (~_bSETMASK_(b))
#define _NCLRMASK_(msb,lsb) (~_NSETMASK_(msb,lsb))
#define _BFGET_(r,msb,lsb) (_NSETMASK_((msb)-(lsb),0)&((r)>>(lsb)))
#define _BFSET_(r,msb,lsb,v) do{ (r)&=_NCLRMASK_(msb,lsb); (r)|=_NSETMASK_(msb,lsb)&((v)<<(lsb)); }while(0)
#endif
//////
///
/// $INTERFACE SemaINTR (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 mask (W-)
/// %unsigned 1 empty 0x0
/// ###
/// * Enable interrupt on 'empty' condition
/// ###
/// %unsigned 1 full 0x0
/// ###
/// * Enable interrupt on 'full' condition
/// ###
/// %unsigned 1 almostEmpty 0x0
/// ###
/// * Enable interrupt on 'almostEmpty' condition
/// ###
/// %unsigned 1 almostFull 0x0
/// ###
/// * Enable interrupt on 'almostFull' condition
/// ###
/// %% 28 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 4b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SemaINTR
#define h_SemaINTR (){}
#define RA_SemaINTR_mask 0x0000
#define BA_SemaINTR_mask_empty 0x0000
#define B16SemaINTR_mask_empty 0x0000
#define LSb32SemaINTR_mask_empty 0
#define LSb16SemaINTR_mask_empty 0
#define bSemaINTR_mask_empty 1
#define MSK32SemaINTR_mask_empty 0x00000001
#define BA_SemaINTR_mask_full 0x0000
#define B16SemaINTR_mask_full 0x0000
#define LSb32SemaINTR_mask_full 1
#define LSb16SemaINTR_mask_full 1
#define bSemaINTR_mask_full 1
#define MSK32SemaINTR_mask_full 0x00000002
#define BA_SemaINTR_mask_almostEmpty 0x0000
#define B16SemaINTR_mask_almostEmpty 0x0000
#define LSb32SemaINTR_mask_almostEmpty 2
#define LSb16SemaINTR_mask_almostEmpty 2
#define bSemaINTR_mask_almostEmpty 1
#define MSK32SemaINTR_mask_almostEmpty 0x00000004
#define BA_SemaINTR_mask_almostFull 0x0000
#define B16SemaINTR_mask_almostFull 0x0000
#define LSb32SemaINTR_mask_almostFull 3
#define LSb16SemaINTR_mask_almostFull 3
#define bSemaINTR_mask_almostFull 1
#define MSK32SemaINTR_mask_almostFull 0x00000008
///////////////////////////////////////////////////////////
typedef struct SIE_SemaINTR {
///////////////////////////////////////////////////////////
#define GET32SemaINTR_mask_empty(r32) _BFGET_(r32, 0, 0)
#define SET32SemaINTR_mask_empty(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaINTR_mask_empty(r16) _BFGET_(r16, 0, 0)
#define SET16SemaINTR_mask_empty(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaINTR_mask_full(r32) _BFGET_(r32, 1, 1)
#define SET32SemaINTR_mask_full(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaINTR_mask_full(r16) _BFGET_(r16, 1, 1)
#define SET16SemaINTR_mask_full(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaINTR_mask_almostEmpty(r32) _BFGET_(r32, 2, 2)
#define SET32SemaINTR_mask_almostEmpty(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaINTR_mask_almostEmpty(r16) _BFGET_(r16, 2, 2)
#define SET16SemaINTR_mask_almostEmpty(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaINTR_mask_almostFull(r32) _BFGET_(r32, 3, 3)
#define SET32SemaINTR_mask_almostFull(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaINTR_mask_almostFull(r16) _BFGET_(r16, 3, 3)
#define SET16SemaINTR_mask_almostFull(r16,v) _BFSET_(r16, 3, 3,v)
#define w32SemaINTR_mask {\
UNSG32 umask_empty : 1;\
UNSG32 umask_full : 1;\
UNSG32 umask_almostEmpty : 1;\
UNSG32 umask_almostFull : 1;\
UNSG32 RSVDx0_b4 : 28;\
}
union { UNSG32 u32SemaINTR_mask;
struct w32SemaINTR_mask;
};
///////////////////////////////////////////////////////////
} SIE_SemaINTR;
typedef union T32SemaINTR_mask
{ UNSG32 u32;
struct w32SemaINTR_mask;
} T32SemaINTR_mask;
///////////////////////////////////////////////////////////
typedef union TSemaINTR_mask
{ UNSG32 u32[1];
struct {
struct w32SemaINTR_mask;
};
} TSemaINTR_mask;
///////////////////////////////////////////////////////////
SIGN32 SemaINTR_drvrd(SIE_SemaINTR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SemaINTR_drvwr(SIE_SemaINTR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SemaINTR_reset(SIE_SemaINTR *p);
SIGN32 SemaINTR_cmp (SIE_SemaINTR *p, SIE_SemaINTR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SemaINTR_check(p,pie,pfx,hLOG) SemaINTR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SemaINTR_print(p, pfx,hLOG) SemaINTR_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SemaINTR
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE Semaphore biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CFG (W-)
/// %unsigned 16 DEPTH 0xF
/// ###
/// * Max level of semaphore
/// * Note: write this register will trigger counter reset
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00004 (P)
/// # 0x00004 INTR
/// $SemaINTR INTR REG [3]
/// ###
/// * Interrupt mask for 3 CPUs
/// ###
/// @ 0x00010 mask (W-)
/// %unsigned 1 full 0x0
/// %unsigned 1 emp 0x0
/// ###
/// * When full bit is set to one, to the producer, the semaphore will never be full, so that the producer will never be blocked.
/// * When emp bit is set to one, to the consumer, the semaphore will never be empty, so that the consumer will never be blocked.
/// * When the emp/full bit is set, the semaphore/FIFO pointer will be maintained, but the counter will be not correct anymore.
/// ###
/// %% 30 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 20B, bits: 30b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_Semaphore
#define h_Semaphore (){}
#define RA_Semaphore_CFG 0x0000
#define BA_Semaphore_CFG_DEPTH 0x0000
#define B16Semaphore_CFG_DEPTH 0x0000
#define LSb32Semaphore_CFG_DEPTH 0
#define LSb16Semaphore_CFG_DEPTH 0
#define bSemaphore_CFG_DEPTH 16
#define MSK32Semaphore_CFG_DEPTH 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_Semaphore_INTR 0x0004
///////////////////////////////////////////////////////////
#define RA_Semaphore_mask 0x0010
#define BA_Semaphore_mask_full 0x0010
#define B16Semaphore_mask_full 0x0010
#define LSb32Semaphore_mask_full 0
#define LSb16Semaphore_mask_full 0
#define bSemaphore_mask_full 1
#define MSK32Semaphore_mask_full 0x00000001
#define BA_Semaphore_mask_emp 0x0010
#define B16Semaphore_mask_emp 0x0010
#define LSb32Semaphore_mask_emp 1
#define LSb16Semaphore_mask_emp 1
#define bSemaphore_mask_emp 1
#define MSK32Semaphore_mask_emp 0x00000002
///////////////////////////////////////////////////////////
typedef struct SIE_Semaphore {
///////////////////////////////////////////////////////////
#define GET32Semaphore_CFG_DEPTH(r32) _BFGET_(r32,15, 0)
#define SET32Semaphore_CFG_DEPTH(r32,v) _BFSET_(r32,15, 0,v)
#define GET16Semaphore_CFG_DEPTH(r16) _BFGET_(r16,15, 0)
#define SET16Semaphore_CFG_DEPTH(r16,v) _BFSET_(r16,15, 0,v)
#define w32Semaphore_CFG {\
UNSG32 uCFG_DEPTH : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32Semaphore_CFG;
struct w32Semaphore_CFG;
};
///////////////////////////////////////////////////////////
SIE_SemaINTR ie_INTR[3];
///////////////////////////////////////////////////////////
#define GET32Semaphore_mask_full(r32) _BFGET_(r32, 0, 0)
#define SET32Semaphore_mask_full(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16Semaphore_mask_full(r16) _BFGET_(r16, 0, 0)
#define SET16Semaphore_mask_full(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32Semaphore_mask_emp(r32) _BFGET_(r32, 1, 1)
#define SET32Semaphore_mask_emp(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16Semaphore_mask_emp(r16) _BFGET_(r16, 1, 1)
#define SET16Semaphore_mask_emp(r16,v) _BFSET_(r16, 1, 1,v)
#define w32Semaphore_mask {\
UNSG32 umask_full : 1;\
UNSG32 umask_emp : 1;\
UNSG32 RSVDx10_b2 : 30;\
}
union { UNSG32 u32Semaphore_mask;
struct w32Semaphore_mask;
};
///////////////////////////////////////////////////////////
} SIE_Semaphore;
typedef union T32Semaphore_CFG
{ UNSG32 u32;
struct w32Semaphore_CFG;
} T32Semaphore_CFG;
typedef union T32Semaphore_mask
{ UNSG32 u32;
struct w32Semaphore_mask;
} T32Semaphore_mask;
///////////////////////////////////////////////////////////
typedef union TSemaphore_CFG
{ UNSG32 u32[1];
struct {
struct w32Semaphore_CFG;
};
} TSemaphore_CFG;
typedef union TSemaphore_mask
{ UNSG32 u32[1];
struct {
struct w32Semaphore_mask;
};
} TSemaphore_mask;
///////////////////////////////////////////////////////////
SIGN32 Semaphore_drvrd(SIE_Semaphore *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 Semaphore_drvwr(SIE_Semaphore *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void Semaphore_reset(SIE_Semaphore *p);
SIGN32 Semaphore_cmp (SIE_Semaphore *p, SIE_Semaphore *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define Semaphore_check(p,pie,pfx,hLOG) Semaphore_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define Semaphore_print(p, pfx,hLOG) Semaphore_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: Semaphore
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE SemaQuery (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 RESP (R-)
/// %unsigned 16 CNT
/// ###
/// * Semaphore counter level
/// ###
/// %unsigned 16 PTR
/// ###
/// * Semaphore pointer:
/// * producer-wptr or consumer-rptr
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SemaQuery
#define h_SemaQuery (){}
#define RA_SemaQuery_RESP 0x0000
#define BA_SemaQuery_RESP_CNT 0x0000
#define B16SemaQuery_RESP_CNT 0x0000
#define LSb32SemaQuery_RESP_CNT 0
#define LSb16SemaQuery_RESP_CNT 0
#define bSemaQuery_RESP_CNT 16
#define MSK32SemaQuery_RESP_CNT 0x0000FFFF
#define BA_SemaQuery_RESP_PTR 0x0002
#define B16SemaQuery_RESP_PTR 0x0002
#define LSb32SemaQuery_RESP_PTR 16
#define LSb16SemaQuery_RESP_PTR 0
#define bSemaQuery_RESP_PTR 16
#define MSK32SemaQuery_RESP_PTR 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_SemaQuery {
///////////////////////////////////////////////////////////
#define GET32SemaQuery_RESP_CNT(r32) _BFGET_(r32,15, 0)
#define SET32SemaQuery_RESP_CNT(r32,v) _BFSET_(r32,15, 0,v)
#define GET16SemaQuery_RESP_CNT(r16) _BFGET_(r16,15, 0)
#define SET16SemaQuery_RESP_CNT(r16,v) _BFSET_(r16,15, 0,v)
#define GET32SemaQuery_RESP_PTR(r32) _BFGET_(r32,31,16)
#define SET32SemaQuery_RESP_PTR(r32,v) _BFSET_(r32,31,16,v)
#define GET16SemaQuery_RESP_PTR(r16) _BFGET_(r16,15, 0)
#define SET16SemaQuery_RESP_PTR(r16,v) _BFSET_(r16,15, 0,v)
#define w32SemaQuery_RESP {\
UNSG32 uRESP_CNT : 16;\
UNSG32 uRESP_PTR : 16;\
}
union { UNSG32 u32SemaQuery_RESP;
struct w32SemaQuery_RESP;
};
///////////////////////////////////////////////////////////
} SIE_SemaQuery;
typedef union T32SemaQuery_RESP
{ UNSG32 u32;
struct w32SemaQuery_RESP;
} T32SemaQuery_RESP;
///////////////////////////////////////////////////////////
typedef union TSemaQuery_RESP
{ UNSG32 u32[1];
struct {
struct w32SemaQuery_RESP;
};
} TSemaQuery_RESP;
///////////////////////////////////////////////////////////
SIGN32 SemaQuery_drvrd(SIE_SemaQuery *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SemaQuery_drvwr(SIE_SemaQuery *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SemaQuery_reset(SIE_SemaQuery *p);
SIGN32 SemaQuery_cmp (SIE_SemaQuery *p, SIE_SemaQuery *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SemaQuery_check(p,pie,pfx,hLOG) SemaQuery_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SemaQuery_print(p, pfx,hLOG) SemaQuery_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SemaQuery
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE SemaQueryMap (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 ADDR (P)
/// %unsigned 2 byte
/// %unsigned 5 ID
/// ###
/// * Semaphore cell index
/// ###
/// %unsigned 1 master
/// : producer 0x0
/// : consumer 0x1
/// ###
/// * Select which counter to read
/// ###
/// %% 24 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SemaQueryMap
#define h_SemaQueryMap (){}
#define RA_SemaQueryMap_ADDR 0x0000
#define BA_SemaQueryMap_ADDR_byte 0x0000
#define B16SemaQueryMap_ADDR_byte 0x0000
#define LSb32SemaQueryMap_ADDR_byte 0
#define LSb16SemaQueryMap_ADDR_byte 0
#define bSemaQueryMap_ADDR_byte 2
#define MSK32SemaQueryMap_ADDR_byte 0x00000003
#define BA_SemaQueryMap_ADDR_ID 0x0000
#define B16SemaQueryMap_ADDR_ID 0x0000
#define LSb32SemaQueryMap_ADDR_ID 2
#define LSb16SemaQueryMap_ADDR_ID 2
#define bSemaQueryMap_ADDR_ID 5
#define MSK32SemaQueryMap_ADDR_ID 0x0000007C
#define BA_SemaQueryMap_ADDR_master 0x0000
#define B16SemaQueryMap_ADDR_master 0x0000
#define LSb32SemaQueryMap_ADDR_master 7
#define LSb16SemaQueryMap_ADDR_master 7
#define bSemaQueryMap_ADDR_master 1
#define MSK32SemaQueryMap_ADDR_master 0x00000080
#define SemaQueryMap_ADDR_master_producer 0x0
#define SemaQueryMap_ADDR_master_consumer 0x1
///////////////////////////////////////////////////////////
typedef struct SIE_SemaQueryMap {
///////////////////////////////////////////////////////////
#define GET32SemaQueryMap_ADDR_byte(r32) _BFGET_(r32, 1, 0)
#define SET32SemaQueryMap_ADDR_byte(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16SemaQueryMap_ADDR_byte(r16) _BFGET_(r16, 1, 0)
#define SET16SemaQueryMap_ADDR_byte(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32SemaQueryMap_ADDR_ID(r32) _BFGET_(r32, 6, 2)
#define SET32SemaQueryMap_ADDR_ID(r32,v) _BFSET_(r32, 6, 2,v)
#define GET16SemaQueryMap_ADDR_ID(r16) _BFGET_(r16, 6, 2)
#define SET16SemaQueryMap_ADDR_ID(r16,v) _BFSET_(r16, 6, 2,v)
#define GET32SemaQueryMap_ADDR_master(r32) _BFGET_(r32, 7, 7)
#define SET32SemaQueryMap_ADDR_master(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaQueryMap_ADDR_master(r16) _BFGET_(r16, 7, 7)
#define SET16SemaQueryMap_ADDR_master(r16,v) _BFSET_(r16, 7, 7,v)
#define w32SemaQueryMap_ADDR {\
UNSG32 uADDR_byte : 2;\
UNSG32 uADDR_ID : 5;\
UNSG32 uADDR_master : 1;\
UNSG32 RSVDx0_b8 : 24;\
}
union { UNSG32 u32SemaQueryMap_ADDR;
struct w32SemaQueryMap_ADDR;
};
///////////////////////////////////////////////////////////
} SIE_SemaQueryMap;
typedef union T32SemaQueryMap_ADDR
{ UNSG32 u32;
struct w32SemaQueryMap_ADDR;
} T32SemaQueryMap_ADDR;
///////////////////////////////////////////////////////////
typedef union TSemaQueryMap_ADDR
{ UNSG32 u32[1];
struct {
struct w32SemaQueryMap_ADDR;
};
} TSemaQueryMap_ADDR;
///////////////////////////////////////////////////////////
SIGN32 SemaQueryMap_drvrd(SIE_SemaQueryMap *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SemaQueryMap_drvwr(SIE_SemaQueryMap *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SemaQueryMap_reset(SIE_SemaQueryMap *p);
SIGN32 SemaQueryMap_cmp (SIE_SemaQueryMap *p, SIE_SemaQueryMap *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SemaQueryMap_check(p,pie,pfx,hLOG) SemaQueryMap_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SemaQueryMap_print(p, pfx,hLOG) SemaQueryMap_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SemaQueryMap
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE SemaHub biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 Query (R-)
/// # 0x00000 counter
/// $SemaQuery counter MEM [64]
/// ###
/// * Access address as defined above
/// ###
/// @ 0x00100 ARR (P)
/// # 0x00100 cell
/// $Semaphore cell REG [32]
/// ###
/// * Up-to 32 semaphore cells
/// ###
/// @ 0x00380 PUSH (W-)
/// %unsigned 8 ID
/// %unsigned 8 delta
/// ###
/// * CPU increases PCounter by delta (range from 0 to 255)
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00384 POP (W-)
/// %unsigned 8 ID
/// %unsigned 8 delta
/// ###
/// * CPU decreases CCounter by delta (range from 0 to 255)
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00388 empty (WOC-)
/// %unsigned 1 ST_0i 0x0
/// %unsigned 1 ST_1i 0x0
/// %unsigned 1 ST_2i 0x0
/// %unsigned 1 ST_3i 0x0
/// %unsigned 1 ST_4i 0x0
/// %unsigned 1 ST_5i 0x0
/// %unsigned 1 ST_6i 0x0
/// %unsigned 1 ST_7i 0x0
/// %unsigned 1 ST_8i 0x0
/// %unsigned 1 ST_9i 0x0
/// %unsigned 1 ST_10i 0x0
/// %unsigned 1 ST_11i 0x0
/// %unsigned 1 ST_12i 0x0
/// %unsigned 1 ST_13i 0x0
/// %unsigned 1 ST_14i 0x0
/// %unsigned 1 ST_15i 0x0
/// %unsigned 1 ST_16i 0x0
/// %unsigned 1 ST_17i 0x0
/// %unsigned 1 ST_18i 0x0
/// %unsigned 1 ST_19i 0x0
/// %unsigned 1 ST_20i 0x0
/// %unsigned 1 ST_21i 0x0
/// %unsigned 1 ST_22i 0x0
/// %unsigned 1 ST_23i 0x0
/// %unsigned 1 ST_24i 0x0
/// %unsigned 1 ST_25i 0x0
/// %unsigned 1 ST_26i 0x0
/// %unsigned 1 ST_27i 0x0
/// %unsigned 1 ST_28i 0x0
/// %unsigned 1 ST_29i 0x0
/// %unsigned 1 ST_30i 0x0
/// %unsigned 1 ST_31i 0x0
/// ###
/// * All cell 'empty' status
/// ###
/// @ 0x0038C full (WOC-)
/// %unsigned 1 ST_0i 0x0
/// %unsigned 1 ST_1i 0x0
/// %unsigned 1 ST_2i 0x0
/// %unsigned 1 ST_3i 0x0
/// %unsigned 1 ST_4i 0x0
/// %unsigned 1 ST_5i 0x0
/// %unsigned 1 ST_6i 0x0
/// %unsigned 1 ST_7i 0x0
/// %unsigned 1 ST_8i 0x0
/// %unsigned 1 ST_9i 0x0
/// %unsigned 1 ST_10i 0x0
/// %unsigned 1 ST_11i 0x0
/// %unsigned 1 ST_12i 0x0
/// %unsigned 1 ST_13i 0x0
/// %unsigned 1 ST_14i 0x0
/// %unsigned 1 ST_15i 0x0
/// %unsigned 1 ST_16i 0x0
/// %unsigned 1 ST_17i 0x0
/// %unsigned 1 ST_18i 0x0
/// %unsigned 1 ST_19i 0x0
/// %unsigned 1 ST_20i 0x0
/// %unsigned 1 ST_21i 0x0
/// %unsigned 1 ST_22i 0x0
/// %unsigned 1 ST_23i 0x0
/// %unsigned 1 ST_24i 0x0
/// %unsigned 1 ST_25i 0x0
/// %unsigned 1 ST_26i 0x0
/// %unsigned 1 ST_27i 0x0
/// %unsigned 1 ST_28i 0x0
/// %unsigned 1 ST_29i 0x0
/// %unsigned 1 ST_30i 0x0
/// %unsigned 1 ST_31i 0x0
/// ###
/// * All cell 'full' status
/// ###
/// @ 0x00390 almostEmpty (WOC-)
/// %unsigned 1 ST_0i 0x0
/// %unsigned 1 ST_1i 0x0
/// %unsigned 1 ST_2i 0x0
/// %unsigned 1 ST_3i 0x0
/// %unsigned 1 ST_4i 0x0
/// %unsigned 1 ST_5i 0x0
/// %unsigned 1 ST_6i 0x0
/// %unsigned 1 ST_7i 0x0
/// %unsigned 1 ST_8i 0x0
/// %unsigned 1 ST_9i 0x0
/// %unsigned 1 ST_10i 0x0
/// %unsigned 1 ST_11i 0x0
/// %unsigned 1 ST_12i 0x0
/// %unsigned 1 ST_13i 0x0
/// %unsigned 1 ST_14i 0x0
/// %unsigned 1 ST_15i 0x0
/// %unsigned 1 ST_16i 0x0
/// %unsigned 1 ST_17i 0x0
/// %unsigned 1 ST_18i 0x0
/// %unsigned 1 ST_19i 0x0
/// %unsigned 1 ST_20i 0x0
/// %unsigned 1 ST_21i 0x0
/// %unsigned 1 ST_22i 0x0
/// %unsigned 1 ST_23i 0x0
/// %unsigned 1 ST_24i 0x0
/// %unsigned 1 ST_25i 0x0
/// %unsigned 1 ST_26i 0x0
/// %unsigned 1 ST_27i 0x0
/// %unsigned 1 ST_28i 0x0
/// %unsigned 1 ST_29i 0x0
/// %unsigned 1 ST_30i 0x0
/// %unsigned 1 ST_31i 0x0
/// ###
/// * All cell 'almostEmpty' status
/// ###
/// @ 0x00394 almostFull (WOC-)
/// %unsigned 1 ST_0i 0x0
/// %unsigned 1 ST_1i 0x0
/// %unsigned 1 ST_2i 0x0
/// %unsigned 1 ST_3i 0x0
/// %unsigned 1 ST_4i 0x0
/// %unsigned 1 ST_5i 0x0
/// %unsigned 1 ST_6i 0x0
/// %unsigned 1 ST_7i 0x0
/// %unsigned 1 ST_8i 0x0
/// %unsigned 1 ST_9i 0x0
/// %unsigned 1 ST_10i 0x0
/// %unsigned 1 ST_11i 0x0
/// %unsigned 1 ST_12i 0x0
/// %unsigned 1 ST_13i 0x0
/// %unsigned 1 ST_14i 0x0
/// %unsigned 1 ST_15i 0x0
/// %unsigned 1 ST_16i 0x0
/// %unsigned 1 ST_17i 0x0
/// %unsigned 1 ST_18i 0x0
/// %unsigned 1 ST_19i 0x0
/// %unsigned 1 ST_20i 0x0
/// %unsigned 1 ST_21i 0x0
/// %unsigned 1 ST_22i 0x0
/// %unsigned 1 ST_23i 0x0
/// %unsigned 1 ST_24i 0x0
/// %unsigned 1 ST_25i 0x0
/// %unsigned 1 ST_26i 0x0
/// %unsigned 1 ST_27i 0x0
/// %unsigned 1 ST_28i 0x0
/// %unsigned 1 ST_29i 0x0
/// %unsigned 1 ST_30i 0x0
/// %unsigned 1 ST_31i 0x0
/// ###
/// * All cell 'almostFull' status
/// ###
/// @ 0x00398 (W-)
/// # # Stuffing bytes...
/// %% 832
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 1024B, bits: 1152b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SemaHub
#define h_SemaHub (){}
#define RA_SemaHub_Query 0x0000
#define RA_SemaHub_counter 0x0000
///////////////////////////////////////////////////////////
#define RA_SemaHub_ARR 0x0100
#define RA_SemaHub_cell 0x0100
///////////////////////////////////////////////////////////
#define RA_SemaHub_PUSH 0x0380
#define BA_SemaHub_PUSH_ID 0x0380
#define B16SemaHub_PUSH_ID 0x0380
#define LSb32SemaHub_PUSH_ID 0
#define LSb16SemaHub_PUSH_ID 0
#define bSemaHub_PUSH_ID 8
#define MSK32SemaHub_PUSH_ID 0x000000FF
#define BA_SemaHub_PUSH_delta 0x0381
#define B16SemaHub_PUSH_delta 0x0380
#define LSb32SemaHub_PUSH_delta 8
#define LSb16SemaHub_PUSH_delta 8
#define bSemaHub_PUSH_delta 8
#define MSK32SemaHub_PUSH_delta 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_SemaHub_POP 0x0384
#define BA_SemaHub_POP_ID 0x0384
#define B16SemaHub_POP_ID 0x0384
#define LSb32SemaHub_POP_ID 0
#define LSb16SemaHub_POP_ID 0
#define bSemaHub_POP_ID 8
#define MSK32SemaHub_POP_ID 0x000000FF
#define BA_SemaHub_POP_delta 0x0385
#define B16SemaHub_POP_delta 0x0384
#define LSb32SemaHub_POP_delta 8
#define LSb16SemaHub_POP_delta 8
#define bSemaHub_POP_delta 8
#define MSK32SemaHub_POP_delta 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_SemaHub_empty 0x0388
#define BA_SemaHub_empty_ST_0i 0x0388
#define B16SemaHub_empty_ST_0i 0x0388
#define LSb32SemaHub_empty_ST_0i 0
#define LSb16SemaHub_empty_ST_0i 0
#define bSemaHub_empty_ST_0i 1
#define MSK32SemaHub_empty_ST_0i 0x00000001
#define BA_SemaHub_empty_ST_1i 0x0388
#define B16SemaHub_empty_ST_1i 0x0388
#define LSb32SemaHub_empty_ST_1i 1
#define LSb16SemaHub_empty_ST_1i 1
#define bSemaHub_empty_ST_1i 1
#define MSK32SemaHub_empty_ST_1i 0x00000002
#define BA_SemaHub_empty_ST_2i 0x0388
#define B16SemaHub_empty_ST_2i 0x0388
#define LSb32SemaHub_empty_ST_2i 2
#define LSb16SemaHub_empty_ST_2i 2
#define bSemaHub_empty_ST_2i 1
#define MSK32SemaHub_empty_ST_2i 0x00000004
#define BA_SemaHub_empty_ST_3i 0x0388
#define B16SemaHub_empty_ST_3i 0x0388
#define LSb32SemaHub_empty_ST_3i 3
#define LSb16SemaHub_empty_ST_3i 3
#define bSemaHub_empty_ST_3i 1
#define MSK32SemaHub_empty_ST_3i 0x00000008
#define BA_SemaHub_empty_ST_4i 0x0388
#define B16SemaHub_empty_ST_4i 0x0388
#define LSb32SemaHub_empty_ST_4i 4
#define LSb16SemaHub_empty_ST_4i 4
#define bSemaHub_empty_ST_4i 1
#define MSK32SemaHub_empty_ST_4i 0x00000010
#define BA_SemaHub_empty_ST_5i 0x0388
#define B16SemaHub_empty_ST_5i 0x0388
#define LSb32SemaHub_empty_ST_5i 5
#define LSb16SemaHub_empty_ST_5i 5
#define bSemaHub_empty_ST_5i 1
#define MSK32SemaHub_empty_ST_5i 0x00000020
#define BA_SemaHub_empty_ST_6i 0x0388
#define B16SemaHub_empty_ST_6i 0x0388
#define LSb32SemaHub_empty_ST_6i 6
#define LSb16SemaHub_empty_ST_6i 6
#define bSemaHub_empty_ST_6i 1
#define MSK32SemaHub_empty_ST_6i 0x00000040
#define BA_SemaHub_empty_ST_7i 0x0388
#define B16SemaHub_empty_ST_7i 0x0388
#define LSb32SemaHub_empty_ST_7i 7
#define LSb16SemaHub_empty_ST_7i 7
#define bSemaHub_empty_ST_7i 1
#define MSK32SemaHub_empty_ST_7i 0x00000080
#define BA_SemaHub_empty_ST_8i 0x0389
#define B16SemaHub_empty_ST_8i 0x0388
#define LSb32SemaHub_empty_ST_8i 8
#define LSb16SemaHub_empty_ST_8i 8
#define bSemaHub_empty_ST_8i 1
#define MSK32SemaHub_empty_ST_8i 0x00000100
#define BA_SemaHub_empty_ST_9i 0x0389
#define B16SemaHub_empty_ST_9i 0x0388
#define LSb32SemaHub_empty_ST_9i 9
#define LSb16SemaHub_empty_ST_9i 9
#define bSemaHub_empty_ST_9i 1
#define MSK32SemaHub_empty_ST_9i 0x00000200
#define BA_SemaHub_empty_ST_10i 0x0389
#define B16SemaHub_empty_ST_10i 0x0388
#define LSb32SemaHub_empty_ST_10i 10
#define LSb16SemaHub_empty_ST_10i 10
#define bSemaHub_empty_ST_10i 1
#define MSK32SemaHub_empty_ST_10i 0x00000400
#define BA_SemaHub_empty_ST_11i 0x0389
#define B16SemaHub_empty_ST_11i 0x0388
#define LSb32SemaHub_empty_ST_11i 11
#define LSb16SemaHub_empty_ST_11i 11
#define bSemaHub_empty_ST_11i 1
#define MSK32SemaHub_empty_ST_11i 0x00000800
#define BA_SemaHub_empty_ST_12i 0x0389
#define B16SemaHub_empty_ST_12i 0x0388
#define LSb32SemaHub_empty_ST_12i 12
#define LSb16SemaHub_empty_ST_12i 12
#define bSemaHub_empty_ST_12i 1
#define MSK32SemaHub_empty_ST_12i 0x00001000
#define BA_SemaHub_empty_ST_13i 0x0389
#define B16SemaHub_empty_ST_13i 0x0388
#define LSb32SemaHub_empty_ST_13i 13
#define LSb16SemaHub_empty_ST_13i 13
#define bSemaHub_empty_ST_13i 1
#define MSK32SemaHub_empty_ST_13i 0x00002000
#define BA_SemaHub_empty_ST_14i 0x0389
#define B16SemaHub_empty_ST_14i 0x0388
#define LSb32SemaHub_empty_ST_14i 14
#define LSb16SemaHub_empty_ST_14i 14
#define bSemaHub_empty_ST_14i 1
#define MSK32SemaHub_empty_ST_14i 0x00004000
#define BA_SemaHub_empty_ST_15i 0x0389
#define B16SemaHub_empty_ST_15i 0x0388
#define LSb32SemaHub_empty_ST_15i 15
#define LSb16SemaHub_empty_ST_15i 15
#define bSemaHub_empty_ST_15i 1
#define MSK32SemaHub_empty_ST_15i 0x00008000
#define BA_SemaHub_empty_ST_16i 0x038A
#define B16SemaHub_empty_ST_16i 0x038A
#define LSb32SemaHub_empty_ST_16i 16
#define LSb16SemaHub_empty_ST_16i 0
#define bSemaHub_empty_ST_16i 1
#define MSK32SemaHub_empty_ST_16i 0x00010000
#define BA_SemaHub_empty_ST_17i 0x038A
#define B16SemaHub_empty_ST_17i 0x038A
#define LSb32SemaHub_empty_ST_17i 17
#define LSb16SemaHub_empty_ST_17i 1
#define bSemaHub_empty_ST_17i 1
#define MSK32SemaHub_empty_ST_17i 0x00020000
#define BA_SemaHub_empty_ST_18i 0x038A
#define B16SemaHub_empty_ST_18i 0x038A
#define LSb32SemaHub_empty_ST_18i 18
#define LSb16SemaHub_empty_ST_18i 2
#define bSemaHub_empty_ST_18i 1
#define MSK32SemaHub_empty_ST_18i 0x00040000
#define BA_SemaHub_empty_ST_19i 0x038A
#define B16SemaHub_empty_ST_19i 0x038A
#define LSb32SemaHub_empty_ST_19i 19
#define LSb16SemaHub_empty_ST_19i 3
#define bSemaHub_empty_ST_19i 1
#define MSK32SemaHub_empty_ST_19i 0x00080000
#define BA_SemaHub_empty_ST_20i 0x038A
#define B16SemaHub_empty_ST_20i 0x038A
#define LSb32SemaHub_empty_ST_20i 20
#define LSb16SemaHub_empty_ST_20i 4
#define bSemaHub_empty_ST_20i 1
#define MSK32SemaHub_empty_ST_20i 0x00100000
#define BA_SemaHub_empty_ST_21i 0x038A
#define B16SemaHub_empty_ST_21i 0x038A
#define LSb32SemaHub_empty_ST_21i 21
#define LSb16SemaHub_empty_ST_21i 5
#define bSemaHub_empty_ST_21i 1
#define MSK32SemaHub_empty_ST_21i 0x00200000
#define BA_SemaHub_empty_ST_22i 0x038A
#define B16SemaHub_empty_ST_22i 0x038A
#define LSb32SemaHub_empty_ST_22i 22
#define LSb16SemaHub_empty_ST_22i 6
#define bSemaHub_empty_ST_22i 1
#define MSK32SemaHub_empty_ST_22i 0x00400000
#define BA_SemaHub_empty_ST_23i 0x038A
#define B16SemaHub_empty_ST_23i 0x038A
#define LSb32SemaHub_empty_ST_23i 23
#define LSb16SemaHub_empty_ST_23i 7
#define bSemaHub_empty_ST_23i 1
#define MSK32SemaHub_empty_ST_23i 0x00800000
#define BA_SemaHub_empty_ST_24i 0x038B
#define B16SemaHub_empty_ST_24i 0x038A
#define LSb32SemaHub_empty_ST_24i 24
#define LSb16SemaHub_empty_ST_24i 8
#define bSemaHub_empty_ST_24i 1
#define MSK32SemaHub_empty_ST_24i 0x01000000
#define BA_SemaHub_empty_ST_25i 0x038B
#define B16SemaHub_empty_ST_25i 0x038A
#define LSb32SemaHub_empty_ST_25i 25
#define LSb16SemaHub_empty_ST_25i 9
#define bSemaHub_empty_ST_25i 1
#define MSK32SemaHub_empty_ST_25i 0x02000000
#define BA_SemaHub_empty_ST_26i 0x038B
#define B16SemaHub_empty_ST_26i 0x038A
#define LSb32SemaHub_empty_ST_26i 26
#define LSb16SemaHub_empty_ST_26i 10
#define bSemaHub_empty_ST_26i 1
#define MSK32SemaHub_empty_ST_26i 0x04000000
#define BA_SemaHub_empty_ST_27i 0x038B
#define B16SemaHub_empty_ST_27i 0x038A
#define LSb32SemaHub_empty_ST_27i 27
#define LSb16SemaHub_empty_ST_27i 11
#define bSemaHub_empty_ST_27i 1
#define MSK32SemaHub_empty_ST_27i 0x08000000
#define BA_SemaHub_empty_ST_28i 0x038B
#define B16SemaHub_empty_ST_28i 0x038A
#define LSb32SemaHub_empty_ST_28i 28
#define LSb16SemaHub_empty_ST_28i 12
#define bSemaHub_empty_ST_28i 1
#define MSK32SemaHub_empty_ST_28i 0x10000000
#define BA_SemaHub_empty_ST_29i 0x038B
#define B16SemaHub_empty_ST_29i 0x038A
#define LSb32SemaHub_empty_ST_29i 29
#define LSb16SemaHub_empty_ST_29i 13
#define bSemaHub_empty_ST_29i 1
#define MSK32SemaHub_empty_ST_29i 0x20000000
#define BA_SemaHub_empty_ST_30i 0x038B
#define B16SemaHub_empty_ST_30i 0x038A
#define LSb32SemaHub_empty_ST_30i 30
#define LSb16SemaHub_empty_ST_30i 14
#define bSemaHub_empty_ST_30i 1
#define MSK32SemaHub_empty_ST_30i 0x40000000
#define BA_SemaHub_empty_ST_31i 0x038B
#define B16SemaHub_empty_ST_31i 0x038A
#define LSb32SemaHub_empty_ST_31i 31
#define LSb16SemaHub_empty_ST_31i 15
#define bSemaHub_empty_ST_31i 1
#define MSK32SemaHub_empty_ST_31i 0x80000000
///////////////////////////////////////////////////////////
#define RA_SemaHub_full 0x038C
#define BA_SemaHub_full_ST_0i 0x038C
#define B16SemaHub_full_ST_0i 0x038C
#define LSb32SemaHub_full_ST_0i 0
#define LSb16SemaHub_full_ST_0i 0
#define bSemaHub_full_ST_0i 1
#define MSK32SemaHub_full_ST_0i 0x00000001
#define BA_SemaHub_full_ST_1i 0x038C
#define B16SemaHub_full_ST_1i 0x038C
#define LSb32SemaHub_full_ST_1i 1
#define LSb16SemaHub_full_ST_1i 1
#define bSemaHub_full_ST_1i 1
#define MSK32SemaHub_full_ST_1i 0x00000002
#define BA_SemaHub_full_ST_2i 0x038C
#define B16SemaHub_full_ST_2i 0x038C
#define LSb32SemaHub_full_ST_2i 2
#define LSb16SemaHub_full_ST_2i 2
#define bSemaHub_full_ST_2i 1
#define MSK32SemaHub_full_ST_2i 0x00000004
#define BA_SemaHub_full_ST_3i 0x038C
#define B16SemaHub_full_ST_3i 0x038C
#define LSb32SemaHub_full_ST_3i 3
#define LSb16SemaHub_full_ST_3i 3
#define bSemaHub_full_ST_3i 1
#define MSK32SemaHub_full_ST_3i 0x00000008
#define BA_SemaHub_full_ST_4i 0x038C
#define B16SemaHub_full_ST_4i 0x038C
#define LSb32SemaHub_full_ST_4i 4
#define LSb16SemaHub_full_ST_4i 4
#define bSemaHub_full_ST_4i 1
#define MSK32SemaHub_full_ST_4i 0x00000010
#define BA_SemaHub_full_ST_5i 0x038C
#define B16SemaHub_full_ST_5i 0x038C
#define LSb32SemaHub_full_ST_5i 5
#define LSb16SemaHub_full_ST_5i 5
#define bSemaHub_full_ST_5i 1
#define MSK32SemaHub_full_ST_5i 0x00000020
#define BA_SemaHub_full_ST_6i 0x038C
#define B16SemaHub_full_ST_6i 0x038C
#define LSb32SemaHub_full_ST_6i 6
#define LSb16SemaHub_full_ST_6i 6
#define bSemaHub_full_ST_6i 1
#define MSK32SemaHub_full_ST_6i 0x00000040
#define BA_SemaHub_full_ST_7i 0x038C
#define B16SemaHub_full_ST_7i 0x038C
#define LSb32SemaHub_full_ST_7i 7
#define LSb16SemaHub_full_ST_7i 7
#define bSemaHub_full_ST_7i 1
#define MSK32SemaHub_full_ST_7i 0x00000080
#define BA_SemaHub_full_ST_8i 0x038D
#define B16SemaHub_full_ST_8i 0x038C
#define LSb32SemaHub_full_ST_8i 8
#define LSb16SemaHub_full_ST_8i 8
#define bSemaHub_full_ST_8i 1
#define MSK32SemaHub_full_ST_8i 0x00000100
#define BA_SemaHub_full_ST_9i 0x038D
#define B16SemaHub_full_ST_9i 0x038C
#define LSb32SemaHub_full_ST_9i 9
#define LSb16SemaHub_full_ST_9i 9
#define bSemaHub_full_ST_9i 1
#define MSK32SemaHub_full_ST_9i 0x00000200
#define BA_SemaHub_full_ST_10i 0x038D
#define B16SemaHub_full_ST_10i 0x038C
#define LSb32SemaHub_full_ST_10i 10
#define LSb16SemaHub_full_ST_10i 10
#define bSemaHub_full_ST_10i 1
#define MSK32SemaHub_full_ST_10i 0x00000400
#define BA_SemaHub_full_ST_11i 0x038D
#define B16SemaHub_full_ST_11i 0x038C
#define LSb32SemaHub_full_ST_11i 11
#define LSb16SemaHub_full_ST_11i 11
#define bSemaHub_full_ST_11i 1
#define MSK32SemaHub_full_ST_11i 0x00000800
#define BA_SemaHub_full_ST_12i 0x038D
#define B16SemaHub_full_ST_12i 0x038C
#define LSb32SemaHub_full_ST_12i 12
#define LSb16SemaHub_full_ST_12i 12
#define bSemaHub_full_ST_12i 1
#define MSK32SemaHub_full_ST_12i 0x00001000
#define BA_SemaHub_full_ST_13i 0x038D
#define B16SemaHub_full_ST_13i 0x038C
#define LSb32SemaHub_full_ST_13i 13
#define LSb16SemaHub_full_ST_13i 13
#define bSemaHub_full_ST_13i 1
#define MSK32SemaHub_full_ST_13i 0x00002000
#define BA_SemaHub_full_ST_14i 0x038D
#define B16SemaHub_full_ST_14i 0x038C
#define LSb32SemaHub_full_ST_14i 14
#define LSb16SemaHub_full_ST_14i 14
#define bSemaHub_full_ST_14i 1
#define MSK32SemaHub_full_ST_14i 0x00004000
#define BA_SemaHub_full_ST_15i 0x038D
#define B16SemaHub_full_ST_15i 0x038C
#define LSb32SemaHub_full_ST_15i 15
#define LSb16SemaHub_full_ST_15i 15
#define bSemaHub_full_ST_15i 1
#define MSK32SemaHub_full_ST_15i 0x00008000
#define BA_SemaHub_full_ST_16i 0x038E
#define B16SemaHub_full_ST_16i 0x038E
#define LSb32SemaHub_full_ST_16i 16
#define LSb16SemaHub_full_ST_16i 0
#define bSemaHub_full_ST_16i 1
#define MSK32SemaHub_full_ST_16i 0x00010000
#define BA_SemaHub_full_ST_17i 0x038E
#define B16SemaHub_full_ST_17i 0x038E
#define LSb32SemaHub_full_ST_17i 17
#define LSb16SemaHub_full_ST_17i 1
#define bSemaHub_full_ST_17i 1
#define MSK32SemaHub_full_ST_17i 0x00020000
#define BA_SemaHub_full_ST_18i 0x038E
#define B16SemaHub_full_ST_18i 0x038E
#define LSb32SemaHub_full_ST_18i 18
#define LSb16SemaHub_full_ST_18i 2
#define bSemaHub_full_ST_18i 1
#define MSK32SemaHub_full_ST_18i 0x00040000
#define BA_SemaHub_full_ST_19i 0x038E
#define B16SemaHub_full_ST_19i 0x038E
#define LSb32SemaHub_full_ST_19i 19
#define LSb16SemaHub_full_ST_19i 3
#define bSemaHub_full_ST_19i 1
#define MSK32SemaHub_full_ST_19i 0x00080000
#define BA_SemaHub_full_ST_20i 0x038E
#define B16SemaHub_full_ST_20i 0x038E
#define LSb32SemaHub_full_ST_20i 20
#define LSb16SemaHub_full_ST_20i 4
#define bSemaHub_full_ST_20i 1
#define MSK32SemaHub_full_ST_20i 0x00100000
#define BA_SemaHub_full_ST_21i 0x038E
#define B16SemaHub_full_ST_21i 0x038E
#define LSb32SemaHub_full_ST_21i 21
#define LSb16SemaHub_full_ST_21i 5
#define bSemaHub_full_ST_21i 1
#define MSK32SemaHub_full_ST_21i 0x00200000
#define BA_SemaHub_full_ST_22i 0x038E
#define B16SemaHub_full_ST_22i 0x038E
#define LSb32SemaHub_full_ST_22i 22
#define LSb16SemaHub_full_ST_22i 6
#define bSemaHub_full_ST_22i 1
#define MSK32SemaHub_full_ST_22i 0x00400000
#define BA_SemaHub_full_ST_23i 0x038E
#define B16SemaHub_full_ST_23i 0x038E
#define LSb32SemaHub_full_ST_23i 23
#define LSb16SemaHub_full_ST_23i 7
#define bSemaHub_full_ST_23i 1
#define MSK32SemaHub_full_ST_23i 0x00800000
#define BA_SemaHub_full_ST_24i 0x038F
#define B16SemaHub_full_ST_24i 0x038E
#define LSb32SemaHub_full_ST_24i 24
#define LSb16SemaHub_full_ST_24i 8
#define bSemaHub_full_ST_24i 1
#define MSK32SemaHub_full_ST_24i 0x01000000
#define BA_SemaHub_full_ST_25i 0x038F
#define B16SemaHub_full_ST_25i 0x038E
#define LSb32SemaHub_full_ST_25i 25
#define LSb16SemaHub_full_ST_25i 9
#define bSemaHub_full_ST_25i 1
#define MSK32SemaHub_full_ST_25i 0x02000000
#define BA_SemaHub_full_ST_26i 0x038F
#define B16SemaHub_full_ST_26i 0x038E
#define LSb32SemaHub_full_ST_26i 26
#define LSb16SemaHub_full_ST_26i 10
#define bSemaHub_full_ST_26i 1
#define MSK32SemaHub_full_ST_26i 0x04000000
#define BA_SemaHub_full_ST_27i 0x038F
#define B16SemaHub_full_ST_27i 0x038E
#define LSb32SemaHub_full_ST_27i 27
#define LSb16SemaHub_full_ST_27i 11
#define bSemaHub_full_ST_27i 1
#define MSK32SemaHub_full_ST_27i 0x08000000
#define BA_SemaHub_full_ST_28i 0x038F
#define B16SemaHub_full_ST_28i 0x038E
#define LSb32SemaHub_full_ST_28i 28
#define LSb16SemaHub_full_ST_28i 12
#define bSemaHub_full_ST_28i 1
#define MSK32SemaHub_full_ST_28i 0x10000000
#define BA_SemaHub_full_ST_29i 0x038F
#define B16SemaHub_full_ST_29i 0x038E
#define LSb32SemaHub_full_ST_29i 29
#define LSb16SemaHub_full_ST_29i 13
#define bSemaHub_full_ST_29i 1
#define MSK32SemaHub_full_ST_29i 0x20000000
#define BA_SemaHub_full_ST_30i 0x038F
#define B16SemaHub_full_ST_30i 0x038E
#define LSb32SemaHub_full_ST_30i 30
#define LSb16SemaHub_full_ST_30i 14
#define bSemaHub_full_ST_30i 1
#define MSK32SemaHub_full_ST_30i 0x40000000
#define BA_SemaHub_full_ST_31i 0x038F
#define B16SemaHub_full_ST_31i 0x038E
#define LSb32SemaHub_full_ST_31i 31
#define LSb16SemaHub_full_ST_31i 15
#define bSemaHub_full_ST_31i 1
#define MSK32SemaHub_full_ST_31i 0x80000000
///////////////////////////////////////////////////////////
#define RA_SemaHub_almostEmpty 0x0390
#define BA_SemaHub_almostEmpty_ST_0i 0x0390
#define B16SemaHub_almostEmpty_ST_0i 0x0390
#define LSb32SemaHub_almostEmpty_ST_0i 0
#define LSb16SemaHub_almostEmpty_ST_0i 0
#define bSemaHub_almostEmpty_ST_0i 1
#define MSK32SemaHub_almostEmpty_ST_0i 0x00000001
#define BA_SemaHub_almostEmpty_ST_1i 0x0390
#define B16SemaHub_almostEmpty_ST_1i 0x0390
#define LSb32SemaHub_almostEmpty_ST_1i 1
#define LSb16SemaHub_almostEmpty_ST_1i 1
#define bSemaHub_almostEmpty_ST_1i 1
#define MSK32SemaHub_almostEmpty_ST_1i 0x00000002
#define BA_SemaHub_almostEmpty_ST_2i 0x0390
#define B16SemaHub_almostEmpty_ST_2i 0x0390
#define LSb32SemaHub_almostEmpty_ST_2i 2
#define LSb16SemaHub_almostEmpty_ST_2i 2
#define bSemaHub_almostEmpty_ST_2i 1
#define MSK32SemaHub_almostEmpty_ST_2i 0x00000004
#define BA_SemaHub_almostEmpty_ST_3i 0x0390
#define B16SemaHub_almostEmpty_ST_3i 0x0390
#define LSb32SemaHub_almostEmpty_ST_3i 3
#define LSb16SemaHub_almostEmpty_ST_3i 3
#define bSemaHub_almostEmpty_ST_3i 1
#define MSK32SemaHub_almostEmpty_ST_3i 0x00000008
#define BA_SemaHub_almostEmpty_ST_4i 0x0390
#define B16SemaHub_almostEmpty_ST_4i 0x0390
#define LSb32SemaHub_almostEmpty_ST_4i 4
#define LSb16SemaHub_almostEmpty_ST_4i 4
#define bSemaHub_almostEmpty_ST_4i 1
#define MSK32SemaHub_almostEmpty_ST_4i 0x00000010
#define BA_SemaHub_almostEmpty_ST_5i 0x0390
#define B16SemaHub_almostEmpty_ST_5i 0x0390
#define LSb32SemaHub_almostEmpty_ST_5i 5
#define LSb16SemaHub_almostEmpty_ST_5i 5
#define bSemaHub_almostEmpty_ST_5i 1
#define MSK32SemaHub_almostEmpty_ST_5i 0x00000020
#define BA_SemaHub_almostEmpty_ST_6i 0x0390
#define B16SemaHub_almostEmpty_ST_6i 0x0390
#define LSb32SemaHub_almostEmpty_ST_6i 6
#define LSb16SemaHub_almostEmpty_ST_6i 6
#define bSemaHub_almostEmpty_ST_6i 1
#define MSK32SemaHub_almostEmpty_ST_6i 0x00000040
#define BA_SemaHub_almostEmpty_ST_7i 0x0390
#define B16SemaHub_almostEmpty_ST_7i 0x0390
#define LSb32SemaHub_almostEmpty_ST_7i 7
#define LSb16SemaHub_almostEmpty_ST_7i 7
#define bSemaHub_almostEmpty_ST_7i 1
#define MSK32SemaHub_almostEmpty_ST_7i 0x00000080
#define BA_SemaHub_almostEmpty_ST_8i 0x0391
#define B16SemaHub_almostEmpty_ST_8i 0x0390
#define LSb32SemaHub_almostEmpty_ST_8i 8
#define LSb16SemaHub_almostEmpty_ST_8i 8
#define bSemaHub_almostEmpty_ST_8i 1
#define MSK32SemaHub_almostEmpty_ST_8i 0x00000100
#define BA_SemaHub_almostEmpty_ST_9i 0x0391
#define B16SemaHub_almostEmpty_ST_9i 0x0390
#define LSb32SemaHub_almostEmpty_ST_9i 9
#define LSb16SemaHub_almostEmpty_ST_9i 9
#define bSemaHub_almostEmpty_ST_9i 1
#define MSK32SemaHub_almostEmpty_ST_9i 0x00000200
#define BA_SemaHub_almostEmpty_ST_10i 0x0391
#define B16SemaHub_almostEmpty_ST_10i 0x0390
#define LSb32SemaHub_almostEmpty_ST_10i 10
#define LSb16SemaHub_almostEmpty_ST_10i 10
#define bSemaHub_almostEmpty_ST_10i 1
#define MSK32SemaHub_almostEmpty_ST_10i 0x00000400
#define BA_SemaHub_almostEmpty_ST_11i 0x0391
#define B16SemaHub_almostEmpty_ST_11i 0x0390
#define LSb32SemaHub_almostEmpty_ST_11i 11
#define LSb16SemaHub_almostEmpty_ST_11i 11
#define bSemaHub_almostEmpty_ST_11i 1
#define MSK32SemaHub_almostEmpty_ST_11i 0x00000800
#define BA_SemaHub_almostEmpty_ST_12i 0x0391
#define B16SemaHub_almostEmpty_ST_12i 0x0390
#define LSb32SemaHub_almostEmpty_ST_12i 12
#define LSb16SemaHub_almostEmpty_ST_12i 12
#define bSemaHub_almostEmpty_ST_12i 1
#define MSK32SemaHub_almostEmpty_ST_12i 0x00001000
#define BA_SemaHub_almostEmpty_ST_13i 0x0391
#define B16SemaHub_almostEmpty_ST_13i 0x0390
#define LSb32SemaHub_almostEmpty_ST_13i 13
#define LSb16SemaHub_almostEmpty_ST_13i 13
#define bSemaHub_almostEmpty_ST_13i 1
#define MSK32SemaHub_almostEmpty_ST_13i 0x00002000
#define BA_SemaHub_almostEmpty_ST_14i 0x0391
#define B16SemaHub_almostEmpty_ST_14i 0x0390
#define LSb32SemaHub_almostEmpty_ST_14i 14
#define LSb16SemaHub_almostEmpty_ST_14i 14
#define bSemaHub_almostEmpty_ST_14i 1
#define MSK32SemaHub_almostEmpty_ST_14i 0x00004000
#define BA_SemaHub_almostEmpty_ST_15i 0x0391
#define B16SemaHub_almostEmpty_ST_15i 0x0390
#define LSb32SemaHub_almostEmpty_ST_15i 15
#define LSb16SemaHub_almostEmpty_ST_15i 15
#define bSemaHub_almostEmpty_ST_15i 1
#define MSK32SemaHub_almostEmpty_ST_15i 0x00008000
#define BA_SemaHub_almostEmpty_ST_16i 0x0392
#define B16SemaHub_almostEmpty_ST_16i 0x0392
#define LSb32SemaHub_almostEmpty_ST_16i 16
#define LSb16SemaHub_almostEmpty_ST_16i 0
#define bSemaHub_almostEmpty_ST_16i 1
#define MSK32SemaHub_almostEmpty_ST_16i 0x00010000
#define BA_SemaHub_almostEmpty_ST_17i 0x0392
#define B16SemaHub_almostEmpty_ST_17i 0x0392
#define LSb32SemaHub_almostEmpty_ST_17i 17
#define LSb16SemaHub_almostEmpty_ST_17i 1
#define bSemaHub_almostEmpty_ST_17i 1
#define MSK32SemaHub_almostEmpty_ST_17i 0x00020000
#define BA_SemaHub_almostEmpty_ST_18i 0x0392
#define B16SemaHub_almostEmpty_ST_18i 0x0392
#define LSb32SemaHub_almostEmpty_ST_18i 18
#define LSb16SemaHub_almostEmpty_ST_18i 2
#define bSemaHub_almostEmpty_ST_18i 1
#define MSK32SemaHub_almostEmpty_ST_18i 0x00040000
#define BA_SemaHub_almostEmpty_ST_19i 0x0392
#define B16SemaHub_almostEmpty_ST_19i 0x0392
#define LSb32SemaHub_almostEmpty_ST_19i 19
#define LSb16SemaHub_almostEmpty_ST_19i 3
#define bSemaHub_almostEmpty_ST_19i 1
#define MSK32SemaHub_almostEmpty_ST_19i 0x00080000
#define BA_SemaHub_almostEmpty_ST_20i 0x0392
#define B16SemaHub_almostEmpty_ST_20i 0x0392
#define LSb32SemaHub_almostEmpty_ST_20i 20
#define LSb16SemaHub_almostEmpty_ST_20i 4
#define bSemaHub_almostEmpty_ST_20i 1
#define MSK32SemaHub_almostEmpty_ST_20i 0x00100000
#define BA_SemaHub_almostEmpty_ST_21i 0x0392
#define B16SemaHub_almostEmpty_ST_21i 0x0392
#define LSb32SemaHub_almostEmpty_ST_21i 21
#define LSb16SemaHub_almostEmpty_ST_21i 5
#define bSemaHub_almostEmpty_ST_21i 1
#define MSK32SemaHub_almostEmpty_ST_21i 0x00200000
#define BA_SemaHub_almostEmpty_ST_22i 0x0392
#define B16SemaHub_almostEmpty_ST_22i 0x0392
#define LSb32SemaHub_almostEmpty_ST_22i 22
#define LSb16SemaHub_almostEmpty_ST_22i 6
#define bSemaHub_almostEmpty_ST_22i 1
#define MSK32SemaHub_almostEmpty_ST_22i 0x00400000
#define BA_SemaHub_almostEmpty_ST_23i 0x0392
#define B16SemaHub_almostEmpty_ST_23i 0x0392
#define LSb32SemaHub_almostEmpty_ST_23i 23
#define LSb16SemaHub_almostEmpty_ST_23i 7
#define bSemaHub_almostEmpty_ST_23i 1
#define MSK32SemaHub_almostEmpty_ST_23i 0x00800000
#define BA_SemaHub_almostEmpty_ST_24i 0x0393
#define B16SemaHub_almostEmpty_ST_24i 0x0392
#define LSb32SemaHub_almostEmpty_ST_24i 24
#define LSb16SemaHub_almostEmpty_ST_24i 8
#define bSemaHub_almostEmpty_ST_24i 1
#define MSK32SemaHub_almostEmpty_ST_24i 0x01000000
#define BA_SemaHub_almostEmpty_ST_25i 0x0393
#define B16SemaHub_almostEmpty_ST_25i 0x0392
#define LSb32SemaHub_almostEmpty_ST_25i 25
#define LSb16SemaHub_almostEmpty_ST_25i 9
#define bSemaHub_almostEmpty_ST_25i 1
#define MSK32SemaHub_almostEmpty_ST_25i 0x02000000
#define BA_SemaHub_almostEmpty_ST_26i 0x0393
#define B16SemaHub_almostEmpty_ST_26i 0x0392
#define LSb32SemaHub_almostEmpty_ST_26i 26
#define LSb16SemaHub_almostEmpty_ST_26i 10
#define bSemaHub_almostEmpty_ST_26i 1
#define MSK32SemaHub_almostEmpty_ST_26i 0x04000000
#define BA_SemaHub_almostEmpty_ST_27i 0x0393
#define B16SemaHub_almostEmpty_ST_27i 0x0392
#define LSb32SemaHub_almostEmpty_ST_27i 27
#define LSb16SemaHub_almostEmpty_ST_27i 11
#define bSemaHub_almostEmpty_ST_27i 1
#define MSK32SemaHub_almostEmpty_ST_27i 0x08000000
#define BA_SemaHub_almostEmpty_ST_28i 0x0393
#define B16SemaHub_almostEmpty_ST_28i 0x0392
#define LSb32SemaHub_almostEmpty_ST_28i 28
#define LSb16SemaHub_almostEmpty_ST_28i 12
#define bSemaHub_almostEmpty_ST_28i 1
#define MSK32SemaHub_almostEmpty_ST_28i 0x10000000
#define BA_SemaHub_almostEmpty_ST_29i 0x0393
#define B16SemaHub_almostEmpty_ST_29i 0x0392
#define LSb32SemaHub_almostEmpty_ST_29i 29
#define LSb16SemaHub_almostEmpty_ST_29i 13
#define bSemaHub_almostEmpty_ST_29i 1
#define MSK32SemaHub_almostEmpty_ST_29i 0x20000000
#define BA_SemaHub_almostEmpty_ST_30i 0x0393
#define B16SemaHub_almostEmpty_ST_30i 0x0392
#define LSb32SemaHub_almostEmpty_ST_30i 30
#define LSb16SemaHub_almostEmpty_ST_30i 14
#define bSemaHub_almostEmpty_ST_30i 1
#define MSK32SemaHub_almostEmpty_ST_30i 0x40000000
#define BA_SemaHub_almostEmpty_ST_31i 0x0393
#define B16SemaHub_almostEmpty_ST_31i 0x0392
#define LSb32SemaHub_almostEmpty_ST_31i 31
#define LSb16SemaHub_almostEmpty_ST_31i 15
#define bSemaHub_almostEmpty_ST_31i 1
#define MSK32SemaHub_almostEmpty_ST_31i 0x80000000
///////////////////////////////////////////////////////////
#define RA_SemaHub_almostFull 0x0394
#define BA_SemaHub_almostFull_ST_0i 0x0394
#define B16SemaHub_almostFull_ST_0i 0x0394
#define LSb32SemaHub_almostFull_ST_0i 0
#define LSb16SemaHub_almostFull_ST_0i 0
#define bSemaHub_almostFull_ST_0i 1
#define MSK32SemaHub_almostFull_ST_0i 0x00000001
#define BA_SemaHub_almostFull_ST_1i 0x0394
#define B16SemaHub_almostFull_ST_1i 0x0394
#define LSb32SemaHub_almostFull_ST_1i 1
#define LSb16SemaHub_almostFull_ST_1i 1
#define bSemaHub_almostFull_ST_1i 1
#define MSK32SemaHub_almostFull_ST_1i 0x00000002
#define BA_SemaHub_almostFull_ST_2i 0x0394
#define B16SemaHub_almostFull_ST_2i 0x0394
#define LSb32SemaHub_almostFull_ST_2i 2
#define LSb16SemaHub_almostFull_ST_2i 2
#define bSemaHub_almostFull_ST_2i 1
#define MSK32SemaHub_almostFull_ST_2i 0x00000004
#define BA_SemaHub_almostFull_ST_3i 0x0394
#define B16SemaHub_almostFull_ST_3i 0x0394
#define LSb32SemaHub_almostFull_ST_3i 3
#define LSb16SemaHub_almostFull_ST_3i 3
#define bSemaHub_almostFull_ST_3i 1
#define MSK32SemaHub_almostFull_ST_3i 0x00000008
#define BA_SemaHub_almostFull_ST_4i 0x0394
#define B16SemaHub_almostFull_ST_4i 0x0394
#define LSb32SemaHub_almostFull_ST_4i 4
#define LSb16SemaHub_almostFull_ST_4i 4
#define bSemaHub_almostFull_ST_4i 1
#define MSK32SemaHub_almostFull_ST_4i 0x00000010
#define BA_SemaHub_almostFull_ST_5i 0x0394
#define B16SemaHub_almostFull_ST_5i 0x0394
#define LSb32SemaHub_almostFull_ST_5i 5
#define LSb16SemaHub_almostFull_ST_5i 5
#define bSemaHub_almostFull_ST_5i 1
#define MSK32SemaHub_almostFull_ST_5i 0x00000020
#define BA_SemaHub_almostFull_ST_6i 0x0394
#define B16SemaHub_almostFull_ST_6i 0x0394
#define LSb32SemaHub_almostFull_ST_6i 6
#define LSb16SemaHub_almostFull_ST_6i 6
#define bSemaHub_almostFull_ST_6i 1
#define MSK32SemaHub_almostFull_ST_6i 0x00000040
#define BA_SemaHub_almostFull_ST_7i 0x0394
#define B16SemaHub_almostFull_ST_7i 0x0394
#define LSb32SemaHub_almostFull_ST_7i 7
#define LSb16SemaHub_almostFull_ST_7i 7
#define bSemaHub_almostFull_ST_7i 1
#define MSK32SemaHub_almostFull_ST_7i 0x00000080
#define BA_SemaHub_almostFull_ST_8i 0x0395
#define B16SemaHub_almostFull_ST_8i 0x0394
#define LSb32SemaHub_almostFull_ST_8i 8
#define LSb16SemaHub_almostFull_ST_8i 8
#define bSemaHub_almostFull_ST_8i 1
#define MSK32SemaHub_almostFull_ST_8i 0x00000100
#define BA_SemaHub_almostFull_ST_9i 0x0395
#define B16SemaHub_almostFull_ST_9i 0x0394
#define LSb32SemaHub_almostFull_ST_9i 9
#define LSb16SemaHub_almostFull_ST_9i 9
#define bSemaHub_almostFull_ST_9i 1
#define MSK32SemaHub_almostFull_ST_9i 0x00000200
#define BA_SemaHub_almostFull_ST_10i 0x0395
#define B16SemaHub_almostFull_ST_10i 0x0394
#define LSb32SemaHub_almostFull_ST_10i 10
#define LSb16SemaHub_almostFull_ST_10i 10
#define bSemaHub_almostFull_ST_10i 1
#define MSK32SemaHub_almostFull_ST_10i 0x00000400
#define BA_SemaHub_almostFull_ST_11i 0x0395
#define B16SemaHub_almostFull_ST_11i 0x0394
#define LSb32SemaHub_almostFull_ST_11i 11
#define LSb16SemaHub_almostFull_ST_11i 11
#define bSemaHub_almostFull_ST_11i 1
#define MSK32SemaHub_almostFull_ST_11i 0x00000800
#define BA_SemaHub_almostFull_ST_12i 0x0395
#define B16SemaHub_almostFull_ST_12i 0x0394
#define LSb32SemaHub_almostFull_ST_12i 12
#define LSb16SemaHub_almostFull_ST_12i 12
#define bSemaHub_almostFull_ST_12i 1
#define MSK32SemaHub_almostFull_ST_12i 0x00001000
#define BA_SemaHub_almostFull_ST_13i 0x0395
#define B16SemaHub_almostFull_ST_13i 0x0394
#define LSb32SemaHub_almostFull_ST_13i 13
#define LSb16SemaHub_almostFull_ST_13i 13
#define bSemaHub_almostFull_ST_13i 1
#define MSK32SemaHub_almostFull_ST_13i 0x00002000
#define BA_SemaHub_almostFull_ST_14i 0x0395
#define B16SemaHub_almostFull_ST_14i 0x0394
#define LSb32SemaHub_almostFull_ST_14i 14
#define LSb16SemaHub_almostFull_ST_14i 14
#define bSemaHub_almostFull_ST_14i 1
#define MSK32SemaHub_almostFull_ST_14i 0x00004000
#define BA_SemaHub_almostFull_ST_15i 0x0395
#define B16SemaHub_almostFull_ST_15i 0x0394
#define LSb32SemaHub_almostFull_ST_15i 15
#define LSb16SemaHub_almostFull_ST_15i 15
#define bSemaHub_almostFull_ST_15i 1
#define MSK32SemaHub_almostFull_ST_15i 0x00008000
#define BA_SemaHub_almostFull_ST_16i 0x0396
#define B16SemaHub_almostFull_ST_16i 0x0396
#define LSb32SemaHub_almostFull_ST_16i 16
#define LSb16SemaHub_almostFull_ST_16i 0
#define bSemaHub_almostFull_ST_16i 1
#define MSK32SemaHub_almostFull_ST_16i 0x00010000
#define BA_SemaHub_almostFull_ST_17i 0x0396
#define B16SemaHub_almostFull_ST_17i 0x0396
#define LSb32SemaHub_almostFull_ST_17i 17
#define LSb16SemaHub_almostFull_ST_17i 1
#define bSemaHub_almostFull_ST_17i 1
#define MSK32SemaHub_almostFull_ST_17i 0x00020000
#define BA_SemaHub_almostFull_ST_18i 0x0396
#define B16SemaHub_almostFull_ST_18i 0x0396
#define LSb32SemaHub_almostFull_ST_18i 18
#define LSb16SemaHub_almostFull_ST_18i 2
#define bSemaHub_almostFull_ST_18i 1
#define MSK32SemaHub_almostFull_ST_18i 0x00040000
#define BA_SemaHub_almostFull_ST_19i 0x0396
#define B16SemaHub_almostFull_ST_19i 0x0396
#define LSb32SemaHub_almostFull_ST_19i 19
#define LSb16SemaHub_almostFull_ST_19i 3
#define bSemaHub_almostFull_ST_19i 1
#define MSK32SemaHub_almostFull_ST_19i 0x00080000
#define BA_SemaHub_almostFull_ST_20i 0x0396
#define B16SemaHub_almostFull_ST_20i 0x0396
#define LSb32SemaHub_almostFull_ST_20i 20
#define LSb16SemaHub_almostFull_ST_20i 4
#define bSemaHub_almostFull_ST_20i 1
#define MSK32SemaHub_almostFull_ST_20i 0x00100000
#define BA_SemaHub_almostFull_ST_21i 0x0396
#define B16SemaHub_almostFull_ST_21i 0x0396
#define LSb32SemaHub_almostFull_ST_21i 21
#define LSb16SemaHub_almostFull_ST_21i 5
#define bSemaHub_almostFull_ST_21i 1
#define MSK32SemaHub_almostFull_ST_21i 0x00200000
#define BA_SemaHub_almostFull_ST_22i 0x0396
#define B16SemaHub_almostFull_ST_22i 0x0396
#define LSb32SemaHub_almostFull_ST_22i 22
#define LSb16SemaHub_almostFull_ST_22i 6
#define bSemaHub_almostFull_ST_22i 1
#define MSK32SemaHub_almostFull_ST_22i 0x00400000
#define BA_SemaHub_almostFull_ST_23i 0x0396
#define B16SemaHub_almostFull_ST_23i 0x0396
#define LSb32SemaHub_almostFull_ST_23i 23
#define LSb16SemaHub_almostFull_ST_23i 7
#define bSemaHub_almostFull_ST_23i 1
#define MSK32SemaHub_almostFull_ST_23i 0x00800000
#define BA_SemaHub_almostFull_ST_24i 0x0397
#define B16SemaHub_almostFull_ST_24i 0x0396
#define LSb32SemaHub_almostFull_ST_24i 24
#define LSb16SemaHub_almostFull_ST_24i 8
#define bSemaHub_almostFull_ST_24i 1
#define MSK32SemaHub_almostFull_ST_24i 0x01000000
#define BA_SemaHub_almostFull_ST_25i 0x0397
#define B16SemaHub_almostFull_ST_25i 0x0396
#define LSb32SemaHub_almostFull_ST_25i 25
#define LSb16SemaHub_almostFull_ST_25i 9
#define bSemaHub_almostFull_ST_25i 1
#define MSK32SemaHub_almostFull_ST_25i 0x02000000
#define BA_SemaHub_almostFull_ST_26i 0x0397
#define B16SemaHub_almostFull_ST_26i 0x0396
#define LSb32SemaHub_almostFull_ST_26i 26
#define LSb16SemaHub_almostFull_ST_26i 10
#define bSemaHub_almostFull_ST_26i 1
#define MSK32SemaHub_almostFull_ST_26i 0x04000000
#define BA_SemaHub_almostFull_ST_27i 0x0397
#define B16SemaHub_almostFull_ST_27i 0x0396
#define LSb32SemaHub_almostFull_ST_27i 27
#define LSb16SemaHub_almostFull_ST_27i 11
#define bSemaHub_almostFull_ST_27i 1
#define MSK32SemaHub_almostFull_ST_27i 0x08000000
#define BA_SemaHub_almostFull_ST_28i 0x0397
#define B16SemaHub_almostFull_ST_28i 0x0396
#define LSb32SemaHub_almostFull_ST_28i 28
#define LSb16SemaHub_almostFull_ST_28i 12
#define bSemaHub_almostFull_ST_28i 1
#define MSK32SemaHub_almostFull_ST_28i 0x10000000
#define BA_SemaHub_almostFull_ST_29i 0x0397
#define B16SemaHub_almostFull_ST_29i 0x0396
#define LSb32SemaHub_almostFull_ST_29i 29
#define LSb16SemaHub_almostFull_ST_29i 13
#define bSemaHub_almostFull_ST_29i 1
#define MSK32SemaHub_almostFull_ST_29i 0x20000000
#define BA_SemaHub_almostFull_ST_30i 0x0397
#define B16SemaHub_almostFull_ST_30i 0x0396
#define LSb32SemaHub_almostFull_ST_30i 30
#define LSb16SemaHub_almostFull_ST_30i 14
#define bSemaHub_almostFull_ST_30i 1
#define MSK32SemaHub_almostFull_ST_30i 0x40000000
#define BA_SemaHub_almostFull_ST_31i 0x0397
#define B16SemaHub_almostFull_ST_31i 0x0396
#define LSb32SemaHub_almostFull_ST_31i 31
#define LSb16SemaHub_almostFull_ST_31i 15
#define bSemaHub_almostFull_ST_31i 1
#define MSK32SemaHub_almostFull_ST_31i 0x80000000
///////////////////////////////////////////////////////////
typedef struct SIE_SemaHub {
///////////////////////////////////////////////////////////
SIE_SemaQuery ie_counter[64];
///////////////////////////////////////////////////////////
SIE_Semaphore ie_cell[32];
///////////////////////////////////////////////////////////
#define GET32SemaHub_PUSH_ID(r32) _BFGET_(r32, 7, 0)
#define SET32SemaHub_PUSH_ID(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16SemaHub_PUSH_ID(r16) _BFGET_(r16, 7, 0)
#define SET16SemaHub_PUSH_ID(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32SemaHub_PUSH_delta(r32) _BFGET_(r32,15, 8)
#define SET32SemaHub_PUSH_delta(r32,v) _BFSET_(r32,15, 8,v)
#define GET16SemaHub_PUSH_delta(r16) _BFGET_(r16,15, 8)
#define SET16SemaHub_PUSH_delta(r16,v) _BFSET_(r16,15, 8,v)
#define w32SemaHub_PUSH {\
UNSG32 uPUSH_ID : 8;\
UNSG32 uPUSH_delta : 8;\
UNSG32 RSVDx380_b16 : 16;\
}
union { UNSG32 u32SemaHub_PUSH;
struct w32SemaHub_PUSH;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_POP_ID(r32) _BFGET_(r32, 7, 0)
#define SET32SemaHub_POP_ID(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16SemaHub_POP_ID(r16) _BFGET_(r16, 7, 0)
#define SET16SemaHub_POP_ID(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32SemaHub_POP_delta(r32) _BFGET_(r32,15, 8)
#define SET32SemaHub_POP_delta(r32,v) _BFSET_(r32,15, 8,v)
#define GET16SemaHub_POP_delta(r16) _BFGET_(r16,15, 8)
#define SET16SemaHub_POP_delta(r16,v) _BFSET_(r16,15, 8,v)
#define w32SemaHub_POP {\
UNSG32 uPOP_ID : 8;\
UNSG32 uPOP_delta : 8;\
UNSG32 RSVDx384_b16 : 16;\
}
union { UNSG32 u32SemaHub_POP;
struct w32SemaHub_POP;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_empty_ST_0i(r32) _BFGET_(r32, 0, 0)
#define SET32SemaHub_empty_ST_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaHub_empty_ST_0i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_empty_ST_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_empty_ST_1i(r32) _BFGET_(r32, 1, 1)
#define SET32SemaHub_empty_ST_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaHub_empty_ST_1i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_empty_ST_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_empty_ST_2i(r32) _BFGET_(r32, 2, 2)
#define SET32SemaHub_empty_ST_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaHub_empty_ST_2i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_empty_ST_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_empty_ST_3i(r32) _BFGET_(r32, 3, 3)
#define SET32SemaHub_empty_ST_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaHub_empty_ST_3i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_empty_ST_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_empty_ST_4i(r32) _BFGET_(r32, 4, 4)
#define SET32SemaHub_empty_ST_4i(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16SemaHub_empty_ST_4i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_empty_ST_4i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_empty_ST_5i(r32) _BFGET_(r32, 5, 5)
#define SET32SemaHub_empty_ST_5i(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16SemaHub_empty_ST_5i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_empty_ST_5i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_empty_ST_6i(r32) _BFGET_(r32, 6, 6)
#define SET32SemaHub_empty_ST_6i(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16SemaHub_empty_ST_6i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_empty_ST_6i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_empty_ST_7i(r32) _BFGET_(r32, 7, 7)
#define SET32SemaHub_empty_ST_7i(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaHub_empty_ST_7i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_empty_ST_7i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_empty_ST_8i(r32) _BFGET_(r32, 8, 8)
#define SET32SemaHub_empty_ST_8i(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16SemaHub_empty_ST_8i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_empty_ST_8i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_empty_ST_9i(r32) _BFGET_(r32, 9, 9)
#define SET32SemaHub_empty_ST_9i(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16SemaHub_empty_ST_9i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_empty_ST_9i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_empty_ST_10i(r32) _BFGET_(r32,10,10)
#define SET32SemaHub_empty_ST_10i(r32,v) _BFSET_(r32,10,10,v)
#define GET16SemaHub_empty_ST_10i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_empty_ST_10i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_empty_ST_11i(r32) _BFGET_(r32,11,11)
#define SET32SemaHub_empty_ST_11i(r32,v) _BFSET_(r32,11,11,v)
#define GET16SemaHub_empty_ST_11i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_empty_ST_11i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_empty_ST_12i(r32) _BFGET_(r32,12,12)
#define SET32SemaHub_empty_ST_12i(r32,v) _BFSET_(r32,12,12,v)
#define GET16SemaHub_empty_ST_12i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_empty_ST_12i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_empty_ST_13i(r32) _BFGET_(r32,13,13)
#define SET32SemaHub_empty_ST_13i(r32,v) _BFSET_(r32,13,13,v)
#define GET16SemaHub_empty_ST_13i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_empty_ST_13i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_empty_ST_14i(r32) _BFGET_(r32,14,14)
#define SET32SemaHub_empty_ST_14i(r32,v) _BFSET_(r32,14,14,v)
#define GET16SemaHub_empty_ST_14i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_empty_ST_14i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_empty_ST_15i(r32) _BFGET_(r32,15,15)
#define SET32SemaHub_empty_ST_15i(r32,v) _BFSET_(r32,15,15,v)
#define GET16SemaHub_empty_ST_15i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_empty_ST_15i(r16,v) _BFSET_(r16,15,15,v)
#define GET32SemaHub_empty_ST_16i(r32) _BFGET_(r32,16,16)
#define SET32SemaHub_empty_ST_16i(r32,v) _BFSET_(r32,16,16,v)
#define GET16SemaHub_empty_ST_16i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_empty_ST_16i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_empty_ST_17i(r32) _BFGET_(r32,17,17)
#define SET32SemaHub_empty_ST_17i(r32,v) _BFSET_(r32,17,17,v)
#define GET16SemaHub_empty_ST_17i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_empty_ST_17i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_empty_ST_18i(r32) _BFGET_(r32,18,18)
#define SET32SemaHub_empty_ST_18i(r32,v) _BFSET_(r32,18,18,v)
#define GET16SemaHub_empty_ST_18i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_empty_ST_18i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_empty_ST_19i(r32) _BFGET_(r32,19,19)
#define SET32SemaHub_empty_ST_19i(r32,v) _BFSET_(r32,19,19,v)
#define GET16SemaHub_empty_ST_19i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_empty_ST_19i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_empty_ST_20i(r32) _BFGET_(r32,20,20)
#define SET32SemaHub_empty_ST_20i(r32,v) _BFSET_(r32,20,20,v)
#define GET16SemaHub_empty_ST_20i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_empty_ST_20i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_empty_ST_21i(r32) _BFGET_(r32,21,21)
#define SET32SemaHub_empty_ST_21i(r32,v) _BFSET_(r32,21,21,v)
#define GET16SemaHub_empty_ST_21i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_empty_ST_21i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_empty_ST_22i(r32) _BFGET_(r32,22,22)
#define SET32SemaHub_empty_ST_22i(r32,v) _BFSET_(r32,22,22,v)
#define GET16SemaHub_empty_ST_22i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_empty_ST_22i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_empty_ST_23i(r32) _BFGET_(r32,23,23)
#define SET32SemaHub_empty_ST_23i(r32,v) _BFSET_(r32,23,23,v)
#define GET16SemaHub_empty_ST_23i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_empty_ST_23i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_empty_ST_24i(r32) _BFGET_(r32,24,24)
#define SET32SemaHub_empty_ST_24i(r32,v) _BFSET_(r32,24,24,v)
#define GET16SemaHub_empty_ST_24i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_empty_ST_24i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_empty_ST_25i(r32) _BFGET_(r32,25,25)
#define SET32SemaHub_empty_ST_25i(r32,v) _BFSET_(r32,25,25,v)
#define GET16SemaHub_empty_ST_25i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_empty_ST_25i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_empty_ST_26i(r32) _BFGET_(r32,26,26)
#define SET32SemaHub_empty_ST_26i(r32,v) _BFSET_(r32,26,26,v)
#define GET16SemaHub_empty_ST_26i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_empty_ST_26i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_empty_ST_27i(r32) _BFGET_(r32,27,27)
#define SET32SemaHub_empty_ST_27i(r32,v) _BFSET_(r32,27,27,v)
#define GET16SemaHub_empty_ST_27i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_empty_ST_27i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_empty_ST_28i(r32) _BFGET_(r32,28,28)
#define SET32SemaHub_empty_ST_28i(r32,v) _BFSET_(r32,28,28,v)
#define GET16SemaHub_empty_ST_28i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_empty_ST_28i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_empty_ST_29i(r32) _BFGET_(r32,29,29)
#define SET32SemaHub_empty_ST_29i(r32,v) _BFSET_(r32,29,29,v)
#define GET16SemaHub_empty_ST_29i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_empty_ST_29i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_empty_ST_30i(r32) _BFGET_(r32,30,30)
#define SET32SemaHub_empty_ST_30i(r32,v) _BFSET_(r32,30,30,v)
#define GET16SemaHub_empty_ST_30i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_empty_ST_30i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_empty_ST_31i(r32) _BFGET_(r32,31,31)
#define SET32SemaHub_empty_ST_31i(r32,v) _BFSET_(r32,31,31,v)
#define GET16SemaHub_empty_ST_31i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_empty_ST_31i(r16,v) _BFSET_(r16,15,15,v)
#define w32SemaHub_empty {\
UNSG32 uempty_ST_0i : 1;\
UNSG32 uempty_ST_1i : 1;\
UNSG32 uempty_ST_2i : 1;\
UNSG32 uempty_ST_3i : 1;\
UNSG32 uempty_ST_4i : 1;\
UNSG32 uempty_ST_5i : 1;\
UNSG32 uempty_ST_6i : 1;\
UNSG32 uempty_ST_7i : 1;\
UNSG32 uempty_ST_8i : 1;\
UNSG32 uempty_ST_9i : 1;\
UNSG32 uempty_ST_10i : 1;\
UNSG32 uempty_ST_11i : 1;\
UNSG32 uempty_ST_12i : 1;\
UNSG32 uempty_ST_13i : 1;\
UNSG32 uempty_ST_14i : 1;\
UNSG32 uempty_ST_15i : 1;\
UNSG32 uempty_ST_16i : 1;\
UNSG32 uempty_ST_17i : 1;\
UNSG32 uempty_ST_18i : 1;\
UNSG32 uempty_ST_19i : 1;\
UNSG32 uempty_ST_20i : 1;\
UNSG32 uempty_ST_21i : 1;\
UNSG32 uempty_ST_22i : 1;\
UNSG32 uempty_ST_23i : 1;\
UNSG32 uempty_ST_24i : 1;\
UNSG32 uempty_ST_25i : 1;\
UNSG32 uempty_ST_26i : 1;\
UNSG32 uempty_ST_27i : 1;\
UNSG32 uempty_ST_28i : 1;\
UNSG32 uempty_ST_29i : 1;\
UNSG32 uempty_ST_30i : 1;\
UNSG32 uempty_ST_31i : 1;\
}
union { UNSG32 u32SemaHub_empty;
struct w32SemaHub_empty;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_full_ST_0i(r32) _BFGET_(r32, 0, 0)
#define SET32SemaHub_full_ST_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaHub_full_ST_0i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_full_ST_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_full_ST_1i(r32) _BFGET_(r32, 1, 1)
#define SET32SemaHub_full_ST_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaHub_full_ST_1i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_full_ST_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_full_ST_2i(r32) _BFGET_(r32, 2, 2)
#define SET32SemaHub_full_ST_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaHub_full_ST_2i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_full_ST_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_full_ST_3i(r32) _BFGET_(r32, 3, 3)
#define SET32SemaHub_full_ST_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaHub_full_ST_3i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_full_ST_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_full_ST_4i(r32) _BFGET_(r32, 4, 4)
#define SET32SemaHub_full_ST_4i(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16SemaHub_full_ST_4i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_full_ST_4i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_full_ST_5i(r32) _BFGET_(r32, 5, 5)
#define SET32SemaHub_full_ST_5i(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16SemaHub_full_ST_5i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_full_ST_5i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_full_ST_6i(r32) _BFGET_(r32, 6, 6)
#define SET32SemaHub_full_ST_6i(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16SemaHub_full_ST_6i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_full_ST_6i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_full_ST_7i(r32) _BFGET_(r32, 7, 7)
#define SET32SemaHub_full_ST_7i(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaHub_full_ST_7i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_full_ST_7i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_full_ST_8i(r32) _BFGET_(r32, 8, 8)
#define SET32SemaHub_full_ST_8i(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16SemaHub_full_ST_8i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_full_ST_8i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_full_ST_9i(r32) _BFGET_(r32, 9, 9)
#define SET32SemaHub_full_ST_9i(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16SemaHub_full_ST_9i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_full_ST_9i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_full_ST_10i(r32) _BFGET_(r32,10,10)
#define SET32SemaHub_full_ST_10i(r32,v) _BFSET_(r32,10,10,v)
#define GET16SemaHub_full_ST_10i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_full_ST_10i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_full_ST_11i(r32) _BFGET_(r32,11,11)
#define SET32SemaHub_full_ST_11i(r32,v) _BFSET_(r32,11,11,v)
#define GET16SemaHub_full_ST_11i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_full_ST_11i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_full_ST_12i(r32) _BFGET_(r32,12,12)
#define SET32SemaHub_full_ST_12i(r32,v) _BFSET_(r32,12,12,v)
#define GET16SemaHub_full_ST_12i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_full_ST_12i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_full_ST_13i(r32) _BFGET_(r32,13,13)
#define SET32SemaHub_full_ST_13i(r32,v) _BFSET_(r32,13,13,v)
#define GET16SemaHub_full_ST_13i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_full_ST_13i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_full_ST_14i(r32) _BFGET_(r32,14,14)
#define SET32SemaHub_full_ST_14i(r32,v) _BFSET_(r32,14,14,v)
#define GET16SemaHub_full_ST_14i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_full_ST_14i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_full_ST_15i(r32) _BFGET_(r32,15,15)
#define SET32SemaHub_full_ST_15i(r32,v) _BFSET_(r32,15,15,v)
#define GET16SemaHub_full_ST_15i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_full_ST_15i(r16,v) _BFSET_(r16,15,15,v)
#define GET32SemaHub_full_ST_16i(r32) _BFGET_(r32,16,16)
#define SET32SemaHub_full_ST_16i(r32,v) _BFSET_(r32,16,16,v)
#define GET16SemaHub_full_ST_16i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_full_ST_16i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_full_ST_17i(r32) _BFGET_(r32,17,17)
#define SET32SemaHub_full_ST_17i(r32,v) _BFSET_(r32,17,17,v)
#define GET16SemaHub_full_ST_17i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_full_ST_17i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_full_ST_18i(r32) _BFGET_(r32,18,18)
#define SET32SemaHub_full_ST_18i(r32,v) _BFSET_(r32,18,18,v)
#define GET16SemaHub_full_ST_18i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_full_ST_18i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_full_ST_19i(r32) _BFGET_(r32,19,19)
#define SET32SemaHub_full_ST_19i(r32,v) _BFSET_(r32,19,19,v)
#define GET16SemaHub_full_ST_19i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_full_ST_19i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_full_ST_20i(r32) _BFGET_(r32,20,20)
#define SET32SemaHub_full_ST_20i(r32,v) _BFSET_(r32,20,20,v)
#define GET16SemaHub_full_ST_20i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_full_ST_20i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_full_ST_21i(r32) _BFGET_(r32,21,21)
#define SET32SemaHub_full_ST_21i(r32,v) _BFSET_(r32,21,21,v)
#define GET16SemaHub_full_ST_21i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_full_ST_21i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_full_ST_22i(r32) _BFGET_(r32,22,22)
#define SET32SemaHub_full_ST_22i(r32,v) _BFSET_(r32,22,22,v)
#define GET16SemaHub_full_ST_22i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_full_ST_22i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_full_ST_23i(r32) _BFGET_(r32,23,23)
#define SET32SemaHub_full_ST_23i(r32,v) _BFSET_(r32,23,23,v)
#define GET16SemaHub_full_ST_23i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_full_ST_23i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_full_ST_24i(r32) _BFGET_(r32,24,24)
#define SET32SemaHub_full_ST_24i(r32,v) _BFSET_(r32,24,24,v)
#define GET16SemaHub_full_ST_24i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_full_ST_24i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_full_ST_25i(r32) _BFGET_(r32,25,25)
#define SET32SemaHub_full_ST_25i(r32,v) _BFSET_(r32,25,25,v)
#define GET16SemaHub_full_ST_25i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_full_ST_25i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_full_ST_26i(r32) _BFGET_(r32,26,26)
#define SET32SemaHub_full_ST_26i(r32,v) _BFSET_(r32,26,26,v)
#define GET16SemaHub_full_ST_26i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_full_ST_26i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_full_ST_27i(r32) _BFGET_(r32,27,27)
#define SET32SemaHub_full_ST_27i(r32,v) _BFSET_(r32,27,27,v)
#define GET16SemaHub_full_ST_27i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_full_ST_27i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_full_ST_28i(r32) _BFGET_(r32,28,28)
#define SET32SemaHub_full_ST_28i(r32,v) _BFSET_(r32,28,28,v)
#define GET16SemaHub_full_ST_28i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_full_ST_28i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_full_ST_29i(r32) _BFGET_(r32,29,29)
#define SET32SemaHub_full_ST_29i(r32,v) _BFSET_(r32,29,29,v)
#define GET16SemaHub_full_ST_29i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_full_ST_29i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_full_ST_30i(r32) _BFGET_(r32,30,30)
#define SET32SemaHub_full_ST_30i(r32,v) _BFSET_(r32,30,30,v)
#define GET16SemaHub_full_ST_30i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_full_ST_30i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_full_ST_31i(r32) _BFGET_(r32,31,31)
#define SET32SemaHub_full_ST_31i(r32,v) _BFSET_(r32,31,31,v)
#define GET16SemaHub_full_ST_31i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_full_ST_31i(r16,v) _BFSET_(r16,15,15,v)
#define w32SemaHub_full {\
UNSG32 ufull_ST_0i : 1;\
UNSG32 ufull_ST_1i : 1;\
UNSG32 ufull_ST_2i : 1;\
UNSG32 ufull_ST_3i : 1;\
UNSG32 ufull_ST_4i : 1;\
UNSG32 ufull_ST_5i : 1;\
UNSG32 ufull_ST_6i : 1;\
UNSG32 ufull_ST_7i : 1;\
UNSG32 ufull_ST_8i : 1;\
UNSG32 ufull_ST_9i : 1;\
UNSG32 ufull_ST_10i : 1;\
UNSG32 ufull_ST_11i : 1;\
UNSG32 ufull_ST_12i : 1;\
UNSG32 ufull_ST_13i : 1;\
UNSG32 ufull_ST_14i : 1;\
UNSG32 ufull_ST_15i : 1;\
UNSG32 ufull_ST_16i : 1;\
UNSG32 ufull_ST_17i : 1;\
UNSG32 ufull_ST_18i : 1;\
UNSG32 ufull_ST_19i : 1;\
UNSG32 ufull_ST_20i : 1;\
UNSG32 ufull_ST_21i : 1;\
UNSG32 ufull_ST_22i : 1;\
UNSG32 ufull_ST_23i : 1;\
UNSG32 ufull_ST_24i : 1;\
UNSG32 ufull_ST_25i : 1;\
UNSG32 ufull_ST_26i : 1;\
UNSG32 ufull_ST_27i : 1;\
UNSG32 ufull_ST_28i : 1;\
UNSG32 ufull_ST_29i : 1;\
UNSG32 ufull_ST_30i : 1;\
UNSG32 ufull_ST_31i : 1;\
}
union { UNSG32 u32SemaHub_full;
struct w32SemaHub_full;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_almostEmpty_ST_0i(r32) _BFGET_(r32, 0, 0)
#define SET32SemaHub_almostEmpty_ST_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaHub_almostEmpty_ST_0i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_almostEmpty_ST_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_almostEmpty_ST_1i(r32) _BFGET_(r32, 1, 1)
#define SET32SemaHub_almostEmpty_ST_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaHub_almostEmpty_ST_1i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_almostEmpty_ST_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_almostEmpty_ST_2i(r32) _BFGET_(r32, 2, 2)
#define SET32SemaHub_almostEmpty_ST_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaHub_almostEmpty_ST_2i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_almostEmpty_ST_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_almostEmpty_ST_3i(r32) _BFGET_(r32, 3, 3)
#define SET32SemaHub_almostEmpty_ST_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaHub_almostEmpty_ST_3i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_almostEmpty_ST_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_almostEmpty_ST_4i(r32) _BFGET_(r32, 4, 4)
#define SET32SemaHub_almostEmpty_ST_4i(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16SemaHub_almostEmpty_ST_4i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_almostEmpty_ST_4i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_almostEmpty_ST_5i(r32) _BFGET_(r32, 5, 5)
#define SET32SemaHub_almostEmpty_ST_5i(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16SemaHub_almostEmpty_ST_5i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_almostEmpty_ST_5i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_almostEmpty_ST_6i(r32) _BFGET_(r32, 6, 6)
#define SET32SemaHub_almostEmpty_ST_6i(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16SemaHub_almostEmpty_ST_6i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_almostEmpty_ST_6i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_almostEmpty_ST_7i(r32) _BFGET_(r32, 7, 7)
#define SET32SemaHub_almostEmpty_ST_7i(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaHub_almostEmpty_ST_7i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_almostEmpty_ST_7i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_almostEmpty_ST_8i(r32) _BFGET_(r32, 8, 8)
#define SET32SemaHub_almostEmpty_ST_8i(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16SemaHub_almostEmpty_ST_8i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_almostEmpty_ST_8i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_almostEmpty_ST_9i(r32) _BFGET_(r32, 9, 9)
#define SET32SemaHub_almostEmpty_ST_9i(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16SemaHub_almostEmpty_ST_9i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_almostEmpty_ST_9i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_almostEmpty_ST_10i(r32) _BFGET_(r32,10,10)
#define SET32SemaHub_almostEmpty_ST_10i(r32,v) _BFSET_(r32,10,10,v)
#define GET16SemaHub_almostEmpty_ST_10i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_almostEmpty_ST_10i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_almostEmpty_ST_11i(r32) _BFGET_(r32,11,11)
#define SET32SemaHub_almostEmpty_ST_11i(r32,v) _BFSET_(r32,11,11,v)
#define GET16SemaHub_almostEmpty_ST_11i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_almostEmpty_ST_11i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_almostEmpty_ST_12i(r32) _BFGET_(r32,12,12)
#define SET32SemaHub_almostEmpty_ST_12i(r32,v) _BFSET_(r32,12,12,v)
#define GET16SemaHub_almostEmpty_ST_12i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_almostEmpty_ST_12i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_almostEmpty_ST_13i(r32) _BFGET_(r32,13,13)
#define SET32SemaHub_almostEmpty_ST_13i(r32,v) _BFSET_(r32,13,13,v)
#define GET16SemaHub_almostEmpty_ST_13i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_almostEmpty_ST_13i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_almostEmpty_ST_14i(r32) _BFGET_(r32,14,14)
#define SET32SemaHub_almostEmpty_ST_14i(r32,v) _BFSET_(r32,14,14,v)
#define GET16SemaHub_almostEmpty_ST_14i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_almostEmpty_ST_14i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_almostEmpty_ST_15i(r32) _BFGET_(r32,15,15)
#define SET32SemaHub_almostEmpty_ST_15i(r32,v) _BFSET_(r32,15,15,v)
#define GET16SemaHub_almostEmpty_ST_15i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_almostEmpty_ST_15i(r16,v) _BFSET_(r16,15,15,v)
#define GET32SemaHub_almostEmpty_ST_16i(r32) _BFGET_(r32,16,16)
#define SET32SemaHub_almostEmpty_ST_16i(r32,v) _BFSET_(r32,16,16,v)
#define GET16SemaHub_almostEmpty_ST_16i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_almostEmpty_ST_16i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_almostEmpty_ST_17i(r32) _BFGET_(r32,17,17)
#define SET32SemaHub_almostEmpty_ST_17i(r32,v) _BFSET_(r32,17,17,v)
#define GET16SemaHub_almostEmpty_ST_17i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_almostEmpty_ST_17i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_almostEmpty_ST_18i(r32) _BFGET_(r32,18,18)
#define SET32SemaHub_almostEmpty_ST_18i(r32,v) _BFSET_(r32,18,18,v)
#define GET16SemaHub_almostEmpty_ST_18i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_almostEmpty_ST_18i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_almostEmpty_ST_19i(r32) _BFGET_(r32,19,19)
#define SET32SemaHub_almostEmpty_ST_19i(r32,v) _BFSET_(r32,19,19,v)
#define GET16SemaHub_almostEmpty_ST_19i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_almostEmpty_ST_19i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_almostEmpty_ST_20i(r32) _BFGET_(r32,20,20)
#define SET32SemaHub_almostEmpty_ST_20i(r32,v) _BFSET_(r32,20,20,v)
#define GET16SemaHub_almostEmpty_ST_20i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_almostEmpty_ST_20i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_almostEmpty_ST_21i(r32) _BFGET_(r32,21,21)
#define SET32SemaHub_almostEmpty_ST_21i(r32,v) _BFSET_(r32,21,21,v)
#define GET16SemaHub_almostEmpty_ST_21i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_almostEmpty_ST_21i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_almostEmpty_ST_22i(r32) _BFGET_(r32,22,22)
#define SET32SemaHub_almostEmpty_ST_22i(r32,v) _BFSET_(r32,22,22,v)
#define GET16SemaHub_almostEmpty_ST_22i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_almostEmpty_ST_22i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_almostEmpty_ST_23i(r32) _BFGET_(r32,23,23)
#define SET32SemaHub_almostEmpty_ST_23i(r32,v) _BFSET_(r32,23,23,v)
#define GET16SemaHub_almostEmpty_ST_23i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_almostEmpty_ST_23i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_almostEmpty_ST_24i(r32) _BFGET_(r32,24,24)
#define SET32SemaHub_almostEmpty_ST_24i(r32,v) _BFSET_(r32,24,24,v)
#define GET16SemaHub_almostEmpty_ST_24i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_almostEmpty_ST_24i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_almostEmpty_ST_25i(r32) _BFGET_(r32,25,25)
#define SET32SemaHub_almostEmpty_ST_25i(r32,v) _BFSET_(r32,25,25,v)
#define GET16SemaHub_almostEmpty_ST_25i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_almostEmpty_ST_25i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_almostEmpty_ST_26i(r32) _BFGET_(r32,26,26)
#define SET32SemaHub_almostEmpty_ST_26i(r32,v) _BFSET_(r32,26,26,v)
#define GET16SemaHub_almostEmpty_ST_26i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_almostEmpty_ST_26i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_almostEmpty_ST_27i(r32) _BFGET_(r32,27,27)
#define SET32SemaHub_almostEmpty_ST_27i(r32,v) _BFSET_(r32,27,27,v)
#define GET16SemaHub_almostEmpty_ST_27i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_almostEmpty_ST_27i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_almostEmpty_ST_28i(r32) _BFGET_(r32,28,28)
#define SET32SemaHub_almostEmpty_ST_28i(r32,v) _BFSET_(r32,28,28,v)
#define GET16SemaHub_almostEmpty_ST_28i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_almostEmpty_ST_28i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_almostEmpty_ST_29i(r32) _BFGET_(r32,29,29)
#define SET32SemaHub_almostEmpty_ST_29i(r32,v) _BFSET_(r32,29,29,v)
#define GET16SemaHub_almostEmpty_ST_29i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_almostEmpty_ST_29i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_almostEmpty_ST_30i(r32) _BFGET_(r32,30,30)
#define SET32SemaHub_almostEmpty_ST_30i(r32,v) _BFSET_(r32,30,30,v)
#define GET16SemaHub_almostEmpty_ST_30i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_almostEmpty_ST_30i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_almostEmpty_ST_31i(r32) _BFGET_(r32,31,31)
#define SET32SemaHub_almostEmpty_ST_31i(r32,v) _BFSET_(r32,31,31,v)
#define GET16SemaHub_almostEmpty_ST_31i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_almostEmpty_ST_31i(r16,v) _BFSET_(r16,15,15,v)
#define w32SemaHub_almostEmpty {\
UNSG32 ualmostEmpty_ST_0i : 1;\
UNSG32 ualmostEmpty_ST_1i : 1;\
UNSG32 ualmostEmpty_ST_2i : 1;\
UNSG32 ualmostEmpty_ST_3i : 1;\
UNSG32 ualmostEmpty_ST_4i : 1;\
UNSG32 ualmostEmpty_ST_5i : 1;\
UNSG32 ualmostEmpty_ST_6i : 1;\
UNSG32 ualmostEmpty_ST_7i : 1;\
UNSG32 ualmostEmpty_ST_8i : 1;\
UNSG32 ualmostEmpty_ST_9i : 1;\
UNSG32 ualmostEmpty_ST_10i : 1;\
UNSG32 ualmostEmpty_ST_11i : 1;\
UNSG32 ualmostEmpty_ST_12i : 1;\
UNSG32 ualmostEmpty_ST_13i : 1;\
UNSG32 ualmostEmpty_ST_14i : 1;\
UNSG32 ualmostEmpty_ST_15i : 1;\
UNSG32 ualmostEmpty_ST_16i : 1;\
UNSG32 ualmostEmpty_ST_17i : 1;\
UNSG32 ualmostEmpty_ST_18i : 1;\
UNSG32 ualmostEmpty_ST_19i : 1;\
UNSG32 ualmostEmpty_ST_20i : 1;\
UNSG32 ualmostEmpty_ST_21i : 1;\
UNSG32 ualmostEmpty_ST_22i : 1;\
UNSG32 ualmostEmpty_ST_23i : 1;\
UNSG32 ualmostEmpty_ST_24i : 1;\
UNSG32 ualmostEmpty_ST_25i : 1;\
UNSG32 ualmostEmpty_ST_26i : 1;\
UNSG32 ualmostEmpty_ST_27i : 1;\
UNSG32 ualmostEmpty_ST_28i : 1;\
UNSG32 ualmostEmpty_ST_29i : 1;\
UNSG32 ualmostEmpty_ST_30i : 1;\
UNSG32 ualmostEmpty_ST_31i : 1;\
}
union { UNSG32 u32SemaHub_almostEmpty;
struct w32SemaHub_almostEmpty;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_almostFull_ST_0i(r32) _BFGET_(r32, 0, 0)
#define SET32SemaHub_almostFull_ST_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaHub_almostFull_ST_0i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_almostFull_ST_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_almostFull_ST_1i(r32) _BFGET_(r32, 1, 1)
#define SET32SemaHub_almostFull_ST_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaHub_almostFull_ST_1i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_almostFull_ST_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_almostFull_ST_2i(r32) _BFGET_(r32, 2, 2)
#define SET32SemaHub_almostFull_ST_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaHub_almostFull_ST_2i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_almostFull_ST_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_almostFull_ST_3i(r32) _BFGET_(r32, 3, 3)
#define SET32SemaHub_almostFull_ST_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaHub_almostFull_ST_3i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_almostFull_ST_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_almostFull_ST_4i(r32) _BFGET_(r32, 4, 4)
#define SET32SemaHub_almostFull_ST_4i(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16SemaHub_almostFull_ST_4i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_almostFull_ST_4i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_almostFull_ST_5i(r32) _BFGET_(r32, 5, 5)
#define SET32SemaHub_almostFull_ST_5i(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16SemaHub_almostFull_ST_5i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_almostFull_ST_5i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_almostFull_ST_6i(r32) _BFGET_(r32, 6, 6)
#define SET32SemaHub_almostFull_ST_6i(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16SemaHub_almostFull_ST_6i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_almostFull_ST_6i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_almostFull_ST_7i(r32) _BFGET_(r32, 7, 7)
#define SET32SemaHub_almostFull_ST_7i(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaHub_almostFull_ST_7i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_almostFull_ST_7i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_almostFull_ST_8i(r32) _BFGET_(r32, 8, 8)
#define SET32SemaHub_almostFull_ST_8i(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16SemaHub_almostFull_ST_8i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_almostFull_ST_8i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_almostFull_ST_9i(r32) _BFGET_(r32, 9, 9)
#define SET32SemaHub_almostFull_ST_9i(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16SemaHub_almostFull_ST_9i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_almostFull_ST_9i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_almostFull_ST_10i(r32) _BFGET_(r32,10,10)
#define SET32SemaHub_almostFull_ST_10i(r32,v) _BFSET_(r32,10,10,v)
#define GET16SemaHub_almostFull_ST_10i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_almostFull_ST_10i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_almostFull_ST_11i(r32) _BFGET_(r32,11,11)
#define SET32SemaHub_almostFull_ST_11i(r32,v) _BFSET_(r32,11,11,v)
#define GET16SemaHub_almostFull_ST_11i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_almostFull_ST_11i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_almostFull_ST_12i(r32) _BFGET_(r32,12,12)
#define SET32SemaHub_almostFull_ST_12i(r32,v) _BFSET_(r32,12,12,v)
#define GET16SemaHub_almostFull_ST_12i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_almostFull_ST_12i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_almostFull_ST_13i(r32) _BFGET_(r32,13,13)
#define SET32SemaHub_almostFull_ST_13i(r32,v) _BFSET_(r32,13,13,v)
#define GET16SemaHub_almostFull_ST_13i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_almostFull_ST_13i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_almostFull_ST_14i(r32) _BFGET_(r32,14,14)
#define SET32SemaHub_almostFull_ST_14i(r32,v) _BFSET_(r32,14,14,v)
#define GET16SemaHub_almostFull_ST_14i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_almostFull_ST_14i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_almostFull_ST_15i(r32) _BFGET_(r32,15,15)
#define SET32SemaHub_almostFull_ST_15i(r32,v) _BFSET_(r32,15,15,v)
#define GET16SemaHub_almostFull_ST_15i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_almostFull_ST_15i(r16,v) _BFSET_(r16,15,15,v)
#define GET32SemaHub_almostFull_ST_16i(r32) _BFGET_(r32,16,16)
#define SET32SemaHub_almostFull_ST_16i(r32,v) _BFSET_(r32,16,16,v)
#define GET16SemaHub_almostFull_ST_16i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_almostFull_ST_16i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_almostFull_ST_17i(r32) _BFGET_(r32,17,17)
#define SET32SemaHub_almostFull_ST_17i(r32,v) _BFSET_(r32,17,17,v)
#define GET16SemaHub_almostFull_ST_17i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_almostFull_ST_17i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_almostFull_ST_18i(r32) _BFGET_(r32,18,18)
#define SET32SemaHub_almostFull_ST_18i(r32,v) _BFSET_(r32,18,18,v)
#define GET16SemaHub_almostFull_ST_18i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_almostFull_ST_18i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_almostFull_ST_19i(r32) _BFGET_(r32,19,19)
#define SET32SemaHub_almostFull_ST_19i(r32,v) _BFSET_(r32,19,19,v)
#define GET16SemaHub_almostFull_ST_19i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_almostFull_ST_19i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_almostFull_ST_20i(r32) _BFGET_(r32,20,20)
#define SET32SemaHub_almostFull_ST_20i(r32,v) _BFSET_(r32,20,20,v)
#define GET16SemaHub_almostFull_ST_20i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_almostFull_ST_20i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_almostFull_ST_21i(r32) _BFGET_(r32,21,21)
#define SET32SemaHub_almostFull_ST_21i(r32,v) _BFSET_(r32,21,21,v)
#define GET16SemaHub_almostFull_ST_21i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_almostFull_ST_21i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_almostFull_ST_22i(r32) _BFGET_(r32,22,22)
#define SET32SemaHub_almostFull_ST_22i(r32,v) _BFSET_(r32,22,22,v)
#define GET16SemaHub_almostFull_ST_22i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_almostFull_ST_22i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_almostFull_ST_23i(r32) _BFGET_(r32,23,23)
#define SET32SemaHub_almostFull_ST_23i(r32,v) _BFSET_(r32,23,23,v)
#define GET16SemaHub_almostFull_ST_23i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_almostFull_ST_23i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_almostFull_ST_24i(r32) _BFGET_(r32,24,24)
#define SET32SemaHub_almostFull_ST_24i(r32,v) _BFSET_(r32,24,24,v)
#define GET16SemaHub_almostFull_ST_24i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_almostFull_ST_24i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_almostFull_ST_25i(r32) _BFGET_(r32,25,25)
#define SET32SemaHub_almostFull_ST_25i(r32,v) _BFSET_(r32,25,25,v)
#define GET16SemaHub_almostFull_ST_25i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_almostFull_ST_25i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_almostFull_ST_26i(r32) _BFGET_(r32,26,26)
#define SET32SemaHub_almostFull_ST_26i(r32,v) _BFSET_(r32,26,26,v)
#define GET16SemaHub_almostFull_ST_26i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_almostFull_ST_26i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_almostFull_ST_27i(r32) _BFGET_(r32,27,27)
#define SET32SemaHub_almostFull_ST_27i(r32,v) _BFSET_(r32,27,27,v)
#define GET16SemaHub_almostFull_ST_27i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_almostFull_ST_27i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_almostFull_ST_28i(r32) _BFGET_(r32,28,28)
#define SET32SemaHub_almostFull_ST_28i(r32,v) _BFSET_(r32,28,28,v)
#define GET16SemaHub_almostFull_ST_28i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_almostFull_ST_28i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_almostFull_ST_29i(r32) _BFGET_(r32,29,29)
#define SET32SemaHub_almostFull_ST_29i(r32,v) _BFSET_(r32,29,29,v)
#define GET16SemaHub_almostFull_ST_29i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_almostFull_ST_29i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_almostFull_ST_30i(r32) _BFGET_(r32,30,30)
#define SET32SemaHub_almostFull_ST_30i(r32,v) _BFSET_(r32,30,30,v)
#define GET16SemaHub_almostFull_ST_30i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_almostFull_ST_30i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_almostFull_ST_31i(r32) _BFGET_(r32,31,31)
#define SET32SemaHub_almostFull_ST_31i(r32,v) _BFSET_(r32,31,31,v)
#define GET16SemaHub_almostFull_ST_31i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_almostFull_ST_31i(r16,v) _BFSET_(r16,15,15,v)
#define w32SemaHub_almostFull {\
UNSG32 ualmostFull_ST_0i : 1;\
UNSG32 ualmostFull_ST_1i : 1;\
UNSG32 ualmostFull_ST_2i : 1;\
UNSG32 ualmostFull_ST_3i : 1;\
UNSG32 ualmostFull_ST_4i : 1;\
UNSG32 ualmostFull_ST_5i : 1;\
UNSG32 ualmostFull_ST_6i : 1;\
UNSG32 ualmostFull_ST_7i : 1;\
UNSG32 ualmostFull_ST_8i : 1;\
UNSG32 ualmostFull_ST_9i : 1;\
UNSG32 ualmostFull_ST_10i : 1;\
UNSG32 ualmostFull_ST_11i : 1;\
UNSG32 ualmostFull_ST_12i : 1;\
UNSG32 ualmostFull_ST_13i : 1;\
UNSG32 ualmostFull_ST_14i : 1;\
UNSG32 ualmostFull_ST_15i : 1;\
UNSG32 ualmostFull_ST_16i : 1;\
UNSG32 ualmostFull_ST_17i : 1;\
UNSG32 ualmostFull_ST_18i : 1;\
UNSG32 ualmostFull_ST_19i : 1;\
UNSG32 ualmostFull_ST_20i : 1;\
UNSG32 ualmostFull_ST_21i : 1;\
UNSG32 ualmostFull_ST_22i : 1;\
UNSG32 ualmostFull_ST_23i : 1;\
UNSG32 ualmostFull_ST_24i : 1;\
UNSG32 ualmostFull_ST_25i : 1;\
UNSG32 ualmostFull_ST_26i : 1;\
UNSG32 ualmostFull_ST_27i : 1;\
UNSG32 ualmostFull_ST_28i : 1;\
UNSG32 ualmostFull_ST_29i : 1;\
UNSG32 ualmostFull_ST_30i : 1;\
UNSG32 ualmostFull_ST_31i : 1;\
}
union { UNSG32 u32SemaHub_almostFull;
struct w32SemaHub_almostFull;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx398 [104];
///////////////////////////////////////////////////////////
} SIE_SemaHub;
typedef union T32SemaHub_PUSH
{ UNSG32 u32;
struct w32SemaHub_PUSH;
} T32SemaHub_PUSH;
typedef union T32SemaHub_POP
{ UNSG32 u32;
struct w32SemaHub_POP;
} T32SemaHub_POP;
typedef union T32SemaHub_empty
{ UNSG32 u32;
struct w32SemaHub_empty;
} T32SemaHub_empty;
typedef union T32SemaHub_full
{ UNSG32 u32;
struct w32SemaHub_full;
} T32SemaHub_full;
typedef union T32SemaHub_almostEmpty
{ UNSG32 u32;
struct w32SemaHub_almostEmpty;
} T32SemaHub_almostEmpty;
typedef union T32SemaHub_almostFull
{ UNSG32 u32;
struct w32SemaHub_almostFull;
} T32SemaHub_almostFull;
///////////////////////////////////////////////////////////
typedef union TSemaHub_PUSH
{ UNSG32 u32[1];
struct {
struct w32SemaHub_PUSH;
};
} TSemaHub_PUSH;
typedef union TSemaHub_POP
{ UNSG32 u32[1];
struct {
struct w32SemaHub_POP;
};
} TSemaHub_POP;
typedef union TSemaHub_empty
{ UNSG32 u32[1];
struct {
struct w32SemaHub_empty;
};
} TSemaHub_empty;
typedef union TSemaHub_full
{ UNSG32 u32[1];
struct {
struct w32SemaHub_full;
};
} TSemaHub_full;
typedef union TSemaHub_almostEmpty
{ UNSG32 u32[1];
struct {
struct w32SemaHub_almostEmpty;
};
} TSemaHub_almostEmpty;
typedef union TSemaHub_almostFull
{ UNSG32 u32[1];
struct {
struct w32SemaHub_almostFull;
};
} TSemaHub_almostFull;
///////////////////////////////////////////////////////////
SIGN32 SemaHub_drvrd(SIE_SemaHub *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SemaHub_drvwr(SIE_SemaHub *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SemaHub_reset(SIE_SemaHub *p);
SIGN32 SemaHub_cmp (SIE_SemaHub *p, SIE_SemaHub *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SemaHub_check(p,pie,pfx,hLOG) SemaHub_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SemaHub_print(p, pfx,hLOG) SemaHub_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SemaHub
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FiFo biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CFG (W-)
/// %unsigned 20 BASE
/// ###
/// * Base address (byte-address) of a FIFO in the shared SRAM. A channel's read/write pointers will be added to this “BASE” to get exact location of shared SRAM.
/// * Note: aligned with base SRAM data bus.
/// * For example, if SRAM data is 64-bit, then base[2:0] should be 3'b0;
/// ###
/// %% 12 # Stuffing bits...
/// @ 0x00004 START (W-)
/// %unsigned 1 EN 0x0
/// ###
/// * Write 1 to this register will enable this channel, or 0 to this register will disable this channel.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00008 CLEAR (W-)
/// %unsigned 1 EN
/// ###
/// * Write anything to clear FIFO pointers to 0.
/// * Note :
/// * CPU should make sure to disabled the channel (write 0 to START_EN register) before issue clear command, otherwise the clear request will be ignored.
/// * Do not restart the channel when clear operation is in process.
/// * HW will make sure there is no pending transactions before execute the clear operation.
/// * Associated semaphore cell needs reset separately by re-write “CFG_DEPTH”
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x0000C FLUSH (W-)
/// %unsigned 1 EN
/// ###
/// * No support for now
/// ###
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 23b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FiFo
#define h_FiFo (){}
#define RA_FiFo_CFG 0x0000
#define BA_FiFo_CFG_BASE 0x0000
#define B16FiFo_CFG_BASE 0x0000
#define LSb32FiFo_CFG_BASE 0
#define LSb16FiFo_CFG_BASE 0
#define bFiFo_CFG_BASE 20
#define MSK32FiFo_CFG_BASE 0x000FFFFF
///////////////////////////////////////////////////////////
#define RA_FiFo_START 0x0004
#define BA_FiFo_START_EN 0x0004
#define B16FiFo_START_EN 0x0004
#define LSb32FiFo_START_EN 0
#define LSb16FiFo_START_EN 0
#define bFiFo_START_EN 1
#define MSK32FiFo_START_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_FiFo_CLEAR 0x0008
#define BA_FiFo_CLEAR_EN 0x0008
#define B16FiFo_CLEAR_EN 0x0008
#define LSb32FiFo_CLEAR_EN 0
#define LSb16FiFo_CLEAR_EN 0
#define bFiFo_CLEAR_EN 1
#define MSK32FiFo_CLEAR_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_FiFo_FLUSH 0x000C
#define BA_FiFo_FLUSH_EN 0x000C
#define B16FiFo_FLUSH_EN 0x000C
#define LSb32FiFo_FLUSH_EN 0
#define LSb16FiFo_FLUSH_EN 0
#define bFiFo_FLUSH_EN 1
#define MSK32FiFo_FLUSH_EN 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_FiFo {
///////////////////////////////////////////////////////////
#define GET32FiFo_CFG_BASE(r32) _BFGET_(r32,19, 0)
#define SET32FiFo_CFG_BASE(r32,v) _BFSET_(r32,19, 0,v)
#define w32FiFo_CFG {\
UNSG32 uCFG_BASE : 20;\
UNSG32 RSVDx0_b20 : 12;\
}
union { UNSG32 u32FiFo_CFG;
struct w32FiFo_CFG;
};
///////////////////////////////////////////////////////////
#define GET32FiFo_START_EN(r32) _BFGET_(r32, 0, 0)
#define SET32FiFo_START_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FiFo_START_EN(r16) _BFGET_(r16, 0, 0)
#define SET16FiFo_START_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FiFo_START {\
UNSG32 uSTART_EN : 1;\
UNSG32 RSVDx4_b1 : 31;\
}
union { UNSG32 u32FiFo_START;
struct w32FiFo_START;
};
///////////////////////////////////////////////////////////
#define GET32FiFo_CLEAR_EN(r32) _BFGET_(r32, 0, 0)
#define SET32FiFo_CLEAR_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FiFo_CLEAR_EN(r16) _BFGET_(r16, 0, 0)
#define SET16FiFo_CLEAR_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FiFo_CLEAR {\
UNSG32 uCLEAR_EN : 1;\
UNSG32 RSVDx8_b1 : 31;\
}
union { UNSG32 u32FiFo_CLEAR;
struct w32FiFo_CLEAR;
};
///////////////////////////////////////////////////////////
#define GET32FiFo_FLUSH_EN(r32) _BFGET_(r32, 0, 0)
#define SET32FiFo_FLUSH_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FiFo_FLUSH_EN(r16) _BFGET_(r16, 0, 0)
#define SET16FiFo_FLUSH_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FiFo_FLUSH {\
UNSG32 uFLUSH_EN : 1;\
UNSG32 RSVDxC_b1 : 31;\
}
union { UNSG32 u32FiFo_FLUSH;
struct w32FiFo_FLUSH;
};
///////////////////////////////////////////////////////////
} SIE_FiFo;
typedef union T32FiFo_CFG
{ UNSG32 u32;
struct w32FiFo_CFG;
} T32FiFo_CFG;
typedef union T32FiFo_START
{ UNSG32 u32;
struct w32FiFo_START;
} T32FiFo_START;
typedef union T32FiFo_CLEAR
{ UNSG32 u32;
struct w32FiFo_CLEAR;
} T32FiFo_CLEAR;
typedef union T32FiFo_FLUSH
{ UNSG32 u32;
struct w32FiFo_FLUSH;
} T32FiFo_FLUSH;
///////////////////////////////////////////////////////////
typedef union TFiFo_CFG
{ UNSG32 u32[1];
struct {
struct w32FiFo_CFG;
};
} TFiFo_CFG;
typedef union TFiFo_START
{ UNSG32 u32[1];
struct {
struct w32FiFo_START;
};
} TFiFo_START;
typedef union TFiFo_CLEAR
{ UNSG32 u32[1];
struct {
struct w32FiFo_CLEAR;
};
} TFiFo_CLEAR;
typedef union TFiFo_FLUSH
{ UNSG32 u32[1];
struct {
struct w32FiFo_FLUSH;
};
} TFiFo_FLUSH;
///////////////////////////////////////////////////////////
SIGN32 FiFo_drvrd(SIE_FiFo *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FiFo_drvwr(SIE_FiFo *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FiFo_reset(SIE_FiFo *p);
SIGN32 FiFo_cmp (SIE_FiFo *p, SIE_FiFo *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FiFo_check(p,pie,pfx,hLOG) FiFo_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FiFo_print(p, pfx,hLOG) FiFo_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FiFo
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HBO biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 FiFoCtl
/// $SemaHub FiFoCtl REG
/// @ 0x00400 ARR (P)
/// # 0x00400 FiFo
/// $FiFo FiFo REG [32]
/// ###
/// * Up-to 32 FIFO channels
/// * FiFo[N] is controlled by HBO.FiFoCtl.Channel[N]
/// ###
/// @ 0x00600 BUSY (R-)
/// %unsigned 32 ST
/// ###
/// * Per channel status
/// * Indicate the clear operation status.
/// * 1: clear is in process.
/// * 0 : clear is done.
/// ###
/// @ 0x00604 (W-)
/// # # Stuffing bytes...
/// %% 2016
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 1792B, bits: 1920b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HBO
#define h_HBO (){}
#define RA_HBO_FiFoCtl 0x0000
///////////////////////////////////////////////////////////
#define RA_HBO_ARR 0x0400
#define RA_HBO_FiFo 0x0400
///////////////////////////////////////////////////////////
#define RA_HBO_BUSY 0x0600
#define BA_HBO_BUSY_ST 0x0600
#define B16HBO_BUSY_ST 0x0600
#define LSb32HBO_BUSY_ST 0
#define LSb16HBO_BUSY_ST 0
#define bHBO_BUSY_ST 32
#define MSK32HBO_BUSY_ST 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_HBO {
///////////////////////////////////////////////////////////
SIE_SemaHub ie_FiFoCtl;
///////////////////////////////////////////////////////////
SIE_FiFo ie_FiFo[32];
///////////////////////////////////////////////////////////
#define GET32HBO_BUSY_ST(r32) _BFGET_(r32,31, 0)
#define SET32HBO_BUSY_ST(r32,v) _BFSET_(r32,31, 0,v)
#define w32HBO_BUSY {\
UNSG32 uBUSY_ST : 32;\
}
union { UNSG32 u32HBO_BUSY;
struct w32HBO_BUSY;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx604 [252];
///////////////////////////////////////////////////////////
} SIE_HBO;
typedef union T32HBO_BUSY
{ UNSG32 u32;
struct w32HBO_BUSY;
} T32HBO_BUSY;
///////////////////////////////////////////////////////////
typedef union THBO_BUSY
{ UNSG32 u32[1];
struct {
struct w32HBO_BUSY;
};
} THBO_BUSY;
///////////////////////////////////////////////////////////
SIGN32 HBO_drvrd(SIE_HBO *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HBO_drvwr(SIE_HBO *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HBO_reset(SIE_HBO *p);
SIGN32 HBO_cmp (SIE_HBO *p, SIE_HBO *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HBO_check(p,pie,pfx,hLOG) HBO_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HBO_print(p, pfx,hLOG) HBO_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HBO
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE LLDesFmt biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 mem (P)
/// %unsigned 16 size
/// ###
/// * The size of one piece of scattered memory.
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_LLDesFmt
#define h_LLDesFmt (){}
#define RA_LLDesFmt_mem 0x0000
#define BA_LLDesFmt_mem_size 0x0000
#define B16LLDesFmt_mem_size 0x0000
#define LSb32LLDesFmt_mem_size 0
#define LSb16LLDesFmt_mem_size 0
#define bLLDesFmt_mem_size 16
#define MSK32LLDesFmt_mem_size 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_LLDesFmt {
///////////////////////////////////////////////////////////
#define GET32LLDesFmt_mem_size(r32) _BFGET_(r32,15, 0)
#define SET32LLDesFmt_mem_size(r32,v) _BFSET_(r32,15, 0,v)
#define GET16LLDesFmt_mem_size(r16) _BFGET_(r16,15, 0)
#define SET16LLDesFmt_mem_size(r16,v) _BFSET_(r16,15, 0,v)
#define w32LLDesFmt_mem {\
UNSG32 umem_size : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32LLDesFmt_mem;
struct w32LLDesFmt_mem;
};
///////////////////////////////////////////////////////////
} SIE_LLDesFmt;
typedef union T32LLDesFmt_mem
{ UNSG32 u32;
struct w32LLDesFmt_mem;
} T32LLDesFmt_mem;
///////////////////////////////////////////////////////////
typedef union TLLDesFmt_mem
{ UNSG32 u32[1];
struct {
struct w32LLDesFmt_mem;
};
} TLLDesFmt_mem;
///////////////////////////////////////////////////////////
SIGN32 LLDesFmt_drvrd(SIE_LLDesFmt *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 LLDesFmt_drvwr(SIE_LLDesFmt *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void LLDesFmt_reset(SIE_LLDesFmt *p);
SIGN32 LLDesFmt_cmp (SIE_LLDesFmt *p, SIE_LLDesFmt *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define LLDesFmt_check(p,pie,pfx,hLOG) LLDesFmt_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define LLDesFmt_print(p, pfx,hLOG) LLDesFmt_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: LLDesFmt
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubCmdHDR (4,4)
/// ###
/// * 32-bit dHub command header
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 DESC (W-)
/// %unsigned 16 size
/// ###
/// * amount of data to be transferred, in bytes or MTU.
/// * Size of 0 is forbidden.
/// ###
/// %unsigned 1 sizeMTU
/// ###
/// * 0: size given in bytes;
/// * 1: size given in MTU (see dHubChCtl.CFG.MTU for MTU size definition)
/// ###
/// %unsigned 1 semOpMTU
/// ###
/// * 0: semaphore operations applied on dHubCmd level
/// * 1: semaphore operations applied on MTU level
/// ###
/// %unsigned 5 chkSemId
/// ###
/// * ID of semaphore to check before cmd / MTU;
/// * 0 indicates semaphore check is disabled
/// ###
/// %unsigned 5 updSemId
/// ###
/// * ID of semaphore to update after cmd / MTU;
/// * 0 indicates semaphore update is disabled
/// ###
/// %unsigned 1 interrupt
/// ###
/// * 1: raise interrupt upon command finish
/// * end dHubCmdHDR
/// ###
/// %% 3 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 29b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubCmdHDR
#define h_dHubCmdHDR (){}
#define RA_dHubCmdHDR_DESC 0x0000
#define BA_dHubCmdHDR_DESC_size 0x0000
#define B16dHubCmdHDR_DESC_size 0x0000
#define LSb32dHubCmdHDR_DESC_size 0
#define LSb16dHubCmdHDR_DESC_size 0
#define bdHubCmdHDR_DESC_size 16
#define MSK32dHubCmdHDR_DESC_size 0x0000FFFF
#define BA_dHubCmdHDR_DESC_sizeMTU 0x0002
#define B16dHubCmdHDR_DESC_sizeMTU 0x0002
#define LSb32dHubCmdHDR_DESC_sizeMTU 16
#define LSb16dHubCmdHDR_DESC_sizeMTU 0
#define bdHubCmdHDR_DESC_sizeMTU 1
#define MSK32dHubCmdHDR_DESC_sizeMTU 0x00010000
#define BA_dHubCmdHDR_DESC_semOpMTU 0x0002
#define B16dHubCmdHDR_DESC_semOpMTU 0x0002
#define LSb32dHubCmdHDR_DESC_semOpMTU 17
#define LSb16dHubCmdHDR_DESC_semOpMTU 1
#define bdHubCmdHDR_DESC_semOpMTU 1
#define MSK32dHubCmdHDR_DESC_semOpMTU 0x00020000
#define BA_dHubCmdHDR_DESC_chkSemId 0x0002
#define B16dHubCmdHDR_DESC_chkSemId 0x0002
#define LSb32dHubCmdHDR_DESC_chkSemId 18
#define LSb16dHubCmdHDR_DESC_chkSemId 2
#define bdHubCmdHDR_DESC_chkSemId 5
#define MSK32dHubCmdHDR_DESC_chkSemId 0x007C0000
#define BA_dHubCmdHDR_DESC_updSemId 0x0002
#define B16dHubCmdHDR_DESC_updSemId 0x0002
#define LSb32dHubCmdHDR_DESC_updSemId 23
#define LSb16dHubCmdHDR_DESC_updSemId 7
#define bdHubCmdHDR_DESC_updSemId 5
#define MSK32dHubCmdHDR_DESC_updSemId 0x0F800000
#define BA_dHubCmdHDR_DESC_interrupt 0x0003
#define B16dHubCmdHDR_DESC_interrupt 0x0002
#define LSb32dHubCmdHDR_DESC_interrupt 28
#define LSb16dHubCmdHDR_DESC_interrupt 12
#define bdHubCmdHDR_DESC_interrupt 1
#define MSK32dHubCmdHDR_DESC_interrupt 0x10000000
///////////////////////////////////////////////////////////
typedef struct SIE_dHubCmdHDR {
///////////////////////////////////////////////////////////
#define GET32dHubCmdHDR_DESC_size(r32) _BFGET_(r32,15, 0)
#define SET32dHubCmdHDR_DESC_size(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubCmdHDR_DESC_size(r16) _BFGET_(r16,15, 0)
#define SET16dHubCmdHDR_DESC_size(r16,v) _BFSET_(r16,15, 0,v)
#define GET32dHubCmdHDR_DESC_sizeMTU(r32) _BFGET_(r32,16,16)
#define SET32dHubCmdHDR_DESC_sizeMTU(r32,v) _BFSET_(r32,16,16,v)
#define GET16dHubCmdHDR_DESC_sizeMTU(r16) _BFGET_(r16, 0, 0)
#define SET16dHubCmdHDR_DESC_sizeMTU(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32dHubCmdHDR_DESC_semOpMTU(r32) _BFGET_(r32,17,17)
#define SET32dHubCmdHDR_DESC_semOpMTU(r32,v) _BFSET_(r32,17,17,v)
#define GET16dHubCmdHDR_DESC_semOpMTU(r16) _BFGET_(r16, 1, 1)
#define SET16dHubCmdHDR_DESC_semOpMTU(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32dHubCmdHDR_DESC_chkSemId(r32) _BFGET_(r32,22,18)
#define SET32dHubCmdHDR_DESC_chkSemId(r32,v) _BFSET_(r32,22,18,v)
#define GET16dHubCmdHDR_DESC_chkSemId(r16) _BFGET_(r16, 6, 2)
#define SET16dHubCmdHDR_DESC_chkSemId(r16,v) _BFSET_(r16, 6, 2,v)
#define GET32dHubCmdHDR_DESC_updSemId(r32) _BFGET_(r32,27,23)
#define SET32dHubCmdHDR_DESC_updSemId(r32,v) _BFSET_(r32,27,23,v)
#define GET16dHubCmdHDR_DESC_updSemId(r16) _BFGET_(r16,11, 7)
#define SET16dHubCmdHDR_DESC_updSemId(r16,v) _BFSET_(r16,11, 7,v)
#define GET32dHubCmdHDR_DESC_interrupt(r32) _BFGET_(r32,28,28)
#define SET32dHubCmdHDR_DESC_interrupt(r32,v) _BFSET_(r32,28,28,v)
#define GET16dHubCmdHDR_DESC_interrupt(r16) _BFGET_(r16,12,12)
#define SET16dHubCmdHDR_DESC_interrupt(r16,v) _BFSET_(r16,12,12,v)
#define w32dHubCmdHDR_DESC {\
UNSG32 uDESC_size : 16;\
UNSG32 uDESC_sizeMTU : 1;\
UNSG32 uDESC_semOpMTU : 1;\
UNSG32 uDESC_chkSemId : 5;\
UNSG32 uDESC_updSemId : 5;\
UNSG32 uDESC_interrupt : 1;\
UNSG32 RSVDx0_b29 : 3;\
}
union { UNSG32 u32dHubCmdHDR_DESC;
struct w32dHubCmdHDR_DESC;
};
///////////////////////////////////////////////////////////
} SIE_dHubCmdHDR;
typedef union T32dHubCmdHDR_DESC
{ UNSG32 u32;
struct w32dHubCmdHDR_DESC;
} T32dHubCmdHDR_DESC;
///////////////////////////////////////////////////////////
typedef union TdHubCmdHDR_DESC
{ UNSG32 u32[1];
struct {
struct w32dHubCmdHDR_DESC;
};
} TdHubCmdHDR_DESC;
///////////////////////////////////////////////////////////
SIGN32 dHubCmdHDR_drvrd(SIE_dHubCmdHDR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubCmdHDR_drvwr(SIE_dHubCmdHDR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubCmdHDR_reset(SIE_dHubCmdHDR *p);
SIGN32 dHubCmdHDR_cmp (SIE_dHubCmdHDR *p, SIE_dHubCmdHDR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubCmdHDR_check(p,pie,pfx,hLOG) dHubCmdHDR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubCmdHDR_print(p, pfx,hLOG) dHubCmdHDR_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubCmdHDR
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubCmd biu (4,4)
/// ###
/// * 64-bit dHub command issued by read/write masters
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 MEM (W-)
/// %unsigned 32 addr
/// ###
/// * DRAM data address, in bytes; not necessarily MTU aligned.
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// # 0x00004 HDR
/// $dHubCmdHDR HDR REG
/// ###
/// * end dHubCmd
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 61b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubCmd
#define h_dHubCmd (){}
#define RA_dHubCmd_MEM 0x0000
#define BA_dHubCmd_MEM_addr 0x0000
#define B16dHubCmd_MEM_addr 0x0000
#define LSb32dHubCmd_MEM_addr 0
#define LSb16dHubCmd_MEM_addr 0
#define bdHubCmd_MEM_addr 32
#define MSK32dHubCmd_MEM_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_dHubCmd_HDR 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_dHubCmd {
///////////////////////////////////////////////////////////
#define GET32dHubCmd_MEM_addr(r32) _BFGET_(r32,31, 0)
#define SET32dHubCmd_MEM_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32dHubCmd_MEM {\
UNSG32 uMEM_addr : 32;\
}
union { UNSG32 u32dHubCmd_MEM;
struct w32dHubCmd_MEM;
};
///////////////////////////////////////////////////////////
SIE_dHubCmdHDR ie_HDR;
///////////////////////////////////////////////////////////
} SIE_dHubCmd;
typedef union T32dHubCmd_MEM
{ UNSG32 u32;
struct w32dHubCmd_MEM;
} T32dHubCmd_MEM;
///////////////////////////////////////////////////////////
typedef union TdHubCmd_MEM
{ UNSG32 u32[1];
struct {
struct w32dHubCmd_MEM;
};
} TdHubCmd_MEM;
///////////////////////////////////////////////////////////
SIGN32 dHubCmd_drvrd(SIE_dHubCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubCmd_drvwr(SIE_dHubCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubCmd_reset(SIE_dHubCmd *p);
SIGN32 dHubCmd_cmp (SIE_dHubCmd *p, SIE_dHubCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubCmd_check(p,pie,pfx,hLOG) dHubCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubCmd_print(p, pfx,hLOG) dHubCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubChannel biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CFG (W-)
/// %unsigned 2 MTU
/// : 8byte 0x0
/// : 32byte 0x1
/// : 128byte 0x2
/// : 1024byte 0x3
/// ###
/// * Minimum transfer unit of the channel
/// ###
/// %unsigned 1 QoS
/// ###
/// * Write 1 to turn on QoS detection
/// ###
/// %unsigned 1 selfLoop
/// ###
/// * Write 1 to enable cmd looping support; 0 to turn off
/// ###
/// %unsigned 1 intrCtl 0x0
/// : cmdDone 0x0
/// : chIdle 0x1
/// ###
/// * 0 : default vlaue, the interrupt is triggered by the finish of the dHub command if the interrupt bit is defined in the dHub command.
/// * 1 : The interrupt is triggered if the dHub channel is idle ( no busy and no pending and the corresponding dHub command Q is empty).
/// ###
/// %% 27 # Stuffing bits...
/// @ 0x00004 START (W-)
/// %unsigned 1 EN 0x0
/// ###
/// * Write 1 to enable the channel; 0 to pause the channel
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00008 CLEAR (W-)
/// %unsigned 1 EN
/// ###
/// * Write anything to reset the channel controller state
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x0000C FLUSH (W-)
/// %unsigned 1 EN
/// ###
/// * Write anything to start the data flushing process. Invalid for read (M2H) channels
/// * end dHubChannel
/// ###
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubChannel
#define h_dHubChannel (){}
#define RA_dHubChannel_CFG 0x0000
#define BA_dHubChannel_CFG_MTU 0x0000
#define B16dHubChannel_CFG_MTU 0x0000
#define LSb32dHubChannel_CFG_MTU 0
#define LSb16dHubChannel_CFG_MTU 0
#define bdHubChannel_CFG_MTU 2
#define MSK32dHubChannel_CFG_MTU 0x00000003
#define dHubChannel_CFG_MTU_8byte 0x0
#define dHubChannel_CFG_MTU_32byte 0x1
#define dHubChannel_CFG_MTU_128byte 0x2
#define dHubChannel_CFG_MTU_1024byte 0x3
#define BA_dHubChannel_CFG_QoS 0x0000
#define B16dHubChannel_CFG_QoS 0x0000
#define LSb32dHubChannel_CFG_QoS 2
#define LSb16dHubChannel_CFG_QoS 2
#define bdHubChannel_CFG_QoS 1
#define MSK32dHubChannel_CFG_QoS 0x00000004
#define BA_dHubChannel_CFG_selfLoop 0x0000
#define B16dHubChannel_CFG_selfLoop 0x0000
#define LSb32dHubChannel_CFG_selfLoop 3
#define LSb16dHubChannel_CFG_selfLoop 3
#define bdHubChannel_CFG_selfLoop 1
#define MSK32dHubChannel_CFG_selfLoop 0x00000008
#define BA_dHubChannel_CFG_intrCtl 0x0000
#define B16dHubChannel_CFG_intrCtl 0x0000
#define LSb32dHubChannel_CFG_intrCtl 4
#define LSb16dHubChannel_CFG_intrCtl 4
#define bdHubChannel_CFG_intrCtl 1
#define MSK32dHubChannel_CFG_intrCtl 0x00000010
#define dHubChannel_CFG_intrCtl_cmdDone 0x0
#define dHubChannel_CFG_intrCtl_chIdle 0x1
///////////////////////////////////////////////////////////
#define RA_dHubChannel_START 0x0004
#define BA_dHubChannel_START_EN 0x0004
#define B16dHubChannel_START_EN 0x0004
#define LSb32dHubChannel_START_EN 0
#define LSb16dHubChannel_START_EN 0
#define bdHubChannel_START_EN 1
#define MSK32dHubChannel_START_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubChannel_CLEAR 0x0008
#define BA_dHubChannel_CLEAR_EN 0x0008
#define B16dHubChannel_CLEAR_EN 0x0008
#define LSb32dHubChannel_CLEAR_EN 0
#define LSb16dHubChannel_CLEAR_EN 0
#define bdHubChannel_CLEAR_EN 1
#define MSK32dHubChannel_CLEAR_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubChannel_FLUSH 0x000C
#define BA_dHubChannel_FLUSH_EN 0x000C
#define B16dHubChannel_FLUSH_EN 0x000C
#define LSb32dHubChannel_FLUSH_EN 0
#define LSb16dHubChannel_FLUSH_EN 0
#define bdHubChannel_FLUSH_EN 1
#define MSK32dHubChannel_FLUSH_EN 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_dHubChannel {
///////////////////////////////////////////////////////////
#define GET32dHubChannel_CFG_MTU(r32) _BFGET_(r32, 1, 0)
#define SET32dHubChannel_CFG_MTU(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16dHubChannel_CFG_MTU(r16) _BFGET_(r16, 1, 0)
#define SET16dHubChannel_CFG_MTU(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32dHubChannel_CFG_QoS(r32) _BFGET_(r32, 2, 2)
#define SET32dHubChannel_CFG_QoS(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16dHubChannel_CFG_QoS(r16) _BFGET_(r16, 2, 2)
#define SET16dHubChannel_CFG_QoS(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32dHubChannel_CFG_selfLoop(r32) _BFGET_(r32, 3, 3)
#define SET32dHubChannel_CFG_selfLoop(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16dHubChannel_CFG_selfLoop(r16) _BFGET_(r16, 3, 3)
#define SET16dHubChannel_CFG_selfLoop(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32dHubChannel_CFG_intrCtl(r32) _BFGET_(r32, 4, 4)
#define SET32dHubChannel_CFG_intrCtl(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16dHubChannel_CFG_intrCtl(r16) _BFGET_(r16, 4, 4)
#define SET16dHubChannel_CFG_intrCtl(r16,v) _BFSET_(r16, 4, 4,v)
#define w32dHubChannel_CFG {\
UNSG32 uCFG_MTU : 2;\
UNSG32 uCFG_QoS : 1;\
UNSG32 uCFG_selfLoop : 1;\
UNSG32 uCFG_intrCtl : 1;\
UNSG32 RSVDx0_b5 : 27;\
}
union { UNSG32 u32dHubChannel_CFG;
struct w32dHubChannel_CFG;
};
///////////////////////////////////////////////////////////
#define GET32dHubChannel_START_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubChannel_START_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubChannel_START_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubChannel_START_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubChannel_START {\
UNSG32 uSTART_EN : 1;\
UNSG32 RSVDx4_b1 : 31;\
}
union { UNSG32 u32dHubChannel_START;
struct w32dHubChannel_START;
};
///////////////////////////////////////////////////////////
#define GET32dHubChannel_CLEAR_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubChannel_CLEAR_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubChannel_CLEAR_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubChannel_CLEAR_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubChannel_CLEAR {\
UNSG32 uCLEAR_EN : 1;\
UNSG32 RSVDx8_b1 : 31;\
}
union { UNSG32 u32dHubChannel_CLEAR;
struct w32dHubChannel_CLEAR;
};
///////////////////////////////////////////////////////////
#define GET32dHubChannel_FLUSH_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubChannel_FLUSH_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubChannel_FLUSH_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubChannel_FLUSH_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubChannel_FLUSH {\
UNSG32 uFLUSH_EN : 1;\
UNSG32 RSVDxC_b1 : 31;\
}
union { UNSG32 u32dHubChannel_FLUSH;
struct w32dHubChannel_FLUSH;
};
///////////////////////////////////////////////////////////
} SIE_dHubChannel;
typedef union T32dHubChannel_CFG
{ UNSG32 u32;
struct w32dHubChannel_CFG;
} T32dHubChannel_CFG;
typedef union T32dHubChannel_START
{ UNSG32 u32;
struct w32dHubChannel_START;
} T32dHubChannel_START;
typedef union T32dHubChannel_CLEAR
{ UNSG32 u32;
struct w32dHubChannel_CLEAR;
} T32dHubChannel_CLEAR;
typedef union T32dHubChannel_FLUSH
{ UNSG32 u32;
struct w32dHubChannel_FLUSH;
} T32dHubChannel_FLUSH;
///////////////////////////////////////////////////////////
typedef union TdHubChannel_CFG
{ UNSG32 u32[1];
struct {
struct w32dHubChannel_CFG;
};
} TdHubChannel_CFG;
typedef union TdHubChannel_START
{ UNSG32 u32[1];
struct {
struct w32dHubChannel_START;
};
} TdHubChannel_START;
typedef union TdHubChannel_CLEAR
{ UNSG32 u32[1];
struct {
struct w32dHubChannel_CLEAR;
};
} TdHubChannel_CLEAR;
typedef union TdHubChannel_FLUSH
{ UNSG32 u32[1];
struct {
struct w32dHubChannel_FLUSH;
};
} TdHubChannel_FLUSH;
///////////////////////////////////////////////////////////
SIGN32 dHubChannel_drvrd(SIE_dHubChannel *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubChannel_drvwr(SIE_dHubChannel *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubChannel_reset(SIE_dHubChannel *p);
SIGN32 dHubChannel_cmp (SIE_dHubChannel *p, SIE_dHubChannel *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubChannel_check(p,pie,pfx,hLOG) dHubChannel_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubChannel_print(p, pfx,hLOG) dHubChannel_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubChannel
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubReg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 SemaHub
/// $SemaHub SemaHub REG
/// ###
/// * For dHub internal interrupts, also provide semaphore service for external (all channels will be opened to external to access).
/// * Channel 0 is used for dHub.HBO interrupt.
/// * Channel N+1 is used for dHub.Channel[N] interrupt.
/// ###
/// @ 0x00400 (P)
/// # 0x00400 HBO
/// $HBO HBO REG
/// ###
/// * For dHub channels (command/data queues), also provide (unused) FIFO service for external.
/// * Channel 2N is used for dHub.Channel[N] command.
/// * Channel 2N+1 is used for dHub.Channel[N] data.
/// ###
/// @ 0x00B00 ARR (P)
/// # 0x00B00 channelCtl
/// $dHubChannel channelCtl REG [16]
/// ###
/// * Up-to 16 channels
/// ###
/// @ 0x00C00 BUSY (R-)
/// %unsigned 16 ST
/// ###
/// * Per channel status
/// * 0: no ongoing command is being processed, and no flushing is taking place
/// * 1: channel controller is busy
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00C04 PENDING (R-)
/// %unsigned 16 ST
/// ###
/// * Per channel status
/// * 0: Response queue is empty, meaning no outstanding AXI transactions
/// * 1: there exist some outstanding AXI transactions
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00C08 busRstEn (RW-)
/// %unsigned 1 reg 0x0
/// ###
/// * Write one to this register will trigger gate-keeper to take over the AXI bus.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00C0C busRstDone (R-)
/// %unsigned 1 reg 0x1
/// ###
/// * After gate-keeper take over the AXI bus, it will assert this bit once there is no outstanding transactions on AXI bus.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00C10 flowCtl (P)
/// %unsigned 8 rAlpha 0x0
/// %unsigned 8 wAlpha 0x0
/// ###
/// * Flow control parameter for read and write axi master.
/// * clkCnt=(alpha*bstLen)>>4.
/// * This # of clock cycles will be blocked for the axi master after an axi command with the burst length of “bstLen”.
/// * When set alpha to be 0, the master will never be blocked.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00C14 axiCmdCol (P)
/// %unsigned 16 rCnt 0x0
/// %unsigned 16 wCnt 0x0
/// ###
/// * Axi command collection. The counter value indicate read/write do the command collection for # of clock cycles, start from the first command pushed to an empty command Q. Here are the conditions that will trigger the Axi master to send out command.
/// * Cmd Q full or the counter count down to “0” from the programmed value.
/// * Set the counter to 0 will disable the command collection.
/// * end dHubReg
/// ###
/// @ 0x00C18 (W-)
/// # # Stuffing bytes...
/// %% 1856
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 3328B, bits: 3282b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubReg
#define h_dHubReg (){}
#define RA_dHubReg_SemaHub 0x0000
///////////////////////////////////////////////////////////
#define RA_dHubReg_HBO 0x0400
///////////////////////////////////////////////////////////
#define RA_dHubReg_ARR 0x0B00
#define RA_dHubReg_channelCtl 0x0B00
///////////////////////////////////////////////////////////
#define RA_dHubReg_BUSY 0x0C00
#define BA_dHubReg_BUSY_ST 0x0C00
#define B16dHubReg_BUSY_ST 0x0C00
#define LSb32dHubReg_BUSY_ST 0
#define LSb16dHubReg_BUSY_ST 0
#define bdHubReg_BUSY_ST 16
#define MSK32dHubReg_BUSY_ST 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_dHubReg_PENDING 0x0C04
#define BA_dHubReg_PENDING_ST 0x0C04
#define B16dHubReg_PENDING_ST 0x0C04
#define LSb32dHubReg_PENDING_ST 0
#define LSb16dHubReg_PENDING_ST 0
#define bdHubReg_PENDING_ST 16
#define MSK32dHubReg_PENDING_ST 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_dHubReg_busRstEn 0x0C08
#define BA_dHubReg_busRstEn_reg 0x0C08
#define B16dHubReg_busRstEn_reg 0x0C08
#define LSb32dHubReg_busRstEn_reg 0
#define LSb16dHubReg_busRstEn_reg 0
#define bdHubReg_busRstEn_reg 1
#define MSK32dHubReg_busRstEn_reg 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubReg_busRstDone 0x0C0C
#define BA_dHubReg_busRstDone_reg 0x0C0C
#define B16dHubReg_busRstDone_reg 0x0C0C
#define LSb32dHubReg_busRstDone_reg 0
#define LSb16dHubReg_busRstDone_reg 0
#define bdHubReg_busRstDone_reg 1
#define MSK32dHubReg_busRstDone_reg 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubReg_flowCtl 0x0C10
#define BA_dHubReg_flowCtl_rAlpha 0x0C10
#define B16dHubReg_flowCtl_rAlpha 0x0C10
#define LSb32dHubReg_flowCtl_rAlpha 0
#define LSb16dHubReg_flowCtl_rAlpha 0
#define bdHubReg_flowCtl_rAlpha 8
#define MSK32dHubReg_flowCtl_rAlpha 0x000000FF
#define BA_dHubReg_flowCtl_wAlpha 0x0C11
#define B16dHubReg_flowCtl_wAlpha 0x0C10
#define LSb32dHubReg_flowCtl_wAlpha 8
#define LSb16dHubReg_flowCtl_wAlpha 8
#define bdHubReg_flowCtl_wAlpha 8
#define MSK32dHubReg_flowCtl_wAlpha 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_dHubReg_axiCmdCol 0x0C14
#define BA_dHubReg_axiCmdCol_rCnt 0x0C14
#define B16dHubReg_axiCmdCol_rCnt 0x0C14
#define LSb32dHubReg_axiCmdCol_rCnt 0
#define LSb16dHubReg_axiCmdCol_rCnt 0
#define bdHubReg_axiCmdCol_rCnt 16
#define MSK32dHubReg_axiCmdCol_rCnt 0x0000FFFF
#define BA_dHubReg_axiCmdCol_wCnt 0x0C16
#define B16dHubReg_axiCmdCol_wCnt 0x0C16
#define LSb32dHubReg_axiCmdCol_wCnt 16
#define LSb16dHubReg_axiCmdCol_wCnt 0
#define bdHubReg_axiCmdCol_wCnt 16
#define MSK32dHubReg_axiCmdCol_wCnt 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_dHubReg {
///////////////////////////////////////////////////////////
SIE_SemaHub ie_SemaHub;
///////////////////////////////////////////////////////////
SIE_HBO ie_HBO;
///////////////////////////////////////////////////////////
SIE_dHubChannel ie_channelCtl[16];
///////////////////////////////////////////////////////////
#define GET32dHubReg_BUSY_ST(r32) _BFGET_(r32,15, 0)
#define SET32dHubReg_BUSY_ST(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubReg_BUSY_ST(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg_BUSY_ST(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubReg_BUSY {\
UNSG32 uBUSY_ST : 16;\
UNSG32 RSVDxC00_b16 : 16;\
}
union { UNSG32 u32dHubReg_BUSY;
struct w32dHubReg_BUSY;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_PENDING_ST(r32) _BFGET_(r32,15, 0)
#define SET32dHubReg_PENDING_ST(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubReg_PENDING_ST(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg_PENDING_ST(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubReg_PENDING {\
UNSG32 uPENDING_ST : 16;\
UNSG32 RSVDxC04_b16 : 16;\
}
union { UNSG32 u32dHubReg_PENDING;
struct w32dHubReg_PENDING;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_busRstEn_reg(r32) _BFGET_(r32, 0, 0)
#define SET32dHubReg_busRstEn_reg(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubReg_busRstEn_reg(r16) _BFGET_(r16, 0, 0)
#define SET16dHubReg_busRstEn_reg(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubReg_busRstEn {\
UNSG32 ubusRstEn_reg : 1;\
UNSG32 RSVDxC08_b1 : 31;\
}
union { UNSG32 u32dHubReg_busRstEn;
struct w32dHubReg_busRstEn;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_busRstDone_reg(r32) _BFGET_(r32, 0, 0)
#define SET32dHubReg_busRstDone_reg(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubReg_busRstDone_reg(r16) _BFGET_(r16, 0, 0)
#define SET16dHubReg_busRstDone_reg(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubReg_busRstDone {\
UNSG32 ubusRstDone_reg : 1;\
UNSG32 RSVDxC0C_b1 : 31;\
}
union { UNSG32 u32dHubReg_busRstDone;
struct w32dHubReg_busRstDone;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_flowCtl_rAlpha(r32) _BFGET_(r32, 7, 0)
#define SET32dHubReg_flowCtl_rAlpha(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16dHubReg_flowCtl_rAlpha(r16) _BFGET_(r16, 7, 0)
#define SET16dHubReg_flowCtl_rAlpha(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32dHubReg_flowCtl_wAlpha(r32) _BFGET_(r32,15, 8)
#define SET32dHubReg_flowCtl_wAlpha(r32,v) _BFSET_(r32,15, 8,v)
#define GET16dHubReg_flowCtl_wAlpha(r16) _BFGET_(r16,15, 8)
#define SET16dHubReg_flowCtl_wAlpha(r16,v) _BFSET_(r16,15, 8,v)
#define w32dHubReg_flowCtl {\
UNSG32 uflowCtl_rAlpha : 8;\
UNSG32 uflowCtl_wAlpha : 8;\
UNSG32 RSVDxC10_b16 : 16;\
}
union { UNSG32 u32dHubReg_flowCtl;
struct w32dHubReg_flowCtl;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_axiCmdCol_rCnt(r32) _BFGET_(r32,15, 0)
#define SET32dHubReg_axiCmdCol_rCnt(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubReg_axiCmdCol_rCnt(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg_axiCmdCol_rCnt(r16,v) _BFSET_(r16,15, 0,v)
#define GET32dHubReg_axiCmdCol_wCnt(r32) _BFGET_(r32,31,16)
#define SET32dHubReg_axiCmdCol_wCnt(r32,v) _BFSET_(r32,31,16,v)
#define GET16dHubReg_axiCmdCol_wCnt(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg_axiCmdCol_wCnt(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubReg_axiCmdCol {\
UNSG32 uaxiCmdCol_rCnt : 16;\
UNSG32 uaxiCmdCol_wCnt : 16;\
}
union { UNSG32 u32dHubReg_axiCmdCol;
struct w32dHubReg_axiCmdCol;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDxC18 [232];
///////////////////////////////////////////////////////////
} SIE_dHubReg;
typedef union T32dHubReg_BUSY
{ UNSG32 u32;
struct w32dHubReg_BUSY;
} T32dHubReg_BUSY;
typedef union T32dHubReg_PENDING
{ UNSG32 u32;
struct w32dHubReg_PENDING;
} T32dHubReg_PENDING;
typedef union T32dHubReg_busRstEn
{ UNSG32 u32;
struct w32dHubReg_busRstEn;
} T32dHubReg_busRstEn;
typedef union T32dHubReg_busRstDone
{ UNSG32 u32;
struct w32dHubReg_busRstDone;
} T32dHubReg_busRstDone;
typedef union T32dHubReg_flowCtl
{ UNSG32 u32;
struct w32dHubReg_flowCtl;
} T32dHubReg_flowCtl;
typedef union T32dHubReg_axiCmdCol
{ UNSG32 u32;
struct w32dHubReg_axiCmdCol;
} T32dHubReg_axiCmdCol;
///////////////////////////////////////////////////////////
typedef union TdHubReg_BUSY
{ UNSG32 u32[1];
struct {
struct w32dHubReg_BUSY;
};
} TdHubReg_BUSY;
typedef union TdHubReg_PENDING
{ UNSG32 u32[1];
struct {
struct w32dHubReg_PENDING;
};
} TdHubReg_PENDING;
typedef union TdHubReg_busRstEn
{ UNSG32 u32[1];
struct {
struct w32dHubReg_busRstEn;
};
} TdHubReg_busRstEn;
typedef union TdHubReg_busRstDone
{ UNSG32 u32[1];
struct {
struct w32dHubReg_busRstDone;
};
} TdHubReg_busRstDone;
typedef union TdHubReg_flowCtl
{ UNSG32 u32[1];
struct {
struct w32dHubReg_flowCtl;
};
} TdHubReg_flowCtl;
typedef union TdHubReg_axiCmdCol
{ UNSG32 u32[1];
struct {
struct w32dHubReg_axiCmdCol;
};
} TdHubReg_axiCmdCol;
///////////////////////////////////////////////////////////
SIGN32 dHubReg_drvrd(SIE_dHubReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubReg_drvwr(SIE_dHubReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubReg_reset(SIE_dHubReg *p);
SIGN32 dHubReg_cmp (SIE_dHubReg *p, SIE_dHubReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubReg_check(p,pie,pfx,hLOG) dHubReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubReg_print(p, pfx,hLOG) dHubReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubReg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubCmd2D biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 MEM (W-)
/// %unsigned 32 addr
/// ###
/// * DRAM data address of the 2D buffer, in bytes.
/// ###
/// @ 0x00004 DESC (W-)
/// %unsigned 16 stride
/// ###
/// * Line stride size in bytes
/// ###
/// %unsigned 13 numLine
/// ###
/// * Number of lines in buffer. Size of 0 is forbidden.
/// ###
/// %unsigned 2 hdrLoop
/// ###
/// * Size of line-loop for choosing dHubCmdHDR
/// * 0 is treated as 4
/// ###
/// %unsigned 1 interrupt
/// ###
/// * 1: raise interrupt upon whole 2D command finish.
/// * 1: set the last 1D command interrupt bit.
/// * 0 : use the default 1D command interrupt bit.
/// ###
/// @ 0x00008 START (W-)
/// %unsigned 1 EN 0x0
/// ###
/// * Write 1 to enable the channel; 0 to pause the channel
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x0000C CLEAR (W-)
/// %unsigned 1 EN
/// ###
/// * Write anything to reset the 2D engine.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00010 (P)
/// # 0x00010 HDR
/// $dHubCmdHDR HDR REG [4]
/// ###
/// * Headers used in generating dHubCmd for each line in looping order, loop size (1,2,3,4) specified by DESC_hdrLoop
/// * end dHubCmd2D
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 182b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubCmd2D
#define h_dHubCmd2D (){}
#define RA_dHubCmd2D_MEM 0x0000
#define BA_dHubCmd2D_MEM_addr 0x0000
#define B16dHubCmd2D_MEM_addr 0x0000
#define LSb32dHubCmd2D_MEM_addr 0
#define LSb16dHubCmd2D_MEM_addr 0
#define bdHubCmd2D_MEM_addr 32
#define MSK32dHubCmd2D_MEM_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_dHubCmd2D_DESC 0x0004
#define BA_dHubCmd2D_DESC_stride 0x0004
#define B16dHubCmd2D_DESC_stride 0x0004
#define LSb32dHubCmd2D_DESC_stride 0
#define LSb16dHubCmd2D_DESC_stride 0
#define bdHubCmd2D_DESC_stride 16
#define MSK32dHubCmd2D_DESC_stride 0x0000FFFF
#define BA_dHubCmd2D_DESC_numLine 0x0006
#define B16dHubCmd2D_DESC_numLine 0x0006
#define LSb32dHubCmd2D_DESC_numLine 16
#define LSb16dHubCmd2D_DESC_numLine 0
#define bdHubCmd2D_DESC_numLine 13
#define MSK32dHubCmd2D_DESC_numLine 0x1FFF0000
#define BA_dHubCmd2D_DESC_hdrLoop 0x0007
#define B16dHubCmd2D_DESC_hdrLoop 0x0006
#define LSb32dHubCmd2D_DESC_hdrLoop 29
#define LSb16dHubCmd2D_DESC_hdrLoop 13
#define bdHubCmd2D_DESC_hdrLoop 2
#define MSK32dHubCmd2D_DESC_hdrLoop 0x60000000
#define BA_dHubCmd2D_DESC_interrupt 0x0007
#define B16dHubCmd2D_DESC_interrupt 0x0006
#define LSb32dHubCmd2D_DESC_interrupt 31
#define LSb16dHubCmd2D_DESC_interrupt 15
#define bdHubCmd2D_DESC_interrupt 1
#define MSK32dHubCmd2D_DESC_interrupt 0x80000000
///////////////////////////////////////////////////////////
#define RA_dHubCmd2D_START 0x0008
#define BA_dHubCmd2D_START_EN 0x0008
#define B16dHubCmd2D_START_EN 0x0008
#define LSb32dHubCmd2D_START_EN 0
#define LSb16dHubCmd2D_START_EN 0
#define bdHubCmd2D_START_EN 1
#define MSK32dHubCmd2D_START_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubCmd2D_CLEAR 0x000C
#define BA_dHubCmd2D_CLEAR_EN 0x000C
#define B16dHubCmd2D_CLEAR_EN 0x000C
#define LSb32dHubCmd2D_CLEAR_EN 0
#define LSb16dHubCmd2D_CLEAR_EN 0
#define bdHubCmd2D_CLEAR_EN 1
#define MSK32dHubCmd2D_CLEAR_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubCmd2D_HDR 0x0010
///////////////////////////////////////////////////////////
typedef struct SIE_dHubCmd2D {
///////////////////////////////////////////////////////////
#define GET32dHubCmd2D_MEM_addr(r32) _BFGET_(r32,31, 0)
#define SET32dHubCmd2D_MEM_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32dHubCmd2D_MEM {\
UNSG32 uMEM_addr : 32;\
}
union { UNSG32 u32dHubCmd2D_MEM;
struct w32dHubCmd2D_MEM;
};
///////////////////////////////////////////////////////////
#define GET32dHubCmd2D_DESC_stride(r32) _BFGET_(r32,15, 0)
#define SET32dHubCmd2D_DESC_stride(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubCmd2D_DESC_stride(r16) _BFGET_(r16,15, 0)
#define SET16dHubCmd2D_DESC_stride(r16,v) _BFSET_(r16,15, 0,v)
#define GET32dHubCmd2D_DESC_numLine(r32) _BFGET_(r32,28,16)
#define SET32dHubCmd2D_DESC_numLine(r32,v) _BFSET_(r32,28,16,v)
#define GET16dHubCmd2D_DESC_numLine(r16) _BFGET_(r16,12, 0)
#define SET16dHubCmd2D_DESC_numLine(r16,v) _BFSET_(r16,12, 0,v)
#define GET32dHubCmd2D_DESC_hdrLoop(r32) _BFGET_(r32,30,29)
#define SET32dHubCmd2D_DESC_hdrLoop(r32,v) _BFSET_(r32,30,29,v)
#define GET16dHubCmd2D_DESC_hdrLoop(r16) _BFGET_(r16,14,13)
#define SET16dHubCmd2D_DESC_hdrLoop(r16,v) _BFSET_(r16,14,13,v)
#define GET32dHubCmd2D_DESC_interrupt(r32) _BFGET_(r32,31,31)
#define SET32dHubCmd2D_DESC_interrupt(r32,v) _BFSET_(r32,31,31,v)
#define GET16dHubCmd2D_DESC_interrupt(r16) _BFGET_(r16,15,15)
#define SET16dHubCmd2D_DESC_interrupt(r16,v) _BFSET_(r16,15,15,v)
#define w32dHubCmd2D_DESC {\
UNSG32 uDESC_stride : 16;\
UNSG32 uDESC_numLine : 13;\
UNSG32 uDESC_hdrLoop : 2;\
UNSG32 uDESC_interrupt : 1;\
}
union { UNSG32 u32dHubCmd2D_DESC;
struct w32dHubCmd2D_DESC;
};
///////////////////////////////////////////////////////////
#define GET32dHubCmd2D_START_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubCmd2D_START_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubCmd2D_START_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubCmd2D_START_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubCmd2D_START {\
UNSG32 uSTART_EN : 1;\
UNSG32 RSVDx8_b1 : 31;\
}
union { UNSG32 u32dHubCmd2D_START;
struct w32dHubCmd2D_START;
};
///////////////////////////////////////////////////////////
#define GET32dHubCmd2D_CLEAR_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubCmd2D_CLEAR_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubCmd2D_CLEAR_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubCmd2D_CLEAR_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubCmd2D_CLEAR {\
UNSG32 uCLEAR_EN : 1;\
UNSG32 RSVDxC_b1 : 31;\
}
union { UNSG32 u32dHubCmd2D_CLEAR;
struct w32dHubCmd2D_CLEAR;
};
///////////////////////////////////////////////////////////
SIE_dHubCmdHDR ie_HDR[4];
///////////////////////////////////////////////////////////
} SIE_dHubCmd2D;
typedef union T32dHubCmd2D_MEM
{ UNSG32 u32;
struct w32dHubCmd2D_MEM;
} T32dHubCmd2D_MEM;
typedef union T32dHubCmd2D_DESC
{ UNSG32 u32;
struct w32dHubCmd2D_DESC;
} T32dHubCmd2D_DESC;
typedef union T32dHubCmd2D_START
{ UNSG32 u32;
struct w32dHubCmd2D_START;
} T32dHubCmd2D_START;
typedef union T32dHubCmd2D_CLEAR
{ UNSG32 u32;
struct w32dHubCmd2D_CLEAR;
} T32dHubCmd2D_CLEAR;
///////////////////////////////////////////////////////////
typedef union TdHubCmd2D_MEM
{ UNSG32 u32[1];
struct {
struct w32dHubCmd2D_MEM;
};
} TdHubCmd2D_MEM;
typedef union TdHubCmd2D_DESC
{ UNSG32 u32[1];
struct {
struct w32dHubCmd2D_DESC;
};
} TdHubCmd2D_DESC;
typedef union TdHubCmd2D_START
{ UNSG32 u32[1];
struct {
struct w32dHubCmd2D_START;
};
} TdHubCmd2D_START;
typedef union TdHubCmd2D_CLEAR
{ UNSG32 u32[1];
struct {
struct w32dHubCmd2D_CLEAR;
};
} TdHubCmd2D_CLEAR;
///////////////////////////////////////////////////////////
SIGN32 dHubCmd2D_drvrd(SIE_dHubCmd2D *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubCmd2D_drvwr(SIE_dHubCmd2D *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubCmd2D_reset(SIE_dHubCmd2D *p);
SIGN32 dHubCmd2D_cmp (SIE_dHubCmd2D *p, SIE_dHubCmd2D *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubCmd2D_check(p,pie,pfx,hLOG) dHubCmd2D_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubCmd2D_print(p, pfx,hLOG) dHubCmd2D_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubCmd2D
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubQuery (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 RESP (R-)
/// %unsigned 16 ST
/// ###
/// * Dhub channel state machine status.
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubQuery
#define h_dHubQuery (){}
#define RA_dHubQuery_RESP 0x0000
#define BA_dHubQuery_RESP_ST 0x0000
#define B16dHubQuery_RESP_ST 0x0000
#define LSb32dHubQuery_RESP_ST 0
#define LSb16dHubQuery_RESP_ST 0
#define bdHubQuery_RESP_ST 16
#define MSK32dHubQuery_RESP_ST 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_dHubQuery {
///////////////////////////////////////////////////////////
#define GET32dHubQuery_RESP_ST(r32) _BFGET_(r32,15, 0)
#define SET32dHubQuery_RESP_ST(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubQuery_RESP_ST(r16) _BFGET_(r16,15, 0)
#define SET16dHubQuery_RESP_ST(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubQuery_RESP {\
UNSG32 uRESP_ST : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32dHubQuery_RESP;
struct w32dHubQuery_RESP;
};
///////////////////////////////////////////////////////////
} SIE_dHubQuery;
typedef union T32dHubQuery_RESP
{ UNSG32 u32;
struct w32dHubQuery_RESP;
} T32dHubQuery_RESP;
///////////////////////////////////////////////////////////
typedef union TdHubQuery_RESP
{ UNSG32 u32[1];
struct {
struct w32dHubQuery_RESP;
};
} TdHubQuery_RESP;
///////////////////////////////////////////////////////////
SIGN32 dHubQuery_drvrd(SIE_dHubQuery *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubQuery_drvwr(SIE_dHubQuery *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubQuery_reset(SIE_dHubQuery *p);
SIGN32 dHubQuery_cmp (SIE_dHubQuery *p, SIE_dHubQuery *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubQuery_check(p,pie,pfx,hLOG) dHubQuery_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubQuery_print(p, pfx,hLOG) dHubQuery_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubQuery
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubReg2D biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 dHub
/// $dHubReg dHub REG
/// @ 0x00D00 ARR (P)
/// # 0x00D00 Cmd2D
/// $dHubCmd2D Cmd2D REG [16]
/// ###
/// * Up-to 16 2D channels.
/// * 2D Channel[N] is connected to dHub.Channel[N] command queue, that is, dHub.HBO.Channel[2N]
/// * Note: Number of 2D channels could be less than dHub channels (rest of are 1D only)
/// ###
/// @ 0x00F00 BUSY (R-)
/// %unsigned 16 ST
/// ###
/// * Per channel status
/// * 0: no ongoing command is being processed
/// * 1: channel controller is busy
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00F04 (W-)
/// # # Stuffing bytes...
/// %% 480
/// @ 0x00F40 (P)
/// # 0x00F40 CH_ST
/// $dHubQuery CH_ST MEM [16]
/// ###
/// * end dHubReg2D
/// ###
/// @ 0x00F80 (W-)
/// # # Stuffing bytes...
/// %% 1024
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4096B, bits: 6242b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubReg2D
#define h_dHubReg2D (){}
#define RA_dHubReg2D_dHub 0x0000
///////////////////////////////////////////////////////////
#define RA_dHubReg2D_ARR 0x0D00
#define RA_dHubReg2D_Cmd2D 0x0D00
///////////////////////////////////////////////////////////
#define RA_dHubReg2D_BUSY 0x0F00
#define BA_dHubReg2D_BUSY_ST 0x0F00
#define B16dHubReg2D_BUSY_ST 0x0F00
#define LSb32dHubReg2D_BUSY_ST 0
#define LSb16dHubReg2D_BUSY_ST 0
#define bdHubReg2D_BUSY_ST 16
#define MSK32dHubReg2D_BUSY_ST 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_dHubReg2D_CH_ST 0x0F40
///////////////////////////////////////////////////////////
typedef struct SIE_dHubReg2D {
///////////////////////////////////////////////////////////
SIE_dHubReg ie_dHub;
///////////////////////////////////////////////////////////
SIE_dHubCmd2D ie_Cmd2D[16];
///////////////////////////////////////////////////////////
#define GET32dHubReg2D_BUSY_ST(r32) _BFGET_(r32,15, 0)
#define SET32dHubReg2D_BUSY_ST(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubReg2D_BUSY_ST(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg2D_BUSY_ST(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubReg2D_BUSY {\
UNSG32 uBUSY_ST : 16;\
UNSG32 RSVDxF00_b16 : 16;\
}
union { UNSG32 u32dHubReg2D_BUSY;
struct w32dHubReg2D_BUSY;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDxF04 [60];
///////////////////////////////////////////////////////////
SIE_dHubQuery ie_CH_ST[16];
///////////////////////////////////////////////////////////
UNSG8 RSVDxF80 [128];
///////////////////////////////////////////////////////////
} SIE_dHubReg2D;
typedef union T32dHubReg2D_BUSY
{ UNSG32 u32;
struct w32dHubReg2D_BUSY;
} T32dHubReg2D_BUSY;
///////////////////////////////////////////////////////////
typedef union TdHubReg2D_BUSY
{ UNSG32 u32[1];
struct {
struct w32dHubReg2D_BUSY;
};
} TdHubReg2D_BUSY;
///////////////////////////////////////////////////////////
SIGN32 dHubReg2D_drvrd(SIE_dHubReg2D *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubReg2D_drvwr(SIE_dHubReg2D *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubReg2D_reset(SIE_dHubReg2D *p);
SIGN32 dHubReg2D_cmp (SIE_dHubReg2D *p, SIE_dHubReg2D *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubReg2D_check(p,pie,pfx,hLOG) dHubReg2D_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubReg2D_print(p, pfx,hLOG) dHubReg2D_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubReg2D
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE crcTblEntry (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 word
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_crcTblEntry
#define h_crcTblEntry (){}
#define BA_crcTblEntry_word 0x0000
#define B16crcTblEntry_word 0x0000
#define LSb32crcTblEntry_word 0
#define LSb16crcTblEntry_word 0
#define bcrcTblEntry_word 32
#define MSK32crcTblEntry_word 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_crcTblEntry {
///////////////////////////////////////////////////////////
#define GET32crcTblEntry_word(r32) _BFGET_(r32,31, 0)
#define SET32crcTblEntry_word(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_word : 32;
///////////////////////////////////////////////////////////
} SIE_crcTblEntry;
///////////////////////////////////////////////////////////
SIGN32 crcTblEntry_drvrd(SIE_crcTblEntry *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 crcTblEntry_drvwr(SIE_crcTblEntry *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void crcTblEntry_reset(SIE_crcTblEntry *p);
SIGN32 crcTblEntry_cmp (SIE_crcTblEntry *p, SIE_crcTblEntry *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define crcTblEntry_check(p,pie,pfx,hLOG) crcTblEntry_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define crcTblEntry_print(p, pfx,hLOG) crcTblEntry_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: crcTblEntry
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE crcCell biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 Auto (P)
/// %unsigned 1 clr_sum 0x1
/// %unsigned 1 clr_cnt 0x1
/// %unsigned 1 latch 0x1
/// ###
/// * “1” to enable the auto operation
/// ###
/// %% 29 # Stuffing bits...
/// @ 0x00004 Manual (RW-)
/// %unsigned 1 clr_sum
/// %unsigned 1 clr_cnt
/// %unsigned 1 latch
/// ###
/// * Write 1 the bit field for corresponding manual operation.
/// ###
/// %% 29 # Stuffing bits...
/// @ 0x00008 Latch (P)
/// %unsigned 32 cnt 0x64
/// ###
/// * When auto latch is enabled, the latch operation will be triggered when the number of data transaction is reached.
/// ###
/// @ 0x0000C cnt (R-)
/// %unsigned 32 val
/// ###
/// * The data transaction counter.
/// ###
/// @ 0x00010 (W-)
/// # # Stuffing bytes...
/// %% 128
/// @ 0x00020 CRCTBL (R-)
/// # 0x00020 sum
/// $crcTblEntry sum MEM [8]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 102b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_crcCell
#define h_crcCell (){}
#define RA_crcCell_Auto 0x0000
#define BA_crcCell_Auto_clr_sum 0x0000
#define B16crcCell_Auto_clr_sum 0x0000
#define LSb32crcCell_Auto_clr_sum 0
#define LSb16crcCell_Auto_clr_sum 0
#define bcrcCell_Auto_clr_sum 1
#define MSK32crcCell_Auto_clr_sum 0x00000001
#define BA_crcCell_Auto_clr_cnt 0x0000
#define B16crcCell_Auto_clr_cnt 0x0000
#define LSb32crcCell_Auto_clr_cnt 1
#define LSb16crcCell_Auto_clr_cnt 1
#define bcrcCell_Auto_clr_cnt 1
#define MSK32crcCell_Auto_clr_cnt 0x00000002
#define BA_crcCell_Auto_latch 0x0000
#define B16crcCell_Auto_latch 0x0000
#define LSb32crcCell_Auto_latch 2
#define LSb16crcCell_Auto_latch 2
#define bcrcCell_Auto_latch 1
#define MSK32crcCell_Auto_latch 0x00000004
///////////////////////////////////////////////////////////
#define RA_crcCell_Manual 0x0004
#define BA_crcCell_Manual_clr_sum 0x0004
#define B16crcCell_Manual_clr_sum 0x0004
#define LSb32crcCell_Manual_clr_sum 0
#define LSb16crcCell_Manual_clr_sum 0
#define bcrcCell_Manual_clr_sum 1
#define MSK32crcCell_Manual_clr_sum 0x00000001
#define BA_crcCell_Manual_clr_cnt 0x0004
#define B16crcCell_Manual_clr_cnt 0x0004
#define LSb32crcCell_Manual_clr_cnt 1
#define LSb16crcCell_Manual_clr_cnt 1
#define bcrcCell_Manual_clr_cnt 1
#define MSK32crcCell_Manual_clr_cnt 0x00000002
#define BA_crcCell_Manual_latch 0x0004
#define B16crcCell_Manual_latch 0x0004
#define LSb32crcCell_Manual_latch 2
#define LSb16crcCell_Manual_latch 2
#define bcrcCell_Manual_latch 1
#define MSK32crcCell_Manual_latch 0x00000004
///////////////////////////////////////////////////////////
#define RA_crcCell_Latch 0x0008
#define BA_crcCell_Latch_cnt 0x0008
#define B16crcCell_Latch_cnt 0x0008
#define LSb32crcCell_Latch_cnt 0
#define LSb16crcCell_Latch_cnt 0
#define bcrcCell_Latch_cnt 32
#define MSK32crcCell_Latch_cnt 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_crcCell_cnt 0x000C
#define BA_crcCell_cnt_val 0x000C
#define B16crcCell_cnt_val 0x000C
#define LSb32crcCell_cnt_val 0
#define LSb16crcCell_cnt_val 0
#define bcrcCell_cnt_val 32
#define MSK32crcCell_cnt_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_crcCell_CRCTBL 0x0020
#define RA_crcCell_sum 0x0020
///////////////////////////////////////////////////////////
typedef struct SIE_crcCell {
///////////////////////////////////////////////////////////
#define GET32crcCell_Auto_clr_sum(r32) _BFGET_(r32, 0, 0)
#define SET32crcCell_Auto_clr_sum(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16crcCell_Auto_clr_sum(r16) _BFGET_(r16, 0, 0)
#define SET16crcCell_Auto_clr_sum(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32crcCell_Auto_clr_cnt(r32) _BFGET_(r32, 1, 1)
#define SET32crcCell_Auto_clr_cnt(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16crcCell_Auto_clr_cnt(r16) _BFGET_(r16, 1, 1)
#define SET16crcCell_Auto_clr_cnt(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32crcCell_Auto_latch(r32) _BFGET_(r32, 2, 2)
#define SET32crcCell_Auto_latch(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16crcCell_Auto_latch(r16) _BFGET_(r16, 2, 2)
#define SET16crcCell_Auto_latch(r16,v) _BFSET_(r16, 2, 2,v)
#define w32crcCell_Auto {\
UNSG32 uAuto_clr_sum : 1;\
UNSG32 uAuto_clr_cnt : 1;\
UNSG32 uAuto_latch : 1;\
UNSG32 RSVDx0_b3 : 29;\
}
union { UNSG32 u32crcCell_Auto;
struct w32crcCell_Auto;
};
///////////////////////////////////////////////////////////
#define GET32crcCell_Manual_clr_sum(r32) _BFGET_(r32, 0, 0)
#define SET32crcCell_Manual_clr_sum(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16crcCell_Manual_clr_sum(r16) _BFGET_(r16, 0, 0)
#define SET16crcCell_Manual_clr_sum(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32crcCell_Manual_clr_cnt(r32) _BFGET_(r32, 1, 1)
#define SET32crcCell_Manual_clr_cnt(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16crcCell_Manual_clr_cnt(r16) _BFGET_(r16, 1, 1)
#define SET16crcCell_Manual_clr_cnt(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32crcCell_Manual_latch(r32) _BFGET_(r32, 2, 2)
#define SET32crcCell_Manual_latch(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16crcCell_Manual_latch(r16) _BFGET_(r16, 2, 2)
#define SET16crcCell_Manual_latch(r16,v) _BFSET_(r16, 2, 2,v)
#define w32crcCell_Manual {\
UNSG32 uManual_clr_sum : 1;\
UNSG32 uManual_clr_cnt : 1;\
UNSG32 uManual_latch : 1;\
UNSG32 RSVDx4_b3 : 29;\
}
union { UNSG32 u32crcCell_Manual;
struct w32crcCell_Manual;
};
///////////////////////////////////////////////////////////
#define GET32crcCell_Latch_cnt(r32) _BFGET_(r32,31, 0)
#define SET32crcCell_Latch_cnt(r32,v) _BFSET_(r32,31, 0,v)
#define w32crcCell_Latch {\
UNSG32 uLatch_cnt : 32;\
}
union { UNSG32 u32crcCell_Latch;
struct w32crcCell_Latch;
};
///////////////////////////////////////////////////////////
#define GET32crcCell_cnt_val(r32) _BFGET_(r32,31, 0)
#define SET32crcCell_cnt_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32crcCell_cnt {\
UNSG32 ucnt_val : 32;\
}
union { UNSG32 u32crcCell_cnt;
struct w32crcCell_cnt;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx10 [16];
///////////////////////////////////////////////////////////
SIE_crcTblEntry ie_sum[8];
///////////////////////////////////////////////////////////
} SIE_crcCell;
typedef union T32crcCell_Auto
{ UNSG32 u32;
struct w32crcCell_Auto;
} T32crcCell_Auto;
typedef union T32crcCell_Manual
{ UNSG32 u32;
struct w32crcCell_Manual;
} T32crcCell_Manual;
typedef union T32crcCell_Latch
{ UNSG32 u32;
struct w32crcCell_Latch;
} T32crcCell_Latch;
typedef union T32crcCell_cnt
{ UNSG32 u32;
struct w32crcCell_cnt;
} T32crcCell_cnt;
///////////////////////////////////////////////////////////
typedef union TcrcCell_Auto
{ UNSG32 u32[1];
struct {
struct w32crcCell_Auto;
};
} TcrcCell_Auto;
typedef union TcrcCell_Manual
{ UNSG32 u32[1];
struct {
struct w32crcCell_Manual;
};
} TcrcCell_Manual;
typedef union TcrcCell_Latch
{ UNSG32 u32[1];
struct {
struct w32crcCell_Latch;
};
} TcrcCell_Latch;
typedef union TcrcCell_cnt
{ UNSG32 u32[1];
struct {
struct w32crcCell_cnt;
};
} TcrcCell_cnt;
///////////////////////////////////////////////////////////
SIGN32 crcCell_drvrd(SIE_crcCell *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 crcCell_drvwr(SIE_crcCell *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void crcCell_reset(SIE_crcCell *p);
SIGN32 crcCell_cmp (SIE_crcCell *p, SIE_crcCell *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define crcCell_check(p,pie,pfx,hLOG) crcCell_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define crcCell_print(p, pfx,hLOG) crcCell_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: crcCell
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE crcArr biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CRCARR (P)
/// # 0x00000 crcArr
/// $crcCell crcArr REG [8]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 816b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_crcArr
#define h_crcArr (){}
#define RA_crcArr_CRCARR 0x0000
#define RA_crcArr_crcArr 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_crcArr {
///////////////////////////////////////////////////////////
SIE_crcCell ie_crcArr[8];
///////////////////////////////////////////////////////////
} SIE_crcArr;
///////////////////////////////////////////////////////////
SIGN32 crcArr_drvrd(SIE_crcArr *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 crcArr_drvwr(SIE_crcArr *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void crcArr_reset(SIE_crcArr *p);
SIGN32 crcArr_cmp (SIE_crcArr *p, SIE_crcArr *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define crcArr_check(p,pie,pfx,hLOG) crcArr_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define crcArr_print(p, pfx,hLOG) crcArr_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: crcArr
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE crcHub biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CRCARR (P)
/// # 0x00000 crcArr0
/// $crcArr crcArr0 REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 816b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_crcHub
#define h_crcHub (){}
#define RA_crcHub_CRCARR 0x0000
#define RA_crcHub_crcArr0 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_crcHub {
///////////////////////////////////////////////////////////
SIE_crcArr ie_crcArr0;
///////////////////////////////////////////////////////////
} SIE_crcHub;
///////////////////////////////////////////////////////////
SIGN32 crcHub_drvrd(SIE_crcHub *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 crcHub_drvwr(SIE_crcHub *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void crcHub_reset(SIE_crcHub *p);
SIGN32 crcHub_cmp (SIE_crcHub *p, SIE_crcHub *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define crcHub_check(p,pie,pfx,hLOG) crcHub_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define crcHub_print(p, pfx,hLOG) crcHub_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: crcHub
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE DSmsg biu (4,4)
/// ###
/// * Data Streamer message format
/// * [00:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 13 count
/// ###
/// * number of bytes to transfer, the starting address is byte aligned.
/// ###
/// %unsigned 1 NOS
/// ###
/// * No outstanding
/// * 1: this command will not be executed until the completion of all the previous command.
/// * 0: This command can be executed without checking the previous command completion status.
/// ###
/// %unsigned 1 dir
/// : m2h 0x0
/// ###
/// * Data transfer from external memory to HBO
/// ###
/// : h2m 0x1
/// ###
/// * Data transfer from HBO to external memory
/// ###
/// %unsigned 1 intr
/// ###
/// * Setting to 1 forces Data Streamer to raise interrupt after command completion
/// ###
/// %unsigned 16 hboAdr
/// ###
/// * HBO byte address for data transfer
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// %unsigned 32 memAdr
/// ###
/// * Memory address equivalent to DDR addr [31:0];
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_DSmsg
#define h_DSmsg (){}
#define BA_DSmsg_count 0x0000
#define B16DSmsg_count 0x0000
#define LSb32DSmsg_count 0
#define LSb16DSmsg_count 0
#define bDSmsg_count 13
#define MSK32DSmsg_count 0x00001FFF
#define BA_DSmsg_NOS 0x0001
#define B16DSmsg_NOS 0x0000
#define LSb32DSmsg_NOS 13
#define LSb16DSmsg_NOS 13
#define bDSmsg_NOS 1
#define MSK32DSmsg_NOS 0x00002000
#define BA_DSmsg_dir 0x0001
#define B16DSmsg_dir 0x0000
#define LSb32DSmsg_dir 14
#define LSb16DSmsg_dir 14
#define bDSmsg_dir 1
#define MSK32DSmsg_dir 0x00004000
#define DSmsg_dir_m2h 0x0
#define DSmsg_dir_h2m 0x1
#define BA_DSmsg_intr 0x0001
#define B16DSmsg_intr 0x0000
#define LSb32DSmsg_intr 15
#define LSb16DSmsg_intr 15
#define bDSmsg_intr 1
#define MSK32DSmsg_intr 0x00008000
#define BA_DSmsg_hboAdr 0x0002
#define B16DSmsg_hboAdr 0x0002
#define LSb32DSmsg_hboAdr 16
#define LSb16DSmsg_hboAdr 0
#define bDSmsg_hboAdr 16
#define MSK32DSmsg_hboAdr 0xFFFF0000
///////////////////////////////////////////////////////////
#define BA_DSmsg_memAdr 0x0004
#define B16DSmsg_memAdr 0x0004
#define LSb32DSmsg_memAdr 0
#define LSb16DSmsg_memAdr 0
#define bDSmsg_memAdr 32
#define MSK32DSmsg_memAdr 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_DSmsg {
///////////////////////////////////////////////////////////
#define GET32DSmsg_count(r32) _BFGET_(r32,12, 0)
#define SET32DSmsg_count(r32,v) _BFSET_(r32,12, 0,v)
#define GET16DSmsg_count(r16) _BFGET_(r16,12, 0)
#define SET16DSmsg_count(r16,v) _BFSET_(r16,12, 0,v)
#define GET32DSmsg_NOS(r32) _BFGET_(r32,13,13)
#define SET32DSmsg_NOS(r32,v) _BFSET_(r32,13,13,v)
#define GET16DSmsg_NOS(r16) _BFGET_(r16,13,13)
#define SET16DSmsg_NOS(r16,v) _BFSET_(r16,13,13,v)
#define GET32DSmsg_dir(r32) _BFGET_(r32,14,14)
#define SET32DSmsg_dir(r32,v) _BFSET_(r32,14,14,v)
#define GET16DSmsg_dir(r16) _BFGET_(r16,14,14)
#define SET16DSmsg_dir(r16,v) _BFSET_(r16,14,14,v)
#define GET32DSmsg_intr(r32) _BFGET_(r32,15,15)
#define SET32DSmsg_intr(r32,v) _BFSET_(r32,15,15,v)
#define GET16DSmsg_intr(r16) _BFGET_(r16,15,15)
#define SET16DSmsg_intr(r16,v) _BFSET_(r16,15,15,v)
#define GET32DSmsg_hboAdr(r32) _BFGET_(r32,31,16)
#define SET32DSmsg_hboAdr(r32,v) _BFSET_(r32,31,16,v)
#define GET16DSmsg_hboAdr(r16) _BFGET_(r16,15, 0)
#define SET16DSmsg_hboAdr(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_count : 13;
UNSG32 u_NOS : 1;
UNSG32 u_dir : 1;
UNSG32 u_intr : 1;
UNSG32 u_hboAdr : 16;
///////////////////////////////////////////////////////////
#define GET32DSmsg_memAdr(r32) _BFGET_(r32,31, 0)
#define SET32DSmsg_memAdr(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_memAdr : 32;
///////////////////////////////////////////////////////////
} SIE_DSmsg;
///////////////////////////////////////////////////////////
SIGN32 DSmsg_drvrd(SIE_DSmsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 DSmsg_drvwr(SIE_DSmsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void DSmsg_reset(SIE_DSmsg *p);
SIGN32 DSmsg_cmp (SIE_DSmsg *p, SIE_DSmsg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define DSmsg_check(p,pie,pfx,hLOG) DSmsg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define DSmsg_print(p, pfx,hLOG) DSmsg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: DSmsg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dsCh biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 retID (P)
/// %unsigned 16 addr 0x0
/// ###
/// * The HBO address of the memory location at which the retired command ID is stored
/// * Note : the addr should be 64-bit aligned. Nor the RTL implementation will always put the 16-bit ID to lower 16-bit of the DTCM entry.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00004 initID (P)
/// %unsigned 16 Val 0x0
/// ###
/// * Initial retire id value
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dsCh
#define h_dsCh (){}
#define RA_dsCh_retID 0x0000
#define BA_dsCh_retID_addr 0x0000
#define B16dsCh_retID_addr 0x0000
#define LSb32dsCh_retID_addr 0
#define LSb16dsCh_retID_addr 0
#define bdsCh_retID_addr 16
#define MSK32dsCh_retID_addr 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_dsCh_initID 0x0004
#define BA_dsCh_initID_Val 0x0004
#define B16dsCh_initID_Val 0x0004
#define LSb32dsCh_initID_Val 0
#define LSb16dsCh_initID_Val 0
#define bdsCh_initID_Val 16
#define MSK32dsCh_initID_Val 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_dsCh {
///////////////////////////////////////////////////////////
#define GET32dsCh_retID_addr(r32) _BFGET_(r32,15, 0)
#define SET32dsCh_retID_addr(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dsCh_retID_addr(r16) _BFGET_(r16,15, 0)
#define SET16dsCh_retID_addr(r16,v) _BFSET_(r16,15, 0,v)
#define w32dsCh_retID {\
UNSG32 uretID_addr : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32dsCh_retID;
struct w32dsCh_retID;
};
///////////////////////////////////////////////////////////
#define GET32dsCh_initID_Val(r32) _BFGET_(r32,15, 0)
#define SET32dsCh_initID_Val(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dsCh_initID_Val(r16) _BFGET_(r16,15, 0)
#define SET16dsCh_initID_Val(r16,v) _BFSET_(r16,15, 0,v)
#define w32dsCh_initID {\
UNSG32 uinitID_Val : 16;\
UNSG32 RSVDx4_b16 : 16;\
}
union { UNSG32 u32dsCh_initID;
struct w32dsCh_initID;
};
///////////////////////////////////////////////////////////
} SIE_dsCh;
typedef union T32dsCh_retID
{ UNSG32 u32;
struct w32dsCh_retID;
} T32dsCh_retID;
typedef union T32dsCh_initID
{ UNSG32 u32;
struct w32dsCh_initID;
} T32dsCh_initID;
///////////////////////////////////////////////////////////
typedef union TdsCh_retID
{ UNSG32 u32[1];
struct {
struct w32dsCh_retID;
};
} TdsCh_retID;
typedef union TdsCh_initID
{ UNSG32 u32[1];
struct {
struct w32dsCh_initID;
};
} TdsCh_initID;
///////////////////////////////////////////////////////////
SIGN32 dsCh_drvrd(SIE_dsCh *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dsCh_drvwr(SIE_dsCh *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dsCh_reset(SIE_dsCh *p);
SIGN32 dsCh_cmp (SIE_dsCh *p, SIE_dsCh *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dsCh_check(p,pie,pfx,hLOG) dsCh_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dsCh_print(p, pfx,hLOG) dsCh_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dsCh
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE DataStreamer biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 dsCh (P)
/// # 0x00000 dsCh
/// $dsCh dsCh REG [4]
/// ###
/// * The command that was just finished by Data Streamer generated interrupt; write 1 to clear
/// ###
/// @ 0x00020 intr (WOC-)
/// %unsigned 1 st_0i
/// %unsigned 1 st_1i
/// %unsigned 1 st_2i
/// %unsigned 1 st_3i
/// ###
/// * Interrupt status
/// ###
/// %% 28 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 36B, bits: 132b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_DataStreamer
#define h_DataStreamer (){}
#define RA_DataStreamer_dsCh 0x0000
///////////////////////////////////////////////////////////
#define RA_DataStreamer_intr 0x0020
#define BA_DataStreamer_intr_st_0i 0x0020
#define B16DataStreamer_intr_st_0i 0x0020
#define LSb32DataStreamer_intr_st_0i 0
#define LSb16DataStreamer_intr_st_0i 0
#define bDataStreamer_intr_st_0i 1
#define MSK32DataStreamer_intr_st_0i 0x00000001
#define BA_DataStreamer_intr_st_1i 0x0020
#define B16DataStreamer_intr_st_1i 0x0020
#define LSb32DataStreamer_intr_st_1i 1
#define LSb16DataStreamer_intr_st_1i 1
#define bDataStreamer_intr_st_1i 1
#define MSK32DataStreamer_intr_st_1i 0x00000002
#define BA_DataStreamer_intr_st_2i 0x0020
#define B16DataStreamer_intr_st_2i 0x0020
#define LSb32DataStreamer_intr_st_2i 2
#define LSb16DataStreamer_intr_st_2i 2
#define bDataStreamer_intr_st_2i 1
#define MSK32DataStreamer_intr_st_2i 0x00000004
#define BA_DataStreamer_intr_st_3i 0x0020
#define B16DataStreamer_intr_st_3i 0x0020
#define LSb32DataStreamer_intr_st_3i 3
#define LSb16DataStreamer_intr_st_3i 3
#define bDataStreamer_intr_st_3i 1
#define MSK32DataStreamer_intr_st_3i 0x00000008
///////////////////////////////////////////////////////////
typedef struct SIE_DataStreamer {
///////////////////////////////////////////////////////////
SIE_dsCh ie_dsCh[4];
///////////////////////////////////////////////////////////
#define GET32DataStreamer_intr_st_0i(r32) _BFGET_(r32, 0, 0)
#define SET32DataStreamer_intr_st_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16DataStreamer_intr_st_0i(r16) _BFGET_(r16, 0, 0)
#define SET16DataStreamer_intr_st_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32DataStreamer_intr_st_1i(r32) _BFGET_(r32, 1, 1)
#define SET32DataStreamer_intr_st_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16DataStreamer_intr_st_1i(r16) _BFGET_(r16, 1, 1)
#define SET16DataStreamer_intr_st_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32DataStreamer_intr_st_2i(r32) _BFGET_(r32, 2, 2)
#define SET32DataStreamer_intr_st_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16DataStreamer_intr_st_2i(r16) _BFGET_(r16, 2, 2)
#define SET16DataStreamer_intr_st_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32DataStreamer_intr_st_3i(r32) _BFGET_(r32, 3, 3)
#define SET32DataStreamer_intr_st_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16DataStreamer_intr_st_3i(r16) _BFGET_(r16, 3, 3)
#define SET16DataStreamer_intr_st_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define w32DataStreamer_intr {\
UNSG32 uintr_st_0i : 1;\
UNSG32 uintr_st_1i : 1;\
UNSG32 uintr_st_2i : 1;\
UNSG32 uintr_st_3i : 1;\
UNSG32 RSVDx20_b4 : 28;\
}
union { UNSG32 u32DataStreamer_intr;
struct w32DataStreamer_intr;
};
///////////////////////////////////////////////////////////
} SIE_DataStreamer;
typedef union T32DataStreamer_intr
{ UNSG32 u32;
struct w32DataStreamer_intr;
} T32DataStreamer_intr;
///////////////////////////////////////////////////////////
typedef union TDataStreamer_intr
{ UNSG32 u32[1];
struct {
struct w32DataStreamer_intr;
};
} TDataStreamer_intr;
///////////////////////////////////////////////////////////
SIGN32 DataStreamer_drvrd(SIE_DataStreamer *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 DataStreamer_drvwr(SIE_DataStreamer *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void DataStreamer_reset(SIE_DataStreamer *p);
SIGN32 DataStreamer_cmp (SIE_DataStreamer *p, SIE_DataStreamer *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define DataStreamer_check(p,pie,pfx,hLOG) DataStreamer_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define DataStreamer_print(p, pfx,hLOG) DataStreamer_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: DataStreamer
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ALU64CMD (4,4)
/// ###
/// * 16-bit + 6-bit parameters for A64CMD
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 par (W-)
/// %unsigned 16 rS
/// ###
/// * rS register for A64CMD
/// ###
/// %unsigned 6 q6
/// ###
/// * q6 parameter for A64CMD
/// * end ALU64CMD
/// ###
/// %% 10 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 22b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ALU64CMD
#define h_ALU64CMD (){}
#define RA_ALU64CMD_par 0x0000
#define BA_ALU64CMD_par_rS 0x0000
#define B16ALU64CMD_par_rS 0x0000
#define LSb32ALU64CMD_par_rS 0
#define LSb16ALU64CMD_par_rS 0
#define bALU64CMD_par_rS 16
#define MSK32ALU64CMD_par_rS 0x0000FFFF
#define BA_ALU64CMD_par_q6 0x0002
#define B16ALU64CMD_par_q6 0x0002
#define LSb32ALU64CMD_par_q6 16
#define LSb16ALU64CMD_par_q6 0
#define bALU64CMD_par_q6 6
#define MSK32ALU64CMD_par_q6 0x003F0000
///////////////////////////////////////////////////////////
typedef struct SIE_ALU64CMD {
///////////////////////////////////////////////////////////
#define GET32ALU64CMD_par_rS(r32) _BFGET_(r32,15, 0)
#define SET32ALU64CMD_par_rS(r32,v) _BFSET_(r32,15, 0,v)
#define GET16ALU64CMD_par_rS(r16) _BFGET_(r16,15, 0)
#define SET16ALU64CMD_par_rS(r16,v) _BFSET_(r16,15, 0,v)
#define GET32ALU64CMD_par_q6(r32) _BFGET_(r32,21,16)
#define SET32ALU64CMD_par_q6(r32,v) _BFSET_(r32,21,16,v)
#define GET16ALU64CMD_par_q6(r16) _BFGET_(r16, 5, 0)
#define SET16ALU64CMD_par_q6(r16,v) _BFSET_(r16, 5, 0,v)
#define w32ALU64CMD_par {\
UNSG32 upar_rS : 16;\
UNSG32 upar_q6 : 6;\
UNSG32 RSVDx0_b22 : 10;\
}
union { UNSG32 u32ALU64CMD_par;
struct w32ALU64CMD_par;
};
///////////////////////////////////////////////////////////
} SIE_ALU64CMD;
typedef union T32ALU64CMD_par
{ UNSG32 u32;
struct w32ALU64CMD_par;
} T32ALU64CMD_par;
///////////////////////////////////////////////////////////
typedef union TALU64CMD_par
{ UNSG32 u32[1];
struct {
struct w32ALU64CMD_par;
};
} TALU64CMD_par;
///////////////////////////////////////////////////////////
SIGN32 ALU64CMD_drvrd(SIE_ALU64CMD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ALU64CMD_drvwr(SIE_ALU64CMD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ALU64CMD_reset(SIE_ALU64CMD *p);
SIGN32 ALU64CMD_cmp (SIE_ALU64CMD *p, SIE_ALU64CMD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ALU64CMD_check(p,pie,pfx,hLOG) ALU64CMD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ALU64CMD_print(p, pfx,hLOG) ALU64CMD_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ALU64CMD
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE A64CmdAll (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 ext (P)
/// # 0x00000 ext
/// $ALU64CMD ext REG [256]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 1024B, bits: 5632b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_A64CmdAll
#define h_A64CmdAll (){}
#define RA_A64CmdAll_ext 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_A64CmdAll {
///////////////////////////////////////////////////////////
SIE_ALU64CMD ie_ext[256];
///////////////////////////////////////////////////////////
} SIE_A64CmdAll;
///////////////////////////////////////////////////////////
SIGN32 A64CmdAll_drvrd(SIE_A64CmdAll *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 A64CmdAll_drvwr(SIE_A64CmdAll *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void A64CmdAll_reset(SIE_A64CmdAll *p);
SIGN32 A64CmdAll_cmp (SIE_A64CmdAll *p, SIE_A64CmdAll *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define A64CmdAll_check(p,pie,pfx,hLOG) A64CmdAll_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define A64CmdAll_print(p, pfx,hLOG) A64CmdAll_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: A64CmdAll
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ALU64DAT (4,4)
/// ###
/// * 64-bit return data from ALU64 extensions
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 low (R-)
/// %unsigned 32 val
/// ###
/// * Lower 32-bit of the ALU64 return value; read triggers ALU64 extension pop
/// ###
/// @ 0x00004 high (R-)
/// %unsigned 32 val
/// ###
/// * Higher 32-bit of the ALU64 return value
/// * end ALU64DAT
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ALU64DAT
#define h_ALU64DAT (){}
#define RA_ALU64DAT_low 0x0000
#define BA_ALU64DAT_low_val 0x0000
#define B16ALU64DAT_low_val 0x0000
#define LSb32ALU64DAT_low_val 0
#define LSb16ALU64DAT_low_val 0
#define bALU64DAT_low_val 32
#define MSK32ALU64DAT_low_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_ALU64DAT_high 0x0004
#define BA_ALU64DAT_high_val 0x0004
#define B16ALU64DAT_high_val 0x0004
#define LSb32ALU64DAT_high_val 0
#define LSb16ALU64DAT_high_val 0
#define bALU64DAT_high_val 32
#define MSK32ALU64DAT_high_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_ALU64DAT {
///////////////////////////////////////////////////////////
#define GET32ALU64DAT_low_val(r32) _BFGET_(r32,31, 0)
#define SET32ALU64DAT_low_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32ALU64DAT_low {\
UNSG32 ulow_val : 32;\
}
union { UNSG32 u32ALU64DAT_low;
struct w32ALU64DAT_low;
};
///////////////////////////////////////////////////////////
#define GET32ALU64DAT_high_val(r32) _BFGET_(r32,31, 0)
#define SET32ALU64DAT_high_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32ALU64DAT_high {\
UNSG32 uhigh_val : 32;\
}
union { UNSG32 u32ALU64DAT_high;
struct w32ALU64DAT_high;
};
///////////////////////////////////////////////////////////
} SIE_ALU64DAT;
typedef union T32ALU64DAT_low
{ UNSG32 u32;
struct w32ALU64DAT_low;
} T32ALU64DAT_low;
typedef union T32ALU64DAT_high
{ UNSG32 u32;
struct w32ALU64DAT_high;
} T32ALU64DAT_high;
///////////////////////////////////////////////////////////
typedef union TALU64DAT_low
{ UNSG32 u32[1];
struct {
struct w32ALU64DAT_low;
};
} TALU64DAT_low;
typedef union TALU64DAT_high
{ UNSG32 u32[1];
struct {
struct w32ALU64DAT_high;
};
} TALU64DAT_high;
///////////////////////////////////////////////////////////
SIGN32 ALU64DAT_drvrd(SIE_ALU64DAT *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ALU64DAT_drvwr(SIE_ALU64DAT *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ALU64DAT_reset(SIE_ALU64DAT *p);
SIGN32 ALU64DAT_cmp (SIE_ALU64DAT *p, SIE_ALU64DAT *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ALU64DAT_check(p,pie,pfx,hLOG) ALU64DAT_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ALU64DAT_print(p, pfx,hLOG) ALU64DAT_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ALU64DAT
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE A64DatAll (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 ext (P)
/// # 0x00000 ext
/// $ALU64DAT ext REG [256]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 2048B, bits: 16384b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_A64DatAll
#define h_A64DatAll (){}
#define RA_A64DatAll_ext 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_A64DatAll {
///////////////////////////////////////////////////////////
SIE_ALU64DAT ie_ext[256];
///////////////////////////////////////////////////////////
} SIE_A64DatAll;
///////////////////////////////////////////////////////////
SIGN32 A64DatAll_drvrd(SIE_A64DatAll *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 A64DatAll_drvwr(SIE_A64DatAll *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void A64DatAll_reset(SIE_A64DatAll *p);
SIGN32 A64DatAll_cmp (SIE_A64DatAll *p, SIE_A64DatAll *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define A64DatAll_check(p,pie,pfx,hLOG) A64DatAll_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define A64DatAll_print(p, pfx,hLOG) A64DatAll_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: A64DatAll
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ALU64 biu (4,4)
/// ###
/// * Registers ports for CPU to access FIGO ALU64 extensions
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 xT_l (P)
/// %unsigned 32 val
/// ###
/// * Higher 32-bit of the FIGO xT register
/// ###
/// @ 0x00004 xT_h (P)
/// %unsigned 32 val
/// ###
/// * Lower 32-bit of the FIGO xT register
/// ###
/// @ 0x00008 X2Q (RW-)
/// %unsigned 6 adr
/// ###
/// * Write triggers a transfer from {xt_H, xt_L} to RF64 selected by the address
/// ###
/// %% 26 # Stuffing bits...
/// @ 0x0000C PopParam (P)
/// %unsigned 16 rS
/// ###
/// * rS register for A64LD
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00010 (W-)
/// # # Stuffing bytes...
/// %% 8064
/// @ 0x00400 Push (P)
/// # 0x00400 a64CmdAll
/// $A64CmdAll a64CmdAll MEM
/// ###
/// * Write triggers A64CMD
/// ###
/// @ 0x00800 Pop (P)
/// # 0x00800 a64DatAll
/// $A64DatAll a64DatAll MEM
/// ###
/// * Read triggers A64LD
/// * ALU64 interface
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4096B, bits: 150b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ALU64
#define h_ALU64 (){}
#define RA_ALU64_xT_l 0x0000
#define BA_ALU64_xT_l_val 0x0000
#define B16ALU64_xT_l_val 0x0000
#define LSb32ALU64_xT_l_val 0
#define LSb16ALU64_xT_l_val 0
#define bALU64_xT_l_val 32
#define MSK32ALU64_xT_l_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_ALU64_xT_h 0x0004
#define BA_ALU64_xT_h_val 0x0004
#define B16ALU64_xT_h_val 0x0004
#define LSb32ALU64_xT_h_val 0
#define LSb16ALU64_xT_h_val 0
#define bALU64_xT_h_val 32
#define MSK32ALU64_xT_h_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_ALU64_X2Q 0x0008
#define BA_ALU64_X2Q_adr 0x0008
#define B16ALU64_X2Q_adr 0x0008
#define LSb32ALU64_X2Q_adr 0
#define LSb16ALU64_X2Q_adr 0
#define bALU64_X2Q_adr 6
#define MSK32ALU64_X2Q_adr 0x0000003F
///////////////////////////////////////////////////////////
#define RA_ALU64_PopParam 0x000C
#define BA_ALU64_PopParam_rS 0x000C
#define B16ALU64_PopParam_rS 0x000C
#define LSb32ALU64_PopParam_rS 0
#define LSb16ALU64_PopParam_rS 0
#define bALU64_PopParam_rS 16
#define MSK32ALU64_PopParam_rS 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_ALU64_Push 0x0400
#define RA_ALU64_a64CmdAll 0x0400
///////////////////////////////////////////////////////////
#define RA_ALU64_Pop 0x0800
#define RA_ALU64_a64DatAll 0x0800
///////////////////////////////////////////////////////////
typedef struct SIE_ALU64 {
///////////////////////////////////////////////////////////
#define GET32ALU64_xT_l_val(r32) _BFGET_(r32,31, 0)
#define SET32ALU64_xT_l_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32ALU64_xT_l {\
UNSG32 uxT_l_val : 32;\
}
union { UNSG32 u32ALU64_xT_l;
struct w32ALU64_xT_l;
};
///////////////////////////////////////////////////////////
#define GET32ALU64_xT_h_val(r32) _BFGET_(r32,31, 0)
#define SET32ALU64_xT_h_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32ALU64_xT_h {\
UNSG32 uxT_h_val : 32;\
}
union { UNSG32 u32ALU64_xT_h;
struct w32ALU64_xT_h;
};
///////////////////////////////////////////////////////////
#define GET32ALU64_X2Q_adr(r32) _BFGET_(r32, 5, 0)
#define SET32ALU64_X2Q_adr(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16ALU64_X2Q_adr(r16) _BFGET_(r16, 5, 0)
#define SET16ALU64_X2Q_adr(r16,v) _BFSET_(r16, 5, 0,v)
#define w32ALU64_X2Q {\
UNSG32 uX2Q_adr : 6;\
UNSG32 RSVDx8_b6 : 26;\
}
union { UNSG32 u32ALU64_X2Q;
struct w32ALU64_X2Q;
};
///////////////////////////////////////////////////////////
#define GET32ALU64_PopParam_rS(r32) _BFGET_(r32,15, 0)
#define SET32ALU64_PopParam_rS(r32,v) _BFSET_(r32,15, 0,v)
#define GET16ALU64_PopParam_rS(r16) _BFGET_(r16,15, 0)
#define SET16ALU64_PopParam_rS(r16,v) _BFSET_(r16,15, 0,v)
#define w32ALU64_PopParam {\
UNSG32 uPopParam_rS : 16;\
UNSG32 RSVDxC_b16 : 16;\
}
union { UNSG32 u32ALU64_PopParam;
struct w32ALU64_PopParam;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx10 [1008];
///////////////////////////////////////////////////////////
SIE_A64CmdAll ie_a64CmdAll;
///////////////////////////////////////////////////////////
SIE_A64DatAll ie_a64DatAll;
///////////////////////////////////////////////////////////
} SIE_ALU64;
typedef union T32ALU64_xT_l
{ UNSG32 u32;
struct w32ALU64_xT_l;
} T32ALU64_xT_l;
typedef union T32ALU64_xT_h
{ UNSG32 u32;
struct w32ALU64_xT_h;
} T32ALU64_xT_h;
typedef union T32ALU64_X2Q
{ UNSG32 u32;
struct w32ALU64_X2Q;
} T32ALU64_X2Q;
typedef union T32ALU64_PopParam
{ UNSG32 u32;
struct w32ALU64_PopParam;
} T32ALU64_PopParam;
///////////////////////////////////////////////////////////
typedef union TALU64_xT_l
{ UNSG32 u32[1];
struct {
struct w32ALU64_xT_l;
};
} TALU64_xT_l;
typedef union TALU64_xT_h
{ UNSG32 u32[1];
struct {
struct w32ALU64_xT_h;
};
} TALU64_xT_h;
typedef union TALU64_X2Q
{ UNSG32 u32[1];
struct {
struct w32ALU64_X2Q;
};
} TALU64_X2Q;
typedef union TALU64_PopParam
{ UNSG32 u32[1];
struct {
struct w32ALU64_PopParam;
};
} TALU64_PopParam;
///////////////////////////////////////////////////////////
SIGN32 ALU64_drvrd(SIE_ALU64 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ALU64_drvwr(SIE_ALU64 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ALU64_reset(SIE_ALU64 *p);
SIGN32 ALU64_cmp (SIE_ALU64 *p, SIE_ALU64 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ALU64_check(p,pie,pfx,hLOG) ALU64_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ALU64_print(p, pfx,hLOG) ALU64_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ALU64
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoTraceBuf biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 entry (P)
/// %unsigned 32 val
/// ###
/// * Register window for the trace buffer
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoTraceBuf
#define h_FigoTraceBuf (){}
#define RA_FigoTraceBuf_entry 0x0000
#define BA_FigoTraceBuf_entry_val 0x0000
#define B16FigoTraceBuf_entry_val 0x0000
#define LSb32FigoTraceBuf_entry_val 0
#define LSb16FigoTraceBuf_entry_val 0
#define bFigoTraceBuf_entry_val 32
#define MSK32FigoTraceBuf_entry_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoTraceBuf {
///////////////////////////////////////////////////////////
#define GET32FigoTraceBuf_entry_val(r32) _BFGET_(r32,31, 0)
#define SET32FigoTraceBuf_entry_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32FigoTraceBuf_entry {\
UNSG32 uentry_val : 32;\
}
union { UNSG32 u32FigoTraceBuf_entry;
struct w32FigoTraceBuf_entry;
};
///////////////////////////////////////////////////////////
} SIE_FigoTraceBuf;
typedef union T32FigoTraceBuf_entry
{ UNSG32 u32;
struct w32FigoTraceBuf_entry;
} T32FigoTraceBuf_entry;
///////////////////////////////////////////////////////////
typedef union TFigoTraceBuf_entry
{ UNSG32 u32[1];
struct {
struct w32FigoTraceBuf_entry;
};
} TFigoTraceBuf_entry;
///////////////////////////////////////////////////////////
SIGN32 FigoTraceBuf_drvrd(SIE_FigoTraceBuf *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoTraceBuf_drvwr(SIE_FigoTraceBuf *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoTraceBuf_reset(SIE_FigoTraceBuf *p);
SIGN32 FigoTraceBuf_cmp (SIE_FigoTraceBuf *p, SIE_FigoTraceBuf *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoTraceBuf_check(p,pie,pfx,hLOG) FigoTraceBuf_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoTraceBuf_print(p, pfx,hLOG) FigoTraceBuf_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoTraceBuf
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoReg16 biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 entry (P)
/// %unsigned 16 val
/// ###
/// * Register window for the trace buffer
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoReg16
#define h_FigoReg16 (){}
#define RA_FigoReg16_entry 0x0000
#define BA_FigoReg16_entry_val 0x0000
#define B16FigoReg16_entry_val 0x0000
#define LSb32FigoReg16_entry_val 0
#define LSb16FigoReg16_entry_val 0
#define bFigoReg16_entry_val 16
#define MSK32FigoReg16_entry_val 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoReg16 {
///////////////////////////////////////////////////////////
#define GET32FigoReg16_entry_val(r32) _BFGET_(r32,15, 0)
#define SET32FigoReg16_entry_val(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoReg16_entry_val(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg16_entry_val(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoReg16_entry {\
UNSG32 uentry_val : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32FigoReg16_entry;
struct w32FigoReg16_entry;
};
///////////////////////////////////////////////////////////
} SIE_FigoReg16;
typedef union T32FigoReg16_entry
{ UNSG32 u32;
struct w32FigoReg16_entry;
} T32FigoReg16_entry;
///////////////////////////////////////////////////////////
typedef union TFigoReg16_entry
{ UNSG32 u32[1];
struct {
struct w32FigoReg16_entry;
};
} TFigoReg16_entry;
///////////////////////////////////////////////////////////
SIGN32 FigoReg16_drvrd(SIE_FigoReg16 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoReg16_drvwr(SIE_FigoReg16 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoReg16_reset(SIE_FigoReg16 *p);
SIGN32 FigoReg16_cmp (SIE_FigoReg16 *p, SIE_FigoReg16 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoReg16_check(p,pie,pfx,hLOG) FigoReg16_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoReg16_print(p, pfx,hLOG) FigoReg16_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoReg16
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoRF16Reg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 entry (RW)
/// %unsigned 16 val 0x0
/// ###
/// * Register window for the RF16 access in debug mode
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoRF16Reg
#define h_FigoRF16Reg (){}
#define RA_FigoRF16Reg_entry 0x0000
#define BA_FigoRF16Reg_entry_val 0x0000
#define B16FigoRF16Reg_entry_val 0x0000
#define LSb32FigoRF16Reg_entry_val 0
#define LSb16FigoRF16Reg_entry_val 0
#define bFigoRF16Reg_entry_val 16
#define MSK32FigoRF16Reg_entry_val 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoRF16Reg {
///////////////////////////////////////////////////////////
#define GET32FigoRF16Reg_entry_val(r32) _BFGET_(r32,15, 0)
#define SET32FigoRF16Reg_entry_val(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoRF16Reg_entry_val(r16) _BFGET_(r16,15, 0)
#define SET16FigoRF16Reg_entry_val(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoRF16Reg_entry {\
UNSG32 uentry_val : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32FigoRF16Reg_entry;
struct w32FigoRF16Reg_entry;
};
///////////////////////////////////////////////////////////
} SIE_FigoRF16Reg;
typedef union T32FigoRF16Reg_entry
{ UNSG32 u32;
struct w32FigoRF16Reg_entry;
} T32FigoRF16Reg_entry;
///////////////////////////////////////////////////////////
typedef union TFigoRF16Reg_entry
{ UNSG32 u32[1];
struct {
struct w32FigoRF16Reg_entry;
};
} TFigoRF16Reg_entry;
///////////////////////////////////////////////////////////
SIGN32 FigoRF16Reg_drvrd(SIE_FigoRF16Reg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoRF16Reg_drvwr(SIE_FigoRF16Reg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoRF16Reg_reset(SIE_FigoRF16Reg *p);
SIGN32 FigoRF16Reg_cmp (SIE_FigoRF16Reg *p, SIE_FigoRF16Reg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoRF16Reg_check(p,pie,pfx,hLOG) FigoRF16Reg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoRF16Reg_print(p, pfx,hLOG) FigoRF16Reg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoRF16Reg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoMem16 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 entry (RW-)
/// %unsigned 16 val
/// ###
/// * Register window for the Jump Stack access in debug mode
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoMem16
#define h_FigoMem16 (){}
#define RA_FigoMem16_entry 0x0000
#define BA_FigoMem16_entry_val 0x0000
#define B16FigoMem16_entry_val 0x0000
#define LSb32FigoMem16_entry_val 0
#define LSb16FigoMem16_entry_val 0
#define bFigoMem16_entry_val 16
#define MSK32FigoMem16_entry_val 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoMem16 {
///////////////////////////////////////////////////////////
#define GET32FigoMem16_entry_val(r32) _BFGET_(r32,15, 0)
#define SET32FigoMem16_entry_val(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoMem16_entry_val(r16) _BFGET_(r16,15, 0)
#define SET16FigoMem16_entry_val(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoMem16_entry {\
UNSG32 uentry_val : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32FigoMem16_entry;
struct w32FigoMem16_entry;
};
///////////////////////////////////////////////////////////
} SIE_FigoMem16;
typedef union T32FigoMem16_entry
{ UNSG32 u32;
struct w32FigoMem16_entry;
} T32FigoMem16_entry;
///////////////////////////////////////////////////////////
typedef union TFigoMem16_entry
{ UNSG32 u32[1];
struct {
struct w32FigoMem16_entry;
};
} TFigoMem16_entry;
///////////////////////////////////////////////////////////
SIGN32 FigoMem16_drvrd(SIE_FigoMem16 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoMem16_drvwr(SIE_FigoMem16 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoMem16_reset(SIE_FigoMem16 *p);
SIGN32 FigoMem16_cmp (SIE_FigoMem16 *p, SIE_FigoMem16 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoMem16_check(p,pie,pfx,hLOG) FigoMem16_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoMem16_print(p, pfx,hLOG) FigoMem16_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoMem16
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoMem32 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 entry (RW-)
/// %unsigned 32 val
/// ###
/// * Register window for the Jump Stack access in debug mode
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoMem32
#define h_FigoMem32 (){}
#define RA_FigoMem32_entry 0x0000
#define BA_FigoMem32_entry_val 0x0000
#define B16FigoMem32_entry_val 0x0000
#define LSb32FigoMem32_entry_val 0
#define LSb16FigoMem32_entry_val 0
#define bFigoMem32_entry_val 32
#define MSK32FigoMem32_entry_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoMem32 {
///////////////////////////////////////////////////////////
#define GET32FigoMem32_entry_val(r32) _BFGET_(r32,31, 0)
#define SET32FigoMem32_entry_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32FigoMem32_entry {\
UNSG32 uentry_val : 32;\
}
union { UNSG32 u32FigoMem32_entry;
struct w32FigoMem32_entry;
};
///////////////////////////////////////////////////////////
} SIE_FigoMem32;
typedef union T32FigoMem32_entry
{ UNSG32 u32;
struct w32FigoMem32_entry;
} T32FigoMem32_entry;
///////////////////////////////////////////////////////////
typedef union TFigoMem32_entry
{ UNSG32 u32[1];
struct {
struct w32FigoMem32_entry;
};
} TFigoMem32_entry;
///////////////////////////////////////////////////////////
SIGN32 FigoMem32_drvrd(SIE_FigoMem32 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoMem32_drvwr(SIE_FigoMem32 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoMem32_reset(SIE_FigoMem32 *p);
SIGN32 FigoMem32_cmp (SIE_FigoMem32 *p, SIE_FigoMem32 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoMem32_check(p,pie,pfx,hLOG) FigoMem32_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoMem32_print(p, pfx,hLOG) FigoMem32_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoMem32
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoDebug biu (4,4)
/// ###
/// * FIGO debug mode related registers and signals
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 figoDbg (RW-)
/// ###
/// * Puts FIGO in debug mode
/// ###
/// %unsigned 1 on 0x0
/// %% 31 # Stuffing bits...
/// @ 0x00004 figoDbgMode (P)
/// ###
/// * Determines FIGO's behavior in debug mode
/// ###
/// %unsigned 2 mode 0x0
/// : stop 0x0
/// ###
/// * FIGO flushes and stalls its pipeline
/// ###
/// : step 0x1
/// ###
/// * FIGO executes one instruction at a time. Repeat to execute the next instruction.
/// ###
/// : slow_run 0x2
/// ###
/// * FIGO inserts sufficient bubbles between each instruction to bypass all forwarding logic
/// ###
/// : fast_run 0x3
/// ###
/// * FIGO resumes full-speed operation. Feature has been disabled due to timing impact.
/// ###
/// %% 30 # Stuffing bits...
/// @ 0x00008 figoDbgModeStatus (R-)
/// ###
/// * Similar to figoDbgMode, but read-only. Shows the actual status of FIGO, as it may be different from what is set in figoDbgMode.
/// ###
/// %unsigned 2 mode 0x0
/// : stop 0x0
/// : step 0x1
/// : slow_run 0x2
/// : fast_run 0x3
/// ###
/// * Same enumerations
/// ###
/// %% 30 # Stuffing bits...
/// @ 0x0000C figoDbgTrigInMask (P)
/// ###
/// * 4 mask bits for trigger-in signals from up to 4 other FIGOs hitting breakpoints.
/// ###
/// %unsigned 4 on 0xF
/// ###
/// * On by default, all trigger-ins are blocked.
/// ###
/// %% 28 # Stuffing bits...
/// @ 0x00010 (W-)
/// # # Stuffing bytes...
/// %% 384
/// @ 0x00040 figoDbgRF16 (RW-)
/// ###
/// * BIU access to RF16
/// ###
/// # 0x00040 rf16
/// $FigoMem16 rf16 MEM [16]
/// ###
/// * Register mapping
/// * x0 = {d0,c0,b0,a0} = MEM[3:0]
/// * x1 = {d1,c1,b1,a1} = MEM[7:4]
/// * x2 = {d2,c2,b2,a2} = MEM[11:8]
/// * x3 = {d3,c3,b3,a3} = MEM[15:12]
/// ###
/// @ 0x00080 figoDbgRB (RW-)
/// ###
/// * BIU access to RB register
/// ###
/// %unsigned 16 rb 0x0
/// %% 16 # Stuffing bits...
/// @ 0x00084 figoDbgPCAtFetch (R-)
/// ###
/// * BIU access to PC register at Fetch stage
/// ###
/// %unsigned 16 pc 0x0
/// %% 16 # Stuffing bits...
/// @ 0x00088 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00090 figoDbgJumpStack (RW-)
/// ###
/// * BIU access to jump stack
/// ###
/// # 0x00090 stack
/// $FigoMem32 stack MEM [4]
/// ###
/// * Register mapping
/// * MEM[0] = {branchPos[0],jumpDest[0]}
/// * MEM[1] = {branchPos[1],jumpDest[1]}
/// * MEM[2] = {branchPos[2],jumpDest[2]}
/// * MEM[3] = {branchPos[3],jumpDest[3]}
/// ###
/// @ 0x000A0 figoDbgStackDepth (R-)
/// ###
/// * BIU access to number of current jump stack entries
/// ###
/// %unsigned 5 depth 0x0
/// ###
/// * Values are one-hot. Following actual stack pointer implementation inside FIGO so that no additional logic is required.
/// * 00001 = 0 valid entries (stack empty)
/// * 00010 = 1 valid entry
/// * 00100 = 2 valid entries
/// * 01000 = 3 valid entries
/// * 10000 = 4 valid entries (stack full)
/// ###
/// %% 27 # Stuffing bits...
/// @ 0x000A4 figoDbgFlags (R-)
/// ###
/// * BIU access to flags register
/// ###
/// %unsigned 16 flags 0x0
/// ###
/// * flags[15:0] = {LSj, Lj, GSj, Gj, LS, L, GS, G, 1, 0, Cj, Zj, V, N, C, Z}
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x000A8 figoDbgBreak (WOC-)
/// ###
/// * Bit that indicates FIGO entered debug mode due to breakpoint
/// ###
/// %unsigned 1 up 0x0
/// ###
/// * Write one to clear
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x000AC figoDbgBkBitWen (P)
/// ###
/// * Enable bit to allow breakpoint bits to be written into ITCM by BIU.
/// ###
/// %unsigned 1 en 0x0
/// ###
/// * Additional enable bit to safeguard against accidentally writing ones into the breakpoint fields of the ITCM.
/// * Register window for the trace buffer
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x000B0 (W-)
/// # # Stuffing bytes...
/// %% 128
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 192B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoDebug
#define h_FigoDebug (){}
#define RA_FigoDebug_figoDbg 0x0000
#define BA_FigoDebug_figoDbg_on 0x0000
#define B16FigoDebug_figoDbg_on 0x0000
#define LSb32FigoDebug_figoDbg_on 0
#define LSb16FigoDebug_figoDbg_on 0
#define bFigoDebug_figoDbg_on 1
#define MSK32FigoDebug_figoDbg_on 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgMode 0x0004
#define BA_FigoDebug_figoDbgMode_mode 0x0004
#define B16FigoDebug_figoDbgMode_mode 0x0004
#define LSb32FigoDebug_figoDbgMode_mode 0
#define LSb16FigoDebug_figoDbgMode_mode 0
#define bFigoDebug_figoDbgMode_mode 2
#define MSK32FigoDebug_figoDbgMode_mode 0x00000003
#define FigoDebug_figoDbgMode_mode_stop 0x0
#define FigoDebug_figoDbgMode_mode_step 0x1
#define FigoDebug_figoDbgMode_mode_slow_run 0x2
#define FigoDebug_figoDbgMode_mode_fast_run 0x3
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgModeStatus 0x0008
#define BA_FigoDebug_figoDbgModeStatus_mode 0x0008
#define B16FigoDebug_figoDbgModeStatus_mode 0x0008
#define LSb32FigoDebug_figoDbgModeStatus_mode 0
#define LSb16FigoDebug_figoDbgModeStatus_mode 0
#define bFigoDebug_figoDbgModeStatus_mode 2
#define MSK32FigoDebug_figoDbgModeStatus_mode 0x00000003
#define FigoDebug_figoDbgModeStatus_mode_stop 0x0
#define FigoDebug_figoDbgModeStatus_mode_step 0x1
#define FigoDebug_figoDbgModeStatus_mode_slow_run 0x2
#define FigoDebug_figoDbgModeStatus_mode_fast_run 0x3
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgTrigInMask 0x000C
#define BA_FigoDebug_figoDbgTrigInMask_on 0x000C
#define B16FigoDebug_figoDbgTrigInMask_on 0x000C
#define LSb32FigoDebug_figoDbgTrigInMask_on 0
#define LSb16FigoDebug_figoDbgTrigInMask_on 0
#define bFigoDebug_figoDbgTrigInMask_on 4
#define MSK32FigoDebug_figoDbgTrigInMask_on 0x0000000F
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgRF16 0x0040
#define RA_FigoDebug_rf16 0x0040
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgRB 0x0080
#define BA_FigoDebug_figoDbgRB_rb 0x0080
#define B16FigoDebug_figoDbgRB_rb 0x0080
#define LSb32FigoDebug_figoDbgRB_rb 0
#define LSb16FigoDebug_figoDbgRB_rb 0
#define bFigoDebug_figoDbgRB_rb 16
#define MSK32FigoDebug_figoDbgRB_rb 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgPCAtFetch 0x0084
#define BA_FigoDebug_figoDbgPCAtFetch_pc 0x0084
#define B16FigoDebug_figoDbgPCAtFetch_pc 0x0084
#define LSb32FigoDebug_figoDbgPCAtFetch_pc 0
#define LSb16FigoDebug_figoDbgPCAtFetch_pc 0
#define bFigoDebug_figoDbgPCAtFetch_pc 16
#define MSK32FigoDebug_figoDbgPCAtFetch_pc 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgJumpStack 0x0090
#define RA_FigoDebug_stack 0x0090
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgStackDepth 0x00A0
#define BA_FigoDebug_figoDbgStackDepth_depth 0x00A0
#define B16FigoDebug_figoDbgStackDepth_depth 0x00A0
#define LSb32FigoDebug_figoDbgStackDepth_depth 0
#define LSb16FigoDebug_figoDbgStackDepth_depth 0
#define bFigoDebug_figoDbgStackDepth_depth 5
#define MSK32FigoDebug_figoDbgStackDepth_depth 0x0000001F
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgFlags 0x00A4
#define BA_FigoDebug_figoDbgFlags_flags 0x00A4
#define B16FigoDebug_figoDbgFlags_flags 0x00A4
#define LSb32FigoDebug_figoDbgFlags_flags 0
#define LSb16FigoDebug_figoDbgFlags_flags 0
#define bFigoDebug_figoDbgFlags_flags 16
#define MSK32FigoDebug_figoDbgFlags_flags 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgBreak 0x00A8
#define BA_FigoDebug_figoDbgBreak_up 0x00A8
#define B16FigoDebug_figoDbgBreak_up 0x00A8
#define LSb32FigoDebug_figoDbgBreak_up 0
#define LSb16FigoDebug_figoDbgBreak_up 0
#define bFigoDebug_figoDbgBreak_up 1
#define MSK32FigoDebug_figoDbgBreak_up 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgBkBitWen 0x00AC
#define BA_FigoDebug_figoDbgBkBitWen_en 0x00AC
#define B16FigoDebug_figoDbgBkBitWen_en 0x00AC
#define LSb32FigoDebug_figoDbgBkBitWen_en 0
#define LSb16FigoDebug_figoDbgBkBitWen_en 0
#define bFigoDebug_figoDbgBkBitWen_en 1
#define MSK32FigoDebug_figoDbgBkBitWen_en 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_FigoDebug {
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbg_on(r32) _BFGET_(r32, 0, 0)
#define SET32FigoDebug_figoDbg_on(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoDebug_figoDbg_on(r16) _BFGET_(r16, 0, 0)
#define SET16FigoDebug_figoDbg_on(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoDebug_figoDbg {\
UNSG32 ufigoDbg_on : 1;\
UNSG32 RSVDx0_b1 : 31;\
}
union { UNSG32 u32FigoDebug_figoDbg;
struct w32FigoDebug_figoDbg;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgMode_mode(r32) _BFGET_(r32, 1, 0)
#define SET32FigoDebug_figoDbgMode_mode(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16FigoDebug_figoDbgMode_mode(r16) _BFGET_(r16, 1, 0)
#define SET16FigoDebug_figoDbgMode_mode(r16,v) _BFSET_(r16, 1, 0,v)
#define w32FigoDebug_figoDbgMode {\
UNSG32 ufigoDbgMode_mode : 2;\
UNSG32 RSVDx4_b2 : 30;\
}
union { UNSG32 u32FigoDebug_figoDbgMode;
struct w32FigoDebug_figoDbgMode;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgModeStatus_mode(r32) _BFGET_(r32, 1, 0)
#define SET32FigoDebug_figoDbgModeStatus_mode(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16FigoDebug_figoDbgModeStatus_mode(r16) _BFGET_(r16, 1, 0)
#define SET16FigoDebug_figoDbgModeStatus_mode(r16,v) _BFSET_(r16, 1, 0,v)
#define w32FigoDebug_figoDbgModeStatus {\
UNSG32 ufigoDbgModeStatus_mode : 2;\
UNSG32 RSVDx8_b2 : 30;\
}
union { UNSG32 u32FigoDebug_figoDbgModeStatus;
struct w32FigoDebug_figoDbgModeStatus;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgTrigInMask_on(r32) _BFGET_(r32, 3, 0)
#define SET32FigoDebug_figoDbgTrigInMask_on(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16FigoDebug_figoDbgTrigInMask_on(r16) _BFGET_(r16, 3, 0)
#define SET16FigoDebug_figoDbgTrigInMask_on(r16,v) _BFSET_(r16, 3, 0,v)
#define w32FigoDebug_figoDbgTrigInMask {\
UNSG32 ufigoDbgTrigInMask_on : 4;\
UNSG32 RSVDxC_b4 : 28;\
}
union { UNSG32 u32FigoDebug_figoDbgTrigInMask;
struct w32FigoDebug_figoDbgTrigInMask;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx10 [48];
///////////////////////////////////////////////////////////
SIE_FigoMem16 ie_rf16[16];
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgRB_rb(r32) _BFGET_(r32,15, 0)
#define SET32FigoDebug_figoDbgRB_rb(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoDebug_figoDbgRB_rb(r16) _BFGET_(r16,15, 0)
#define SET16FigoDebug_figoDbgRB_rb(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoDebug_figoDbgRB {\
UNSG32 ufigoDbgRB_rb : 16;\
UNSG32 RSVDx80_b16 : 16;\
}
union { UNSG32 u32FigoDebug_figoDbgRB;
struct w32FigoDebug_figoDbgRB;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgPCAtFetch_pc(r32) _BFGET_(r32,15, 0)
#define SET32FigoDebug_figoDbgPCAtFetch_pc(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoDebug_figoDbgPCAtFetch_pc(r16) _BFGET_(r16,15, 0)
#define SET16FigoDebug_figoDbgPCAtFetch_pc(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoDebug_figoDbgPCAtFetch {\
UNSG32 ufigoDbgPCAtFetch_pc : 16;\
UNSG32 RSVDx84_b16 : 16;\
}
union { UNSG32 u32FigoDebug_figoDbgPCAtFetch;
struct w32FigoDebug_figoDbgPCAtFetch;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx88 [8];
///////////////////////////////////////////////////////////
SIE_FigoMem32 ie_stack[4];
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgStackDepth_depth(r32) _BFGET_(r32, 4, 0)
#define SET32FigoDebug_figoDbgStackDepth_depth(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16FigoDebug_figoDbgStackDepth_depth(r16) _BFGET_(r16, 4, 0)
#define SET16FigoDebug_figoDbgStackDepth_depth(r16,v) _BFSET_(r16, 4, 0,v)
#define w32FigoDebug_figoDbgStackDepth {\
UNSG32 ufigoDbgStackDepth_depth : 5;\
UNSG32 RSVDxA0_b5 : 27;\
}
union { UNSG32 u32FigoDebug_figoDbgStackDepth;
struct w32FigoDebug_figoDbgStackDepth;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgFlags_flags(r32) _BFGET_(r32,15, 0)
#define SET32FigoDebug_figoDbgFlags_flags(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoDebug_figoDbgFlags_flags(r16) _BFGET_(r16,15, 0)
#define SET16FigoDebug_figoDbgFlags_flags(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoDebug_figoDbgFlags {\
UNSG32 ufigoDbgFlags_flags : 16;\
UNSG32 RSVDxA4_b16 : 16;\
}
union { UNSG32 u32FigoDebug_figoDbgFlags;
struct w32FigoDebug_figoDbgFlags;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgBreak_up(r32) _BFGET_(r32, 0, 0)
#define SET32FigoDebug_figoDbgBreak_up(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoDebug_figoDbgBreak_up(r16) _BFGET_(r16, 0, 0)
#define SET16FigoDebug_figoDbgBreak_up(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoDebug_figoDbgBreak {\
UNSG32 ufigoDbgBreak_up : 1;\
UNSG32 RSVDxA8_b1 : 31;\
}
union { UNSG32 u32FigoDebug_figoDbgBreak;
struct w32FigoDebug_figoDbgBreak;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgBkBitWen_en(r32) _BFGET_(r32, 0, 0)
#define SET32FigoDebug_figoDbgBkBitWen_en(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoDebug_figoDbgBkBitWen_en(r16) _BFGET_(r16, 0, 0)
#define SET16FigoDebug_figoDbgBkBitWen_en(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoDebug_figoDbgBkBitWen {\
UNSG32 ufigoDbgBkBitWen_en : 1;\
UNSG32 RSVDxAC_b1 : 31;\
}
union { UNSG32 u32FigoDebug_figoDbgBkBitWen;
struct w32FigoDebug_figoDbgBkBitWen;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDxB0 [16];
///////////////////////////////////////////////////////////
} SIE_FigoDebug;
typedef union T32FigoDebug_figoDbg
{ UNSG32 u32;
struct w32FigoDebug_figoDbg;
} T32FigoDebug_figoDbg;
typedef union T32FigoDebug_figoDbgMode
{ UNSG32 u32;
struct w32FigoDebug_figoDbgMode;
} T32FigoDebug_figoDbgMode;
typedef union T32FigoDebug_figoDbgModeStatus
{ UNSG32 u32;
struct w32FigoDebug_figoDbgModeStatus;
} T32FigoDebug_figoDbgModeStatus;
typedef union T32FigoDebug_figoDbgTrigInMask
{ UNSG32 u32;
struct w32FigoDebug_figoDbgTrigInMask;
} T32FigoDebug_figoDbgTrigInMask;
typedef union T32FigoDebug_figoDbgRB
{ UNSG32 u32;
struct w32FigoDebug_figoDbgRB;
} T32FigoDebug_figoDbgRB;
typedef union T32FigoDebug_figoDbgPCAtFetch
{ UNSG32 u32;
struct w32FigoDebug_figoDbgPCAtFetch;
} T32FigoDebug_figoDbgPCAtFetch;
typedef union T32FigoDebug_figoDbgStackDepth
{ UNSG32 u32;
struct w32FigoDebug_figoDbgStackDepth;
} T32FigoDebug_figoDbgStackDepth;
typedef union T32FigoDebug_figoDbgFlags
{ UNSG32 u32;
struct w32FigoDebug_figoDbgFlags;
} T32FigoDebug_figoDbgFlags;
typedef union T32FigoDebug_figoDbgBreak
{ UNSG32 u32;
struct w32FigoDebug_figoDbgBreak;
} T32FigoDebug_figoDbgBreak;
typedef union T32FigoDebug_figoDbgBkBitWen
{ UNSG32 u32;
struct w32FigoDebug_figoDbgBkBitWen;
} T32FigoDebug_figoDbgBkBitWen;
///////////////////////////////////////////////////////////
typedef union TFigoDebug_figoDbg
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbg;
};
} TFigoDebug_figoDbg;
typedef union TFigoDebug_figoDbgMode
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgMode;
};
} TFigoDebug_figoDbgMode;
typedef union TFigoDebug_figoDbgModeStatus
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgModeStatus;
};
} TFigoDebug_figoDbgModeStatus;
typedef union TFigoDebug_figoDbgTrigInMask
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgTrigInMask;
};
} TFigoDebug_figoDbgTrigInMask;
typedef union TFigoDebug_figoDbgRB
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgRB;
};
} TFigoDebug_figoDbgRB;
typedef union TFigoDebug_figoDbgPCAtFetch
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgPCAtFetch;
};
} TFigoDebug_figoDbgPCAtFetch;
typedef union TFigoDebug_figoDbgStackDepth
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgStackDepth;
};
} TFigoDebug_figoDbgStackDepth;
typedef union TFigoDebug_figoDbgFlags
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgFlags;
};
} TFigoDebug_figoDbgFlags;
typedef union TFigoDebug_figoDbgBreak
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgBreak;
};
} TFigoDebug_figoDbgBreak;
typedef union TFigoDebug_figoDbgBkBitWen
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgBkBitWen;
};
} TFigoDebug_figoDbgBkBitWen;
///////////////////////////////////////////////////////////
SIGN32 FigoDebug_drvrd(SIE_FigoDebug *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoDebug_drvwr(SIE_FigoDebug *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoDebug_reset(SIE_FigoDebug *p);
SIGN32 FigoDebug_cmp (SIE_FigoDebug *p, SIE_FigoDebug *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoDebug_check(p,pie,pfx,hLOG) FigoDebug_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoDebug_print(p, pfx,hLOG) FigoDebug_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoDebug
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoReg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 figoCtrl (P)
/// %unsigned 16 pcStartLoc 0x0
/// %unsigned 1 tBufMode 0x0
/// : freeRun 0x0
/// ###
/// * Trace buffer operating as ring buffer
/// ###
/// : fifoMode 0x1
/// ###
/// * Trace buffer operating as FIFO; FIGO stalls when full
/// ###
/// %% 15 # Stuffing bits...
/// @ 0x00004 figoID (R-)
/// ###
/// * Processor ID, unique for each FIGO
/// ###
/// %unsigned 16 ID 0x0
/// ###
/// * Processor ID. Specified in FIGO baseline subsystem configuration file.
/// ###
/// %unsigned 16 REV 0x0
/// ###
/// * Revision ID. Hard-coded in FIGO core RTL.
/// ###
/// @ 0x00008 figoMaxAdr (P)
/// ###
/// * Max address for ITCM and DTCM, used to detect addr out-of-bound
/// ###
/// %unsigned 16 itcm 0xFFFF
/// %unsigned 16 dtcm 0xFFFF
/// @ 0x0000C figoFlags (WOC-)
/// ###
/// * Exception flags; FIGO halts when unmasked exception happens; write one to clear
/// ###
/// %unsigned 1 itcmAdrOOB 0x0
/// ###
/// * ITCM address > figoMaxAdr.itcm
/// ###
/// %unsigned 1 dtcmAdrOOB 0x0
/// ###
/// * DTCM address > figoMaxAdr.dtcm
/// ###
/// %unsigned 1 divideBy0 0x0
/// ###
/// * MDU divide by 0 detected
/// ###
/// %unsigned 1 traceBufFull 0x0
/// ###
/// * Trace buffer is full. Only valid when figoCtrl.tBufMode = fifoMode
/// ###
/// %unsigned 1 illegalIns 0x0
/// ###
/// * Illegal instruction detected at ID stage
/// ###
/// %unsigned 1 ALU64Overflow 0x0
/// ###
/// * One of the ALU64 extensions asserted a command push overflow.
/// ###
/// %unsigned 1 JTInvdPush 0x0
/// ###
/// * Detected a jump table push when it's already full.
/// ###
/// %% 25 # Stuffing bits...
/// @ 0x00010 figoFlagsMask (P)
/// ###
/// * Mask bits for FIGO exception flags. Does not block exception flags from asserting, instead, it prevents FIGO from halting when the masked exception occurs.
/// ###
/// %unsigned 1 itcmAdrOOBMask 0x0
/// %unsigned 1 dtcmAdrOOBMask 0x0
/// %unsigned 1 divideBy0Mask 0x0
/// %unsigned 1 traceBufFullMask 0x0
/// %unsigned 1 illegalInsMask 0x0
/// %unsigned 1 ALU64OverflowMask 0x0
/// %unsigned 1 JTInvdPushMask 0x0
/// %% 25 # Stuffing bits...
/// @ 0x00014 figoLastPC (R-)
/// ###
/// * Last PC value before exception occurred
/// ###
/// %unsigned 16 val 0x0
/// %% 16 # Stuffing bits...
/// @ 0x00018 figoCurrPC (R-)
/// # 0x00018 pc
/// $FigoReg16 pc MEM
/// ###
/// * Current PC value @ ID stage
/// ###
/// @ 0x0001C figoTraceBuf (RW-)
/// # 0x0001C tbuf
/// $FigoTraceBuf tbuf MEM
/// ###
/// * Register window for the trace buffer
/// ###
/// @ 0x00020 figoIntr (W-)
/// ###
/// * Special register for FIGO to raise interrupt to CPU via vPro semaphore; write to raise interrupt; no status
/// ###
/// %unsigned 1 up 0x0
/// %% 31 # Stuffing bits...
/// @ 0x00024 figoIntrLvl (WOC-)
/// ###
/// * Special register to record that interrupt has occurred; to be used as level interrupt; cleared by writing 1
/// ###
/// %unsigned 1 st 0x0
/// %% 31 # Stuffing bits...
/// @ 0x00028 figoRstn (RW-)
/// ###
/// * Special register to stop / reset FIGO execution; write 1 to release FIGO, write 0 to reset FIGO (sticky)
/// ###
/// %unsigned 1 up 0x0
/// %% 31 # Stuffing bits...
/// @ 0x0002C figoCnt (RW-)
/// ###
/// * Controls the FIGO counter behavior
/// ###
/// %unsigned 1 en 0x0
/// %% 31 # Stuffing bits...
/// @ 0x00030 figoCntClr (W-)
/// ###
/// * Clear FIGO counters; write 1 to clear specific counters
/// ###
/// %unsigned 1 run
/// %unsigned 1 stall
/// %% 30 # Stuffing bits...
/// @ 0x00034 figoRun (R-)
/// %unsigned 32 Cnt 0x0
/// @ 0x00038 figoStall (R-)
/// %unsigned 32 Cnt 0x0
/// @ 0x0003C (W-)
/// # # Stuffing bytes...
/// %% 15904
/// @ 0x00800 ALU64 (P)
/// # 0x00800 alu64
/// $ALU64 alu64 REG
/// ###
/// * ALU64 extensions access via AHB
/// ###
/// @ 0x01800 FIGODBG (P)
/// # 0x01800 debug
/// $FigoDebug debug REG
/// @ 0x018C0 wdCnt (P)
/// %unsigned 32 threshold 0xFFFF
/// ###
/// * When set to “0”, the watch dot timer will be disabled, it will not count and also won't trigger the overflow status.
/// ###
/// @ 0x018C4 wdClr (W-)
/// %unsigned 1 en
/// ###
/// * Write “1” to this register will clear the watchdog timer value to “0”.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x018C8 wdSt (WOC-)
/// %unsigned 1 overflow 0x0
/// ###
/// * Overflow will be set when the watchdog timer value >= wdCnt.threshold.
/// * Write “1” to this register will clear the status to 0.
/// * Debug mode related registers
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x018CC (W-)
/// # # Stuffing bytes...
/// %% 14752
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8192B, bits: 557b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoReg
#define h_FigoReg (){}
#define RA_FigoReg_figoCtrl 0x0000
#define BA_FigoReg_figoCtrl_pcStartLoc 0x0000
#define B16FigoReg_figoCtrl_pcStartLoc 0x0000
#define LSb32FigoReg_figoCtrl_pcStartLoc 0
#define LSb16FigoReg_figoCtrl_pcStartLoc 0
#define bFigoReg_figoCtrl_pcStartLoc 16
#define MSK32FigoReg_figoCtrl_pcStartLoc 0x0000FFFF
#define BA_FigoReg_figoCtrl_tBufMode 0x0002
#define B16FigoReg_figoCtrl_tBufMode 0x0002
#define LSb32FigoReg_figoCtrl_tBufMode 16
#define LSb16FigoReg_figoCtrl_tBufMode 0
#define bFigoReg_figoCtrl_tBufMode 1
#define MSK32FigoReg_figoCtrl_tBufMode 0x00010000
#define FigoReg_figoCtrl_tBufMode_freeRun 0x0
#define FigoReg_figoCtrl_tBufMode_fifoMode 0x1
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoID 0x0004
#define BA_FigoReg_figoID_ID 0x0004
#define B16FigoReg_figoID_ID 0x0004
#define LSb32FigoReg_figoID_ID 0
#define LSb16FigoReg_figoID_ID 0
#define bFigoReg_figoID_ID 16
#define MSK32FigoReg_figoID_ID 0x0000FFFF
#define BA_FigoReg_figoID_REV 0x0006
#define B16FigoReg_figoID_REV 0x0006
#define LSb32FigoReg_figoID_REV 16
#define LSb16FigoReg_figoID_REV 0
#define bFigoReg_figoID_REV 16
#define MSK32FigoReg_figoID_REV 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoMaxAdr 0x0008
#define BA_FigoReg_figoMaxAdr_itcm 0x0008
#define B16FigoReg_figoMaxAdr_itcm 0x0008
#define LSb32FigoReg_figoMaxAdr_itcm 0
#define LSb16FigoReg_figoMaxAdr_itcm 0
#define bFigoReg_figoMaxAdr_itcm 16
#define MSK32FigoReg_figoMaxAdr_itcm 0x0000FFFF
#define BA_FigoReg_figoMaxAdr_dtcm 0x000A
#define B16FigoReg_figoMaxAdr_dtcm 0x000A
#define LSb32FigoReg_figoMaxAdr_dtcm 16
#define LSb16FigoReg_figoMaxAdr_dtcm 0
#define bFigoReg_figoMaxAdr_dtcm 16
#define MSK32FigoReg_figoMaxAdr_dtcm 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoFlags 0x000C
#define BA_FigoReg_figoFlags_itcmAdrOOB 0x000C
#define B16FigoReg_figoFlags_itcmAdrOOB 0x000C
#define LSb32FigoReg_figoFlags_itcmAdrOOB 0
#define LSb16FigoReg_figoFlags_itcmAdrOOB 0
#define bFigoReg_figoFlags_itcmAdrOOB 1
#define MSK32FigoReg_figoFlags_itcmAdrOOB 0x00000001
#define BA_FigoReg_figoFlags_dtcmAdrOOB 0x000C
#define B16FigoReg_figoFlags_dtcmAdrOOB 0x000C
#define LSb32FigoReg_figoFlags_dtcmAdrOOB 1
#define LSb16FigoReg_figoFlags_dtcmAdrOOB 1
#define bFigoReg_figoFlags_dtcmAdrOOB 1
#define MSK32FigoReg_figoFlags_dtcmAdrOOB 0x00000002
#define BA_FigoReg_figoFlags_divideBy0 0x000C
#define B16FigoReg_figoFlags_divideBy0 0x000C
#define LSb32FigoReg_figoFlags_divideBy0 2
#define LSb16FigoReg_figoFlags_divideBy0 2
#define bFigoReg_figoFlags_divideBy0 1
#define MSK32FigoReg_figoFlags_divideBy0 0x00000004
#define BA_FigoReg_figoFlags_traceBufFull 0x000C
#define B16FigoReg_figoFlags_traceBufFull 0x000C
#define LSb32FigoReg_figoFlags_traceBufFull 3
#define LSb16FigoReg_figoFlags_traceBufFull 3
#define bFigoReg_figoFlags_traceBufFull 1
#define MSK32FigoReg_figoFlags_traceBufFull 0x00000008
#define BA_FigoReg_figoFlags_illegalIns 0x000C
#define B16FigoReg_figoFlags_illegalIns 0x000C
#define LSb32FigoReg_figoFlags_illegalIns 4
#define LSb16FigoReg_figoFlags_illegalIns 4
#define bFigoReg_figoFlags_illegalIns 1
#define MSK32FigoReg_figoFlags_illegalIns 0x00000010
#define BA_FigoReg_figoFlags_ALU64Overflow 0x000C
#define B16FigoReg_figoFlags_ALU64Overflow 0x000C
#define LSb32FigoReg_figoFlags_ALU64Overflow 5
#define LSb16FigoReg_figoFlags_ALU64Overflow 5
#define bFigoReg_figoFlags_ALU64Overflow 1
#define MSK32FigoReg_figoFlags_ALU64Overflow 0x00000020
#define BA_FigoReg_figoFlags_JTInvdPush 0x000C
#define B16FigoReg_figoFlags_JTInvdPush 0x000C
#define LSb32FigoReg_figoFlags_JTInvdPush 6
#define LSb16FigoReg_figoFlags_JTInvdPush 6
#define bFigoReg_figoFlags_JTInvdPush 1
#define MSK32FigoReg_figoFlags_JTInvdPush 0x00000040
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoFlagsMask 0x0010
#define BA_FigoReg_figoFlagsMask_itcmAdrOOBMask 0x0010
#define B16FigoReg_figoFlagsMask_itcmAdrOOBMask 0x0010
#define LSb32FigoReg_figoFlagsMask_itcmAdrOOBMask 0
#define LSb16FigoReg_figoFlagsMask_itcmAdrOOBMask 0
#define bFigoReg_figoFlagsMask_itcmAdrOOBMask 1
#define MSK32FigoReg_figoFlagsMask_itcmAdrOOBMask 0x00000001
#define BA_FigoReg_figoFlagsMask_dtcmAdrOOBMask 0x0010
#define B16FigoReg_figoFlagsMask_dtcmAdrOOBMask 0x0010
#define LSb32FigoReg_figoFlagsMask_dtcmAdrOOBMask 1
#define LSb16FigoReg_figoFlagsMask_dtcmAdrOOBMask 1
#define bFigoReg_figoFlagsMask_dtcmAdrOOBMask 1
#define MSK32FigoReg_figoFlagsMask_dtcmAdrOOBMask 0x00000002
#define BA_FigoReg_figoFlagsMask_divideBy0Mask 0x0010
#define B16FigoReg_figoFlagsMask_divideBy0Mask 0x0010
#define LSb32FigoReg_figoFlagsMask_divideBy0Mask 2
#define LSb16FigoReg_figoFlagsMask_divideBy0Mask 2
#define bFigoReg_figoFlagsMask_divideBy0Mask 1
#define MSK32FigoReg_figoFlagsMask_divideBy0Mask 0x00000004
#define BA_FigoReg_figoFlagsMask_traceBufFullMask 0x0010
#define B16FigoReg_figoFlagsMask_traceBufFullMask 0x0010
#define LSb32FigoReg_figoFlagsMask_traceBufFullMask 3
#define LSb16FigoReg_figoFlagsMask_traceBufFullMask 3
#define bFigoReg_figoFlagsMask_traceBufFullMask 1
#define MSK32FigoReg_figoFlagsMask_traceBufFullMask 0x00000008
#define BA_FigoReg_figoFlagsMask_illegalInsMask 0x0010
#define B16FigoReg_figoFlagsMask_illegalInsMask 0x0010
#define LSb32FigoReg_figoFlagsMask_illegalInsMask 4
#define LSb16FigoReg_figoFlagsMask_illegalInsMask 4
#define bFigoReg_figoFlagsMask_illegalInsMask 1
#define MSK32FigoReg_figoFlagsMask_illegalInsMask 0x00000010
#define BA_FigoReg_figoFlagsMask_ALU64OverflowMask 0x0010
#define B16FigoReg_figoFlagsMask_ALU64OverflowMask 0x0010
#define LSb32FigoReg_figoFlagsMask_ALU64OverflowMask 5
#define LSb16FigoReg_figoFlagsMask_ALU64OverflowMask 5
#define bFigoReg_figoFlagsMask_ALU64OverflowMask 1
#define MSK32FigoReg_figoFlagsMask_ALU64OverflowMask 0x00000020
#define BA_FigoReg_figoFlagsMask_JTInvdPushMask 0x0010
#define B16FigoReg_figoFlagsMask_JTInvdPushMask 0x0010
#define LSb32FigoReg_figoFlagsMask_JTInvdPushMask 6
#define LSb16FigoReg_figoFlagsMask_JTInvdPushMask 6
#define bFigoReg_figoFlagsMask_JTInvdPushMask 1
#define MSK32FigoReg_figoFlagsMask_JTInvdPushMask 0x00000040
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoLastPC 0x0014
#define BA_FigoReg_figoLastPC_val 0x0014
#define B16FigoReg_figoLastPC_val 0x0014
#define LSb32FigoReg_figoLastPC_val 0
#define LSb16FigoReg_figoLastPC_val 0
#define bFigoReg_figoLastPC_val 16
#define MSK32FigoReg_figoLastPC_val 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoCurrPC 0x0018
#define RA_FigoReg_pc 0x0018
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoTraceBuf 0x001C
#define RA_FigoReg_tbuf 0x001C
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoIntr 0x0020
#define BA_FigoReg_figoIntr_up 0x0020
#define B16FigoReg_figoIntr_up 0x0020
#define LSb32FigoReg_figoIntr_up 0
#define LSb16FigoReg_figoIntr_up 0
#define bFigoReg_figoIntr_up 1
#define MSK32FigoReg_figoIntr_up 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoIntrLvl 0x0024
#define BA_FigoReg_figoIntrLvl_st 0x0024
#define B16FigoReg_figoIntrLvl_st 0x0024
#define LSb32FigoReg_figoIntrLvl_st 0
#define LSb16FigoReg_figoIntrLvl_st 0
#define bFigoReg_figoIntrLvl_st 1
#define MSK32FigoReg_figoIntrLvl_st 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoRstn 0x0028
#define BA_FigoReg_figoRstn_up 0x0028
#define B16FigoReg_figoRstn_up 0x0028
#define LSb32FigoReg_figoRstn_up 0
#define LSb16FigoReg_figoRstn_up 0
#define bFigoReg_figoRstn_up 1
#define MSK32FigoReg_figoRstn_up 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoCnt 0x002C
#define BA_FigoReg_figoCnt_en 0x002C
#define B16FigoReg_figoCnt_en 0x002C
#define LSb32FigoReg_figoCnt_en 0
#define LSb16FigoReg_figoCnt_en 0
#define bFigoReg_figoCnt_en 1
#define MSK32FigoReg_figoCnt_en 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoCntClr 0x0030
#define BA_FigoReg_figoCntClr_run 0x0030
#define B16FigoReg_figoCntClr_run 0x0030
#define LSb32FigoReg_figoCntClr_run 0
#define LSb16FigoReg_figoCntClr_run 0
#define bFigoReg_figoCntClr_run 1
#define MSK32FigoReg_figoCntClr_run 0x00000001
#define BA_FigoReg_figoCntClr_stall 0x0030
#define B16FigoReg_figoCntClr_stall 0x0030
#define LSb32FigoReg_figoCntClr_stall 1
#define LSb16FigoReg_figoCntClr_stall 1
#define bFigoReg_figoCntClr_stall 1
#define MSK32FigoReg_figoCntClr_stall 0x00000002
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoRun 0x0034
#define BA_FigoReg_figoRun_Cnt 0x0034
#define B16FigoReg_figoRun_Cnt 0x0034
#define LSb32FigoReg_figoRun_Cnt 0
#define LSb16FigoReg_figoRun_Cnt 0
#define bFigoReg_figoRun_Cnt 32
#define MSK32FigoReg_figoRun_Cnt 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoStall 0x0038
#define BA_FigoReg_figoStall_Cnt 0x0038
#define B16FigoReg_figoStall_Cnt 0x0038
#define LSb32FigoReg_figoStall_Cnt 0
#define LSb16FigoReg_figoStall_Cnt 0
#define bFigoReg_figoStall_Cnt 32
#define MSK32FigoReg_figoStall_Cnt 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_FigoReg_ALU64 0x0800
#define RA_FigoReg_alu64 0x0800
///////////////////////////////////////////////////////////
#define RA_FigoReg_FIGODBG 0x1800
#define RA_FigoReg_debug 0x1800
///////////////////////////////////////////////////////////
#define RA_FigoReg_wdCnt 0x18C0
#define BA_FigoReg_wdCnt_threshold 0x18C0
#define B16FigoReg_wdCnt_threshold 0x18C0
#define LSb32FigoReg_wdCnt_threshold 0
#define LSb16FigoReg_wdCnt_threshold 0
#define bFigoReg_wdCnt_threshold 32
#define MSK32FigoReg_wdCnt_threshold 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_FigoReg_wdClr 0x18C4
#define BA_FigoReg_wdClr_en 0x18C4
#define B16FigoReg_wdClr_en 0x18C4
#define LSb32FigoReg_wdClr_en 0
#define LSb16FigoReg_wdClr_en 0
#define bFigoReg_wdClr_en 1
#define MSK32FigoReg_wdClr_en 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoReg_wdSt 0x18C8
#define BA_FigoReg_wdSt_overflow 0x18C8
#define B16FigoReg_wdSt_overflow 0x18C8
#define LSb32FigoReg_wdSt_overflow 0
#define LSb16FigoReg_wdSt_overflow 0
#define bFigoReg_wdSt_overflow 1
#define MSK32FigoReg_wdSt_overflow 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_FigoReg {
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoCtrl_pcStartLoc(r32) _BFGET_(r32,15, 0)
#define SET32FigoReg_figoCtrl_pcStartLoc(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoReg_figoCtrl_pcStartLoc(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg_figoCtrl_pcStartLoc(r16,v) _BFSET_(r16,15, 0,v)
#define GET32FigoReg_figoCtrl_tBufMode(r32) _BFGET_(r32,16,16)
#define SET32FigoReg_figoCtrl_tBufMode(r32,v) _BFSET_(r32,16,16,v)
#define GET16FigoReg_figoCtrl_tBufMode(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoCtrl_tBufMode(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoReg_figoCtrl {\
UNSG32 ufigoCtrl_pcStartLoc : 16;\
UNSG32 ufigoCtrl_tBufMode : 1;\
UNSG32 RSVDx0_b17 : 15;\
}
union { UNSG32 u32FigoReg_figoCtrl;
struct w32FigoReg_figoCtrl;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoID_ID(r32) _BFGET_(r32,15, 0)
#define SET32FigoReg_figoID_ID(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoReg_figoID_ID(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg_figoID_ID(r16,v) _BFSET_(r16,15, 0,v)
#define GET32FigoReg_figoID_REV(r32) _BFGET_(r32,31,16)
#define SET32FigoReg_figoID_REV(r32,v) _BFSET_(r32,31,16,v)
#define GET16FigoReg_figoID_REV(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg_figoID_REV(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoReg_figoID {\
UNSG32 ufigoID_ID : 16;\
UNSG32 ufigoID_REV : 16;\
}
union { UNSG32 u32FigoReg_figoID;
struct w32FigoReg_figoID;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoMaxAdr_itcm(r32) _BFGET_(r32,15, 0)
#define SET32FigoReg_figoMaxAdr_itcm(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoReg_figoMaxAdr_itcm(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg_figoMaxAdr_itcm(r16,v) _BFSET_(r16,15, 0,v)
#define GET32FigoReg_figoMaxAdr_dtcm(r32) _BFGET_(r32,31,16)
#define SET32FigoReg_figoMaxAdr_dtcm(r32,v) _BFSET_(r32,31,16,v)
#define GET16FigoReg_figoMaxAdr_dtcm(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg_figoMaxAdr_dtcm(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoReg_figoMaxAdr {\
UNSG32 ufigoMaxAdr_itcm : 16;\
UNSG32 ufigoMaxAdr_dtcm : 16;\
}
union { UNSG32 u32FigoReg_figoMaxAdr;
struct w32FigoReg_figoMaxAdr;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoFlags_itcmAdrOOB(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoFlags_itcmAdrOOB(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoFlags_itcmAdrOOB(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoFlags_itcmAdrOOB(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FigoReg_figoFlags_dtcmAdrOOB(r32) _BFGET_(r32, 1, 1)
#define SET32FigoReg_figoFlags_dtcmAdrOOB(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16FigoReg_figoFlags_dtcmAdrOOB(r16) _BFGET_(r16, 1, 1)
#define SET16FigoReg_figoFlags_dtcmAdrOOB(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32FigoReg_figoFlags_divideBy0(r32) _BFGET_(r32, 2, 2)
#define SET32FigoReg_figoFlags_divideBy0(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16FigoReg_figoFlags_divideBy0(r16) _BFGET_(r16, 2, 2)
#define SET16FigoReg_figoFlags_divideBy0(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32FigoReg_figoFlags_traceBufFull(r32) _BFGET_(r32, 3, 3)
#define SET32FigoReg_figoFlags_traceBufFull(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16FigoReg_figoFlags_traceBufFull(r16) _BFGET_(r16, 3, 3)
#define SET16FigoReg_figoFlags_traceBufFull(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32FigoReg_figoFlags_illegalIns(r32) _BFGET_(r32, 4, 4)
#define SET32FigoReg_figoFlags_illegalIns(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16FigoReg_figoFlags_illegalIns(r16) _BFGET_(r16, 4, 4)
#define SET16FigoReg_figoFlags_illegalIns(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32FigoReg_figoFlags_ALU64Overflow(r32) _BFGET_(r32, 5, 5)
#define SET32FigoReg_figoFlags_ALU64Overflow(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16FigoReg_figoFlags_ALU64Overflow(r16) _BFGET_(r16, 5, 5)
#define SET16FigoReg_figoFlags_ALU64Overflow(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32FigoReg_figoFlags_JTInvdPush(r32) _BFGET_(r32, 6, 6)
#define SET32FigoReg_figoFlags_JTInvdPush(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16FigoReg_figoFlags_JTInvdPush(r16) _BFGET_(r16, 6, 6)
#define SET16FigoReg_figoFlags_JTInvdPush(r16,v) _BFSET_(r16, 6, 6,v)
#define w32FigoReg_figoFlags {\
UNSG32 ufigoFlags_itcmAdrOOB : 1;\
UNSG32 ufigoFlags_dtcmAdrOOB : 1;\
UNSG32 ufigoFlags_divideBy0 : 1;\
UNSG32 ufigoFlags_traceBufFull : 1;\
UNSG32 ufigoFlags_illegalIns : 1;\
UNSG32 ufigoFlags_ALU64Overflow : 1;\
UNSG32 ufigoFlags_JTInvdPush : 1;\
UNSG32 RSVDxC_b7 : 25;\
}
union { UNSG32 u32FigoReg_figoFlags;
struct w32FigoReg_figoFlags;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoFlagsMask_itcmAdrOOBMask(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoFlagsMask_itcmAdrOOBMask(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoFlagsMask_itcmAdrOOBMask(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoFlagsMask_itcmAdrOOBMask(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FigoReg_figoFlagsMask_dtcmAdrOOBMask(r32) _BFGET_(r32, 1, 1)
#define SET32FigoReg_figoFlagsMask_dtcmAdrOOBMask(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16FigoReg_figoFlagsMask_dtcmAdrOOBMask(r16) _BFGET_(r16, 1, 1)
#define SET16FigoReg_figoFlagsMask_dtcmAdrOOBMask(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32FigoReg_figoFlagsMask_divideBy0Mask(r32) _BFGET_(r32, 2, 2)
#define SET32FigoReg_figoFlagsMask_divideBy0Mask(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16FigoReg_figoFlagsMask_divideBy0Mask(r16) _BFGET_(r16, 2, 2)
#define SET16FigoReg_figoFlagsMask_divideBy0Mask(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32FigoReg_figoFlagsMask_traceBufFullMask(r32) _BFGET_(r32, 3, 3)
#define SET32FigoReg_figoFlagsMask_traceBufFullMask(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16FigoReg_figoFlagsMask_traceBufFullMask(r16) _BFGET_(r16, 3, 3)
#define SET16FigoReg_figoFlagsMask_traceBufFullMask(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32FigoReg_figoFlagsMask_illegalInsMask(r32) _BFGET_(r32, 4, 4)
#define SET32FigoReg_figoFlagsMask_illegalInsMask(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16FigoReg_figoFlagsMask_illegalInsMask(r16) _BFGET_(r16, 4, 4)
#define SET16FigoReg_figoFlagsMask_illegalInsMask(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32FigoReg_figoFlagsMask_ALU64OverflowMask(r32) _BFGET_(r32, 5, 5)
#define SET32FigoReg_figoFlagsMask_ALU64OverflowMask(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16FigoReg_figoFlagsMask_ALU64OverflowMask(r16) _BFGET_(r16, 5, 5)
#define SET16FigoReg_figoFlagsMask_ALU64OverflowMask(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32FigoReg_figoFlagsMask_JTInvdPushMask(r32) _BFGET_(r32, 6, 6)
#define SET32FigoReg_figoFlagsMask_JTInvdPushMask(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16FigoReg_figoFlagsMask_JTInvdPushMask(r16) _BFGET_(r16, 6, 6)
#define SET16FigoReg_figoFlagsMask_JTInvdPushMask(r16,v) _BFSET_(r16, 6, 6,v)
#define w32FigoReg_figoFlagsMask {\
UNSG32 ufigoFlagsMask_itcmAdrOOBMask : 1;\
UNSG32 ufigoFlagsMask_dtcmAdrOOBMask : 1;\
UNSG32 ufigoFlagsMask_divideBy0Mask : 1;\
UNSG32 ufigoFlagsMask_traceBufFullMask : 1;\
UNSG32 ufigoFlagsMask_illegalInsMask : 1;\
UNSG32 ufigoFlagsMask_ALU64OverflowMask : 1;\
UNSG32 ufigoFlagsMask_JTInvdPushMask : 1;\
UNSG32 RSVDx10_b7 : 25;\
}
union { UNSG32 u32FigoReg_figoFlagsMask;
struct w32FigoReg_figoFlagsMask;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoLastPC_val(r32) _BFGET_(r32,15, 0)
#define SET32FigoReg_figoLastPC_val(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoReg_figoLastPC_val(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg_figoLastPC_val(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoReg_figoLastPC {\
UNSG32 ufigoLastPC_val : 16;\
UNSG32 RSVDx14_b16 : 16;\
}
union { UNSG32 u32FigoReg_figoLastPC;
struct w32FigoReg_figoLastPC;
};
///////////////////////////////////////////////////////////
SIE_FigoReg16 ie_pc;
///////////////////////////////////////////////////////////
SIE_FigoTraceBuf ie_tbuf;
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoIntr_up(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoIntr_up(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoIntr_up(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoIntr_up(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoReg_figoIntr {\
UNSG32 ufigoIntr_up : 1;\
UNSG32 RSVDx20_b1 : 31;\
}
union { UNSG32 u32FigoReg_figoIntr;
struct w32FigoReg_figoIntr;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoIntrLvl_st(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoIntrLvl_st(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoIntrLvl_st(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoIntrLvl_st(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoReg_figoIntrLvl {\
UNSG32 ufigoIntrLvl_st : 1;\
UNSG32 RSVDx24_b1 : 31;\
}
union { UNSG32 u32FigoReg_figoIntrLvl;
struct w32FigoReg_figoIntrLvl;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoRstn_up(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoRstn_up(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoRstn_up(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoRstn_up(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoReg_figoRstn {\
UNSG32 ufigoRstn_up : 1;\
UNSG32 RSVDx28_b1 : 31;\
}
union { UNSG32 u32FigoReg_figoRstn;
struct w32FigoReg_figoRstn;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoCnt_en(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoCnt_en(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoCnt_en(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoCnt_en(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoReg_figoCnt {\
UNSG32 ufigoCnt_en : 1;\
UNSG32 RSVDx2C_b1 : 31;\
}
union { UNSG32 u32FigoReg_figoCnt;
struct w32FigoReg_figoCnt;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoCntClr_run(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoCntClr_run(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoCntClr_run(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoCntClr_run(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FigoReg_figoCntClr_stall(r32) _BFGET_(r32, 1, 1)
#define SET32FigoReg_figoCntClr_stall(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16FigoReg_figoCntClr_stall(r16) _BFGET_(r16, 1, 1)
#define SET16FigoReg_figoCntClr_stall(r16,v) _BFSET_(r16, 1, 1,v)
#define w32FigoReg_figoCntClr {\
UNSG32 ufigoCntClr_run : 1;\
UNSG32 ufigoCntClr_stall : 1;\
UNSG32 RSVDx30_b2 : 30;\
}
union { UNSG32 u32FigoReg_figoCntClr;
struct w32FigoReg_figoCntClr;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoRun_Cnt(r32) _BFGET_(r32,31, 0)
#define SET32FigoReg_figoRun_Cnt(r32,v) _BFSET_(r32,31, 0,v)
#define w32FigoReg_figoRun {\
UNSG32 ufigoRun_Cnt : 32;\
}
union { UNSG32 u32FigoReg_figoRun;
struct w32FigoReg_figoRun;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoStall_Cnt(r32) _BFGET_(r32,31, 0)
#define SET32FigoReg_figoStall_Cnt(r32,v) _BFSET_(r32,31, 0,v)
#define w32FigoReg_figoStall {\
UNSG32 ufigoStall_Cnt : 32;\
}
union { UNSG32 u32FigoReg_figoStall;
struct w32FigoReg_figoStall;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx3C [1988];
///////////////////////////////////////////////////////////
SIE_ALU64 ie_alu64;
///////////////////////////////////////////////////////////
SIE_FigoDebug ie_debug;
///////////////////////////////////////////////////////////
#define GET32FigoReg_wdCnt_threshold(r32) _BFGET_(r32,31, 0)
#define SET32FigoReg_wdCnt_threshold(r32,v) _BFSET_(r32,31, 0,v)
#define w32FigoReg_wdCnt {\
UNSG32 uwdCnt_threshold : 32;\
}
union { UNSG32 u32FigoReg_wdCnt;
struct w32FigoReg_wdCnt;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_wdClr_en(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_wdClr_en(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_wdClr_en(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_wdClr_en(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoReg_wdClr {\
UNSG32 uwdClr_en : 1;\
UNSG32 RSVDx18C4_b1 : 31;\
}
union { UNSG32 u32FigoReg_wdClr;
struct w32FigoReg_wdClr;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_wdSt_overflow(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_wdSt_overflow(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_wdSt_overflow(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_wdSt_overflow(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoReg_wdSt {\
UNSG32 uwdSt_overflow : 1;\
UNSG32 RSVDx18C8_b1 : 31;\
}
union { UNSG32 u32FigoReg_wdSt;
struct w32FigoReg_wdSt;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx18CC [1844];
///////////////////////////////////////////////////////////
} SIE_FigoReg;
typedef union T32FigoReg_figoCtrl
{ UNSG32 u32;
struct w32FigoReg_figoCtrl;
} T32FigoReg_figoCtrl;
typedef union T32FigoReg_figoID
{ UNSG32 u32;
struct w32FigoReg_figoID;
} T32FigoReg_figoID;
typedef union T32FigoReg_figoMaxAdr
{ UNSG32 u32;
struct w32FigoReg_figoMaxAdr;
} T32FigoReg_figoMaxAdr;
typedef union T32FigoReg_figoFlags
{ UNSG32 u32;
struct w32FigoReg_figoFlags;
} T32FigoReg_figoFlags;
typedef union T32FigoReg_figoFlagsMask
{ UNSG32 u32;
struct w32FigoReg_figoFlagsMask;
} T32FigoReg_figoFlagsMask;
typedef union T32FigoReg_figoLastPC
{ UNSG32 u32;
struct w32FigoReg_figoLastPC;
} T32FigoReg_figoLastPC;
typedef union T32FigoReg_figoIntr
{ UNSG32 u32;
struct w32FigoReg_figoIntr;
} T32FigoReg_figoIntr;
typedef union T32FigoReg_figoIntrLvl
{ UNSG32 u32;
struct w32FigoReg_figoIntrLvl;
} T32FigoReg_figoIntrLvl;
typedef union T32FigoReg_figoRstn
{ UNSG32 u32;
struct w32FigoReg_figoRstn;
} T32FigoReg_figoRstn;
typedef union T32FigoReg_figoCnt
{ UNSG32 u32;
struct w32FigoReg_figoCnt;
} T32FigoReg_figoCnt;
typedef union T32FigoReg_figoCntClr
{ UNSG32 u32;
struct w32FigoReg_figoCntClr;
} T32FigoReg_figoCntClr;
typedef union T32FigoReg_figoRun
{ UNSG32 u32;
struct w32FigoReg_figoRun;
} T32FigoReg_figoRun;
typedef union T32FigoReg_figoStall
{ UNSG32 u32;
struct w32FigoReg_figoStall;
} T32FigoReg_figoStall;
typedef union T32FigoReg_wdCnt
{ UNSG32 u32;
struct w32FigoReg_wdCnt;
} T32FigoReg_wdCnt;
typedef union T32FigoReg_wdClr
{ UNSG32 u32;
struct w32FigoReg_wdClr;
} T32FigoReg_wdClr;
typedef union T32FigoReg_wdSt
{ UNSG32 u32;
struct w32FigoReg_wdSt;
} T32FigoReg_wdSt;
///////////////////////////////////////////////////////////
typedef union TFigoReg_figoCtrl
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoCtrl;
};
} TFigoReg_figoCtrl;
typedef union TFigoReg_figoID
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoID;
};
} TFigoReg_figoID;
typedef union TFigoReg_figoMaxAdr
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoMaxAdr;
};
} TFigoReg_figoMaxAdr;
typedef union TFigoReg_figoFlags
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoFlags;
};
} TFigoReg_figoFlags;
typedef union TFigoReg_figoFlagsMask
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoFlagsMask;
};
} TFigoReg_figoFlagsMask;
typedef union TFigoReg_figoLastPC
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoLastPC;
};
} TFigoReg_figoLastPC;
typedef union TFigoReg_figoIntr
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoIntr;
};
} TFigoReg_figoIntr;
typedef union TFigoReg_figoIntrLvl
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoIntrLvl;
};
} TFigoReg_figoIntrLvl;
typedef union TFigoReg_figoRstn
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoRstn;
};
} TFigoReg_figoRstn;
typedef union TFigoReg_figoCnt
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoCnt;
};
} TFigoReg_figoCnt;
typedef union TFigoReg_figoCntClr
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoCntClr;
};
} TFigoReg_figoCntClr;
typedef union TFigoReg_figoRun
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoRun;
};
} TFigoReg_figoRun;
typedef union TFigoReg_figoStall
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoStall;
};
} TFigoReg_figoStall;
typedef union TFigoReg_wdCnt
{ UNSG32 u32[1];
struct {
struct w32FigoReg_wdCnt;
};
} TFigoReg_wdCnt;
typedef union TFigoReg_wdClr
{ UNSG32 u32[1];
struct {
struct w32FigoReg_wdClr;
};
} TFigoReg_wdClr;
typedef union TFigoReg_wdSt
{ UNSG32 u32[1];
struct {
struct w32FigoReg_wdSt;
};
} TFigoReg_wdSt;
///////////////////////////////////////////////////////////
SIGN32 FigoReg_drvrd(SIE_FigoReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoReg_drvwr(SIE_FigoReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoReg_reset(SIE_FigoReg *p);
SIGN32 FigoReg_cmp (SIE_FigoReg *p, SIE_FigoReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoReg_check(p,pie,pfx,hLOG) FigoReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoReg_print(p, pfx,hLOG) FigoReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoReg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoInst (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (RW)
/// ###
/// * Instruction opcode, 24-bit word
/// ###
/// %unsigned 24 opcode 0x0
/// %% 8 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 24b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoInst
#define h_FigoInst (){}
#define BA_FigoInst_opcode 0x0000
#define B16FigoInst_opcode 0x0000
#define LSb32FigoInst_opcode 0
#define LSb16FigoInst_opcode 0
#define bFigoInst_opcode 24
#define MSK32FigoInst_opcode 0x00FFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoInst {
///////////////////////////////////////////////////////////
#define GET32FigoInst_opcode(r32) _BFGET_(r32,23, 0)
#define SET32FigoInst_opcode(r32,v) _BFSET_(r32,23, 0,v)
UNSG32 u_opcode : 24;
UNSG32 RSVDx0_b24 : 8;
///////////////////////////////////////////////////////////
} SIE_FigoInst;
///////////////////////////////////////////////////////////
SIGN32 FigoInst_drvrd(SIE_FigoInst *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoInst_drvwr(SIE_FigoInst *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoInst_reset(SIE_FigoInst *p);
SIGN32 FigoInst_cmp (SIE_FigoInst *p, SIE_FigoInst *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoInst_check(p,pie,pfx,hLOG) FigoInst_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoInst_print(p, pfx,hLOG) FigoInst_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoInst
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ITCM (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 figoItcm (P)
/// # 0x00000 inst
/// $FigoInst inst REG [2048]
/// ###
/// * Instruction memory, 8K word each maximum
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8192B, bits: 49152b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ITCM
#define h_ITCM (){}
#define RA_ITCM_figoItcm 0x0000
#define RA_ITCM_inst 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_ITCM {
///////////////////////////////////////////////////////////
SIE_FigoInst ie_inst[2048];
///////////////////////////////////////////////////////////
} SIE_ITCM;
///////////////////////////////////////////////////////////
SIGN32 ITCM_drvrd(SIE_ITCM *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ITCM_drvwr(SIE_ITCM *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ITCM_reset(SIE_ITCM *p);
SIGN32 ITCM_cmp (SIE_ITCM *p, SIE_ITCM *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ITCM_check(p,pie,pfx,hLOG) ITCM_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ITCM_print(p, pfx,hLOG) ITCM_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ITCM
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoData (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (RW)
/// ###
/// * 32-bit data
/// ###
/// %unsigned 32 data_0i
/// %unsigned 32 data_1i
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoData
#define h_FigoData (){}
#define BA_FigoData_data_0i 0x0000
#define B16FigoData_data_0i 0x0000
#define LSb32FigoData_data_0i 0
#define LSb16FigoData_data_0i 0
#define bFigoData_data_0i 32
#define MSK32FigoData_data_0i 0xFFFFFFFF
#define BA_FigoData_data_1i 0x0004
#define B16FigoData_data_1i 0x0004
#define LSb32FigoData_data_1i 0
#define LSb16FigoData_data_1i 0
#define bFigoData_data_1i 32
#define MSK32FigoData_data_1i 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoData {
///////////////////////////////////////////////////////////
#define GET32FigoData_data_0i(r32) _BFGET_(r32,31, 0)
#define SET32FigoData_data_0i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data_0i : 32;
///////////////////////////////////////////////////////////
#define GET32FigoData_data_1i(r32) _BFGET_(r32,31, 0)
#define SET32FigoData_data_1i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data_1i : 32;
///////////////////////////////////////////////////////////
} SIE_FigoData;
///////////////////////////////////////////////////////////
SIGN32 FigoData_drvrd(SIE_FigoData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoData_drvwr(SIE_FigoData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoData_reset(SIE_FigoData *p);
SIGN32 FigoData_cmp (SIE_FigoData *p, SIE_FigoData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoData_check(p,pie,pfx,hLOG) FigoData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoData_print(p, pfx,hLOG) FigoData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoData
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoSys biu (4,4)
/// ###
/// * FigoSys registers
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 HBO0 (P)
/// # 0x00000 hbo0
/// $HBO hbo0 REG
/// @ 0x00700 HBO1 (P)
/// # 0x00700 hbo1
/// $HBO hbo1 REG
/// @ 0x00E00 (W-)
/// # # Stuffing bytes...
/// %% 4096
/// @ 0x01000 FIGO0 (P)
/// # 0x01000 figo0
/// $FigoReg figo0 REG
/// @ 0x03000 FIGO1 (P)
/// # 0x03000 figo1
/// $FigoReg figo1 REG
/// @ 0x05000 DS (P)
/// # 0x05000 ds
/// $DataStreamer ds REG
/// @ 0x05024 (W-)
/// # # Stuffing bytes...
/// %% 16096
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 22528B, bits: 5086b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoSys
#define h_FigoSys (){}
#define RA_FigoSys_HBO0 0x0000
#define RA_FigoSys_hbo0 0x0000
///////////////////////////////////////////////////////////
#define RA_FigoSys_HBO1 0x0700
#define RA_FigoSys_hbo1 0x0700
///////////////////////////////////////////////////////////
#define RA_FigoSys_FIGO0 0x1000
#define RA_FigoSys_figo0 0x1000
///////////////////////////////////////////////////////////
#define RA_FigoSys_FIGO1 0x3000
#define RA_FigoSys_figo1 0x3000
///////////////////////////////////////////////////////////
#define RA_FigoSys_DS 0x5000
#define RA_FigoSys_ds 0x5000
///////////////////////////////////////////////////////////
typedef struct SIE_FigoSys {
///////////////////////////////////////////////////////////
SIE_HBO ie_hbo0;
///////////////////////////////////////////////////////////
SIE_HBO ie_hbo1;
///////////////////////////////////////////////////////////
UNSG8 RSVDxE00 [512];
///////////////////////////////////////////////////////////
SIE_FigoReg ie_figo0;
///////////////////////////////////////////////////////////
SIE_FigoReg ie_figo1;
///////////////////////////////////////////////////////////
SIE_DataStreamer ie_ds;
///////////////////////////////////////////////////////////
UNSG8 RSVDx5024 [2012];
///////////////////////////////////////////////////////////
} SIE_FigoSys;
///////////////////////////////////////////////////////////
SIGN32 FigoSys_drvrd(SIE_FigoSys *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoSys_drvwr(SIE_FigoSys *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoSys_reset(SIE_FigoSys *p);
SIGN32 FigoSys_cmp (SIE_FigoSys *p, SIE_FigoSys *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoSys_check(p,pie,pfx,hLOG) FigoSys_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoSys_print(p, pfx,hLOG) FigoSys_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoSys
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoSysBasic biu (4,4)
/// ###
/// * FigoSys registers
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 HBO0 (P)
/// # 0x00000 hbo0
/// $HBO hbo0 REG
/// @ 0x00700 (W-)
/// # # Stuffing bytes...
/// %% 2048
/// @ 0x00800 FIGO0 (P)
/// # 0x00800 figo0
/// $FigoReg figo0 REG
/// @ 0x02800 DS (P)
/// # 0x02800 ds
/// $DataStreamer ds REG
/// @ 0x02824 (W-)
/// # # Stuffing bytes...
/// %% 16096
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 12288B, bits: 2609b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoSysBasic
#define h_FigoSysBasic (){}
#define RA_FigoSysBasic_HBO0 0x0000
#define RA_FigoSysBasic_hbo0 0x0000
///////////////////////////////////////////////////////////
#define RA_FigoSysBasic_FIGO0 0x0800
#define RA_FigoSysBasic_figo0 0x0800
///////////////////////////////////////////////////////////
#define RA_FigoSysBasic_DS 0x2800
#define RA_FigoSysBasic_ds 0x2800
///////////////////////////////////////////////////////////
typedef struct SIE_FigoSysBasic {
///////////////////////////////////////////////////////////
SIE_HBO ie_hbo0;
///////////////////////////////////////////////////////////
UNSG8 RSVDx700 [256];
///////////////////////////////////////////////////////////
SIE_FigoReg ie_figo0;
///////////////////////////////////////////////////////////
SIE_DataStreamer ie_ds;
///////////////////////////////////////////////////////////
UNSG8 RSVDx2824 [2012];
///////////////////////////////////////////////////////////
} SIE_FigoSysBasic;
///////////////////////////////////////////////////////////
SIGN32 FigoSysBasic_drvrd(SIE_FigoSysBasic *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoSysBasic_drvwr(SIE_FigoSysBasic *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoSysBasic_reset(SIE_FigoSysBasic *p);
SIGN32 FigoSysBasic_cmp (SIE_FigoSysBasic *p, SIE_FigoSysBasic *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoSysBasic_check(p,pie,pfx,hLOG) FigoSysBasic_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoSysBasic_print(p, pfx,hLOG) FigoSysBasic_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoSysBasic
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CabacCmdX (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 syntaxID
/// : INIT 0x0
/// ###
/// * Initial the M-coder, set colIRange to 0x1FE and colIOffset to read_bits(9)
/// ###
/// : MB_TYPE_I 0x1
/// ###
/// * mb_type(I slices only)
/// ###
/// : MB_TYPE_P 0x2
/// ###
/// * mb_type(P slices only)
/// ###
/// : MB_TYPE_B 0x3
/// ###
/// * mb_type(B slices only)
/// ###
/// : SUB_MB_TYPE_P 0x4
/// ###
/// * sub_mb_type(P slices only)
/// ###
/// : SUB_MB_TYPE_B 0x5
/// ###
/// * sub_mb_type(B slices only)
/// ###
/// : MVD_X 0x6
/// ###
/// * Mvd_l0[][][0], mvdl1[][][0]
/// ###
/// : MVD_Y 0x7
/// ###
/// * Mvd_l0[][][1], mvdl1[][][1]
/// ###
/// : REF_IDX 0x8
/// ###
/// * ref_idx_l0, ref_idx_l1
/// ###
/// : MB_QP_DELTA 0x9
/// ###
/// * mb_qp_delta
/// ###
/// : INTRA_CHROMA_PRED_MODE 0xA
/// ###
/// * intra_chroma_pred_mode
/// ###
/// : INTRANXN_PRED_MODE 0xB
/// ###
/// * prev_intraNxN_pred_mode_flag & rem_intraNxN_pred_mode
/// ###
/// : COEFF_INTRA16_DC 0xC
/// ###
/// * coeff_abs_level_minus1, block_cat=0
/// ###
/// : COEFF_INTRA16_AC 0xD
/// ###
/// * coeff_abs_level_minus1, block_cat=1
/// ###
/// : COEFF_4X4 0xE
/// ###
/// * coeff_abs_level_minus1, block_cat=2
/// ###
/// : COEFF_UV_DC 0xF
/// ###
/// * coeff_abs_level_minus1, block_cat=3
/// ###
/// : COEFF_UV_AC 0x10
/// ###
/// * coeff_abs_level_minus1, block_cat=4
/// ###
/// : COEFF_8X8 0x11
/// ###
/// * coeff_abs_level_minus1, block_cat=5
/// ###
/// : END_OF_SLICE_FLAG 0x12
/// ###
/// * end_of_slice_flag
/// ###
/// : MB_SKIP_FLAG_P 0x13
/// ###
/// * mb_skip_flag(P slices only)
/// ###
/// : MB_SKIP_FLAG_B 0x14
/// ###
/// * mb_skip_flag(B slices only)
/// ###
/// : MB_FIELD_DECODING_FLAG 0x15
/// ###
/// * mb_field_decoding_flag
/// ###
/// : TRANSFORM_SIZE_8X8_FLAG 0x16
/// ###
/// * transform_size_8x8_flag
/// ###
/// : CBP_LUMA 0x17
/// ###
/// * Cbp for luma block
/// ###
/// : CBP_CHROMA0 0x18
/// ###
/// * Cbp for first chroma block
/// ###
/// : CBP_CHROMA1 0x19
/// ###
/// * Cbp for second chroma block
/// ###
/// : CBF_INTRA16_DC 0x1A
/// ###
/// * Cbf, block_cat=0
/// ###
/// : CBF_INTRA16_AC 0x1B
/// ###
/// * Cbf, block_cat=1
/// ###
/// : CBF_4X4 0x1C
/// ###
/// * Cbf, block_cat=2
/// ###
/// : CBF_UV_DC 0x1D
/// ###
/// * Cbf, block_cat=3
/// ###
/// : CBF_UV_AC 0x1E
/// ###
/// * Cbf, block_cat=4
/// ###
/// : SLF_INTRA16_DC 0x1F
/// ###
/// * Significant & last_significant flags, block_cat=0
/// ###
/// : SLF_INTRA16_AC 0x20
/// ###
/// * Significant & last_significant flags, block_cat=1
/// ###
/// : SLF_4X4 0x21
/// ###
/// * Significant & last_significant flags, block_cat=2
/// ###
/// : SLF_UV_DC 0x22
/// ###
/// * Significant & last_significant flags, block_cat=3
/// ###
/// : SLF_UV_AC 0x23
/// ###
/// * Significant & last_significant flags, block_cat=4
/// ###
/// : SLF_8X8 0x24
/// ###
/// * Significant & last_significant flags, block_cat=5
/// ###
/// : BLK_INTRA16_DC 0x25
/// ###
/// * Combo command for a block, block_cat=0
/// ###
/// : BLK_INTRA16_AC 0x26
/// ###
/// * Combo command for a block, block_cat=1
/// ###
/// : BLK_4X4 0x27
/// ###
/// * Combo command for a block, block_cat=2
/// ###
/// : BLK_UV_DC 0x28
/// ###
/// * Combo command for a block, block_cat=3
/// ###
/// : BLK_UV_AC 0x29
/// ###
/// * Combo command for a block, block_cat=4
/// ###
/// : BLK_8X8 0x2A
/// ###
/// * Combo command for a block, block_cat=5
/// ###
/// : INIT_RAM 0x3F
/// ###
/// * Command for initialing the ctxRam
/// ###
/// %% 8 # Stuffing bits...
/// %unsigned 2 id
/// : cabacID 0x1
/// ###
/// * id==2'b01 indicates cabacCmdX
/// ###
/// %unsigned 9 arg
/// ###
/// * When syntaxID==INIT_RAM, it is the index of ctxRam.
/// * Others, it is the argument for the new cabac.
/// ###
/// %unsigned 7 ctxRamData
/// ###
/// * The content of context state RAM. The value for each entry is (valMPS<<6)| pStateIdx.
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 24b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CabacCmdX
#define h_CabacCmdX (){}
#define BA_CabacCmdX_syntaxID 0x0000
#define B16CabacCmdX_syntaxID 0x0000
#define LSb32CabacCmdX_syntaxID 0
#define LSb16CabacCmdX_syntaxID 0
#define bCabacCmdX_syntaxID 6
#define MSK32CabacCmdX_syntaxID 0x0000003F
#define CabacCmdX_syntaxID_INIT 0x0
#define CabacCmdX_syntaxID_MB_TYPE_I 0x1
#define CabacCmdX_syntaxID_MB_TYPE_P 0x2
#define CabacCmdX_syntaxID_MB_TYPE_B 0x3
#define CabacCmdX_syntaxID_SUB_MB_TYPE_P 0x4
#define CabacCmdX_syntaxID_SUB_MB_TYPE_B 0x5
#define CabacCmdX_syntaxID_MVD_X 0x6
#define CabacCmdX_syntaxID_MVD_Y 0x7
#define CabacCmdX_syntaxID_REF_IDX 0x8
#define CabacCmdX_syntaxID_MB_QP_DELTA 0x9
#define CabacCmdX_syntaxID_INTRA_CHROMA_PRED_MODE 0xA
#define CabacCmdX_syntaxID_INTRANXN_PRED_MODE 0xB
#define CabacCmdX_syntaxID_COEFF_INTRA16_DC 0xC
#define CabacCmdX_syntaxID_COEFF_INTRA16_AC 0xD
#define CabacCmdX_syntaxID_COEFF_4X4 0xE
#define CabacCmdX_syntaxID_COEFF_UV_DC 0xF
#define CabacCmdX_syntaxID_COEFF_UV_AC 0x10
#define CabacCmdX_syntaxID_COEFF_8X8 0x11
#define CabacCmdX_syntaxID_END_OF_SLICE_FLAG 0x12
#define CabacCmdX_syntaxID_MB_SKIP_FLAG_P 0x13
#define CabacCmdX_syntaxID_MB_SKIP_FLAG_B 0x14
#define CabacCmdX_syntaxID_MB_FIELD_DECODING_FLAG 0x15
#define CabacCmdX_syntaxID_TRANSFORM_SIZE_8X8_FLAG 0x16
#define CabacCmdX_syntaxID_CBP_LUMA 0x17
#define CabacCmdX_syntaxID_CBP_CHROMA0 0x18
#define CabacCmdX_syntaxID_CBP_CHROMA1 0x19
#define CabacCmdX_syntaxID_CBF_INTRA16_DC 0x1A
#define CabacCmdX_syntaxID_CBF_INTRA16_AC 0x1B
#define CabacCmdX_syntaxID_CBF_4X4 0x1C
#define CabacCmdX_syntaxID_CBF_UV_DC 0x1D
#define CabacCmdX_syntaxID_CBF_UV_AC 0x1E
#define CabacCmdX_syntaxID_SLF_INTRA16_DC 0x1F
#define CabacCmdX_syntaxID_SLF_INTRA16_AC 0x20
#define CabacCmdX_syntaxID_SLF_4X4 0x21
#define CabacCmdX_syntaxID_SLF_UV_DC 0x22
#define CabacCmdX_syntaxID_SLF_UV_AC 0x23
#define CabacCmdX_syntaxID_SLF_8X8 0x24
#define CabacCmdX_syntaxID_BLK_INTRA16_DC 0x25
#define CabacCmdX_syntaxID_BLK_INTRA16_AC 0x26
#define CabacCmdX_syntaxID_BLK_4X4 0x27
#define CabacCmdX_syntaxID_BLK_UV_DC 0x28
#define CabacCmdX_syntaxID_BLK_UV_AC 0x29
#define CabacCmdX_syntaxID_BLK_8X8 0x2A
#define CabacCmdX_syntaxID_INIT_RAM 0x3F
#define BA_CabacCmdX_id 0x0001
#define B16CabacCmdX_id 0x0000
#define LSb32CabacCmdX_id 14
#define LSb16CabacCmdX_id 14
#define bCabacCmdX_id 2
#define MSK32CabacCmdX_id 0x0000C000
#define CabacCmdX_id_cabacID 0x1
#define BA_CabacCmdX_arg 0x0002
#define B16CabacCmdX_arg 0x0002
#define LSb32CabacCmdX_arg 16
#define LSb16CabacCmdX_arg 0
#define bCabacCmdX_arg 9
#define MSK32CabacCmdX_arg 0x01FF0000
#define BA_CabacCmdX_ctxRamData 0x0003
#define B16CabacCmdX_ctxRamData 0x0002
#define LSb32CabacCmdX_ctxRamData 25
#define LSb16CabacCmdX_ctxRamData 9
#define bCabacCmdX_ctxRamData 7
#define MSK32CabacCmdX_ctxRamData 0xFE000000
///////////////////////////////////////////////////////////
typedef struct SIE_CabacCmdX {
///////////////////////////////////////////////////////////
#define GET32CabacCmdX_syntaxID(r32) _BFGET_(r32, 5, 0)
#define SET32CabacCmdX_syntaxID(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16CabacCmdX_syntaxID(r16) _BFGET_(r16, 5, 0)
#define SET16CabacCmdX_syntaxID(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32CabacCmdX_id(r32) _BFGET_(r32,15,14)
#define SET32CabacCmdX_id(r32,v) _BFSET_(r32,15,14,v)
#define GET16CabacCmdX_id(r16) _BFGET_(r16,15,14)
#define SET16CabacCmdX_id(r16,v) _BFSET_(r16,15,14,v)
#define GET32CabacCmdX_arg(r32) _BFGET_(r32,24,16)
#define SET32CabacCmdX_arg(r32,v) _BFSET_(r32,24,16,v)
#define GET16CabacCmdX_arg(r16) _BFGET_(r16, 8, 0)
#define SET16CabacCmdX_arg(r16,v) _BFSET_(r16, 8, 0,v)
#define GET32CabacCmdX_ctxRamData(r32) _BFGET_(r32,31,25)
#define SET32CabacCmdX_ctxRamData(r32,v) _BFSET_(r32,31,25,v)
#define GET16CabacCmdX_ctxRamData(r16) _BFGET_(r16,15, 9)
#define SET16CabacCmdX_ctxRamData(r16,v) _BFSET_(r16,15, 9,v)
UNSG32 u_syntaxID : 6;
UNSG32 RSVDx0_b6 : 8;
UNSG32 u_id : 2;
UNSG32 u_arg : 9;
UNSG32 u_ctxRamData : 7;
///////////////////////////////////////////////////////////
} SIE_CabacCmdX;
///////////////////////////////////////////////////////////
SIGN32 CabacCmdX_drvrd(SIE_CabacCmdX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CabacCmdX_drvwr(SIE_CabacCmdX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CabacCmdX_reset(SIE_CabacCmdX *p);
SIGN32 CabacCmdX_cmp (SIE_CabacCmdX *p, SIE_CabacCmdX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CabacCmdX_check(p,pie,pfx,hLOG) CabacCmdX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CabacCmdX_print(p, pfx,hLOG) CabacCmdX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CabacCmdX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BoolDecoderCmd flat (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 5 cmd
/// : INIT 0x0
/// ###
/// * Initializes the BoolDecoder context. Sets value to 0, and range to 255.
/// ###
/// : RST_REG 0x1
/// ###
/// * Resets register-based probabilities to their default value. Use arg2 to specify the registers to be reset.
/// ###
/// : DEC_LITERAL 0x2
/// ###
/// * Decode N bits with probability of 128. Specify N using arg2 field.
/// ###
/// : DEC_BOOL 0x3
/// ###
/// * Decode 1 bit with probability P. Specify P using arg1 field.
/// ###
/// : DEC_COND 0x4
/// ###
/// * Decode 1 bit with probability P. If result is 1, further decode N bits with probability of 128. Specify P using arg1 field, and N using arg2 field. Mainly used for probability updates.
/// * The result of the 1-bit conditional bit is always returned as sev[0].
/// * If sev[0] = 1, sev[N:1] will contain valid data.
/// * If sev[0] = 0, sev[N:1] is invalid.
/// ###
/// : DEC_MB_SEGMENT 0x5
/// ###
/// * Decode tree-encoded MB segment number.
/// ###
/// : DEC_KF_YMODE 0x6
/// ###
/// * Decode tree-encoded key-frame Y mode.
/// ###
/// : DEC_KF_BMODE 0x7
/// ###
/// * Decode tree-encoded key-frame B mode. Tree offset specified as arg3. The two-dimensional offset [10][10] is split into arg3[7:4] and arg3[3:0] fields.
/// ###
/// : DEC_KF_UV_MODE 0x8
/// ###
/// * Decode tree-encoded key-frame UV mode.
/// ###
/// : DEC_YMODE 0x9
/// ###
/// * Decode tree-encoded non-key-frame Y mode.
/// ###
/// : DEC_BMODE 0xA
/// ###
/// * Decode tree-encoded non-key-frame B mode.
/// ###
/// : DEC_UV_MODE 0xB
/// ###
/// * Decode tree-encoded non-key-frame UV mode.
/// ###
/// : DEC_MV_REF 0xC
/// ###
/// * Decode tree-encoded motion vector reference. Tree offset specified as arg3.
/// * arg3[2:0] = cnt[0]
/// * arg3[5:3] = cnt[1]
/// * arg3[8:6] = cnt[2]
/// * arg3[11:9] = cnt[3]
/// * Please refer to the official VP8 spec (section 16.3) for further information on the cnt array.
/// ###
/// : DEC_MV_PARTITION 0xD
/// ###
/// * Decode tree-encoded motion vector partition type.
/// ###
/// : DEC_SUB_MV_REF 0xE
/// ###
/// * Decode tree-encoded sub MB motion vector reference. Tree offset specified as arg3. Valid offset range [0 – 4].
/// ###
/// : DEC_MV 0xF
/// ###
/// * Decode tree-encoded motion vector component. Tree offset specified as arg3. Valid offset range [0 – 1].
/// ###
/// : DEC_COEF 0x10
/// ###
/// * Decode tree-encoded DCT coefficient. Tree offset specified as arg3. The three dimensional offset [4][8][3] is split into arg[6:5], arg[4:2] and arg[1:0] fields. This command will automatically repeat itself until all the 16 coefficients in the block have been decoded, or an EOB has been reached.
/// ###
/// : CTX_RD 0x1D
/// ###
/// * Read boolDecoder context variables Range[7:0] and Value[7:0]. Returned as sev[15:0] = {Value[7:0],Range[7:0]}.
/// ###
/// : CTX_WR 0x1E
/// ###
/// * Write boolDecoder context variables Range[7:0] with arg1[7:0], and Value[7:0] with arg3[7:0].
/// ###
/// : INIT_RAM 0x1F
/// ###
/// * Initialize or update location A of the context RAM with probability P. Specify A using arg3, and P using arg1.
/// ###
/// %unsigned 8 arg1
/// ###
/// * Field used for specifying probabilities when cmd is DEC_BOOL, DEC_COND and INIT_RAM.
/// ###
/// %% 1 # Stuffing bits...
/// %unsigned 2 id
/// : boolCoderID 0x2
/// ###
/// * id = 0x2 indicates that this is a boolCoder command.
/// ###
/// %unsigned 4 arg2
/// ###
/// * Field used for specifying number of bits to decode when cmd is DEC_LITERAL and DEC_COND. 0x0 means 16 bits.
/// * Also used by RST_REG command to specify which registers are reset. The enumerations are specified below.
/// ###
/// : rst_all 0x0
/// : rst_mb_segment 0x1
/// : rst_ymode 0x2
/// : rst_uv_mode 0x3
/// : rst_mv 0x4
/// %unsigned 12 arg3
/// ###
/// * Field used for specifying the tree-offsets when decoding tree-encoded syntax. Also used for INIT_RAM to specify the context RAM address for initializing and updating its probability tables.
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BoolDecoderCmd
#define h_BoolDecoderCmd (){}
#define BA_BoolDecoderCmd_cmd 0x0000
#define B16BoolDecoderCmd_cmd 0x0000
#define LSb32BoolDecoderCmd_cmd 0
#define LSb16BoolDecoderCmd_cmd 0
#define bBoolDecoderCmd_cmd 5
#define MSK32BoolDecoderCmd_cmd 0x0000001F
#define BoolDecoderCmd_cmd_INIT 0x0
#define BoolDecoderCmd_cmd_RST_REG 0x1
#define BoolDecoderCmd_cmd_DEC_LITERAL 0x2
#define BoolDecoderCmd_cmd_DEC_BOOL 0x3
#define BoolDecoderCmd_cmd_DEC_COND 0x4
#define BoolDecoderCmd_cmd_DEC_MB_SEGMENT 0x5
#define BoolDecoderCmd_cmd_DEC_KF_YMODE 0x6
#define BoolDecoderCmd_cmd_DEC_KF_BMODE 0x7
#define BoolDecoderCmd_cmd_DEC_KF_UV_MODE 0x8
#define BoolDecoderCmd_cmd_DEC_YMODE 0x9
#define BoolDecoderCmd_cmd_DEC_BMODE 0xA
#define BoolDecoderCmd_cmd_DEC_UV_MODE 0xB
#define BoolDecoderCmd_cmd_DEC_MV_REF 0xC
#define BoolDecoderCmd_cmd_DEC_MV_PARTITION 0xD
#define BoolDecoderCmd_cmd_DEC_SUB_MV_REF 0xE
#define BoolDecoderCmd_cmd_DEC_MV 0xF
#define BoolDecoderCmd_cmd_DEC_COEF 0x10
#define BoolDecoderCmd_cmd_CTX_RD 0x1D
#define BoolDecoderCmd_cmd_CTX_WR 0x1E
#define BoolDecoderCmd_cmd_INIT_RAM 0x1F
#define BA_BoolDecoderCmd_arg1 0x0000
#define B16BoolDecoderCmd_arg1 0x0000
#define LSb32BoolDecoderCmd_arg1 5
#define LSb16BoolDecoderCmd_arg1 5
#define bBoolDecoderCmd_arg1 8
#define MSK32BoolDecoderCmd_arg1 0x00001FE0
#define BA_BoolDecoderCmd_id 0x0001
#define B16BoolDecoderCmd_id 0x0000
#define LSb32BoolDecoderCmd_id 14
#define LSb16BoolDecoderCmd_id 14
#define bBoolDecoderCmd_id 2
#define MSK32BoolDecoderCmd_id 0x0000C000
#define BoolDecoderCmd_id_boolCoderID 0x2
#define BA_BoolDecoderCmd_arg2 0x0002
#define B16BoolDecoderCmd_arg2 0x0002
#define LSb32BoolDecoderCmd_arg2 16
#define LSb16BoolDecoderCmd_arg2 0
#define bBoolDecoderCmd_arg2 4
#define MSK32BoolDecoderCmd_arg2 0x000F0000
#define BoolDecoderCmd_arg2_rst_all 0x0
#define BoolDecoderCmd_arg2_rst_mb_segment 0x1
#define BoolDecoderCmd_arg2_rst_ymode 0x2
#define BoolDecoderCmd_arg2_rst_uv_mode 0x3
#define BoolDecoderCmd_arg2_rst_mv 0x4
#define BA_BoolDecoderCmd_arg3 0x0002
#define B16BoolDecoderCmd_arg3 0x0002
#define LSb32BoolDecoderCmd_arg3 20
#define LSb16BoolDecoderCmd_arg3 4
#define bBoolDecoderCmd_arg3 12
#define MSK32BoolDecoderCmd_arg3 0xFFF00000
///////////////////////////////////////////////////////////
typedef struct SIE_BoolDecoderCmd {
///////////////////////////////////////////////////////////
#define GET32BoolDecoderCmd_cmd(r32) _BFGET_(r32, 4, 0)
#define SET32BoolDecoderCmd_cmd(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BoolDecoderCmd_cmd(r16) _BFGET_(r16, 4, 0)
#define SET16BoolDecoderCmd_cmd(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BoolDecoderCmd_arg1(r32) _BFGET_(r32,12, 5)
#define SET32BoolDecoderCmd_arg1(r32,v) _BFSET_(r32,12, 5,v)
#define GET16BoolDecoderCmd_arg1(r16) _BFGET_(r16,12, 5)
#define SET16BoolDecoderCmd_arg1(r16,v) _BFSET_(r16,12, 5,v)
#define GET32BoolDecoderCmd_id(r32) _BFGET_(r32,15,14)
#define SET32BoolDecoderCmd_id(r32,v) _BFSET_(r32,15,14,v)
#define GET16BoolDecoderCmd_id(r16) _BFGET_(r16,15,14)
#define SET16BoolDecoderCmd_id(r16,v) _BFSET_(r16,15,14,v)
#define GET32BoolDecoderCmd_arg2(r32) _BFGET_(r32,19,16)
#define SET32BoolDecoderCmd_arg2(r32,v) _BFSET_(r32,19,16,v)
#define GET16BoolDecoderCmd_arg2(r16) _BFGET_(r16, 3, 0)
#define SET16BoolDecoderCmd_arg2(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32BoolDecoderCmd_arg3(r32) _BFGET_(r32,31,20)
#define SET32BoolDecoderCmd_arg3(r32,v) _BFSET_(r32,31,20,v)
#define GET16BoolDecoderCmd_arg3(r16) _BFGET_(r16,15, 4)
#define SET16BoolDecoderCmd_arg3(r16,v) _BFSET_(r16,15, 4,v)
UNSG32 u_cmd : 5;
UNSG32 u_arg1 : 8;
UNSG32 RSVDx0_b13 : 1;
UNSG32 u_id : 2;
UNSG32 u_arg2 : 4;
UNSG32 u_arg3 : 12;
///////////////////////////////////////////////////////////
} SIE_BoolDecoderCmd;
///////////////////////////////////////////////////////////
SIGN32 BoolDecoderCmd_drvrd(SIE_BoolDecoderCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BoolDecoderCmd_drvwr(SIE_BoolDecoderCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BoolDecoderCmd_reset(SIE_BoolDecoderCmd *p);
SIGN32 BoolDecoderCmd_cmp (SIE_BoolDecoderCmd *p, SIE_BoolDecoderCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BoolDecoderCmd_check(p,pie,pfx,hLOG) BoolDecoderCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BoolDecoderCmd_print(p, pfx,hLOG) BoolDecoderCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BoolDecoderCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BoolEncoderCmd flat (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 5 cmd
/// : INIT 0x0
/// ###
/// * Initializes the BoolEncoder context. Sets bottom to 0, and range to 255.
/// ###
/// : RST_REG 0x1
/// ###
/// * Resets register-based probabilities to their default values. Use arg2 to specify the registers to be reset.
/// ###
/// : ENC_LITERAL 0x2
/// ###
/// * Encode N bits with probability of 128. Specify N using arg2 field.
/// ###
/// : ENC_BOOL 0x3
/// ###
/// * Encode 1 bit with probability P. Specify P using arg1 field.
/// ###
/// : ENC_MB_SEGMENT 0x4
/// ###
/// * Tokenize and encode MB segment number.
/// ###
/// : ENC_KF_YMODE 0x5
/// ###
/// * Tokenize and encode key-frame Y mode.
/// ###
/// : ENC_KF_BMODE 0x6
/// ###
/// * Tokenize and encode key-frame B mode. Tree offset specified as arg3. Valid offset range [0 – 99].
/// ###
/// : ENC_KF_UV_MODE 0x7
/// ###
/// * Tokenize and encode key-frame UV mode.
/// ###
/// : ENC_YMODE 0x8
/// ###
/// * Tokenize and encode non-key-frame Y mode.
/// ###
/// : ENC_BMODE 0x9
/// ###
/// * Tokenize and encode non-key-frame B mode.
/// ###
/// : ENC_UV_MODE 0xA
/// ###
/// * Tokenize and encode non-key-frame UV mode.
/// ###
/// : ENC_MV_REF 0xB
/// ###
/// * Tokenize and encode motion vector reference. Tree offset speficied as arg3. Valid offset range [0 – 5].
/// ###
/// : ENC_MV_PARTITION 0xC
/// ###
/// * Tokenize and encode motion vector partition type.
/// ###
/// : ENC_SUB_MV_REF 0xD
/// ###
/// * Tokenize and encode sub MB motion vector reference. Tree offset specified as arg3. Valid offset range [0 – 4].
/// ###
/// : ENC_MV 0xE
/// ###
/// * Tokenize and encode motion vector component. Tree offset specified as arg3. Valid offset range [0 – 1].
/// ###
/// : ENC_COEF 0xF
/// ###
/// * Tokenize and encode DCT coefficients. Tree offset specified as arg3. The three dimensional offset [4][8][3] is split into arg3[6:5], arg3[4:2] and arg3[1:0] fields. Unlike the decoder, this command will only encode 1 coefficient at a time.
/// ###
/// : FLUSH 0x10
/// ###
/// * Flushes the contents of the BoolEncoder and shifts out all remaining bits. The flush operation is equivalent to encoding 32 “0” with a probability of 128. It operates on the current active partition. Repeat for all available partitions.
/// ###
/// : SET_PARTITION 0x1E
/// ###
/// * Sets the current active partition to encode. Unlike the decoder, hardware will maintain the partition context variables internally. Use arg2 to specify the partition number. Valid range is 0 – 3.
/// ###
/// : INIT_RAM 0x1F
/// ###
/// * Initialize or update location A of the context RAM with probability P. Specify A using arg3, and P using arg1.
/// ###
/// %unsigned 8 arg1
/// ###
/// * Field used for specifying probabilities when cmd is ENC_BOOL.
/// ###
/// %% 1 # Stuffing bits...
/// %unsigned 2 id
/// : boolCoderID 0x2
/// ###
/// * id = 0x2 indicates that this is a boolCoder command.
/// ###
/// %unsigned 4 arg2
/// ###
/// * Field used for specifying number of bits to encode when cmd is ENC_LITERAL. 0x0 means 16 bits. Also used by RST_REG command to specify which registers are reset (the enumerations are specified below), and by SET_PARTITION to set the active partition number.
/// ###
/// : rst_all 0x0
/// : rst_mb_segment 0x1
/// : rst_ymode 0x2
/// : rst_uv_mode 0x3
/// : rst_mv 0x4
/// %unsigned 12 arg3
/// ###
/// * Field used for specifying the tree-offsets when encoding tree-encoded syntax. Also used for INIT_RAM to specify the context RAM address for initializing and updating its probability tables.
/// ###
/// %unsigned 16 sev0
/// ###
/// * Field for specifying the syntax element values to be encoded. Use this field for all ENC_* commands.
/// ###
/// %unsigned 16 sev1
/// ###
/// * Field for specifying the EOB flag for the ENC_COEF command.
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BoolEncoderCmd
#define h_BoolEncoderCmd (){}
#define BA_BoolEncoderCmd_cmd 0x0000
#define B16BoolEncoderCmd_cmd 0x0000
#define LSb32BoolEncoderCmd_cmd 0
#define LSb16BoolEncoderCmd_cmd 0
#define bBoolEncoderCmd_cmd 5
#define MSK32BoolEncoderCmd_cmd 0x0000001F
#define BoolEncoderCmd_cmd_INIT 0x0
#define BoolEncoderCmd_cmd_RST_REG 0x1
#define BoolEncoderCmd_cmd_ENC_LITERAL 0x2
#define BoolEncoderCmd_cmd_ENC_BOOL 0x3
#define BoolEncoderCmd_cmd_ENC_MB_SEGMENT 0x4
#define BoolEncoderCmd_cmd_ENC_KF_YMODE 0x5
#define BoolEncoderCmd_cmd_ENC_KF_BMODE 0x6
#define BoolEncoderCmd_cmd_ENC_KF_UV_MODE 0x7
#define BoolEncoderCmd_cmd_ENC_YMODE 0x8
#define BoolEncoderCmd_cmd_ENC_BMODE 0x9
#define BoolEncoderCmd_cmd_ENC_UV_MODE 0xA
#define BoolEncoderCmd_cmd_ENC_MV_REF 0xB
#define BoolEncoderCmd_cmd_ENC_MV_PARTITION 0xC
#define BoolEncoderCmd_cmd_ENC_SUB_MV_REF 0xD
#define BoolEncoderCmd_cmd_ENC_MV 0xE
#define BoolEncoderCmd_cmd_ENC_COEF 0xF
#define BoolEncoderCmd_cmd_FLUSH 0x10
#define BoolEncoderCmd_cmd_SET_PARTITION 0x1E
#define BoolEncoderCmd_cmd_INIT_RAM 0x1F
#define BA_BoolEncoderCmd_arg1 0x0000
#define B16BoolEncoderCmd_arg1 0x0000
#define LSb32BoolEncoderCmd_arg1 5
#define LSb16BoolEncoderCmd_arg1 5
#define bBoolEncoderCmd_arg1 8
#define MSK32BoolEncoderCmd_arg1 0x00001FE0
#define BA_BoolEncoderCmd_id 0x0001
#define B16BoolEncoderCmd_id 0x0000
#define LSb32BoolEncoderCmd_id 14
#define LSb16BoolEncoderCmd_id 14
#define bBoolEncoderCmd_id 2
#define MSK32BoolEncoderCmd_id 0x0000C000
#define BoolEncoderCmd_id_boolCoderID 0x2
#define BA_BoolEncoderCmd_arg2 0x0002
#define B16BoolEncoderCmd_arg2 0x0002
#define LSb32BoolEncoderCmd_arg2 16
#define LSb16BoolEncoderCmd_arg2 0
#define bBoolEncoderCmd_arg2 4
#define MSK32BoolEncoderCmd_arg2 0x000F0000
#define BoolEncoderCmd_arg2_rst_all 0x0
#define BoolEncoderCmd_arg2_rst_mb_segment 0x1
#define BoolEncoderCmd_arg2_rst_ymode 0x2
#define BoolEncoderCmd_arg2_rst_uv_mode 0x3
#define BoolEncoderCmd_arg2_rst_mv 0x4
#define BA_BoolEncoderCmd_arg3 0x0002
#define B16BoolEncoderCmd_arg3 0x0002
#define LSb32BoolEncoderCmd_arg3 20
#define LSb16BoolEncoderCmd_arg3 4
#define bBoolEncoderCmd_arg3 12
#define MSK32BoolEncoderCmd_arg3 0xFFF00000
#define BA_BoolEncoderCmd_sev0 0x0004
#define B16BoolEncoderCmd_sev0 0x0004
#define LSb32BoolEncoderCmd_sev0 0
#define LSb16BoolEncoderCmd_sev0 0
#define bBoolEncoderCmd_sev0 16
#define MSK32BoolEncoderCmd_sev0 0x0000FFFF
#define BA_BoolEncoderCmd_sev1 0x0006
#define B16BoolEncoderCmd_sev1 0x0006
#define LSb32BoolEncoderCmd_sev1 16
#define LSb16BoolEncoderCmd_sev1 0
#define bBoolEncoderCmd_sev1 16
#define MSK32BoolEncoderCmd_sev1 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_BoolEncoderCmd {
///////////////////////////////////////////////////////////
#define GET32BoolEncoderCmd_cmd(r32) _BFGET_(r32, 4, 0)
#define SET32BoolEncoderCmd_cmd(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BoolEncoderCmd_cmd(r16) _BFGET_(r16, 4, 0)
#define SET16BoolEncoderCmd_cmd(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BoolEncoderCmd_arg1(r32) _BFGET_(r32,12, 5)
#define SET32BoolEncoderCmd_arg1(r32,v) _BFSET_(r32,12, 5,v)
#define GET16BoolEncoderCmd_arg1(r16) _BFGET_(r16,12, 5)
#define SET16BoolEncoderCmd_arg1(r16,v) _BFSET_(r16,12, 5,v)
#define GET32BoolEncoderCmd_id(r32) _BFGET_(r32,15,14)
#define SET32BoolEncoderCmd_id(r32,v) _BFSET_(r32,15,14,v)
#define GET16BoolEncoderCmd_id(r16) _BFGET_(r16,15,14)
#define SET16BoolEncoderCmd_id(r16,v) _BFSET_(r16,15,14,v)
#define GET32BoolEncoderCmd_arg2(r32) _BFGET_(r32,19,16)
#define SET32BoolEncoderCmd_arg2(r32,v) _BFSET_(r32,19,16,v)
#define GET16BoolEncoderCmd_arg2(r16) _BFGET_(r16, 3, 0)
#define SET16BoolEncoderCmd_arg2(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32BoolEncoderCmd_arg3(r32) _BFGET_(r32,31,20)
#define SET32BoolEncoderCmd_arg3(r32,v) _BFSET_(r32,31,20,v)
#define GET16BoolEncoderCmd_arg3(r16) _BFGET_(r16,15, 4)
#define SET16BoolEncoderCmd_arg3(r16,v) _BFSET_(r16,15, 4,v)
UNSG32 u_cmd : 5;
UNSG32 u_arg1 : 8;
UNSG32 RSVDx0_b13 : 1;
UNSG32 u_id : 2;
UNSG32 u_arg2 : 4;
UNSG32 u_arg3 : 12;
///////////////////////////////////////////////////////////
#define GET32BoolEncoderCmd_sev0(r32) _BFGET_(r32,15, 0)
#define SET32BoolEncoderCmd_sev0(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BoolEncoderCmd_sev0(r16) _BFGET_(r16,15, 0)
#define SET16BoolEncoderCmd_sev0(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BoolEncoderCmd_sev1(r32) _BFGET_(r32,31,16)
#define SET32BoolEncoderCmd_sev1(r32,v) _BFSET_(r32,31,16,v)
#define GET16BoolEncoderCmd_sev1(r16) _BFGET_(r16,15, 0)
#define SET16BoolEncoderCmd_sev1(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_sev0 : 16;
UNSG32 u_sev1 : 16;
///////////////////////////////////////////////////////////
} SIE_BoolEncoderCmd;
///////////////////////////////////////////////////////////
SIGN32 BoolEncoderCmd_drvrd(SIE_BoolEncoderCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BoolEncoderCmd_drvwr(SIE_BoolEncoderCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BoolEncoderCmd_reset(SIE_BoolEncoderCmd *p);
SIGN32 BoolEncoderCmd_cmp (SIE_BoolEncoderCmd *p, SIE_BoolEncoderCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BoolEncoderCmd_check(p,pie,pfx,hLOG) BoolEncoderCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BoolEncoderCmd_print(p, pfx,hLOG) BoolEncoderCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BoolEncoderCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VldCmd (4,4)
/// ###
/// * VLD Command Definition
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 cmd0
/// : nop 0x0
/// ###
/// * Do nothing
/// ###
/// : syncWord 0x1
/// ###
/// * Search for the next sync word
/// ###
/// : byteAlign 0x2
/// ###
/// * Forward to the next byte aligned location
/// ###
/// : skipBits 0x3
/// ###
/// * Skip 1~63 bits (0 has no effect)
/// ###
/// : skipWords 0x4
/// ###
/// * skip 1~63 words; (1 word = 64 bits; 0 has no effect)
/// ###
/// : skipBlks 0x5
/// ###
/// * skip 1~63 blocks (1 block = 64 words; 0 has no effect)
/// ###
/// : autoTab 0x6
/// ###
/// * Use the table id generated from previous command for bitstream decoding
/// ###
/// : signEGC 0x7
/// ###
/// * Signed Exp-Golomb code decoding; need parameter to indicate max value
/// ###
/// : unsgEGC 0x8
/// ###
/// * Unsigned Exp-Golomb code decoding; need parameter to indicate max value
/// ###
/// : getBits 0x9
/// ###
/// * Get a fix number of bits
/// ###
/// : loopAuto 0xA
/// ###
/// * 1. Combined with a table lookup command: Execute cmd1 once, then repeat autoTab for up to the specified number of times. Parameter of 0 is treated as a spetial value defined in vldReg.loopCnt.
/// * 2. Combined with syncWord command.
/// ###
/// : detectEOS 0xB
/// ###
/// * Detect end of slice (optional padding + 23 0's)
/// ###
/// : interrupt 0xC
/// ###
/// * triggers an interrupt upon receiving this command
/// ###
/// : setError 0xD
/// ###
/// * Set status.illegalCode to 1.
/// ###
/// : unsgEGC1 0xE
/// ###
/// * Unsigned first order Golomb code decoding; need parameter to indicate max value.
/// ###
/// : unsgEGC2 0xF
/// : unsgEGC3 0x10
/// : rvStructVLC 0x11
/// : tableOffset 0x20
/// ###
/// * Starting index of sev tables
/// * Other values map to table indices directly
/// ###
/// %unsigned 6 par0
/// ###
/// * Parameter for cmd0
/// ###
/// %unsigned 2 id
/// : VLD 0x0
/// ###
/// * id==2'b00 indicates vldCmd
/// ###
/// %unsigned 8 cmd1
/// ###
/// * Same definition as cmd0, except that loopAuto cannot appear at cmd1
/// ###
/// %unsigned 6 par1
/// ###
/// * Parameter for cmd1
/// ###
/// %unsigned 2 bkspace
/// ###
/// * Number of pending commands to abort; 0 means to commit all. Currently only support 0 & 1
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VldCmd
#define h_VldCmd (){}
#define BA_VldCmd_cmd0 0x0000
#define B16VldCmd_cmd0 0x0000
#define LSb32VldCmd_cmd0 0
#define LSb16VldCmd_cmd0 0
#define bVldCmd_cmd0 8
#define MSK32VldCmd_cmd0 0x000000FF
#define VldCmd_cmd0_nop 0x0
#define VldCmd_cmd0_syncWord 0x1
#define VldCmd_cmd0_byteAlign 0x2
#define VldCmd_cmd0_skipBits 0x3
#define VldCmd_cmd0_skipWords 0x4
#define VldCmd_cmd0_skipBlks 0x5
#define VldCmd_cmd0_autoTab 0x6
#define VldCmd_cmd0_signEGC 0x7
#define VldCmd_cmd0_unsgEGC 0x8
#define VldCmd_cmd0_getBits 0x9
#define VldCmd_cmd0_loopAuto 0xA
#define VldCmd_cmd0_detectEOS 0xB
#define VldCmd_cmd0_interrupt 0xC
#define VldCmd_cmd0_setError 0xD
#define VldCmd_cmd0_unsgEGC1 0xE
#define VldCmd_cmd0_unsgEGC2 0xF
#define VldCmd_cmd0_unsgEGC3 0x10
#define VldCmd_cmd0_rvStructVLC 0x11
#define VldCmd_cmd0_tableOffset 0x20
#define BA_VldCmd_par0 0x0001
#define B16VldCmd_par0 0x0000
#define LSb32VldCmd_par0 8
#define LSb16VldCmd_par0 8
#define bVldCmd_par0 6
#define MSK32VldCmd_par0 0x00003F00
#define BA_VldCmd_id 0x0001
#define B16VldCmd_id 0x0000
#define LSb32VldCmd_id 14
#define LSb16VldCmd_id 14
#define bVldCmd_id 2
#define MSK32VldCmd_id 0x0000C000
#define VldCmd_id_VLD 0x0
#define BA_VldCmd_cmd1 0x0002
#define B16VldCmd_cmd1 0x0002
#define LSb32VldCmd_cmd1 16
#define LSb16VldCmd_cmd1 0
#define bVldCmd_cmd1 8
#define MSK32VldCmd_cmd1 0x00FF0000
#define BA_VldCmd_par1 0x0003
#define B16VldCmd_par1 0x0002
#define LSb32VldCmd_par1 24
#define LSb16VldCmd_par1 8
#define bVldCmd_par1 6
#define MSK32VldCmd_par1 0x3F000000
#define BA_VldCmd_bkspace 0x0003
#define B16VldCmd_bkspace 0x0002
#define LSb32VldCmd_bkspace 30
#define LSb16VldCmd_bkspace 14
#define bVldCmd_bkspace 2
#define MSK32VldCmd_bkspace 0xC0000000
///////////////////////////////////////////////////////////
typedef struct SIE_VldCmd {
///////////////////////////////////////////////////////////
#define GET32VldCmd_cmd0(r32) _BFGET_(r32, 7, 0)
#define SET32VldCmd_cmd0(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16VldCmd_cmd0(r16) _BFGET_(r16, 7, 0)
#define SET16VldCmd_cmd0(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32VldCmd_par0(r32) _BFGET_(r32,13, 8)
#define SET32VldCmd_par0(r32,v) _BFSET_(r32,13, 8,v)
#define GET16VldCmd_par0(r16) _BFGET_(r16,13, 8)
#define SET16VldCmd_par0(r16,v) _BFSET_(r16,13, 8,v)
#define GET32VldCmd_id(r32) _BFGET_(r32,15,14)
#define SET32VldCmd_id(r32,v) _BFSET_(r32,15,14,v)
#define GET16VldCmd_id(r16) _BFGET_(r16,15,14)
#define SET16VldCmd_id(r16,v) _BFSET_(r16,15,14,v)
#define GET32VldCmd_cmd1(r32) _BFGET_(r32,23,16)
#define SET32VldCmd_cmd1(r32,v) _BFSET_(r32,23,16,v)
#define GET16VldCmd_cmd1(r16) _BFGET_(r16, 7, 0)
#define SET16VldCmd_cmd1(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32VldCmd_par1(r32) _BFGET_(r32,29,24)
#define SET32VldCmd_par1(r32,v) _BFSET_(r32,29,24,v)
#define GET16VldCmd_par1(r16) _BFGET_(r16,13, 8)
#define SET16VldCmd_par1(r16,v) _BFSET_(r16,13, 8,v)
#define GET32VldCmd_bkspace(r32) _BFGET_(r32,31,30)
#define SET32VldCmd_bkspace(r32,v) _BFSET_(r32,31,30,v)
#define GET16VldCmd_bkspace(r16) _BFGET_(r16,15,14)
#define SET16VldCmd_bkspace(r16,v) _BFSET_(r16,15,14,v)
UNSG32 u_cmd0 : 8;
UNSG32 u_par0 : 6;
UNSG32 u_id : 2;
UNSG32 u_cmd1 : 8;
UNSG32 u_par1 : 6;
UNSG32 u_bkspace : 2;
///////////////////////////////////////////////////////////
} SIE_VldCmd;
///////////////////////////////////////////////////////////
SIGN32 VldCmd_drvrd(SIE_VldCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VldCmd_drvwr(SIE_VldCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VldCmd_reset(SIE_VldCmd *p);
SIGN32 VldCmd_cmp (SIE_VldCmd *p, SIE_VldCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VldCmd_check(p,pie,pfx,hLOG) VldCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VldCmd_print(p, pfx,hLOG) VldCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VldCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CABACCmd (4,4)
/// ###
/// * Command format for CABAC Extension
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 9 cmdCtxIdxInit
/// ###
/// * The unique ID for the context variables. Each context is associated with a state and a MPS(most probable symbol)
/// ###
/// %unsigned 3 para 0x0
/// ###
/// * Optional parameter
/// ###
/// %unsigned 2 cmd
/// : init 0x0
/// ###
/// * Initialize the CABAC decode engine. Internal variable codIRange receives the first 9 bits from the bit buffer and codIOffset gets the value of 0x1FE
/// ###
/// : decode 0x1
/// ###
/// * Decode one sytanx values
/// ###
/// : loop 0x2
/// ###
/// * Decode multiple syntax values, using loopCount as the maximum number
/// ###
/// : constrained 0x3
/// ###
/// * Decode one syntax values with constrained range, using loopCount as the bound
/// ###
/// %unsigned 2 id
/// : cabacID 0x1
/// ###
/// * id==2'b01 indicates cabacCmd
/// ###
/// %unsigned 6 loopCount
/// ###
/// * The loop count for repeatedly decoding using the same ctxIdxOffset
/// * Also used as constrained SE range
/// ###
/// %unsigned 1 loopCtxIdxInitSel
/// : useCmdCtxIdx 0x0
/// ###
/// * Use the cmdCtxIdxInit at the beginning of each loop
/// ###
/// : useRbCtxIdx 0x1
/// ###
/// * Use the last ctxIdx generated by RB for previous loop at the beginning of new loop
/// ###
/// %% 9 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 23b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CABACCmd
#define h_CABACCmd (){}
#define BA_CABACCmd_cmdCtxIdxInit 0x0000
#define B16CABACCmd_cmdCtxIdxInit 0x0000
#define LSb32CABACCmd_cmdCtxIdxInit 0
#define LSb16CABACCmd_cmdCtxIdxInit 0
#define bCABACCmd_cmdCtxIdxInit 9
#define MSK32CABACCmd_cmdCtxIdxInit 0x000001FF
#define BA_CABACCmd_para 0x0001
#define B16CABACCmd_para 0x0000
#define LSb32CABACCmd_para 9
#define LSb16CABACCmd_para 9
#define bCABACCmd_para 3
#define MSK32CABACCmd_para 0x00000E00
#define BA_CABACCmd_cmd 0x0001
#define B16CABACCmd_cmd 0x0000
#define LSb32CABACCmd_cmd 12
#define LSb16CABACCmd_cmd 12
#define bCABACCmd_cmd 2
#define MSK32CABACCmd_cmd 0x00003000
#define CABACCmd_cmd_init 0x0
#define CABACCmd_cmd_decode 0x1
#define CABACCmd_cmd_loop 0x2
#define CABACCmd_cmd_constrained 0x3
#define BA_CABACCmd_id 0x0001
#define B16CABACCmd_id 0x0000
#define LSb32CABACCmd_id 14
#define LSb16CABACCmd_id 14
#define bCABACCmd_id 2
#define MSK32CABACCmd_id 0x0000C000
#define CABACCmd_id_cabacID 0x1
#define BA_CABACCmd_loopCount 0x0002
#define B16CABACCmd_loopCount 0x0002
#define LSb32CABACCmd_loopCount 16
#define LSb16CABACCmd_loopCount 0
#define bCABACCmd_loopCount 6
#define MSK32CABACCmd_loopCount 0x003F0000
#define BA_CABACCmd_loopCtxIdxInitSel 0x0002
#define B16CABACCmd_loopCtxIdxInitSel 0x0002
#define LSb32CABACCmd_loopCtxIdxInitSel 22
#define LSb16CABACCmd_loopCtxIdxInitSel 6
#define bCABACCmd_loopCtxIdxInitSel 1
#define MSK32CABACCmd_loopCtxIdxInitSel 0x00400000
#define CABACCmd_loopCtxIdxInitSel_useCmdCtxIdx 0x0
#define CABACCmd_loopCtxIdxInitSel_useRbCtxIdx 0x1
///////////////////////////////////////////////////////////
typedef struct SIE_CABACCmd {
///////////////////////////////////////////////////////////
#define GET32CABACCmd_cmdCtxIdxInit(r32) _BFGET_(r32, 8, 0)
#define SET32CABACCmd_cmdCtxIdxInit(r32,v) _BFSET_(r32, 8, 0,v)
#define GET16CABACCmd_cmdCtxIdxInit(r16) _BFGET_(r16, 8, 0)
#define SET16CABACCmd_cmdCtxIdxInit(r16,v) _BFSET_(r16, 8, 0,v)
#define GET32CABACCmd_para(r32) _BFGET_(r32,11, 9)
#define SET32CABACCmd_para(r32,v) _BFSET_(r32,11, 9,v)
#define GET16CABACCmd_para(r16) _BFGET_(r16,11, 9)
#define SET16CABACCmd_para(r16,v) _BFSET_(r16,11, 9,v)
#define GET32CABACCmd_cmd(r32) _BFGET_(r32,13,12)
#define SET32CABACCmd_cmd(r32,v) _BFSET_(r32,13,12,v)
#define GET16CABACCmd_cmd(r16) _BFGET_(r16,13,12)
#define SET16CABACCmd_cmd(r16,v) _BFSET_(r16,13,12,v)
#define GET32CABACCmd_id(r32) _BFGET_(r32,15,14)
#define SET32CABACCmd_id(r32,v) _BFSET_(r32,15,14,v)
#define GET16CABACCmd_id(r16) _BFGET_(r16,15,14)
#define SET16CABACCmd_id(r16,v) _BFSET_(r16,15,14,v)
#define GET32CABACCmd_loopCount(r32) _BFGET_(r32,21,16)
#define SET32CABACCmd_loopCount(r32,v) _BFSET_(r32,21,16,v)
#define GET16CABACCmd_loopCount(r16) _BFGET_(r16, 5, 0)
#define SET16CABACCmd_loopCount(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32CABACCmd_loopCtxIdxInitSel(r32) _BFGET_(r32,22,22)
#define SET32CABACCmd_loopCtxIdxInitSel(r32,v) _BFSET_(r32,22,22,v)
#define GET16CABACCmd_loopCtxIdxInitSel(r16) _BFGET_(r16, 6, 6)
#define SET16CABACCmd_loopCtxIdxInitSel(r16,v) _BFSET_(r16, 6, 6,v)
UNSG32 u_cmdCtxIdxInit : 9;
UNSG32 u_para : 3;
UNSG32 u_cmd : 2;
UNSG32 u_id : 2;
UNSG32 u_loopCount : 6;
UNSG32 u_loopCtxIdxInitSel : 1;
UNSG32 RSVDx0_b23 : 9;
///////////////////////////////////////////////////////////
} SIE_CABACCmd;
///////////////////////////////////////////////////////////
SIGN32 CABACCmd_drvrd(SIE_CABACCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CABACCmd_drvwr(SIE_CABACCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CABACCmd_reset(SIE_CABACCmd *p);
SIGN32 CABACCmd_cmp (SIE_CABACCmd *p, SIE_CABACCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CABACCmd_check(p,pie,pfx,hLOG) CABACCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CABACCmd_print(p, pfx,hLOG) CABACCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CABACCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BOOLCODERCmd (4,4)
/// ###
/// * Command format for CABAC Extension
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 14 cmd
/// ###
/// * Bool coder command ID
/// ###
/// %unsigned 2 id
/// : boolcoderID 0x2
/// ###
/// * id==2'b10 indicates bool coder command
/// ###
/// %unsigned 8 param
/// ###
/// * Bool coder parameter
/// ###
/// %% 8 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 24b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BOOLCODERCmd
#define h_BOOLCODERCmd (){}
#define BA_BOOLCODERCmd_cmd 0x0000
#define B16BOOLCODERCmd_cmd 0x0000
#define LSb32BOOLCODERCmd_cmd 0
#define LSb16BOOLCODERCmd_cmd 0
#define bBOOLCODERCmd_cmd 14
#define MSK32BOOLCODERCmd_cmd 0x00003FFF
#define BA_BOOLCODERCmd_id 0x0001
#define B16BOOLCODERCmd_id 0x0000
#define LSb32BOOLCODERCmd_id 14
#define LSb16BOOLCODERCmd_id 14
#define bBOOLCODERCmd_id 2
#define MSK32BOOLCODERCmd_id 0x0000C000
#define BOOLCODERCmd_id_boolcoderID 0x2
#define BA_BOOLCODERCmd_param 0x0002
#define B16BOOLCODERCmd_param 0x0002
#define LSb32BOOLCODERCmd_param 16
#define LSb16BOOLCODERCmd_param 0
#define bBOOLCODERCmd_param 8
#define MSK32BOOLCODERCmd_param 0x00FF0000
///////////////////////////////////////////////////////////
typedef struct SIE_BOOLCODERCmd {
///////////////////////////////////////////////////////////
#define GET32BOOLCODERCmd_cmd(r32) _BFGET_(r32,13, 0)
#define SET32BOOLCODERCmd_cmd(r32,v) _BFSET_(r32,13, 0,v)
#define GET16BOOLCODERCmd_cmd(r16) _BFGET_(r16,13, 0)
#define SET16BOOLCODERCmd_cmd(r16,v) _BFSET_(r16,13, 0,v)
#define GET32BOOLCODERCmd_id(r32) _BFGET_(r32,15,14)
#define SET32BOOLCODERCmd_id(r32,v) _BFSET_(r32,15,14,v)
#define GET16BOOLCODERCmd_id(r16) _BFGET_(r16,15,14)
#define SET16BOOLCODERCmd_id(r16,v) _BFSET_(r16,15,14,v)
#define GET32BOOLCODERCmd_param(r32) _BFGET_(r32,23,16)
#define SET32BOOLCODERCmd_param(r32,v) _BFSET_(r32,23,16,v)
#define GET16BOOLCODERCmd_param(r16) _BFGET_(r16, 7, 0)
#define SET16BOOLCODERCmd_param(r16,v) _BFSET_(r16, 7, 0,v)
UNSG32 u_cmd : 14;
UNSG32 u_id : 2;
UNSG32 u_param : 8;
UNSG32 RSVDx0_b24 : 8;
///////////////////////////////////////////////////////////
} SIE_BOOLCODERCmd;
///////////////////////////////////////////////////////////
SIGN32 BOOLCODERCmd_drvrd(SIE_BOOLCODERCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BOOLCODERCmd_drvwr(SIE_BOOLCODERCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BOOLCODERCmd_reset(SIE_BOOLCODERCmd *p);
SIGN32 BOOLCODERCmd_cmp (SIE_BOOLCODERCmd *p, SIE_BOOLCODERCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BOOLCODERCmd_check(p,pie,pfx,hLOG) BOOLCODERCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BOOLCODERCmd_print(p, pfx,hLOG) BOOLCODERCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BOOLCODERCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VldQueue (4,4)
/// ###
/// * Syntax Element Values
/// ###
/// # # ----------------------------------------------------------
/// : CMDQ_DEPTH 0x8
/// : SEVQ_DEPTH 0x8
/// @ 0x00000 Dummy (P)
/// %unsigned 1 xxx 0x0
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 1b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VldQueue
#define h_VldQueue (){}
#define VldQueue_CMDQ_DEPTH 0x8
#define VldQueue_SEVQ_DEPTH 0x8
///////////////////////////////////////////////////////////
#define RA_VldQueue_Dummy 0x0000
#define BA_VldQueue_Dummy_xxx 0x0000
#define B16VldQueue_Dummy_xxx 0x0000
#define LSb32VldQueue_Dummy_xxx 0
#define LSb16VldQueue_Dummy_xxx 0
#define bVldQueue_Dummy_xxx 1
#define MSK32VldQueue_Dummy_xxx 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_VldQueue {
///////////////////////////////////////////////////////////
#define GET32VldQueue_Dummy_xxx(r32) _BFGET_(r32, 0, 0)
#define SET32VldQueue_Dummy_xxx(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16VldQueue_Dummy_xxx(r16) _BFGET_(r16, 0, 0)
#define SET16VldQueue_Dummy_xxx(r16,v) _BFSET_(r16, 0, 0,v)
#define w32VldQueue_Dummy {\
UNSG32 uDummy_xxx : 1;\
UNSG32 RSVDx0_b1 : 31;\
}
union { UNSG32 u32VldQueue_Dummy;
struct w32VldQueue_Dummy;
};
///////////////////////////////////////////////////////////
} SIE_VldQueue;
typedef union T32VldQueue_Dummy
{ UNSG32 u32;
struct w32VldQueue_Dummy;
} T32VldQueue_Dummy;
///////////////////////////////////////////////////////////
typedef union TVldQueue_Dummy
{ UNSG32 u32[1];
struct {
struct w32VldQueue_Dummy;
};
} TVldQueue_Dummy;
///////////////////////////////////////////////////////////
SIGN32 VldQueue_drvrd(SIE_VldQueue *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VldQueue_drvwr(SIE_VldQueue *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VldQueue_reset(SIE_VldQueue *p);
SIGN32 VldQueue_cmp (SIE_VldQueue *p, SIE_VldQueue *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VldQueue_check(p,pie,pfx,hLOG) VldQueue_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VldQueue_print(p, pfx,hLOG) VldQueue_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VldQueue
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VldSev (4,4)
/// ###
/// * Syntax Element Values
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 sev0
/// ###
/// * Returned syntax element value of cmd0
/// ###
/// : timeout 0x80000000
/// ###
/// * VLD did not return valid data before timeout
/// ###
/// : egcOverflow 0x7FFFFFFF
/// ###
/// * EGC decoding found more than 19 zeros
/// ###
/// : loopEnd 0x0
/// ###
/// * LoopAuto command stopped prematurely without error
/// * other values as determined by cmd result
/// ###
/// %unsigned 32 sev1
/// ###
/// * same return value definition as sev0
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VldSev
#define h_VldSev (){}
#define BA_VldSev_sev0 0x0000
#define B16VldSev_sev0 0x0000
#define LSb32VldSev_sev0 0
#define LSb16VldSev_sev0 0
#define bVldSev_sev0 32
#define MSK32VldSev_sev0 0xFFFFFFFF
#define VldSev_sev0_timeout 0x80000000
#define VldSev_sev0_egcOverflow 0x7FFFFFFF
#define VldSev_sev0_loopEnd 0x0
#define BA_VldSev_sev1 0x0004
#define B16VldSev_sev1 0x0004
#define LSb32VldSev_sev1 0
#define LSb16VldSev_sev1 0
#define bVldSev_sev1 32
#define MSK32VldSev_sev1 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_VldSev {
///////////////////////////////////////////////////////////
#define GET32VldSev_sev0(r32) _BFGET_(r32,31, 0)
#define SET32VldSev_sev0(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_sev0 : 32;
///////////////////////////////////////////////////////////
#define GET32VldSev_sev1(r32) _BFGET_(r32,31, 0)
#define SET32VldSev_sev1(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_sev1 : 32;
///////////////////////////////////////////////////////////
} SIE_VldSev;
///////////////////////////////////////////////////////////
SIGN32 VldSev_drvrd(SIE_VldSev *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VldSev_drvwr(SIE_VldSev *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VldSev_reset(SIE_VldSev *p);
SIGN32 VldSev_cmp (SIE_VldSev *p, SIE_VldSev *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VldSev_check(p,pie,pfx,hLOG) VldSev_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VldSev_print(p, pfx,hLOG) VldSev_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VldSev
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VldSyncWordSev (4,4)
/// ###
/// * Syntax Element Values
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 2 status
/// ###
/// * Returned search result
/// ###
/// : no_found 0x0
/// ###
/// * VLD did not found valid syncword
/// ###
/// : sync_found 0x1
/// ###
/// * Found matched scSuffix
/// ###
/// : sync1_found 0x2
/// ###
/// * Found matched scSuffix1
/// ###
/// %unsigned 22 counter
/// ###
/// * byte counter when the syncword is found.
/// ###
/// %unsigned 8 showbits_l
/// %unsigned 31 showbits_h
/// %% 1 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 63b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VldSyncWordSev
#define h_VldSyncWordSev (){}
#define BA_VldSyncWordSev_status 0x0000
#define B16VldSyncWordSev_status 0x0000
#define LSb32VldSyncWordSev_status 0
#define LSb16VldSyncWordSev_status 0
#define bVldSyncWordSev_status 2
#define MSK32VldSyncWordSev_status 0x00000003
#define VldSyncWordSev_status_no_found 0x0
#define VldSyncWordSev_status_sync_found 0x1
#define VldSyncWordSev_status_sync1_found 0x2
#define BA_VldSyncWordSev_counter 0x0000
#define B16VldSyncWordSev_counter 0x0000
#define LSb32VldSyncWordSev_counter 2
#define LSb16VldSyncWordSev_counter 2
#define bVldSyncWordSev_counter 22
#define MSK32VldSyncWordSev_counter 0x00FFFFFC
#define BA_VldSyncWordSev_showbits_l 0x0003
#define B16VldSyncWordSev_showbits_l 0x0002
#define LSb32VldSyncWordSev_showbits_l 24
#define LSb16VldSyncWordSev_showbits_l 8
#define bVldSyncWordSev_showbits_l 8
#define MSK32VldSyncWordSev_showbits_l 0xFF000000
#define BA_VldSyncWordSev_showbits_h 0x0004
#define B16VldSyncWordSev_showbits_h 0x0004
#define LSb32VldSyncWordSev_showbits_h 0
#define LSb16VldSyncWordSev_showbits_h 0
#define bVldSyncWordSev_showbits_h 31
#define MSK32VldSyncWordSev_showbits_h 0x7FFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_VldSyncWordSev {
///////////////////////////////////////////////////////////
#define GET32VldSyncWordSev_status(r32) _BFGET_(r32, 1, 0)
#define SET32VldSyncWordSev_status(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16VldSyncWordSev_status(r16) _BFGET_(r16, 1, 0)
#define SET16VldSyncWordSev_status(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32VldSyncWordSev_counter(r32) _BFGET_(r32,23, 2)
#define SET32VldSyncWordSev_counter(r32,v) _BFSET_(r32,23, 2,v)
#define GET32VldSyncWordSev_showbits_l(r32) _BFGET_(r32,31,24)
#define SET32VldSyncWordSev_showbits_l(r32,v) _BFSET_(r32,31,24,v)
#define GET16VldSyncWordSev_showbits_l(r16) _BFGET_(r16,15, 8)
#define SET16VldSyncWordSev_showbits_l(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_status : 2;
UNSG32 u_counter : 22;
UNSG32 u_showbits_l : 8;
///////////////////////////////////////////////////////////
#define GET32VldSyncWordSev_showbits_h(r32) _BFGET_(r32,30, 0)
#define SET32VldSyncWordSev_showbits_h(r32,v) _BFSET_(r32,30, 0,v)
UNSG32 u_showbits_h : 31;
UNSG32 RSVDx4_b31 : 1;
///////////////////////////////////////////////////////////
} SIE_VldSyncWordSev;
///////////////////////////////////////////////////////////
SIGN32 VldSyncWordSev_drvrd(SIE_VldSyncWordSev *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VldSyncWordSev_drvwr(SIE_VldSyncWordSev *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VldSyncWordSev_reset(SIE_VldSyncWordSev *p);
SIGN32 VldSyncWordSev_cmp (SIE_VldSyncWordSev *p, SIE_VldSyncWordSev *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VldSyncWordSev_check(p,pie,pfx,hLOG) VldSyncWordSev_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VldSyncWordSev_print(p, pfx,hLOG) VldSyncWordSev_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VldSyncWordSev
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CabacCtx (4,4)
/// ###
/// * Format of the entries in the Cabac Context RAM
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 state (RW)
/// %unsigned 6 pStateIdx
/// %unsigned 1 valMPS
/// %unsigned 9 nxtCtxNum
/// %unsigned 9 nxtCtx1Num
/// %% 7 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 25b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CabacCtx
#define h_CabacCtx (){}
#define RA_CabacCtx_state 0x0000
#define BA_CabacCtx_state_pStateIdx 0x0000
#define B16CabacCtx_state_pStateIdx 0x0000
#define LSb32CabacCtx_state_pStateIdx 0
#define LSb16CabacCtx_state_pStateIdx 0
#define bCabacCtx_state_pStateIdx 6
#define MSK32CabacCtx_state_pStateIdx 0x0000003F
#define BA_CabacCtx_state_valMPS 0x0000
#define B16CabacCtx_state_valMPS 0x0000
#define LSb32CabacCtx_state_valMPS 6
#define LSb16CabacCtx_state_valMPS 6
#define bCabacCtx_state_valMPS 1
#define MSK32CabacCtx_state_valMPS 0x00000040
#define BA_CabacCtx_state_nxtCtxNum 0x0000
#define B16CabacCtx_state_nxtCtxNum 0x0000
#define LSb32CabacCtx_state_nxtCtxNum 7
#define LSb16CabacCtx_state_nxtCtxNum 7
#define bCabacCtx_state_nxtCtxNum 9
#define MSK32CabacCtx_state_nxtCtxNum 0x0000FF80
#define BA_CabacCtx_state_nxtCtx1Num 0x0002
#define B16CabacCtx_state_nxtCtx1Num 0x0002
#define LSb32CabacCtx_state_nxtCtx1Num 16
#define LSb16CabacCtx_state_nxtCtx1Num 0
#define bCabacCtx_state_nxtCtx1Num 9
#define MSK32CabacCtx_state_nxtCtx1Num 0x01FF0000
///////////////////////////////////////////////////////////
typedef struct SIE_CabacCtx {
///////////////////////////////////////////////////////////
#define GET32CabacCtx_state_pStateIdx(r32) _BFGET_(r32, 5, 0)
#define SET32CabacCtx_state_pStateIdx(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16CabacCtx_state_pStateIdx(r16) _BFGET_(r16, 5, 0)
#define SET16CabacCtx_state_pStateIdx(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32CabacCtx_state_valMPS(r32) _BFGET_(r32, 6, 6)
#define SET32CabacCtx_state_valMPS(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16CabacCtx_state_valMPS(r16) _BFGET_(r16, 6, 6)
#define SET16CabacCtx_state_valMPS(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32CabacCtx_state_nxtCtxNum(r32) _BFGET_(r32,15, 7)
#define SET32CabacCtx_state_nxtCtxNum(r32,v) _BFSET_(r32,15, 7,v)
#define GET16CabacCtx_state_nxtCtxNum(r16) _BFGET_(r16,15, 7)
#define SET16CabacCtx_state_nxtCtxNum(r16,v) _BFSET_(r16,15, 7,v)
#define GET32CabacCtx_state_nxtCtx1Num(r32) _BFGET_(r32,24,16)
#define SET32CabacCtx_state_nxtCtx1Num(r32,v) _BFSET_(r32,24,16,v)
#define GET16CabacCtx_state_nxtCtx1Num(r16) _BFGET_(r16, 8, 0)
#define SET16CabacCtx_state_nxtCtx1Num(r16,v) _BFSET_(r16, 8, 0,v)
#define w32CabacCtx_state {\
UNSG32 ustate_pStateIdx : 6;\
UNSG32 ustate_valMPS : 1;\
UNSG32 ustate_nxtCtxNum : 9;\
UNSG32 ustate_nxtCtx1Num : 9;\
UNSG32 RSVDx0_b25 : 7;\
}
union { UNSG32 u32CabacCtx_state;
struct w32CabacCtx_state;
};
///////////////////////////////////////////////////////////
} SIE_CabacCtx;
typedef union T32CabacCtx_state
{ UNSG32 u32;
struct w32CabacCtx_state;
} T32CabacCtx_state;
///////////////////////////////////////////////////////////
typedef union TCabacCtx_state
{ UNSG32 u32[1];
struct {
struct w32CabacCtx_state;
};
} TCabacCtx_state;
///////////////////////////////////////////////////////////
SIGN32 CabacCtx_drvrd(SIE_CabacCtx *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CabacCtx_drvwr(SIE_CabacCtx *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CabacCtx_reset(SIE_CabacCtx *p);
SIGN32 CabacCtx_cmp (SIE_CabacCtx *p, SIE_CabacCtx *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CabacCtx_check(p,pie,pfx,hLOG) CabacCtx_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CabacCtx_print(p, pfx,hLOG) CabacCtx_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CabacCtx
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CtxTable (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 Ctx
/// $CabacCtx Ctx REG [512]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 2048B, bits: 12800b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CtxTable
#define h_CtxTable (){}
#define RA_CtxTable_Ctx 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_CtxTable {
///////////////////////////////////////////////////////////
SIE_CabacCtx ie_Ctx[512];
///////////////////////////////////////////////////////////
} SIE_CtxTable;
///////////////////////////////////////////////////////////
SIGN32 CtxTable_drvrd(SIE_CtxTable *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CtxTable_drvwr(SIE_CtxTable *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CtxTable_reset(SIE_CtxTable *p);
SIGN32 CtxTable_cmp (SIE_CtxTable *p, SIE_CtxTable *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CtxTable_check(p,pie,pfx,hLOG) CtxTable_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CtxTable_print(p, pfx,hLOG) CtxTable_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CtxTable
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VldIntf (4,4)
/// ###
/// * Dummy register definitionsfor VLD interfaces
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 msg (RW-)
/// %unsigned 32 val
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VldIntf
#define h_VldIntf (){}
#define RA_VldIntf_msg 0x0000
#define BA_VldIntf_msg_val 0x0000
#define B16VldIntf_msg_val 0x0000
#define LSb32VldIntf_msg_val 0
#define LSb16VldIntf_msg_val 0
#define bVldIntf_msg_val 32
#define MSK32VldIntf_msg_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_VldIntf {
///////////////////////////////////////////////////////////
#define GET32VldIntf_msg_val(r32) _BFGET_(r32,31, 0)
#define SET32VldIntf_msg_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32VldIntf_msg {\
UNSG32 umsg_val : 32;\
}
union { UNSG32 u32VldIntf_msg;
struct w32VldIntf_msg;
};
///////////////////////////////////////////////////////////
} SIE_VldIntf;
typedef union T32VldIntf_msg
{ UNSG32 u32;
struct w32VldIntf_msg;
} T32VldIntf_msg;
///////////////////////////////////////////////////////////
typedef union TVldIntf_msg
{ UNSG32 u32[1];
struct {
struct w32VldIntf_msg;
};
} TVldIntf_msg;
///////////////////////////////////////////////////////////
SIGN32 VldIntf_drvrd(SIE_VldIntf *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VldIntf_drvwr(SIE_VldIntf *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VldIntf_reset(SIE_VldIntf *p);
SIGN32 VldIntf_cmp (SIE_VldIntf *p, SIE_VldIntf *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VldIntf_check(p,pie,pfx,hLOG) VldIntf_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VldIntf_print(p, pfx,hLOG) VldIntf_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VldIntf
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VldCounter (4,4)
/// ###
/// * Format of the entries in the Cabac Context RAM
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 counter (R-)
/// %unsigned 3 bit
/// %unsigned 29 byte
/// ###
/// * Automatically clear after kickoff
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VldCounter
#define h_VldCounter (){}
#define RA_VldCounter_counter 0x0000
#define BA_VldCounter_counter_bit 0x0000
#define B16VldCounter_counter_bit 0x0000
#define LSb32VldCounter_counter_bit 0
#define LSb16VldCounter_counter_bit 0
#define bVldCounter_counter_bit 3
#define MSK32VldCounter_counter_bit 0x00000007
#define BA_VldCounter_counter_byte 0x0000
#define B16VldCounter_counter_byte 0x0000
#define LSb32VldCounter_counter_byte 3
#define LSb16VldCounter_counter_byte 3
#define bVldCounter_counter_byte 29
#define MSK32VldCounter_counter_byte 0xFFFFFFF8
///////////////////////////////////////////////////////////
typedef struct SIE_VldCounter {
///////////////////////////////////////////////////////////
#define GET32VldCounter_counter_bit(r32) _BFGET_(r32, 2, 0)
#define SET32VldCounter_counter_bit(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16VldCounter_counter_bit(r16) _BFGET_(r16, 2, 0)
#define SET16VldCounter_counter_bit(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32VldCounter_counter_byte(r32) _BFGET_(r32,31, 3)
#define SET32VldCounter_counter_byte(r32,v) _BFSET_(r32,31, 3,v)
#define w32VldCounter_counter {\
UNSG32 ucounter_bit : 3;\
UNSG32 ucounter_byte : 29;\
}
union { UNSG32 u32VldCounter_counter;
struct w32VldCounter_counter;
};
///////////////////////////////////////////////////////////
} SIE_VldCounter;
typedef union T32VldCounter_counter
{ UNSG32 u32;
struct w32VldCounter_counter;
} T32VldCounter_counter;
///////////////////////////////////////////////////////////
typedef union TVldCounter_counter
{ UNSG32 u32[1];
struct {
struct w32VldCounter_counter;
};
} TVldCounter_counter;
///////////////////////////////////////////////////////////
SIGN32 VldCounter_drvrd(SIE_VldCounter *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VldCounter_drvwr(SIE_VldCounter *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VldCounter_reset(SIE_VldCounter *p);
SIGN32 VldCounter_cmp (SIE_VldCounter *p, SIE_VldCounter *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VldCounter_check(p,pie,pfx,hLOG) VldCounter_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VldCounter_print(p, pfx,hLOG) VldCounter_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VldCounter
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VldBitBuf (4,4)
/// ###
/// * VLD bit buffer [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 bitbuf (R-)
/// %unsigned 32 bitbuf
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VldBitBuf
#define h_VldBitBuf (){}
#define RA_VldBitBuf_bitbuf 0x0000
#define BA_VldBitBuf_bitbuf_bitbuf 0x0000
#define B16VldBitBuf_bitbuf_bitbuf 0x0000
#define LSb32VldBitBuf_bitbuf_bitbuf 0
#define LSb16VldBitBuf_bitbuf_bitbuf 0
#define bVldBitBuf_bitbuf_bitbuf 32
#define MSK32VldBitBuf_bitbuf_bitbuf 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_VldBitBuf {
///////////////////////////////////////////////////////////
#define GET32VldBitBuf_bitbuf_bitbuf(r32) _BFGET_(r32,31, 0)
#define SET32VldBitBuf_bitbuf_bitbuf(r32,v) _BFSET_(r32,31, 0,v)
#define w32VldBitBuf_bitbuf {\
UNSG32 ubitbuf_bitbuf : 32;\
}
union { UNSG32 u32VldBitBuf_bitbuf;
struct w32VldBitBuf_bitbuf;
};
///////////////////////////////////////////////////////////
} SIE_VldBitBuf;
typedef union T32VldBitBuf_bitbuf
{ UNSG32 u32;
struct w32VldBitBuf_bitbuf;
} T32VldBitBuf_bitbuf;
///////////////////////////////////////////////////////////
typedef union TVldBitBuf_bitbuf
{ UNSG32 u32[1];
struct {
struct w32VldBitBuf_bitbuf;
};
} TVldBitBuf_bitbuf;
///////////////////////////////////////////////////////////
SIGN32 VldBitBuf_drvrd(SIE_VldBitBuf *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VldBitBuf_drvwr(SIE_VldBitBuf *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VldBitBuf_reset(SIE_VldBitBuf *p);
SIGN32 VldBitBuf_cmp (SIE_VldBitBuf *p, SIE_VldBitBuf *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VldBitBuf_check(p,pie,pfx,hLOG) VldBitBuf_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VldBitBuf_print(p, pfx,hLOG) VldBitBuf_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VldBitBuf
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VldStatus (4,4)
/// ###
/// * Format of the entries in the Cabac Context RAM
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 status (RW-)
/// %unsigned 1 illegalCode 0x0
/// ###
/// * 1: decoding error has occurred; write 1 to clear:
/// ###
/// %unsigned 1 scpCrossed 0x0
/// ###
/// * 1: reached byte-aligned 23 zeros during decoding, indicating potential start code prefix or end of slice reached. Bit pointer will not cross this boundary, and sev will return 0. Write 1 to clear
/// ###
/// %unsigned 1 overflow 0x0
/// ###
/// * 1: CMDQ overflowed. Write 1 to clear
/// ###
/// %unsigned 1 underflow 0x0
/// ###
/// * 1: SEVQ underflowed. Write 1 to clear
/// ###
/// %unsigned 1 cmdqBusy 0x0
/// ###
/// * 1: cmdQ is not empty. Write 1 to clear & reset cmdQ
/// ###
/// %unsigned 1 vldBusy 0x0
/// ###
/// * 1: vld decoding engine is still busy. Write 1 to clear & reset vld decoding engine
/// ###
/// %unsigned 1 sevqBusy 0x0
/// ###
/// * 1: sevQ is not empty. Write 1 to clear & reset sevQ
/// ###
/// %% 25 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 7b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VldStatus
#define h_VldStatus (){}
#define RA_VldStatus_status 0x0000
#define BA_VldStatus_status_illegalCode 0x0000
#define B16VldStatus_status_illegalCode 0x0000
#define LSb32VldStatus_status_illegalCode 0
#define LSb16VldStatus_status_illegalCode 0
#define bVldStatus_status_illegalCode 1
#define MSK32VldStatus_status_illegalCode 0x00000001
#define BA_VldStatus_status_scpCrossed 0x0000
#define B16VldStatus_status_scpCrossed 0x0000
#define LSb32VldStatus_status_scpCrossed 1
#define LSb16VldStatus_status_scpCrossed 1
#define bVldStatus_status_scpCrossed 1
#define MSK32VldStatus_status_scpCrossed 0x00000002
#define BA_VldStatus_status_overflow 0x0000
#define B16VldStatus_status_overflow 0x0000
#define LSb32VldStatus_status_overflow 2
#define LSb16VldStatus_status_overflow 2
#define bVldStatus_status_overflow 1
#define MSK32VldStatus_status_overflow 0x00000004
#define BA_VldStatus_status_underflow 0x0000
#define B16VldStatus_status_underflow 0x0000
#define LSb32VldStatus_status_underflow 3
#define LSb16VldStatus_status_underflow 3
#define bVldStatus_status_underflow 1
#define MSK32VldStatus_status_underflow 0x00000008
#define BA_VldStatus_status_cmdqBusy 0x0000
#define B16VldStatus_status_cmdqBusy 0x0000
#define LSb32VldStatus_status_cmdqBusy 4
#define LSb16VldStatus_status_cmdqBusy 4
#define bVldStatus_status_cmdqBusy 1
#define MSK32VldStatus_status_cmdqBusy 0x00000010
#define BA_VldStatus_status_vldBusy 0x0000
#define B16VldStatus_status_vldBusy 0x0000
#define LSb32VldStatus_status_vldBusy 5
#define LSb16VldStatus_status_vldBusy 5
#define bVldStatus_status_vldBusy 1
#define MSK32VldStatus_status_vldBusy 0x00000020
#define BA_VldStatus_status_sevqBusy 0x0000
#define B16VldStatus_status_sevqBusy 0x0000
#define LSb32VldStatus_status_sevqBusy 6
#define LSb16VldStatus_status_sevqBusy 6
#define bVldStatus_status_sevqBusy 1
#define MSK32VldStatus_status_sevqBusy 0x00000040
///////////////////////////////////////////////////////////
typedef struct SIE_VldStatus {
///////////////////////////////////////////////////////////
#define GET32VldStatus_status_illegalCode(r32) _BFGET_(r32, 0, 0)
#define SET32VldStatus_status_illegalCode(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16VldStatus_status_illegalCode(r16) _BFGET_(r16, 0, 0)
#define SET16VldStatus_status_illegalCode(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32VldStatus_status_scpCrossed(r32) _BFGET_(r32, 1, 1)
#define SET32VldStatus_status_scpCrossed(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16VldStatus_status_scpCrossed(r16) _BFGET_(r16, 1, 1)
#define SET16VldStatus_status_scpCrossed(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32VldStatus_status_overflow(r32) _BFGET_(r32, 2, 2)
#define SET32VldStatus_status_overflow(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16VldStatus_status_overflow(r16) _BFGET_(r16, 2, 2)
#define SET16VldStatus_status_overflow(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32VldStatus_status_underflow(r32) _BFGET_(r32, 3, 3)
#define SET32VldStatus_status_underflow(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16VldStatus_status_underflow(r16) _BFGET_(r16, 3, 3)
#define SET16VldStatus_status_underflow(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32VldStatus_status_cmdqBusy(r32) _BFGET_(r32, 4, 4)
#define SET32VldStatus_status_cmdqBusy(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16VldStatus_status_cmdqBusy(r16) _BFGET_(r16, 4, 4)
#define SET16VldStatus_status_cmdqBusy(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32VldStatus_status_vldBusy(r32) _BFGET_(r32, 5, 5)
#define SET32VldStatus_status_vldBusy(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16VldStatus_status_vldBusy(r16) _BFGET_(r16, 5, 5)
#define SET16VldStatus_status_vldBusy(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32VldStatus_status_sevqBusy(r32) _BFGET_(r32, 6, 6)
#define SET32VldStatus_status_sevqBusy(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16VldStatus_status_sevqBusy(r16) _BFGET_(r16, 6, 6)
#define SET16VldStatus_status_sevqBusy(r16,v) _BFSET_(r16, 6, 6,v)
#define w32VldStatus_status {\
UNSG32 ustatus_illegalCode : 1;\
UNSG32 ustatus_scpCrossed : 1;\
UNSG32 ustatus_overflow : 1;\
UNSG32 ustatus_underflow : 1;\
UNSG32 ustatus_cmdqBusy : 1;\
UNSG32 ustatus_vldBusy : 1;\
UNSG32 ustatus_sevqBusy : 1;\
UNSG32 RSVDx0_b7 : 25;\
}
union { UNSG32 u32VldStatus_status;
struct w32VldStatus_status;
};
///////////////////////////////////////////////////////////
} SIE_VldStatus;
typedef union T32VldStatus_status
{ UNSG32 u32;
struct w32VldStatus_status;
} T32VldStatus_status;
///////////////////////////////////////////////////////////
typedef union TVldStatus_status
{ UNSG32 u32[1];
struct {
struct w32VldStatus_status;
};
} TVldStatus_status;
///////////////////////////////////////////////////////////
SIGN32 VldStatus_drvrd(SIE_VldStatus *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VldStatus_drvwr(SIE_VldStatus *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VldStatus_reset(SIE_VldStatus *p);
SIGN32 VldStatus_cmp (SIE_VldStatus *p, SIE_VldStatus *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VldStatus_check(p,pie,pfx,hLOG) VldStatus_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VldStatus_print(p, pfx,hLOG) VldStatus_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VldStatus
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VldReg biu (4,4)
/// ###
/// * VLD register definition
/// ###
/// # # ----------------------------------------------------------
/// : RegBase 0x0
/// ###
/// * Starting offset address for VLD registers
/// ###
/// @ 0x00000 flow (RW-)
/// ###
/// * VLD flow control
/// ###
/// %unsigned 1 enable 0x0
/// ###
/// * Write 1 to enable VLD core and bitstream DMA transfer; write 0 to disable VLD core and bitstream DMA transfer;
/// ###
/// %unsigned 1 select 0x0
/// ###
/// * Write 1 to get input bitstream from vScope FIFO channel.
/// * Write 0 to get input bitstream from dHub channel.
/// ###
/// %% 30 # Stuffing bits...
/// @ 0x00004 ctrl (P)
/// %unsigned 1 noScpDetect 0x0
/// ###
/// * 1:do not perform on-the-fly detection of EOS.
/// ###
/// %unsigned 1 noStuffRemoval 0x0
/// ###
/// * 1: do not remove emulation stuffing bytes
/// ###
/// %unsigned 1 avsStuffRemoval 0x0
/// ###
/// * 1: AVS-style bit removal (2 bits of 10b)
/// ###
/// %% 29 # Stuffing bits...
/// @ 0x00008 Status (P)
/// # 0x00008 status
/// $VldStatus status MEM
/// @ 0x0000C Counter (P)
/// # 0x0000C counter
/// $VldCounter counter MEM
/// @ 0x00010 BitBuffer (P)
/// # 0x00010 bitbuf
/// $VldBitBuf bitbuf MEM
/// @ 0x00014 waitMax (P)
/// %unsigned 16 cyc 0x0
/// ###
/// * Maximum number of cycles to wait before DMA timeout occurs. 0 means no timeout
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00018 skipBytes (P)
/// %unsigned 22 v 0x0
/// ###
/// * number of bytes to skip after vld is enabled.
/// ###
/// %% 10 # Stuffing bits...
/// @ 0x0001C searchRange (P)
/// %unsigned 22 v 0x0
/// ###
/// * maximum number of bytes allowed to skip forward when executing syncWord command. When syncWord command is combined with loopAuto command, this value is the total budget for the whole loop.
/// * Note that 0 means only stop when a syncWord is found. Less than 8 is not allowed.
/// ###
/// %% 10 # Stuffing bits...
/// @ 0x00020 dmaWait (P)
/// %unsigned 16 cyc 0x4
/// ###
/// * Cycle count to be waited before fetching VES from external DMA agent when the VES queue is empty.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00024 vldTblSet (P)
/// %unsigned 4 format 0x0
/// : H264 0x0
/// : MPEG1 0x2
/// : MPEG2 0x4
/// : VC1 0x6
/// : MPEG4 0x1
/// : H263 0x3
/// : DIVX311 0x5
/// : AVS 0x7
/// : JPEG 0x9
/// : RV89_Intra 0xA
/// : RV89_Inter 0xB
/// ###
/// * Used for supporting VLD tables of other video formats. Note that for odd# vldTblSet, the table ID should still start from 0x20, which is same as vldTblSet #0.
/// ###
/// %% 28 # Stuffing bits...
/// @ 0x00028 escLoopCnt (P)
/// %unsigned 16 v 0x40
/// ###
/// * Loop count when the loopAuto parameter is 0.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x0002C maxDecBytes (P-)
/// %unsigned 22 v 0x0
/// ###
/// * Maximum decoding bytes after VLD is enabled. VLD engine should not consume more than this value of bytes. When VLD reaches this limitation, the status.scpCrossed flag is set. VLD bit buffer pointer will not cross this limitation. In other words, the VLD treat this limitation as a sync word. Set to 0 to disable this limitation. Note that write to this register will reset the VLD internal byte counter (not Counter.count) to 0.
/// ###
/// %% 10 # Stuffing bits...
/// @ 0x00030 eosPrefix (P)
/// %unsigned 8 pattern 0x0
/// %unsigned 8 mask 0xFF
/// %unsigned 1 nonskip 0x0
/// ###
/// * End-of-slice prefix comparison pattern & mask
/// * nonskip specifies the behavior when bitstream is already byte aligned:
/// * 1: eosPrefix matching is mandatory
/// * 0: eosPrefix matching is optional
/// ###
/// %% 15 # Stuffing bits...
/// @ 0x00034 eosSuffix (P)
/// %unsigned 8 pattern 0x0
/// %unsigned 8 mask 0xFF
/// ###
/// * End-of-slice suffix comparison pattern & mask
/// * Used for both detectEOS command only;
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00038 scSuffix (P)
/// %unsigned 8 pattern 0x0
/// %unsigned 8 mask 0xFF
/// ###
/// * Start code suffix matching pattern & mask; used for SyncWord command. Note that the :”mask” specifies the number of bits of the byte after two zero bytes should be considered as the syncword. For example, if mask is set to 0xC0, that means only two MSBs are considered as part of syncword. If syncword is found, the bit pointer will stop just after the two bits.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x0003C scSuffix1 (P)
/// %unsigned 8 pattern 0x0
/// %unsigned 8 mask 0xFF
/// %unsigned 1 enable 0x0
/// ###
/// * Start code suffix matching pattern & mask; used for SyncWord command for MPEG-4 mode. Note that the :”mask” specifies the number of bits of the byte after two zero bytes should be considered as the syncword. For example, if mask is set to 0xC0, that means only two MSBs are considered as part of syncword. If syncword is found, the bit pointer will stop just after the two bits.
/// ###
/// %% 15 # Stuffing bits...
/// @ 0x00040 eosSuffix1 (P)
/// %unsigned 8 pattern 0x0
/// %unsigned 8 mask 0xFF
/// ###
/// * On-the-fly EOS detection pattern & mask.
/// * Used for on-the-fly end-of-slice detection only; used to bitbuf block pointer from crossing slice boundary during normal decoding
/// * The starting address of the Context State RAM
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00044 (W-)
/// # # Stuffing bytes...
/// %% 15840
/// @ 0x00800 ctxRam (P)
/// # 0x00800 table
/// $CtxTable table MEM
/// ###
/// * 25-bit wide SRAM
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4096B, bits: 333b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VldReg
#define h_VldReg (){}
#define VldReg_RegBase 0x0
///////////////////////////////////////////////////////////
#define RA_VldReg_flow 0x0000
#define BA_VldReg_flow_enable 0x0000
#define B16VldReg_flow_enable 0x0000
#define LSb32VldReg_flow_enable 0
#define LSb16VldReg_flow_enable 0
#define bVldReg_flow_enable 1
#define MSK32VldReg_flow_enable 0x00000001
#define BA_VldReg_flow_select 0x0000
#define B16VldReg_flow_select 0x0000
#define LSb32VldReg_flow_select 1
#define LSb16VldReg_flow_select 1
#define bVldReg_flow_select 1
#define MSK32VldReg_flow_select 0x00000002
///////////////////////////////////////////////////////////
#define RA_VldReg_ctrl 0x0004
#define BA_VldReg_ctrl_noScpDetect 0x0004
#define B16VldReg_ctrl_noScpDetect 0x0004
#define LSb32VldReg_ctrl_noScpDetect 0
#define LSb16VldReg_ctrl_noScpDetect 0
#define bVldReg_ctrl_noScpDetect 1
#define MSK32VldReg_ctrl_noScpDetect 0x00000001
#define BA_VldReg_ctrl_noStuffRemoval 0x0004
#define B16VldReg_ctrl_noStuffRemoval 0x0004
#define LSb32VldReg_ctrl_noStuffRemoval 1
#define LSb16VldReg_ctrl_noStuffRemoval 1
#define bVldReg_ctrl_noStuffRemoval 1
#define MSK32VldReg_ctrl_noStuffRemoval 0x00000002
#define BA_VldReg_ctrl_avsStuffRemoval 0x0004
#define B16VldReg_ctrl_avsStuffRemoval 0x0004
#define LSb32VldReg_ctrl_avsStuffRemoval 2
#define LSb16VldReg_ctrl_avsStuffRemoval 2
#define bVldReg_ctrl_avsStuffRemoval 1
#define MSK32VldReg_ctrl_avsStuffRemoval 0x00000004
///////////////////////////////////////////////////////////
#define RA_VldReg_Status 0x0008
#define RA_VldReg_status 0x0008
///////////////////////////////////////////////////////////
#define RA_VldReg_Counter 0x000C
#define RA_VldReg_counter 0x000C
///////////////////////////////////////////////////////////
#define RA_VldReg_BitBuffer 0x0010
#define RA_VldReg_bitbuf 0x0010
///////////////////////////////////////////////////////////
#define RA_VldReg_waitMax 0x0014
#define BA_VldReg_waitMax_cyc 0x0014
#define B16VldReg_waitMax_cyc 0x0014
#define LSb32VldReg_waitMax_cyc 0
#define LSb16VldReg_waitMax_cyc 0
#define bVldReg_waitMax_cyc 16
#define MSK32VldReg_waitMax_cyc 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_VldReg_skipBytes 0x0018
#define BA_VldReg_skipBytes_v 0x0018
#define B16VldReg_skipBytes_v 0x0018
#define LSb32VldReg_skipBytes_v 0
#define LSb16VldReg_skipBytes_v 0
#define bVldReg_skipBytes_v 22
#define MSK32VldReg_skipBytes_v 0x003FFFFF
///////////////////////////////////////////////////////////
#define RA_VldReg_searchRange 0x001C
#define BA_VldReg_searchRange_v 0x001C
#define B16VldReg_searchRange_v 0x001C
#define LSb32VldReg_searchRange_v 0
#define LSb16VldReg_searchRange_v 0
#define bVldReg_searchRange_v 22
#define MSK32VldReg_searchRange_v 0x003FFFFF
///////////////////////////////////////////////////////////
#define RA_VldReg_dmaWait 0x0020
#define BA_VldReg_dmaWait_cyc 0x0020
#define B16VldReg_dmaWait_cyc 0x0020
#define LSb32VldReg_dmaWait_cyc 0
#define LSb16VldReg_dmaWait_cyc 0
#define bVldReg_dmaWait_cyc 16
#define MSK32VldReg_dmaWait_cyc 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_VldReg_vldTblSet 0x0024
#define BA_VldReg_vldTblSet_format 0x0024
#define B16VldReg_vldTblSet_format 0x0024
#define LSb32VldReg_vldTblSet_format 0
#define LSb16VldReg_vldTblSet_format 0
#define bVldReg_vldTblSet_format 4
#define MSK32VldReg_vldTblSet_format 0x0000000F
#define VldReg_vldTblSet_format_H264 0x0
#define VldReg_vldTblSet_format_MPEG1 0x2
#define VldReg_vldTblSet_format_MPEG2 0x4
#define VldReg_vldTblSet_format_VC1 0x6
#define VldReg_vldTblSet_format_MPEG4 0x1
#define VldReg_vldTblSet_format_H263 0x3
#define VldReg_vldTblSet_format_DIVX311 0x5
#define VldReg_vldTblSet_format_AVS 0x7
#define VldReg_vldTblSet_format_JPEG 0x9
#define VldReg_vldTblSet_format_RV89_Intra 0xA
#define VldReg_vldTblSet_format_RV89_Inter 0xB
///////////////////////////////////////////////////////////
#define RA_VldReg_escLoopCnt 0x0028
#define BA_VldReg_escLoopCnt_v 0x0028
#define B16VldReg_escLoopCnt_v 0x0028
#define LSb32VldReg_escLoopCnt_v 0
#define LSb16VldReg_escLoopCnt_v 0
#define bVldReg_escLoopCnt_v 16
#define MSK32VldReg_escLoopCnt_v 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_VldReg_maxDecBytes 0x002C
#define BA_VldReg_maxDecBytes_v 0x002C
#define B16VldReg_maxDecBytes_v 0x002C
#define LSb32VldReg_maxDecBytes_v 0
#define LSb16VldReg_maxDecBytes_v 0
#define bVldReg_maxDecBytes_v 22
#define MSK32VldReg_maxDecBytes_v 0x003FFFFF
///////////////////////////////////////////////////////////
#define RA_VldReg_eosPrefix 0x0030
#define BA_VldReg_eosPrefix_pattern 0x0030
#define B16VldReg_eosPrefix_pattern 0x0030
#define LSb32VldReg_eosPrefix_pattern 0
#define LSb16VldReg_eosPrefix_pattern 0
#define bVldReg_eosPrefix_pattern 8
#define MSK32VldReg_eosPrefix_pattern 0x000000FF
#define BA_VldReg_eosPrefix_mask 0x0031
#define B16VldReg_eosPrefix_mask 0x0030
#define LSb32VldReg_eosPrefix_mask 8
#define LSb16VldReg_eosPrefix_mask 8
#define bVldReg_eosPrefix_mask 8
#define MSK32VldReg_eosPrefix_mask 0x0000FF00
#define BA_VldReg_eosPrefix_nonskip 0x0032
#define B16VldReg_eosPrefix_nonskip 0x0032
#define LSb32VldReg_eosPrefix_nonskip 16
#define LSb16VldReg_eosPrefix_nonskip 0
#define bVldReg_eosPrefix_nonskip 1
#define MSK32VldReg_eosPrefix_nonskip 0x00010000
///////////////////////////////////////////////////////////
#define RA_VldReg_eosSuffix 0x0034
#define BA_VldReg_eosSuffix_pattern 0x0034
#define B16VldReg_eosSuffix_pattern 0x0034
#define LSb32VldReg_eosSuffix_pattern 0
#define LSb16VldReg_eosSuffix_pattern 0
#define bVldReg_eosSuffix_pattern 8
#define MSK32VldReg_eosSuffix_pattern 0x000000FF
#define BA_VldReg_eosSuffix_mask 0x0035
#define B16VldReg_eosSuffix_mask 0x0034
#define LSb32VldReg_eosSuffix_mask 8
#define LSb16VldReg_eosSuffix_mask 8
#define bVldReg_eosSuffix_mask 8
#define MSK32VldReg_eosSuffix_mask 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_VldReg_scSuffix 0x0038
#define BA_VldReg_scSuffix_pattern 0x0038
#define B16VldReg_scSuffix_pattern 0x0038
#define LSb32VldReg_scSuffix_pattern 0
#define LSb16VldReg_scSuffix_pattern 0
#define bVldReg_scSuffix_pattern 8
#define MSK32VldReg_scSuffix_pattern 0x000000FF
#define BA_VldReg_scSuffix_mask 0x0039
#define B16VldReg_scSuffix_mask 0x0038
#define LSb32VldReg_scSuffix_mask 8
#define LSb16VldReg_scSuffix_mask 8
#define bVldReg_scSuffix_mask 8
#define MSK32VldReg_scSuffix_mask 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_VldReg_scSuffix1 0x003C
#define BA_VldReg_scSuffix1_pattern 0x003C
#define B16VldReg_scSuffix1_pattern 0x003C
#define LSb32VldReg_scSuffix1_pattern 0
#define LSb16VldReg_scSuffix1_pattern 0
#define bVldReg_scSuffix1_pattern 8
#define MSK32VldReg_scSuffix1_pattern 0x000000FF
#define BA_VldReg_scSuffix1_mask 0x003D
#define B16VldReg_scSuffix1_mask 0x003C
#define LSb32VldReg_scSuffix1_mask 8
#define LSb16VldReg_scSuffix1_mask 8
#define bVldReg_scSuffix1_mask 8
#define MSK32VldReg_scSuffix1_mask 0x0000FF00
#define BA_VldReg_scSuffix1_enable 0x003E
#define B16VldReg_scSuffix1_enable 0x003E
#define LSb32VldReg_scSuffix1_enable 16
#define LSb16VldReg_scSuffix1_enable 0
#define bVldReg_scSuffix1_enable 1
#define MSK32VldReg_scSuffix1_enable 0x00010000
///////////////////////////////////////////////////////////
#define RA_VldReg_eosSuffix1 0x0040
#define BA_VldReg_eosSuffix1_pattern 0x0040
#define B16VldReg_eosSuffix1_pattern 0x0040
#define LSb32VldReg_eosSuffix1_pattern 0
#define LSb16VldReg_eosSuffix1_pattern 0
#define bVldReg_eosSuffix1_pattern 8
#define MSK32VldReg_eosSuffix1_pattern 0x000000FF
#define BA_VldReg_eosSuffix1_mask 0x0041
#define B16VldReg_eosSuffix1_mask 0x0040
#define LSb32VldReg_eosSuffix1_mask 8
#define LSb16VldReg_eosSuffix1_mask 8
#define bVldReg_eosSuffix1_mask 8
#define MSK32VldReg_eosSuffix1_mask 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_VldReg_ctxRam 0x0800
#define RA_VldReg_table 0x0800
///////////////////////////////////////////////////////////
typedef struct SIE_VldReg {
///////////////////////////////////////////////////////////
#define GET32VldReg_flow_enable(r32) _BFGET_(r32, 0, 0)
#define SET32VldReg_flow_enable(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16VldReg_flow_enable(r16) _BFGET_(r16, 0, 0)
#define SET16VldReg_flow_enable(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32VldReg_flow_select(r32) _BFGET_(r32, 1, 1)
#define SET32VldReg_flow_select(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16VldReg_flow_select(r16) _BFGET_(r16, 1, 1)
#define SET16VldReg_flow_select(r16,v) _BFSET_(r16, 1, 1,v)
#define w32VldReg_flow {\
UNSG32 uflow_enable : 1;\
UNSG32 uflow_select : 1;\
UNSG32 RSVDx0_b2 : 30;\
}
union { UNSG32 u32VldReg_flow;
struct w32VldReg_flow;
};
///////////////////////////////////////////////////////////
#define GET32VldReg_ctrl_noScpDetect(r32) _BFGET_(r32, 0, 0)
#define SET32VldReg_ctrl_noScpDetect(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16VldReg_ctrl_noScpDetect(r16) _BFGET_(r16, 0, 0)
#define SET16VldReg_ctrl_noScpDetect(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32VldReg_ctrl_noStuffRemoval(r32) _BFGET_(r32, 1, 1)
#define SET32VldReg_ctrl_noStuffRemoval(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16VldReg_ctrl_noStuffRemoval(r16) _BFGET_(r16, 1, 1)
#define SET16VldReg_ctrl_noStuffRemoval(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32VldReg_ctrl_avsStuffRemoval(r32) _BFGET_(r32, 2, 2)
#define SET32VldReg_ctrl_avsStuffRemoval(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16VldReg_ctrl_avsStuffRemoval(r16) _BFGET_(r16, 2, 2)
#define SET16VldReg_ctrl_avsStuffRemoval(r16,v) _BFSET_(r16, 2, 2,v)
#define w32VldReg_ctrl {\
UNSG32 uctrl_noScpDetect : 1;\
UNSG32 uctrl_noStuffRemoval : 1;\
UNSG32 uctrl_avsStuffRemoval : 1;\
UNSG32 RSVDx4_b3 : 29;\
}
union { UNSG32 u32VldReg_ctrl;
struct w32VldReg_ctrl;
};
///////////////////////////////////////////////////////////
SIE_VldStatus ie_status;
///////////////////////////////////////////////////////////
SIE_VldCounter ie_counter;
///////////////////////////////////////////////////////////
SIE_VldBitBuf ie_bitbuf;
///////////////////////////////////////////////////////////
#define GET32VldReg_waitMax_cyc(r32) _BFGET_(r32,15, 0)
#define SET32VldReg_waitMax_cyc(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VldReg_waitMax_cyc(r16) _BFGET_(r16,15, 0)
#define SET16VldReg_waitMax_cyc(r16,v) _BFSET_(r16,15, 0,v)
#define w32VldReg_waitMax {\
UNSG32 uwaitMax_cyc : 16;\
UNSG32 RSVDx14_b16 : 16;\
}
union { UNSG32 u32VldReg_waitMax;
struct w32VldReg_waitMax;
};
///////////////////////////////////////////////////////////
#define GET32VldReg_skipBytes_v(r32) _BFGET_(r32,21, 0)
#define SET32VldReg_skipBytes_v(r32,v) _BFSET_(r32,21, 0,v)
#define w32VldReg_skipBytes {\
UNSG32 uskipBytes_v : 22;\
UNSG32 RSVDx18_b22 : 10;\
}
union { UNSG32 u32VldReg_skipBytes;
struct w32VldReg_skipBytes;
};
///////////////////////////////////////////////////////////
#define GET32VldReg_searchRange_v(r32) _BFGET_(r32,21, 0)
#define SET32VldReg_searchRange_v(r32,v) _BFSET_(r32,21, 0,v)
#define w32VldReg_searchRange {\
UNSG32 usearchRange_v : 22;\
UNSG32 RSVDx1C_b22 : 10;\
}
union { UNSG32 u32VldReg_searchRange;
struct w32VldReg_searchRange;
};
///////////////////////////////////////////////////////////
#define GET32VldReg_dmaWait_cyc(r32) _BFGET_(r32,15, 0)
#define SET32VldReg_dmaWait_cyc(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VldReg_dmaWait_cyc(r16) _BFGET_(r16,15, 0)
#define SET16VldReg_dmaWait_cyc(r16,v) _BFSET_(r16,15, 0,v)
#define w32VldReg_dmaWait {\
UNSG32 udmaWait_cyc : 16;\
UNSG32 RSVDx20_b16 : 16;\
}
union { UNSG32 u32VldReg_dmaWait;
struct w32VldReg_dmaWait;
};
///////////////////////////////////////////////////////////
#define GET32VldReg_vldTblSet_format(r32) _BFGET_(r32, 3, 0)
#define SET32VldReg_vldTblSet_format(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16VldReg_vldTblSet_format(r16) _BFGET_(r16, 3, 0)
#define SET16VldReg_vldTblSet_format(r16,v) _BFSET_(r16, 3, 0,v)
#define w32VldReg_vldTblSet {\
UNSG32 uvldTblSet_format : 4;\
UNSG32 RSVDx24_b4 : 28;\
}
union { UNSG32 u32VldReg_vldTblSet;
struct w32VldReg_vldTblSet;
};
///////////////////////////////////////////////////////////
#define GET32VldReg_escLoopCnt_v(r32) _BFGET_(r32,15, 0)
#define SET32VldReg_escLoopCnt_v(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VldReg_escLoopCnt_v(r16) _BFGET_(r16,15, 0)
#define SET16VldReg_escLoopCnt_v(r16,v) _BFSET_(r16,15, 0,v)
#define w32VldReg_escLoopCnt {\
UNSG32 uescLoopCnt_v : 16;\
UNSG32 RSVDx28_b16 : 16;\
}
union { UNSG32 u32VldReg_escLoopCnt;
struct w32VldReg_escLoopCnt;
};
///////////////////////////////////////////////////////////
#define GET32VldReg_maxDecBytes_v(r32) _BFGET_(r32,21, 0)
#define SET32VldReg_maxDecBytes_v(r32,v) _BFSET_(r32,21, 0,v)
#define w32VldReg_maxDecBytes {\
UNSG32 umaxDecBytes_v : 22;\
UNSG32 RSVDx2C_b22 : 10;\
}
union { UNSG32 u32VldReg_maxDecBytes;
struct w32VldReg_maxDecBytes;
};
///////////////////////////////////////////////////////////
#define GET32VldReg_eosPrefix_pattern(r32) _BFGET_(r32, 7, 0)
#define SET32VldReg_eosPrefix_pattern(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16VldReg_eosPrefix_pattern(r16) _BFGET_(r16, 7, 0)
#define SET16VldReg_eosPrefix_pattern(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32VldReg_eosPrefix_mask(r32) _BFGET_(r32,15, 8)
#define SET32VldReg_eosPrefix_mask(r32,v) _BFSET_(r32,15, 8,v)
#define GET16VldReg_eosPrefix_mask(r16) _BFGET_(r16,15, 8)
#define SET16VldReg_eosPrefix_mask(r16,v) _BFSET_(r16,15, 8,v)
#define GET32VldReg_eosPrefix_nonskip(r32) _BFGET_(r32,16,16)
#define SET32VldReg_eosPrefix_nonskip(r32,v) _BFSET_(r32,16,16,v)
#define GET16VldReg_eosPrefix_nonskip(r16) _BFGET_(r16, 0, 0)
#define SET16VldReg_eosPrefix_nonskip(r16,v) _BFSET_(r16, 0, 0,v)
#define w32VldReg_eosPrefix {\
UNSG32 ueosPrefix_pattern : 8;\
UNSG32 ueosPrefix_mask : 8;\
UNSG32 ueosPrefix_nonskip : 1;\
UNSG32 RSVDx30_b17 : 15;\
}
union { UNSG32 u32VldReg_eosPrefix;
struct w32VldReg_eosPrefix;
};
///////////////////////////////////////////////////////////
#define GET32VldReg_eosSuffix_pattern(r32) _BFGET_(r32, 7, 0)
#define SET32VldReg_eosSuffix_pattern(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16VldReg_eosSuffix_pattern(r16) _BFGET_(r16, 7, 0)
#define SET16VldReg_eosSuffix_pattern(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32VldReg_eosSuffix_mask(r32) _BFGET_(r32,15, 8)
#define SET32VldReg_eosSuffix_mask(r32,v) _BFSET_(r32,15, 8,v)
#define GET16VldReg_eosSuffix_mask(r16) _BFGET_(r16,15, 8)
#define SET16VldReg_eosSuffix_mask(r16,v) _BFSET_(r16,15, 8,v)
#define w32VldReg_eosSuffix {\
UNSG32 ueosSuffix_pattern : 8;\
UNSG32 ueosSuffix_mask : 8;\
UNSG32 RSVDx34_b16 : 16;\
}
union { UNSG32 u32VldReg_eosSuffix;
struct w32VldReg_eosSuffix;
};
///////////////////////////////////////////////////////////
#define GET32VldReg_scSuffix_pattern(r32) _BFGET_(r32, 7, 0)
#define SET32VldReg_scSuffix_pattern(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16VldReg_scSuffix_pattern(r16) _BFGET_(r16, 7, 0)
#define SET16VldReg_scSuffix_pattern(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32VldReg_scSuffix_mask(r32) _BFGET_(r32,15, 8)
#define SET32VldReg_scSuffix_mask(r32,v) _BFSET_(r32,15, 8,v)
#define GET16VldReg_scSuffix_mask(r16) _BFGET_(r16,15, 8)
#define SET16VldReg_scSuffix_mask(r16,v) _BFSET_(r16,15, 8,v)
#define w32VldReg_scSuffix {\
UNSG32 uscSuffix_pattern : 8;\
UNSG32 uscSuffix_mask : 8;\
UNSG32 RSVDx38_b16 : 16;\
}
union { UNSG32 u32VldReg_scSuffix;
struct w32VldReg_scSuffix;
};
///////////////////////////////////////////////////////////
#define GET32VldReg_scSuffix1_pattern(r32) _BFGET_(r32, 7, 0)
#define SET32VldReg_scSuffix1_pattern(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16VldReg_scSuffix1_pattern(r16) _BFGET_(r16, 7, 0)
#define SET16VldReg_scSuffix1_pattern(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32VldReg_scSuffix1_mask(r32) _BFGET_(r32,15, 8)
#define SET32VldReg_scSuffix1_mask(r32,v) _BFSET_(r32,15, 8,v)
#define GET16VldReg_scSuffix1_mask(r16) _BFGET_(r16,15, 8)
#define SET16VldReg_scSuffix1_mask(r16,v) _BFSET_(r16,15, 8,v)
#define GET32VldReg_scSuffix1_enable(r32) _BFGET_(r32,16,16)
#define SET32VldReg_scSuffix1_enable(r32,v) _BFSET_(r32,16,16,v)
#define GET16VldReg_scSuffix1_enable(r16) _BFGET_(r16, 0, 0)
#define SET16VldReg_scSuffix1_enable(r16,v) _BFSET_(r16, 0, 0,v)
#define w32VldReg_scSuffix1 {\
UNSG32 uscSuffix1_pattern : 8;\
UNSG32 uscSuffix1_mask : 8;\
UNSG32 uscSuffix1_enable : 1;\
UNSG32 RSVDx3C_b17 : 15;\
}
union { UNSG32 u32VldReg_scSuffix1;
struct w32VldReg_scSuffix1;
};
///////////////////////////////////////////////////////////
#define GET32VldReg_eosSuffix1_pattern(r32) _BFGET_(r32, 7, 0)
#define SET32VldReg_eosSuffix1_pattern(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16VldReg_eosSuffix1_pattern(r16) _BFGET_(r16, 7, 0)
#define SET16VldReg_eosSuffix1_pattern(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32VldReg_eosSuffix1_mask(r32) _BFGET_(r32,15, 8)
#define SET32VldReg_eosSuffix1_mask(r32,v) _BFSET_(r32,15, 8,v)
#define GET16VldReg_eosSuffix1_mask(r16) _BFGET_(r16,15, 8)
#define SET16VldReg_eosSuffix1_mask(r16,v) _BFSET_(r16,15, 8,v)
#define w32VldReg_eosSuffix1 {\
UNSG32 ueosSuffix1_pattern : 8;\
UNSG32 ueosSuffix1_mask : 8;\
UNSG32 RSVDx40_b16 : 16;\
}
union { UNSG32 u32VldReg_eosSuffix1;
struct w32VldReg_eosSuffix1;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx44 [1980];
///////////////////////////////////////////////////////////
SIE_CtxTable ie_table;
///////////////////////////////////////////////////////////
} SIE_VldReg;
typedef union T32VldReg_flow
{ UNSG32 u32;
struct w32VldReg_flow;
} T32VldReg_flow;
typedef union T32VldReg_ctrl
{ UNSG32 u32;
struct w32VldReg_ctrl;
} T32VldReg_ctrl;
typedef union T32VldReg_waitMax
{ UNSG32 u32;
struct w32VldReg_waitMax;
} T32VldReg_waitMax;
typedef union T32VldReg_skipBytes
{ UNSG32 u32;
struct w32VldReg_skipBytes;
} T32VldReg_skipBytes;
typedef union T32VldReg_searchRange
{ UNSG32 u32;
struct w32VldReg_searchRange;
} T32VldReg_searchRange;
typedef union T32VldReg_dmaWait
{ UNSG32 u32;
struct w32VldReg_dmaWait;
} T32VldReg_dmaWait;
typedef union T32VldReg_vldTblSet
{ UNSG32 u32;
struct w32VldReg_vldTblSet;
} T32VldReg_vldTblSet;
typedef union T32VldReg_escLoopCnt
{ UNSG32 u32;
struct w32VldReg_escLoopCnt;
} T32VldReg_escLoopCnt;
typedef union T32VldReg_maxDecBytes
{ UNSG32 u32;
struct w32VldReg_maxDecBytes;
} T32VldReg_maxDecBytes;
typedef union T32VldReg_eosPrefix
{ UNSG32 u32;
struct w32VldReg_eosPrefix;
} T32VldReg_eosPrefix;
typedef union T32VldReg_eosSuffix
{ UNSG32 u32;
struct w32VldReg_eosSuffix;
} T32VldReg_eosSuffix;
typedef union T32VldReg_scSuffix
{ UNSG32 u32;
struct w32VldReg_scSuffix;
} T32VldReg_scSuffix;
typedef union T32VldReg_scSuffix1
{ UNSG32 u32;
struct w32VldReg_scSuffix1;
} T32VldReg_scSuffix1;
typedef union T32VldReg_eosSuffix1
{ UNSG32 u32;
struct w32VldReg_eosSuffix1;
} T32VldReg_eosSuffix1;
///////////////////////////////////////////////////////////
typedef union TVldReg_flow
{ UNSG32 u32[1];
struct {
struct w32VldReg_flow;
};
} TVldReg_flow;
typedef union TVldReg_ctrl
{ UNSG32 u32[1];
struct {
struct w32VldReg_ctrl;
};
} TVldReg_ctrl;
typedef union TVldReg_waitMax
{ UNSG32 u32[1];
struct {
struct w32VldReg_waitMax;
};
} TVldReg_waitMax;
typedef union TVldReg_skipBytes
{ UNSG32 u32[1];
struct {
struct w32VldReg_skipBytes;
};
} TVldReg_skipBytes;
typedef union TVldReg_searchRange
{ UNSG32 u32[1];
struct {
struct w32VldReg_searchRange;
};
} TVldReg_searchRange;
typedef union TVldReg_dmaWait
{ UNSG32 u32[1];
struct {
struct w32VldReg_dmaWait;
};
} TVldReg_dmaWait;
typedef union TVldReg_vldTblSet
{ UNSG32 u32[1];
struct {
struct w32VldReg_vldTblSet;
};
} TVldReg_vldTblSet;
typedef union TVldReg_escLoopCnt
{ UNSG32 u32[1];
struct {
struct w32VldReg_escLoopCnt;
};
} TVldReg_escLoopCnt;
typedef union TVldReg_maxDecBytes
{ UNSG32 u32[1];
struct {
struct w32VldReg_maxDecBytes;
};
} TVldReg_maxDecBytes;
typedef union TVldReg_eosPrefix
{ UNSG32 u32[1];
struct {
struct w32VldReg_eosPrefix;
};
} TVldReg_eosPrefix;
typedef union TVldReg_eosSuffix
{ UNSG32 u32[1];
struct {
struct w32VldReg_eosSuffix;
};
} TVldReg_eosSuffix;
typedef union TVldReg_scSuffix
{ UNSG32 u32[1];
struct {
struct w32VldReg_scSuffix;
};
} TVldReg_scSuffix;
typedef union TVldReg_scSuffix1
{ UNSG32 u32[1];
struct {
struct w32VldReg_scSuffix1;
};
} TVldReg_scSuffix1;
typedef union TVldReg_eosSuffix1
{ UNSG32 u32[1];
struct {
struct w32VldReg_eosSuffix1;
};
} TVldReg_eosSuffix1;
///////////////////////////////////////////////////////////
SIGN32 VldReg_drvrd(SIE_VldReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VldReg_drvwr(SIE_VldReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VldReg_reset(SIE_VldReg *p);
SIGN32 VldReg_cmp (SIE_VldReg *p, SIE_VldReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VldReg_check(p,pie,pfx,hLOG) VldReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VldReg_print(p, pfx,hLOG) VldReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VldReg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VlcCmd (8,2)
/// ###
/// * VLC Command Definition
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 vlccmd (P)
/// %unsigned 16 cmd
/// : vlc_putbits 0x1
/// ###
/// * Added the number of bits specified in the parameter to the bitstream buffer.
/// ###
/// : vlc_bytealign 0x2
/// ###
/// * Add the pattern specified in the parameter to make the bitstream buffer byte aligned if it is already not aligned.
/// ###
/// : vlc_bitstream_flush 0x3
/// ###
/// * Clear the stat register vlc_stat_reg
/// ###
/// : vlc_wait_done 0x4
/// ###
/// * Insert the corresponding sync word in the bit stream
/// ###
/// : vlc_get_cntr 0x5
/// ###
/// * Pad with zeros to make the bit stream byte aligned
/// ###
/// : vlc_reset 0x6
/// ###
/// * Resets internal status bits, counters and pointers.
/// ###
/// : vlc_enable_ep3byte 0x7
/// ###
/// * Enable internal Emulation_Prevention_three_byte enable bit.
/// * VLC hardware will automatically insert a byte equal to 03 in the third byte position when it detects the following patterns at any byte boundary when the Emulation_Prevention_three_byte enable bit is set.
/// * - 0x00 00 00 -> 0x00 00 03 00
/// * - 0x00 00 01 -> 0x00 00 03 01
/// * - 0x00 00 02 -> 0x00 00 03 02
/// * - 0x00 00 03 -> 0x00 00 03 03
/// ###
/// : vlc_disable_ep3byte 0x8
/// ###
/// * Disable Emulation_Prevention_three_byte control bit.
/// ###
/// : vlc_get_statusreg 0x9
/// ###
/// * VLC returns the contents of internal status register.
/// ###
/// : vlc_auto_table 0xA
/// ###
/// * VLC look up the table stored for lookup table
/// ###
/// : Vlc_lmax_rmax_intra 0xB
/// ###
/// * VLC gets the LMAX and RMAX from tables B-19 and B-20 for the given level and run values for MPEG4 coefficient coding.
/// ###
/// : Vlc_lmax_rmax_inter 0xC
/// ###
/// * VLC gets the LMAX and RMAX for the given level and run values for MPEG4 coefficient coding.
/// ###
/// : Vlc_lmax_rmax_short 0xD
/// ###
/// * VLC does escape coding decision for short_video_header = 1 case. In this case type4 escape mode is select for escape coding .
/// ###
/// : vlc_enable_ep0byte 0xE
/// ###
/// * Enable internal Emulation_Prevention_one_byte enable bit.
/// * VLC hardware will automatically insert a byte equal to 0x00 in the byte position following an 0xFF. This feature can be used to avoid start code emulation of JPEG headers.
/// * - 0xFF -> 0xFF 00
/// ###
/// : vlc_disable_ep0byte 0xF
/// ###
/// * Disable Emulation_Prevention_one_byte control bit.
/// ###
/// : vlc_tbl_lkup 0x2000
/// ###
/// * Looks up the table to get the encode bits. See the look up table Document for information on the table.
/// ###
/// : Reserved 0x4000
/// ###
/// * Reserved for Cabac commands
/// ###
/// %% 16 # Stuffing bits...
/// # # Stuffing bytes...
/// %% 32
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VlcCmd
#define h_VlcCmd (){}
#define RA_VlcCmd_vlccmd 0x0000
#define BA_VlcCmd_vlccmd_cmd 0x0000
#define B16VlcCmd_vlccmd_cmd 0x0000
#define LSb32VlcCmd_vlccmd_cmd 0
#define LSb16VlcCmd_vlccmd_cmd 0
#define bVlcCmd_vlccmd_cmd 16
#define MSK32VlcCmd_vlccmd_cmd 0x0000FFFF
#define VlcCmd_vlccmd_cmd_vlc_putbits 0x1
#define VlcCmd_vlccmd_cmd_vlc_bytealign 0x2
#define VlcCmd_vlccmd_cmd_vlc_bitstream_flush 0x3
#define VlcCmd_vlccmd_cmd_vlc_wait_done 0x4
#define VlcCmd_vlccmd_cmd_vlc_get_cntr 0x5
#define VlcCmd_vlccmd_cmd_vlc_reset 0x6
#define VlcCmd_vlccmd_cmd_vlc_enable_ep3byte 0x7
#define VlcCmd_vlccmd_cmd_vlc_disable_ep3byte 0x8
#define VlcCmd_vlccmd_cmd_vlc_get_statusreg 0x9
#define VlcCmd_vlccmd_cmd_vlc_auto_table 0xA
#define VlcCmd_vlccmd_cmd_Vlc_lmax_rmax_intra 0xB
#define VlcCmd_vlccmd_cmd_Vlc_lmax_rmax_inter 0xC
#define VlcCmd_vlccmd_cmd_Vlc_lmax_rmax_short 0xD
#define VlcCmd_vlccmd_cmd_vlc_enable_ep0byte 0xE
#define VlcCmd_vlccmd_cmd_vlc_disable_ep0byte 0xF
#define VlcCmd_vlccmd_cmd_vlc_tbl_lkup 0x2000
#define VlcCmd_vlccmd_cmd_Reserved 0x4000
///////////////////////////////////////////////////////////
typedef struct SIE_VlcCmd {
///////////////////////////////////////////////////////////
#define GET32VlcCmd_vlccmd_cmd(r32) _BFGET_(r32,15, 0)
#define SET32VlcCmd_vlccmd_cmd(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VlcCmd_vlccmd_cmd(r16) _BFGET_(r16,15, 0)
#define SET16VlcCmd_vlccmd_cmd(r16,v) _BFSET_(r16,15, 0,v)
#define w32VlcCmd_vlccmd {\
UNSG32 uvlccmd_cmd : 16;\
UNSG32 RSVDx0_b16 : 16;\
UNSG8 RSVDx4 [4];\
}
union { UNSG32 u32VlcCmd_vlccmd;
struct w32VlcCmd_vlccmd;
};
///////////////////////////////////////////////////////////
} SIE_VlcCmd;
typedef union T32VlcCmd_vlccmd
{ UNSG32 u32;
struct w32VlcCmd_vlccmd;
} T32VlcCmd_vlccmd;
///////////////////////////////////////////////////////////
typedef union TVlcCmd_vlccmd
{ UNSG32 u32[2];
struct {
struct w32VlcCmd_vlccmd;
};
} TVlcCmd_vlccmd;
///////////////////////////////////////////////////////////
SIGN32 VlcCmd_drvrd(SIE_VlcCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VlcCmd_drvwr(SIE_VlcCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VlcCmd_reset(SIE_VlcCmd *p);
SIGN32 VlcCmd_cmp (SIE_VlcCmd *p, SIE_VlcCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VlcCmd_check(p,pie,pfx,hLOG) VlcCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VlcCmd_print(p, pfx,hLOG) VlcCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VlcCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VlCRd (8,2)
/// ###
/// * Data Output read
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 vlcresp (P)
/// %unsigned 32 Data0
/// ###
/// * Returned Data value of Bit Stream Counter or Status bits.
/// ###
/// # # Stuffing bytes...
/// %% 32
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VlCRd
#define h_VlCRd (){}
#define RA_VlCRd_vlcresp 0x0000
#define BA_VlCRd_vlcresp_Data0 0x0000
#define B16VlCRd_vlcresp_Data0 0x0000
#define LSb32VlCRd_vlcresp_Data0 0
#define LSb16VlCRd_vlcresp_Data0 0
#define bVlCRd_vlcresp_Data0 32
#define MSK32VlCRd_vlcresp_Data0 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_VlCRd {
///////////////////////////////////////////////////////////
#define GET32VlCRd_vlcresp_Data0(r32) _BFGET_(r32,31, 0)
#define SET32VlCRd_vlcresp_Data0(r32,v) _BFSET_(r32,31, 0,v)
#define w32VlCRd_vlcresp {\
UNSG32 uvlcresp_Data0 : 32;\
UNSG8 RSVDx4 [4];\
}
union { UNSG32 u32VlCRd_vlcresp;
struct w32VlCRd_vlcresp;
};
///////////////////////////////////////////////////////////
} SIE_VlCRd;
typedef union T32VlCRd_vlcresp
{ UNSG32 u32;
struct w32VlCRd_vlcresp;
} T32VlCRd_vlcresp;
///////////////////////////////////////////////////////////
typedef union TVlCRd_vlcresp
{ UNSG32 u32[2];
struct {
struct w32VlCRd_vlcresp;
};
} TVlCRd_vlcresp;
///////////////////////////////////////////////////////////
SIGN32 VlCRd_drvrd(SIE_VlCRd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VlCRd_drvwr(SIE_VlCRd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VlCRd_reset(SIE_VlCRd *p);
SIGN32 VlCRd_cmp (SIE_VlCRd *p, SIE_VlCRd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VlCRd_check(p,pie,pfx,hLOG) VlCRd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VlCRd_print(p, pfx,hLOG) VlCRd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VlCRd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VLC32b flat (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 data
/// ###
/// * Any 32b data
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VLC32b
#define h_VLC32b (){}
#define BA_VLC32b_data 0x0000
#define B16VLC32b_data 0x0000
#define LSb32VLC32b_data 0
#define LSb16VLC32b_data 0
#define bVLC32b_data 32
#define MSK32VLC32b_data 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_VLC32b {
///////////////////////////////////////////////////////////
#define GET32VLC32b_data(r32) _BFGET_(r32,31, 0)
#define SET32VLC32b_data(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data : 32;
///////////////////////////////////////////////////////////
} SIE_VLC32b;
///////////////////////////////////////////////////////////
SIGN32 VLC32b_drvrd(SIE_VLC32b *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VLC32b_drvwr(SIE_VLC32b *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VLC32b_reset(SIE_VLC32b *p);
SIGN32 VLC32b_cmp (SIE_VLC32b *p, SIE_VLC32b *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VLC32b_check(p,pie,pfx,hLOG) VLC32b_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VLC32b_print(p, pfx,hLOG) VLC32b_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VLC32b
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RF64VLCx flat (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 RSVD_L
/// $VLC32b RSVD_L REG [6]
/// @ 0x00018 Format (RW)
/// %unsigned 8 Standard 0x0
/// ###
/// * Space reserved for future formats
/// ###
/// : mpg2 0x0
/// : mpg4 0x1
/// : h264 0x2
/// %unsigned 2 Entropy
/// : VLC 0x0
/// : CABAC 0x1
/// %% 22 # Stuffing bits...
/// @ 0x0001C Timeout (RW)
/// ###
/// * VLC Time out counter
/// ###
/// %unsigned 16 tcount 0x0
/// ###
/// * Maximum number of cycle to wait for wait_done/Bitstream_flush command before sending the timeout status in the response data. 0 means no timeout.
/// * Reserved [256:4095]
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00020 (P)
/// # 0x00020 RDVD_H
/// $VLC32b RDVD_H REG [120]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RF64VLCx
#define h_RF64VLCx (){}
#define RA_RF64VLCx_RSVD_L 0x0000
///////////////////////////////////////////////////////////
#define RA_RF64VLCx_Format 0x0018
#define BA_RF64VLCx_Format_Standard 0x0018
#define B16RF64VLCx_Format_Standard 0x0018
#define LSb32RF64VLCx_Format_Standard 0
#define LSb16RF64VLCx_Format_Standard 0
#define bRF64VLCx_Format_Standard 8
#define MSK32RF64VLCx_Format_Standard 0x000000FF
#define RF64VLCx_Format_Standard_mpg2 0x0
#define RF64VLCx_Format_Standard_mpg4 0x1
#define RF64VLCx_Format_Standard_h264 0x2
#define BA_RF64VLCx_Format_Entropy 0x0019
#define B16RF64VLCx_Format_Entropy 0x0018
#define LSb32RF64VLCx_Format_Entropy 8
#define LSb16RF64VLCx_Format_Entropy 8
#define bRF64VLCx_Format_Entropy 2
#define MSK32RF64VLCx_Format_Entropy 0x00000300
#define RF64VLCx_Format_Entropy_VLC 0x0
#define RF64VLCx_Format_Entropy_CABAC 0x1
///////////////////////////////////////////////////////////
#define RA_RF64VLCx_Timeout 0x001C
#define BA_RF64VLCx_Timeout_tcount 0x001C
#define B16RF64VLCx_Timeout_tcount 0x001C
#define LSb32RF64VLCx_Timeout_tcount 0
#define LSb16RF64VLCx_Timeout_tcount 0
#define bRF64VLCx_Timeout_tcount 16
#define MSK32RF64VLCx_Timeout_tcount 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_RF64VLCx_RDVD_H 0x0020
///////////////////////////////////////////////////////////
typedef struct SIE_RF64VLCx {
///////////////////////////////////////////////////////////
SIE_VLC32b ie_RSVD_L[6];
///////////////////////////////////////////////////////////
#define GET32RF64VLCx_Format_Standard(r32) _BFGET_(r32, 7, 0)
#define SET32RF64VLCx_Format_Standard(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16RF64VLCx_Format_Standard(r16) _BFGET_(r16, 7, 0)
#define SET16RF64VLCx_Format_Standard(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64VLCx_Format_Entropy(r32) _BFGET_(r32, 9, 8)
#define SET32RF64VLCx_Format_Entropy(r32,v) _BFSET_(r32, 9, 8,v)
#define GET16RF64VLCx_Format_Entropy(r16) _BFGET_(r16, 9, 8)
#define SET16RF64VLCx_Format_Entropy(r16,v) _BFSET_(r16, 9, 8,v)
#define w32RF64VLCx_Format {\
UNSG32 uFormat_Standard : 8;\
UNSG32 uFormat_Entropy : 2;\
UNSG32 RSVDx18_b10 : 22;\
}
union { UNSG32 u32RF64VLCx_Format;
struct w32RF64VLCx_Format;
};
///////////////////////////////////////////////////////////
#define GET32RF64VLCx_Timeout_tcount(r32) _BFGET_(r32,15, 0)
#define SET32RF64VLCx_Timeout_tcount(r32,v) _BFSET_(r32,15, 0,v)
#define GET16RF64VLCx_Timeout_tcount(r16) _BFGET_(r16,15, 0)
#define SET16RF64VLCx_Timeout_tcount(r16,v) _BFSET_(r16,15, 0,v)
#define w32RF64VLCx_Timeout {\
UNSG32 uTimeout_tcount : 16;\
UNSG32 RSVDx1C_b16 : 16;\
}
union { UNSG32 u32RF64VLCx_Timeout;
struct w32RF64VLCx_Timeout;
};
///////////////////////////////////////////////////////////
SIE_VLC32b ie_RDVD_H[120];
///////////////////////////////////////////////////////////
} SIE_RF64VLCx;
typedef union T32RF64VLCx_Format
{ UNSG32 u32;
struct w32RF64VLCx_Format;
} T32RF64VLCx_Format;
typedef union T32RF64VLCx_Timeout
{ UNSG32 u32;
struct w32RF64VLCx_Timeout;
} T32RF64VLCx_Timeout;
///////////////////////////////////////////////////////////
typedef union TRF64VLCx_Format
{ UNSG32 u32[1];
struct {
struct w32RF64VLCx_Format;
};
} TRF64VLCx_Format;
typedef union TRF64VLCx_Timeout
{ UNSG32 u32[1];
struct {
struct w32RF64VLCx_Timeout;
};
} TRF64VLCx_Timeout;
///////////////////////////////////////////////////////////
SIGN32 RF64VLCx_drvrd(SIE_RF64VLCx *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RF64VLCx_drvwr(SIE_RF64VLCx *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RF64VLCx_reset(SIE_RF64VLCx *p);
SIGN32 RF64VLCx_cmp (SIE_RF64VLCx *p, SIE_RF64VLCx *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RF64VLCx_check(p,pie,pfx,hLOG) RF64VLCx_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RF64VLCx_print(p, pfx,hLOG) RF64VLCx_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RF64VLCx
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CABAC_EncCmd flat (4,4)
/// ###
/// * Command format in command component for CABAC encoder Extension
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 9 cmdCtxIdxInit
/// ###
/// * The unique ID for the context variables. Each context is associated with a state and a MPS(most probable symbol)
/// ###
/// %unsigned 2 cmd
/// : init 0x0
/// : encode 0x1
/// : init_ram 0x2
/// %unsigned 3 resr
/// %unsigned 2 id
/// : cabacID 0x1
/// ###
/// * id==2'b01 indicates cabac_EnCmd
/// * id==2'b00 indicates vlc cmd
/// ###
/// %unsigned 16 par0
/// ###
/// * When cmd == 0x2, it is the value used to initialize the content of context state RAM. The value for each entry is (valMPS<<6)| pStateIdx. Otherwise, it is the argument for the CABAC encoding.
/// ###
/// %unsigned 16 par1
/// %unsigned 16 par2
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CABAC_EncCmd
#define h_CABAC_EncCmd (){}
#define BA_CABAC_EncCmd_cmdCtxIdxInit 0x0000
#define B16CABAC_EncCmd_cmdCtxIdxInit 0x0000
#define LSb32CABAC_EncCmd_cmdCtxIdxInit 0
#define LSb16CABAC_EncCmd_cmdCtxIdxInit 0
#define bCABAC_EncCmd_cmdCtxIdxInit 9
#define MSK32CABAC_EncCmd_cmdCtxIdxInit 0x000001FF
#define BA_CABAC_EncCmd_cmd 0x0001
#define B16CABAC_EncCmd_cmd 0x0000
#define LSb32CABAC_EncCmd_cmd 9
#define LSb16CABAC_EncCmd_cmd 9
#define bCABAC_EncCmd_cmd 2
#define MSK32CABAC_EncCmd_cmd 0x00000600
#define CABAC_EncCmd_cmd_init 0x0
#define CABAC_EncCmd_cmd_encode 0x1
#define CABAC_EncCmd_cmd_init_ram 0x2
#define BA_CABAC_EncCmd_resr 0x0001
#define B16CABAC_EncCmd_resr 0x0000
#define LSb32CABAC_EncCmd_resr 11
#define LSb16CABAC_EncCmd_resr 11
#define bCABAC_EncCmd_resr 3
#define MSK32CABAC_EncCmd_resr 0x00003800
#define BA_CABAC_EncCmd_id 0x0001
#define B16CABAC_EncCmd_id 0x0000
#define LSb32CABAC_EncCmd_id 14
#define LSb16CABAC_EncCmd_id 14
#define bCABAC_EncCmd_id 2
#define MSK32CABAC_EncCmd_id 0x0000C000
#define CABAC_EncCmd_id_cabacID 0x1
#define BA_CABAC_EncCmd_par0 0x0002
#define B16CABAC_EncCmd_par0 0x0002
#define LSb32CABAC_EncCmd_par0 16
#define LSb16CABAC_EncCmd_par0 0
#define bCABAC_EncCmd_par0 16
#define MSK32CABAC_EncCmd_par0 0xFFFF0000
#define BA_CABAC_EncCmd_par1 0x0004
#define B16CABAC_EncCmd_par1 0x0004
#define LSb32CABAC_EncCmd_par1 0
#define LSb16CABAC_EncCmd_par1 0
#define bCABAC_EncCmd_par1 16
#define MSK32CABAC_EncCmd_par1 0x0000FFFF
#define BA_CABAC_EncCmd_par2 0x0006
#define B16CABAC_EncCmd_par2 0x0006
#define LSb32CABAC_EncCmd_par2 16
#define LSb16CABAC_EncCmd_par2 0
#define bCABAC_EncCmd_par2 16
#define MSK32CABAC_EncCmd_par2 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_CABAC_EncCmd {
///////////////////////////////////////////////////////////
#define GET32CABAC_EncCmd_cmdCtxIdxInit(r32) _BFGET_(r32, 8, 0)
#define SET32CABAC_EncCmd_cmdCtxIdxInit(r32,v) _BFSET_(r32, 8, 0,v)
#define GET16CABAC_EncCmd_cmdCtxIdxInit(r16) _BFGET_(r16, 8, 0)
#define SET16CABAC_EncCmd_cmdCtxIdxInit(r16,v) _BFSET_(r16, 8, 0,v)
#define GET32CABAC_EncCmd_cmd(r32) _BFGET_(r32,10, 9)
#define SET32CABAC_EncCmd_cmd(r32,v) _BFSET_(r32,10, 9,v)
#define GET16CABAC_EncCmd_cmd(r16) _BFGET_(r16,10, 9)
#define SET16CABAC_EncCmd_cmd(r16,v) _BFSET_(r16,10, 9,v)
#define GET32CABAC_EncCmd_resr(r32) _BFGET_(r32,13,11)
#define SET32CABAC_EncCmd_resr(r32,v) _BFSET_(r32,13,11,v)
#define GET16CABAC_EncCmd_resr(r16) _BFGET_(r16,13,11)
#define SET16CABAC_EncCmd_resr(r16,v) _BFSET_(r16,13,11,v)
#define GET32CABAC_EncCmd_id(r32) _BFGET_(r32,15,14)
#define SET32CABAC_EncCmd_id(r32,v) _BFSET_(r32,15,14,v)
#define GET16CABAC_EncCmd_id(r16) _BFGET_(r16,15,14)
#define SET16CABAC_EncCmd_id(r16,v) _BFSET_(r16,15,14,v)
#define GET32CABAC_EncCmd_par0(r32) _BFGET_(r32,31,16)
#define SET32CABAC_EncCmd_par0(r32,v) _BFSET_(r32,31,16,v)
#define GET16CABAC_EncCmd_par0(r16) _BFGET_(r16,15, 0)
#define SET16CABAC_EncCmd_par0(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_cmdCtxIdxInit : 9;
UNSG32 u_cmd : 2;
UNSG32 u_resr : 3;
UNSG32 u_id : 2;
UNSG32 u_par0 : 16;
///////////////////////////////////////////////////////////
#define GET32CABAC_EncCmd_par1(r32) _BFGET_(r32,15, 0)
#define SET32CABAC_EncCmd_par1(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CABAC_EncCmd_par1(r16) _BFGET_(r16,15, 0)
#define SET16CABAC_EncCmd_par1(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CABAC_EncCmd_par2(r32) _BFGET_(r32,31,16)
#define SET32CABAC_EncCmd_par2(r32,v) _BFSET_(r32,31,16,v)
#define GET16CABAC_EncCmd_par2(r16) _BFGET_(r16,15, 0)
#define SET16CABAC_EncCmd_par2(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_par1 : 16;
UNSG32 u_par2 : 16;
///////////////////////////////////////////////////////////
} SIE_CABAC_EncCmd;
///////////////////////////////////////////////////////////
SIGN32 CABAC_EncCmd_drvrd(SIE_CABAC_EncCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CABAC_EncCmd_drvwr(SIE_CABAC_EncCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CABAC_EncCmd_reset(SIE_CABAC_EncCmd *p);
SIGN32 CABAC_EncCmd_cmp (SIE_CABAC_EncCmd *p, SIE_CABAC_EncCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CABAC_EncCmd_check(p,pie,pfx,hLOG) CABAC_EncCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CABAC_EncCmd_print(p, pfx,hLOG) CABAC_EncCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CABAC_EncCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CabacECtx (4,4)
/// ###
/// * Format of the entries in the Cabac encoder Context RAM
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 state (RW)
/// %unsigned 6 pStateIdx
/// %unsigned 1 valMPS
/// %% 25 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 7b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CabacECtx
#define h_CabacECtx (){}
#define RA_CabacECtx_state 0x0000
#define BA_CabacECtx_state_pStateIdx 0x0000
#define B16CabacECtx_state_pStateIdx 0x0000
#define LSb32CabacECtx_state_pStateIdx 0
#define LSb16CabacECtx_state_pStateIdx 0
#define bCabacECtx_state_pStateIdx 6
#define MSK32CabacECtx_state_pStateIdx 0x0000003F
#define BA_CabacECtx_state_valMPS 0x0000
#define B16CabacECtx_state_valMPS 0x0000
#define LSb32CabacECtx_state_valMPS 6
#define LSb16CabacECtx_state_valMPS 6
#define bCabacECtx_state_valMPS 1
#define MSK32CabacECtx_state_valMPS 0x00000040
///////////////////////////////////////////////////////////
typedef struct SIE_CabacECtx {
///////////////////////////////////////////////////////////
#define GET32CabacECtx_state_pStateIdx(r32) _BFGET_(r32, 5, 0)
#define SET32CabacECtx_state_pStateIdx(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16CabacECtx_state_pStateIdx(r16) _BFGET_(r16, 5, 0)
#define SET16CabacECtx_state_pStateIdx(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32CabacECtx_state_valMPS(r32) _BFGET_(r32, 6, 6)
#define SET32CabacECtx_state_valMPS(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16CabacECtx_state_valMPS(r16) _BFGET_(r16, 6, 6)
#define SET16CabacECtx_state_valMPS(r16,v) _BFSET_(r16, 6, 6,v)
#define w32CabacECtx_state {\
UNSG32 ustate_pStateIdx : 6;\
UNSG32 ustate_valMPS : 1;\
UNSG32 RSVDx0_b7 : 25;\
}
union { UNSG32 u32CabacECtx_state;
struct w32CabacECtx_state;
};
///////////////////////////////////////////////////////////
} SIE_CabacECtx;
typedef union T32CabacECtx_state
{ UNSG32 u32;
struct w32CabacECtx_state;
} T32CabacECtx_state;
///////////////////////////////////////////////////////////
typedef union TCabacECtx_state
{ UNSG32 u32[1];
struct {
struct w32CabacECtx_state;
};
} TCabacECtx_state;
///////////////////////////////////////////////////////////
SIGN32 CabacECtx_drvrd(SIE_CabacECtx *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CabacECtx_drvwr(SIE_CabacECtx *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CabacECtx_reset(SIE_CabacECtx *p);
SIGN32 CabacECtx_cmp (SIE_CabacECtx *p, SIE_CabacECtx *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CabacECtx_check(p,pie,pfx,hLOG) CabacECtx_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CabacECtx_print(p, pfx,hLOG) CabacECtx_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CabacECtx
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CtxEncTable (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 Ctx
/// $CabacECtx Ctx REG [512]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 2048B, bits: 3584b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CtxEncTable
#define h_CtxEncTable (){}
#define RA_CtxEncTable_Ctx 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_CtxEncTable {
///////////////////////////////////////////////////////////
SIE_CabacECtx ie_Ctx[512];
///////////////////////////////////////////////////////////
} SIE_CtxEncTable;
///////////////////////////////////////////////////////////
SIGN32 CtxEncTable_drvrd(SIE_CtxEncTable *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CtxEncTable_drvwr(SIE_CtxEncTable *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CtxEncTable_reset(SIE_CtxEncTable *p);
SIGN32 CtxEncTable_cmp (SIE_CtxEncTable *p, SIE_CtxEncTable *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CtxEncTable_check(p,pie,pfx,hLOG) CtxEncTable_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CtxEncTable_print(p, pfx,hLOG) CtxEncTable_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CtxEncTable
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CABAC_RPPMsg (4,4)
/// ###
/// * CABAC renormalization post processing message
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 num_renorm
/// ###
/// * The number of renormalization needed
/// ###
/// %unsigned 8 codILow_RPP
/// ###
/// * The required truncated part of codILow for renormalization post processing.
/// ###
/// %% 21 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 11b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CABAC_RPPMsg
#define h_CABAC_RPPMsg (){}
#define BA_CABAC_RPPMsg_num_renorm 0x0000
#define B16CABAC_RPPMsg_num_renorm 0x0000
#define LSb32CABAC_RPPMsg_num_renorm 0
#define LSb16CABAC_RPPMsg_num_renorm 0
#define bCABAC_RPPMsg_num_renorm 3
#define MSK32CABAC_RPPMsg_num_renorm 0x00000007
#define BA_CABAC_RPPMsg_codILow_RPP 0x0000
#define B16CABAC_RPPMsg_codILow_RPP 0x0000
#define LSb32CABAC_RPPMsg_codILow_RPP 3
#define LSb16CABAC_RPPMsg_codILow_RPP 3
#define bCABAC_RPPMsg_codILow_RPP 8
#define MSK32CABAC_RPPMsg_codILow_RPP 0x000007F8
///////////////////////////////////////////////////////////
typedef struct SIE_CABAC_RPPMsg {
///////////////////////////////////////////////////////////
#define GET32CABAC_RPPMsg_num_renorm(r32) _BFGET_(r32, 2, 0)
#define SET32CABAC_RPPMsg_num_renorm(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CABAC_RPPMsg_num_renorm(r16) _BFGET_(r16, 2, 0)
#define SET16CABAC_RPPMsg_num_renorm(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CABAC_RPPMsg_codILow_RPP(r32) _BFGET_(r32,10, 3)
#define SET32CABAC_RPPMsg_codILow_RPP(r32,v) _BFSET_(r32,10, 3,v)
#define GET16CABAC_RPPMsg_codILow_RPP(r16) _BFGET_(r16,10, 3)
#define SET16CABAC_RPPMsg_codILow_RPP(r16,v) _BFSET_(r16,10, 3,v)
UNSG32 u_num_renorm : 3;
UNSG32 u_codILow_RPP : 8;
UNSG32 RSVDx0_b11 : 21;
///////////////////////////////////////////////////////////
} SIE_CABAC_RPPMsg;
///////////////////////////////////////////////////////////
SIGN32 CABAC_RPPMsg_drvrd(SIE_CABAC_RPPMsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CABAC_RPPMsg_drvwr(SIE_CABAC_RPPMsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CABAC_RPPMsg_reset(SIE_CABAC_RPPMsg *p);
SIGN32 CABAC_RPPMsg_cmp (SIE_CABAC_RPPMsg *p, SIE_CABAC_RPPMsg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CABAC_RPPMsg_check(p,pie,pfx,hLOG) CABAC_RPPMsg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CABAC_RPPMsg_print(p, pfx,hLOG) CABAC_RPPMsg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CABAC_RPPMsg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FOPDAT biu (4,4)
/// ###
/// * FOP return data format
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 leftBsY
/// ###
/// * Left BS for Y component is nonzero
/// ###
/// %unsigned 1 leftBsC
/// ###
/// * Left BS for chroma (VC-1: Cb) component is nonzero
/// ###
/// %unsigned 1 topBsY
/// ###
/// * Top BS for Y component is nonzero
/// ###
/// %unsigned 1 topBsC
/// ###
/// * Top BS for chroma (VC-1: Cb) component is nonzero
/// ###
/// %unsigned 1 leftBsCr
/// ###
/// * Left BS for Cr component is nonzero, used by VC-1 only.
/// ###
/// %unsigned 1 topBsCr
/// ###
/// * Top BS for Cr component is nonzero, used by VC-1 only.
/// * End FOPDAT
/// ###
/// %% 26 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 6b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FOPDAT
#define h_FOPDAT (){}
#define BA_FOPDAT_leftBsY 0x0000
#define B16FOPDAT_leftBsY 0x0000
#define LSb32FOPDAT_leftBsY 0
#define LSb16FOPDAT_leftBsY 0
#define bFOPDAT_leftBsY 1
#define MSK32FOPDAT_leftBsY 0x00000001
#define BA_FOPDAT_leftBsC 0x0000
#define B16FOPDAT_leftBsC 0x0000
#define LSb32FOPDAT_leftBsC 1
#define LSb16FOPDAT_leftBsC 1
#define bFOPDAT_leftBsC 1
#define MSK32FOPDAT_leftBsC 0x00000002
#define BA_FOPDAT_topBsY 0x0000
#define B16FOPDAT_topBsY 0x0000
#define LSb32FOPDAT_topBsY 2
#define LSb16FOPDAT_topBsY 2
#define bFOPDAT_topBsY 1
#define MSK32FOPDAT_topBsY 0x00000004
#define BA_FOPDAT_topBsC 0x0000
#define B16FOPDAT_topBsC 0x0000
#define LSb32FOPDAT_topBsC 3
#define LSb16FOPDAT_topBsC 3
#define bFOPDAT_topBsC 1
#define MSK32FOPDAT_topBsC 0x00000008
#define BA_FOPDAT_leftBsCr 0x0000
#define B16FOPDAT_leftBsCr 0x0000
#define LSb32FOPDAT_leftBsCr 4
#define LSb16FOPDAT_leftBsCr 4
#define bFOPDAT_leftBsCr 1
#define MSK32FOPDAT_leftBsCr 0x00000010
#define BA_FOPDAT_topBsCr 0x0000
#define B16FOPDAT_topBsCr 0x0000
#define LSb32FOPDAT_topBsCr 5
#define LSb16FOPDAT_topBsCr 5
#define bFOPDAT_topBsCr 1
#define MSK32FOPDAT_topBsCr 0x00000020
///////////////////////////////////////////////////////////
typedef struct SIE_FOPDAT {
///////////////////////////////////////////////////////////
#define GET32FOPDAT_leftBsY(r32) _BFGET_(r32, 0, 0)
#define SET32FOPDAT_leftBsY(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FOPDAT_leftBsY(r16) _BFGET_(r16, 0, 0)
#define SET16FOPDAT_leftBsY(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FOPDAT_leftBsC(r32) _BFGET_(r32, 1, 1)
#define SET32FOPDAT_leftBsC(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16FOPDAT_leftBsC(r16) _BFGET_(r16, 1, 1)
#define SET16FOPDAT_leftBsC(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32FOPDAT_topBsY(r32) _BFGET_(r32, 2, 2)
#define SET32FOPDAT_topBsY(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16FOPDAT_topBsY(r16) _BFGET_(r16, 2, 2)
#define SET16FOPDAT_topBsY(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32FOPDAT_topBsC(r32) _BFGET_(r32, 3, 3)
#define SET32FOPDAT_topBsC(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16FOPDAT_topBsC(r16) _BFGET_(r16, 3, 3)
#define SET16FOPDAT_topBsC(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32FOPDAT_leftBsCr(r32) _BFGET_(r32, 4, 4)
#define SET32FOPDAT_leftBsCr(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16FOPDAT_leftBsCr(r16) _BFGET_(r16, 4, 4)
#define SET16FOPDAT_leftBsCr(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32FOPDAT_topBsCr(r32) _BFGET_(r32, 5, 5)
#define SET32FOPDAT_topBsCr(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16FOPDAT_topBsCr(r16) _BFGET_(r16, 5, 5)
#define SET16FOPDAT_topBsCr(r16,v) _BFSET_(r16, 5, 5,v)
UNSG32 u_leftBsY : 1;
UNSG32 u_leftBsC : 1;
UNSG32 u_topBsY : 1;
UNSG32 u_topBsC : 1;
UNSG32 u_leftBsCr : 1;
UNSG32 u_topBsCr : 1;
UNSG32 RSVDx0_b6 : 26;
///////////////////////////////////////////////////////////
} SIE_FOPDAT;
///////////////////////////////////////////////////////////
SIGN32 FOPDAT_drvrd(SIE_FOPDAT *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FOPDAT_drvwr(SIE_FOPDAT *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FOPDAT_reset(SIE_FOPDAT *p);
SIGN32 FOPDAT_cmp (SIE_FOPDAT *p, SIE_FOPDAT *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FOPDAT_check(p,pie,pfx,hLOG) FOPDAT_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FOPDAT_print(p, pfx,hLOG) FOPDAT_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FOPDAT
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RVFOPDAT biu (4,4)
/// ###
/// * FOP return data format
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 2 BsY
/// ###
/// * Block strength of current luma block (0: NONE; 1: NORMAL; 2: STRONG). Note this is not FilterSet used in PCUBE DBLK extension.
/// ###
/// %unsigned 2 BsCb
/// ###
/// * Block strength of current Cb block.
/// ###
/// %unsigned 2 BsCr
/// ###
/// * Block strength of current Cr block.
/// * End RVFOPDAT
/// ###
/// %% 26 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 6b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RVFOPDAT
#define h_RVFOPDAT (){}
#define BA_RVFOPDAT_BsY 0x0000
#define B16RVFOPDAT_BsY 0x0000
#define LSb32RVFOPDAT_BsY 0
#define LSb16RVFOPDAT_BsY 0
#define bRVFOPDAT_BsY 2
#define MSK32RVFOPDAT_BsY 0x00000003
#define BA_RVFOPDAT_BsCb 0x0000
#define B16RVFOPDAT_BsCb 0x0000
#define LSb32RVFOPDAT_BsCb 2
#define LSb16RVFOPDAT_BsCb 2
#define bRVFOPDAT_BsCb 2
#define MSK32RVFOPDAT_BsCb 0x0000000C
#define BA_RVFOPDAT_BsCr 0x0000
#define B16RVFOPDAT_BsCr 0x0000
#define LSb32RVFOPDAT_BsCr 4
#define LSb16RVFOPDAT_BsCr 4
#define bRVFOPDAT_BsCr 2
#define MSK32RVFOPDAT_BsCr 0x00000030
///////////////////////////////////////////////////////////
typedef struct SIE_RVFOPDAT {
///////////////////////////////////////////////////////////
#define GET32RVFOPDAT_BsY(r32) _BFGET_(r32, 1, 0)
#define SET32RVFOPDAT_BsY(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16RVFOPDAT_BsY(r16) _BFGET_(r16, 1, 0)
#define SET16RVFOPDAT_BsY(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32RVFOPDAT_BsCb(r32) _BFGET_(r32, 3, 2)
#define SET32RVFOPDAT_BsCb(r32,v) _BFSET_(r32, 3, 2,v)
#define GET16RVFOPDAT_BsCb(r16) _BFGET_(r16, 3, 2)
#define SET16RVFOPDAT_BsCb(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32RVFOPDAT_BsCr(r32) _BFGET_(r32, 5, 4)
#define SET32RVFOPDAT_BsCr(r32,v) _BFSET_(r32, 5, 4,v)
#define GET16RVFOPDAT_BsCr(r16) _BFGET_(r16, 5, 4)
#define SET16RVFOPDAT_BsCr(r16,v) _BFSET_(r16, 5, 4,v)
UNSG32 u_BsY : 2;
UNSG32 u_BsCb : 2;
UNSG32 u_BsCr : 2;
UNSG32 RSVDx0_b6 : 26;
///////////////////////////////////////////////////////////
} SIE_RVFOPDAT;
///////////////////////////////////////////////////////////
SIGN32 RVFOPDAT_drvrd(SIE_RVFOPDAT *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RVFOPDAT_drvwr(SIE_RVFOPDAT *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RVFOPDAT_reset(SIE_RVFOPDAT *p);
SIGN32 RVFOPDAT_cmp (SIE_RVFOPDAT *p, SIE_RVFOPDAT *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RVFOPDAT_check(p,pie,pfx,hLOG) RVFOPDAT_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RVFOPDAT_print(p, pfx,hLOG) RVFOPDAT_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RVFOPDAT
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VP8_LF_DELTAS biu (4,4)
/// ###
/// * VP8 loop filter deltas
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %signed 8 ref_lf_deltas_0i
/// %signed 8 ref_lf_deltas_1i
/// %signed 8 ref_lf_deltas_2i
/// %signed 8 ref_lf_deltas_3i
/// ###
/// * ref_lf_deltas[0:3]
/// ###
/// %signed 8 mode_lf_deltas_0i
/// %signed 8 mode_lf_deltas_1i
/// %signed 8 mode_lf_deltas_2i
/// %signed 8 mode_lf_deltas_3i
/// ###
/// * mode_lf_deltas[0:3]
/// * End VP8_LF_DELTAS
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VP8_LF_DELTAS
#define h_VP8_LF_DELTAS (){}
#define BA_VP8_LF_DELTAS_ref_lf_deltas_0i 0x0000
#define B16VP8_LF_DELTAS_ref_lf_deltas_0i 0x0000
#define LSb32VP8_LF_DELTAS_ref_lf_deltas_0i 0
#define LSb16VP8_LF_DELTAS_ref_lf_deltas_0i 0
#define bVP8_LF_DELTAS_ref_lf_deltas_0i 8
#define MSK32VP8_LF_DELTAS_ref_lf_deltas_0i 0x000000FF
#define BA_VP8_LF_DELTAS_ref_lf_deltas_1i 0x0001
#define B16VP8_LF_DELTAS_ref_lf_deltas_1i 0x0000
#define LSb32VP8_LF_DELTAS_ref_lf_deltas_1i 8
#define LSb16VP8_LF_DELTAS_ref_lf_deltas_1i 8
#define bVP8_LF_DELTAS_ref_lf_deltas_1i 8
#define MSK32VP8_LF_DELTAS_ref_lf_deltas_1i 0x0000FF00
#define BA_VP8_LF_DELTAS_ref_lf_deltas_2i 0x0002
#define B16VP8_LF_DELTAS_ref_lf_deltas_2i 0x0002
#define LSb32VP8_LF_DELTAS_ref_lf_deltas_2i 16
#define LSb16VP8_LF_DELTAS_ref_lf_deltas_2i 0
#define bVP8_LF_DELTAS_ref_lf_deltas_2i 8
#define MSK32VP8_LF_DELTAS_ref_lf_deltas_2i 0x00FF0000
#define BA_VP8_LF_DELTAS_ref_lf_deltas_3i 0x0003
#define B16VP8_LF_DELTAS_ref_lf_deltas_3i 0x0002
#define LSb32VP8_LF_DELTAS_ref_lf_deltas_3i 24
#define LSb16VP8_LF_DELTAS_ref_lf_deltas_3i 8
#define bVP8_LF_DELTAS_ref_lf_deltas_3i 8
#define MSK32VP8_LF_DELTAS_ref_lf_deltas_3i 0xFF000000
#define BA_VP8_LF_DELTAS_mode_lf_deltas_0i 0x0004
#define B16VP8_LF_DELTAS_mode_lf_deltas_0i 0x0004
#define LSb32VP8_LF_DELTAS_mode_lf_deltas_0i 0
#define LSb16VP8_LF_DELTAS_mode_lf_deltas_0i 0
#define bVP8_LF_DELTAS_mode_lf_deltas_0i 8
#define MSK32VP8_LF_DELTAS_mode_lf_deltas_0i 0x000000FF
#define BA_VP8_LF_DELTAS_mode_lf_deltas_1i 0x0005
#define B16VP8_LF_DELTAS_mode_lf_deltas_1i 0x0004
#define LSb32VP8_LF_DELTAS_mode_lf_deltas_1i 8
#define LSb16VP8_LF_DELTAS_mode_lf_deltas_1i 8
#define bVP8_LF_DELTAS_mode_lf_deltas_1i 8
#define MSK32VP8_LF_DELTAS_mode_lf_deltas_1i 0x0000FF00
#define BA_VP8_LF_DELTAS_mode_lf_deltas_2i 0x0006
#define B16VP8_LF_DELTAS_mode_lf_deltas_2i 0x0006
#define LSb32VP8_LF_DELTAS_mode_lf_deltas_2i 16
#define LSb16VP8_LF_DELTAS_mode_lf_deltas_2i 0
#define bVP8_LF_DELTAS_mode_lf_deltas_2i 8
#define MSK32VP8_LF_DELTAS_mode_lf_deltas_2i 0x00FF0000
#define BA_VP8_LF_DELTAS_mode_lf_deltas_3i 0x0007
#define B16VP8_LF_DELTAS_mode_lf_deltas_3i 0x0006
#define LSb32VP8_LF_DELTAS_mode_lf_deltas_3i 24
#define LSb16VP8_LF_DELTAS_mode_lf_deltas_3i 8
#define bVP8_LF_DELTAS_mode_lf_deltas_3i 8
#define MSK32VP8_LF_DELTAS_mode_lf_deltas_3i 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_VP8_LF_DELTAS {
///////////////////////////////////////////////////////////
#define GET32VP8_LF_DELTAS_ref_lf_deltas_0i(r32) _BFGET_(r32, 7, 0)
#define SET32VP8_LF_DELTAS_ref_lf_deltas_0i(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16VP8_LF_DELTAS_ref_lf_deltas_0i(r16) _BFGET_(r16, 7, 0)
#define SET16VP8_LF_DELTAS_ref_lf_deltas_0i(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32VP8_LF_DELTAS_ref_lf_deltas_1i(r32) _BFGET_(r32,15, 8)
#define SET32VP8_LF_DELTAS_ref_lf_deltas_1i(r32,v) _BFSET_(r32,15, 8,v)
#define GET16VP8_LF_DELTAS_ref_lf_deltas_1i(r16) _BFGET_(r16,15, 8)
#define SET16VP8_LF_DELTAS_ref_lf_deltas_1i(r16,v) _BFSET_(r16,15, 8,v)
#define GET32VP8_LF_DELTAS_ref_lf_deltas_2i(r32) _BFGET_(r32,23,16)
#define SET32VP8_LF_DELTAS_ref_lf_deltas_2i(r32,v) _BFSET_(r32,23,16,v)
#define GET16VP8_LF_DELTAS_ref_lf_deltas_2i(r16) _BFGET_(r16, 7, 0)
#define SET16VP8_LF_DELTAS_ref_lf_deltas_2i(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32VP8_LF_DELTAS_ref_lf_deltas_3i(r32) _BFGET_(r32,31,24)
#define SET32VP8_LF_DELTAS_ref_lf_deltas_3i(r32,v) _BFSET_(r32,31,24,v)
#define GET16VP8_LF_DELTAS_ref_lf_deltas_3i(r16) _BFGET_(r16,15, 8)
#define SET16VP8_LF_DELTAS_ref_lf_deltas_3i(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 s_ref_lf_deltas_0i : 8;
UNSG32 s_ref_lf_deltas_1i : 8;
UNSG32 s_ref_lf_deltas_2i : 8;
UNSG32 s_ref_lf_deltas_3i : 8;
///////////////////////////////////////////////////////////
#define GET32VP8_LF_DELTAS_mode_lf_deltas_0i(r32) _BFGET_(r32, 7, 0)
#define SET32VP8_LF_DELTAS_mode_lf_deltas_0i(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16VP8_LF_DELTAS_mode_lf_deltas_0i(r16) _BFGET_(r16, 7, 0)
#define SET16VP8_LF_DELTAS_mode_lf_deltas_0i(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32VP8_LF_DELTAS_mode_lf_deltas_1i(r32) _BFGET_(r32,15, 8)
#define SET32VP8_LF_DELTAS_mode_lf_deltas_1i(r32,v) _BFSET_(r32,15, 8,v)
#define GET16VP8_LF_DELTAS_mode_lf_deltas_1i(r16) _BFGET_(r16,15, 8)
#define SET16VP8_LF_DELTAS_mode_lf_deltas_1i(r16,v) _BFSET_(r16,15, 8,v)
#define GET32VP8_LF_DELTAS_mode_lf_deltas_2i(r32) _BFGET_(r32,23,16)
#define SET32VP8_LF_DELTAS_mode_lf_deltas_2i(r32,v) _BFSET_(r32,23,16,v)
#define GET16VP8_LF_DELTAS_mode_lf_deltas_2i(r16) _BFGET_(r16, 7, 0)
#define SET16VP8_LF_DELTAS_mode_lf_deltas_2i(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32VP8_LF_DELTAS_mode_lf_deltas_3i(r32) _BFGET_(r32,31,24)
#define SET32VP8_LF_DELTAS_mode_lf_deltas_3i(r32,v) _BFSET_(r32,31,24,v)
#define GET16VP8_LF_DELTAS_mode_lf_deltas_3i(r16) _BFGET_(r16,15, 8)
#define SET16VP8_LF_DELTAS_mode_lf_deltas_3i(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 s_mode_lf_deltas_0i : 8;
UNSG32 s_mode_lf_deltas_1i : 8;
UNSG32 s_mode_lf_deltas_2i : 8;
UNSG32 s_mode_lf_deltas_3i : 8;
///////////////////////////////////////////////////////////
} SIE_VP8_LF_DELTAS;
///////////////////////////////////////////////////////////
SIGN32 VP8_LF_DELTAS_drvrd(SIE_VP8_LF_DELTAS *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VP8_LF_DELTAS_drvwr(SIE_VP8_LF_DELTAS *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VP8_LF_DELTAS_reset(SIE_VP8_LF_DELTAS *p);
SIGN32 VP8_LF_DELTAS_cmp (SIE_VP8_LF_DELTAS *p, SIE_VP8_LF_DELTAS *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VP8_LF_DELTAS_check(p,pie,pfx,hLOG) VP8_LF_DELTAS_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VP8_LF_DELTAS_print(p, pfx,hLOG) VP8_LF_DELTAS_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VP8_LF_DELTAS
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VP8_cmd biu (4,4)
/// ###
/// * VP8 FOP context data format
/// * [0:15]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 Sharpness
/// ###
/// * Sharpness level
/// ###
/// %unsigned 1 FilterType
/// ###
/// * 0: simple, 1: normal
/// ###
/// %unsigned 1 lf_delta_enabled
/// ###
/// * 0: disabled, 1: enabled
/// ###
/// %unsigned 6 baseFilterLevel
/// ###
/// * baseline filter level.
/// ###
/// %unsigned 2 ref_frame
/// : intra 0x0
/// : last 0x1
/// : golden 0x2
/// : altref 0x3
/// ###
/// * Reference picture
/// ###
/// %unsigned 2 pred_mode
/// : b_pred 0x0
/// : other 0x1
/// : zero_mv 0x2
/// : split_mv 0x3
/// ###
/// * prediction mode
/// * End VP8_cmd
/// ###
/// %% 17 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 15b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VP8_cmd
#define h_VP8_cmd (){}
#define BA_VP8_cmd_Sharpness 0x0000
#define B16VP8_cmd_Sharpness 0x0000
#define LSb32VP8_cmd_Sharpness 0
#define LSb16VP8_cmd_Sharpness 0
#define bVP8_cmd_Sharpness 3
#define MSK32VP8_cmd_Sharpness 0x00000007
#define BA_VP8_cmd_FilterType 0x0000
#define B16VP8_cmd_FilterType 0x0000
#define LSb32VP8_cmd_FilterType 3
#define LSb16VP8_cmd_FilterType 3
#define bVP8_cmd_FilterType 1
#define MSK32VP8_cmd_FilterType 0x00000008
#define BA_VP8_cmd_lf_delta_enabled 0x0000
#define B16VP8_cmd_lf_delta_enabled 0x0000
#define LSb32VP8_cmd_lf_delta_enabled 4
#define LSb16VP8_cmd_lf_delta_enabled 4
#define bVP8_cmd_lf_delta_enabled 1
#define MSK32VP8_cmd_lf_delta_enabled 0x00000010
#define BA_VP8_cmd_baseFilterLevel 0x0000
#define B16VP8_cmd_baseFilterLevel 0x0000
#define LSb32VP8_cmd_baseFilterLevel 5
#define LSb16VP8_cmd_baseFilterLevel 5
#define bVP8_cmd_baseFilterLevel 6
#define MSK32VP8_cmd_baseFilterLevel 0x000007E0
#define BA_VP8_cmd_ref_frame 0x0001
#define B16VP8_cmd_ref_frame 0x0000
#define LSb32VP8_cmd_ref_frame 11
#define LSb16VP8_cmd_ref_frame 11
#define bVP8_cmd_ref_frame 2
#define MSK32VP8_cmd_ref_frame 0x00001800
#define VP8_cmd_ref_frame_intra 0x0
#define VP8_cmd_ref_frame_last 0x1
#define VP8_cmd_ref_frame_golden 0x2
#define VP8_cmd_ref_frame_altref 0x3
#define BA_VP8_cmd_pred_mode 0x0001
#define B16VP8_cmd_pred_mode 0x0000
#define LSb32VP8_cmd_pred_mode 13
#define LSb16VP8_cmd_pred_mode 13
#define bVP8_cmd_pred_mode 2
#define MSK32VP8_cmd_pred_mode 0x00006000
#define VP8_cmd_pred_mode_b_pred 0x0
#define VP8_cmd_pred_mode_other 0x1
#define VP8_cmd_pred_mode_zero_mv 0x2
#define VP8_cmd_pred_mode_split_mv 0x3
///////////////////////////////////////////////////////////
typedef struct SIE_VP8_cmd {
///////////////////////////////////////////////////////////
#define GET32VP8_cmd_Sharpness(r32) _BFGET_(r32, 2, 0)
#define SET32VP8_cmd_Sharpness(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16VP8_cmd_Sharpness(r16) _BFGET_(r16, 2, 0)
#define SET16VP8_cmd_Sharpness(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32VP8_cmd_FilterType(r32) _BFGET_(r32, 3, 3)
#define SET32VP8_cmd_FilterType(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16VP8_cmd_FilterType(r16) _BFGET_(r16, 3, 3)
#define SET16VP8_cmd_FilterType(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32VP8_cmd_lf_delta_enabled(r32) _BFGET_(r32, 4, 4)
#define SET32VP8_cmd_lf_delta_enabled(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16VP8_cmd_lf_delta_enabled(r16) _BFGET_(r16, 4, 4)
#define SET16VP8_cmd_lf_delta_enabled(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32VP8_cmd_baseFilterLevel(r32) _BFGET_(r32,10, 5)
#define SET32VP8_cmd_baseFilterLevel(r32,v) _BFSET_(r32,10, 5,v)
#define GET16VP8_cmd_baseFilterLevel(r16) _BFGET_(r16,10, 5)
#define SET16VP8_cmd_baseFilterLevel(r16,v) _BFSET_(r16,10, 5,v)
#define GET32VP8_cmd_ref_frame(r32) _BFGET_(r32,12,11)
#define SET32VP8_cmd_ref_frame(r32,v) _BFSET_(r32,12,11,v)
#define GET16VP8_cmd_ref_frame(r16) _BFGET_(r16,12,11)
#define SET16VP8_cmd_ref_frame(r16,v) _BFSET_(r16,12,11,v)
#define GET32VP8_cmd_pred_mode(r32) _BFGET_(r32,14,13)
#define SET32VP8_cmd_pred_mode(r32,v) _BFSET_(r32,14,13,v)
#define GET16VP8_cmd_pred_mode(r16) _BFGET_(r16,14,13)
#define SET16VP8_cmd_pred_mode(r16,v) _BFSET_(r16,14,13,v)
UNSG32 u_Sharpness : 3;
UNSG32 u_FilterType : 1;
UNSG32 u_lf_delta_enabled : 1;
UNSG32 u_baseFilterLevel : 6;
UNSG32 u_ref_frame : 2;
UNSG32 u_pred_mode : 2;
UNSG32 RSVDx0_b15 : 17;
///////////////////////////////////////////////////////////
} SIE_VP8_cmd;
///////////////////////////////////////////////////////////
SIGN32 VP8_cmd_drvrd(SIE_VP8_cmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VP8_cmd_drvwr(SIE_VP8_cmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VP8_cmd_reset(SIE_VP8_cmd *p);
SIGN32 VP8_cmd_cmp (SIE_VP8_cmd *p, SIE_VP8_cmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VP8_cmd_check(p,pie,pfx,hLOG) VP8_cmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VP8_cmd_print(p, pfx,hLOG) VP8_cmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VP8_cmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VP8_edge_param biu (4,4)
/// ###
/// * VP8 loop filter edge parameters
/// * [0:32]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 FilterType
/// : simple 0x0
/// : normal 0x1
/// ###
/// * Filter type
/// ###
/// %unsigned 1 MB_edge
/// ###
/// * 1 if the edge is at MB boundary; 0 otherwise
/// ###
/// %unsigned 2 hevThreshold
/// ###
/// * hevThreshold, range 0~3
/// ###
/// %unsigned 7 edgeLimit
/// ###
/// * edgeLimit
/// ###
/// %unsigned 5 rsvd
/// ###
/// * reserved
/// ###
/// %unsigned 6 interiorLimit
/// ###
/// * interiorLimit
/// * End VP8_edge_param
/// ###
/// %% 10 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 22b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VP8_edge_param
#define h_VP8_edge_param (){}
#define BA_VP8_edge_param_FilterType 0x0000
#define B16VP8_edge_param_FilterType 0x0000
#define LSb32VP8_edge_param_FilterType 0
#define LSb16VP8_edge_param_FilterType 0
#define bVP8_edge_param_FilterType 1
#define MSK32VP8_edge_param_FilterType 0x00000001
#define VP8_edge_param_FilterType_simple 0x0
#define VP8_edge_param_FilterType_normal 0x1
#define BA_VP8_edge_param_MB_edge 0x0000
#define B16VP8_edge_param_MB_edge 0x0000
#define LSb32VP8_edge_param_MB_edge 1
#define LSb16VP8_edge_param_MB_edge 1
#define bVP8_edge_param_MB_edge 1
#define MSK32VP8_edge_param_MB_edge 0x00000002
#define BA_VP8_edge_param_hevThreshold 0x0000
#define B16VP8_edge_param_hevThreshold 0x0000
#define LSb32VP8_edge_param_hevThreshold 2
#define LSb16VP8_edge_param_hevThreshold 2
#define bVP8_edge_param_hevThreshold 2
#define MSK32VP8_edge_param_hevThreshold 0x0000000C
#define BA_VP8_edge_param_edgeLimit 0x0000
#define B16VP8_edge_param_edgeLimit 0x0000
#define LSb32VP8_edge_param_edgeLimit 4
#define LSb16VP8_edge_param_edgeLimit 4
#define bVP8_edge_param_edgeLimit 7
#define MSK32VP8_edge_param_edgeLimit 0x000007F0
#define BA_VP8_edge_param_rsvd 0x0001
#define B16VP8_edge_param_rsvd 0x0000
#define LSb32VP8_edge_param_rsvd 11
#define LSb16VP8_edge_param_rsvd 11
#define bVP8_edge_param_rsvd 5
#define MSK32VP8_edge_param_rsvd 0x0000F800
#define BA_VP8_edge_param_interiorLimit 0x0002
#define B16VP8_edge_param_interiorLimit 0x0002
#define LSb32VP8_edge_param_interiorLimit 16
#define LSb16VP8_edge_param_interiorLimit 0
#define bVP8_edge_param_interiorLimit 6
#define MSK32VP8_edge_param_interiorLimit 0x003F0000
///////////////////////////////////////////////////////////
typedef struct SIE_VP8_edge_param {
///////////////////////////////////////////////////////////
#define GET32VP8_edge_param_FilterType(r32) _BFGET_(r32, 0, 0)
#define SET32VP8_edge_param_FilterType(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16VP8_edge_param_FilterType(r16) _BFGET_(r16, 0, 0)
#define SET16VP8_edge_param_FilterType(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32VP8_edge_param_MB_edge(r32) _BFGET_(r32, 1, 1)
#define SET32VP8_edge_param_MB_edge(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16VP8_edge_param_MB_edge(r16) _BFGET_(r16, 1, 1)
#define SET16VP8_edge_param_MB_edge(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32VP8_edge_param_hevThreshold(r32) _BFGET_(r32, 3, 2)
#define SET32VP8_edge_param_hevThreshold(r32,v) _BFSET_(r32, 3, 2,v)
#define GET16VP8_edge_param_hevThreshold(r16) _BFGET_(r16, 3, 2)
#define SET16VP8_edge_param_hevThreshold(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32VP8_edge_param_edgeLimit(r32) _BFGET_(r32,10, 4)
#define SET32VP8_edge_param_edgeLimit(r32,v) _BFSET_(r32,10, 4,v)
#define GET16VP8_edge_param_edgeLimit(r16) _BFGET_(r16,10, 4)
#define SET16VP8_edge_param_edgeLimit(r16,v) _BFSET_(r16,10, 4,v)
#define GET32VP8_edge_param_rsvd(r32) _BFGET_(r32,15,11)
#define SET32VP8_edge_param_rsvd(r32,v) _BFSET_(r32,15,11,v)
#define GET16VP8_edge_param_rsvd(r16) _BFGET_(r16,15,11)
#define SET16VP8_edge_param_rsvd(r16,v) _BFSET_(r16,15,11,v)
#define GET32VP8_edge_param_interiorLimit(r32) _BFGET_(r32,21,16)
#define SET32VP8_edge_param_interiorLimit(r32,v) _BFSET_(r32,21,16,v)
#define GET16VP8_edge_param_interiorLimit(r16) _BFGET_(r16, 5, 0)
#define SET16VP8_edge_param_interiorLimit(r16,v) _BFSET_(r16, 5, 0,v)
UNSG32 u_FilterType : 1;
UNSG32 u_MB_edge : 1;
UNSG32 u_hevThreshold : 2;
UNSG32 u_edgeLimit : 7;
UNSG32 u_rsvd : 5;
UNSG32 u_interiorLimit : 6;
UNSG32 RSVDx0_b22 : 10;
///////////////////////////////////////////////////////////
} SIE_VP8_edge_param;
///////////////////////////////////////////////////////////
SIGN32 VP8_edge_param_drvrd(SIE_VP8_edge_param *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VP8_edge_param_drvwr(SIE_VP8_edge_param *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VP8_edge_param_reset(SIE_VP8_edge_param *p);
SIGN32 VP8_edge_param_cmp (SIE_VP8_edge_param *p, SIE_VP8_edge_param *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VP8_edge_param_check(p,pie,pfx,hLOG) VP8_edge_param_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VP8_edge_param_print(p, pfx,hLOG) VP8_edge_param_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VP8_edge_param
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE nebAddr biu (4,4)
/// ###
/// * Neighbor address output format
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 val (P)
/// %unsigned 3 dltBank
/// %unsigned 5 subAddr
/// %% 24 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_nebAddr
#define h_nebAddr (){}
#define RA_nebAddr_val 0x0000
#define BA_nebAddr_val_dltBank 0x0000
#define B16nebAddr_val_dltBank 0x0000
#define LSb32nebAddr_val_dltBank 0
#define LSb16nebAddr_val_dltBank 0
#define bnebAddr_val_dltBank 3
#define MSK32nebAddr_val_dltBank 0x00000007
#define BA_nebAddr_val_subAddr 0x0000
#define B16nebAddr_val_subAddr 0x0000
#define LSb32nebAddr_val_subAddr 3
#define LSb16nebAddr_val_subAddr 3
#define bnebAddr_val_subAddr 5
#define MSK32nebAddr_val_subAddr 0x000000F8
///////////////////////////////////////////////////////////
typedef struct SIE_nebAddr {
///////////////////////////////////////////////////////////
#define GET32nebAddr_val_dltBank(r32) _BFGET_(r32, 2, 0)
#define SET32nebAddr_val_dltBank(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16nebAddr_val_dltBank(r16) _BFGET_(r16, 2, 0)
#define SET16nebAddr_val_dltBank(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32nebAddr_val_subAddr(r32) _BFGET_(r32, 7, 3)
#define SET32nebAddr_val_subAddr(r32,v) _BFSET_(r32, 7, 3,v)
#define GET16nebAddr_val_subAddr(r16) _BFGET_(r16, 7, 3)
#define SET16nebAddr_val_subAddr(r16,v) _BFSET_(r16, 7, 3,v)
#define w32nebAddr_val {\
UNSG32 uval_dltBank : 3;\
UNSG32 uval_subAddr : 5;\
UNSG32 RSVDx0_b8 : 24;\
}
union { UNSG32 u32nebAddr_val;
struct w32nebAddr_val;
};
///////////////////////////////////////////////////////////
} SIE_nebAddr;
typedef union T32nebAddr_val
{ UNSG32 u32;
struct w32nebAddr_val;
} T32nebAddr_val;
///////////////////////////////////////////////////////////
typedef union TnebAddr_val
{ UNSG32 u32[1];
struct {
struct w32nebAddr_val;
};
} TnebAddr_val;
///////////////////////////////////////////////////////////
SIGN32 nebAddr_drvrd(SIE_nebAddr *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 nebAddr_drvwr(SIE_nebAddr *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void nebAddr_reset(SIE_nebAddr *p);
SIGN32 nebAddr_cmp (SIE_nebAddr *p, SIE_nebAddr *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define nebAddr_check(p,pie,pfx,hLOG) nebAddr_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define nebAddr_print(p, pfx,hLOG) nebAddr_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: nebAddr
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE get4x4NeighborInput biu (4,4)
/// ###
/// * Structure for C model only; no use for hardware
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 In (P)
/// %unsigned 1 mbAvailA
/// %unsigned 1 mbAvailB
/// %unsigned 1 mbAvailC
/// %unsigned 1 mbAvailD
/// %unsigned 1 mbFieldA
/// %unsigned 1 mbFieldB
/// %unsigned 1 mbFieldC
/// %unsigned 1 mbFieldD
/// %unsigned 1 mbFieldX
/// %unsigned 1 isBotMb
/// %% 22 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 10b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_get4x4NeighborInput
#define h_get4x4NeighborInput (){}
#define RA_get4x4NeighborInput_In 0x0000
#define BA_get4x4NeighborInput_In_mbAvailA 0x0000
#define B16get4x4NeighborInput_In_mbAvailA 0x0000
#define LSb32get4x4NeighborInput_In_mbAvailA 0
#define LSb16get4x4NeighborInput_In_mbAvailA 0
#define bget4x4NeighborInput_In_mbAvailA 1
#define MSK32get4x4NeighborInput_In_mbAvailA 0x00000001
#define BA_get4x4NeighborInput_In_mbAvailB 0x0000
#define B16get4x4NeighborInput_In_mbAvailB 0x0000
#define LSb32get4x4NeighborInput_In_mbAvailB 1
#define LSb16get4x4NeighborInput_In_mbAvailB 1
#define bget4x4NeighborInput_In_mbAvailB 1
#define MSK32get4x4NeighborInput_In_mbAvailB 0x00000002
#define BA_get4x4NeighborInput_In_mbAvailC 0x0000
#define B16get4x4NeighborInput_In_mbAvailC 0x0000
#define LSb32get4x4NeighborInput_In_mbAvailC 2
#define LSb16get4x4NeighborInput_In_mbAvailC 2
#define bget4x4NeighborInput_In_mbAvailC 1
#define MSK32get4x4NeighborInput_In_mbAvailC 0x00000004
#define BA_get4x4NeighborInput_In_mbAvailD 0x0000
#define B16get4x4NeighborInput_In_mbAvailD 0x0000
#define LSb32get4x4NeighborInput_In_mbAvailD 3
#define LSb16get4x4NeighborInput_In_mbAvailD 3
#define bget4x4NeighborInput_In_mbAvailD 1
#define MSK32get4x4NeighborInput_In_mbAvailD 0x00000008
#define BA_get4x4NeighborInput_In_mbFieldA 0x0000
#define B16get4x4NeighborInput_In_mbFieldA 0x0000
#define LSb32get4x4NeighborInput_In_mbFieldA 4
#define LSb16get4x4NeighborInput_In_mbFieldA 4
#define bget4x4NeighborInput_In_mbFieldA 1
#define MSK32get4x4NeighborInput_In_mbFieldA 0x00000010
#define BA_get4x4NeighborInput_In_mbFieldB 0x0000
#define B16get4x4NeighborInput_In_mbFieldB 0x0000
#define LSb32get4x4NeighborInput_In_mbFieldB 5
#define LSb16get4x4NeighborInput_In_mbFieldB 5
#define bget4x4NeighborInput_In_mbFieldB 1
#define MSK32get4x4NeighborInput_In_mbFieldB 0x00000020
#define BA_get4x4NeighborInput_In_mbFieldC 0x0000
#define B16get4x4NeighborInput_In_mbFieldC 0x0000
#define LSb32get4x4NeighborInput_In_mbFieldC 6
#define LSb16get4x4NeighborInput_In_mbFieldC 6
#define bget4x4NeighborInput_In_mbFieldC 1
#define MSK32get4x4NeighborInput_In_mbFieldC 0x00000040
#define BA_get4x4NeighborInput_In_mbFieldD 0x0000
#define B16get4x4NeighborInput_In_mbFieldD 0x0000
#define LSb32get4x4NeighborInput_In_mbFieldD 7
#define LSb16get4x4NeighborInput_In_mbFieldD 7
#define bget4x4NeighborInput_In_mbFieldD 1
#define MSK32get4x4NeighborInput_In_mbFieldD 0x00000080
#define BA_get4x4NeighborInput_In_mbFieldX 0x0001
#define B16get4x4NeighborInput_In_mbFieldX 0x0000
#define LSb32get4x4NeighborInput_In_mbFieldX 8
#define LSb16get4x4NeighborInput_In_mbFieldX 8
#define bget4x4NeighborInput_In_mbFieldX 1
#define MSK32get4x4NeighborInput_In_mbFieldX 0x00000100
#define BA_get4x4NeighborInput_In_isBotMb 0x0001
#define B16get4x4NeighborInput_In_isBotMb 0x0000
#define LSb32get4x4NeighborInput_In_isBotMb 9
#define LSb16get4x4NeighborInput_In_isBotMb 9
#define bget4x4NeighborInput_In_isBotMb 1
#define MSK32get4x4NeighborInput_In_isBotMb 0x00000200
///////////////////////////////////////////////////////////
typedef struct SIE_get4x4NeighborInput {
///////////////////////////////////////////////////////////
#define GET32get4x4NeighborInput_In_mbAvailA(r32) _BFGET_(r32, 0, 0)
#define SET32get4x4NeighborInput_In_mbAvailA(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16get4x4NeighborInput_In_mbAvailA(r16) _BFGET_(r16, 0, 0)
#define SET16get4x4NeighborInput_In_mbAvailA(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32get4x4NeighborInput_In_mbAvailB(r32) _BFGET_(r32, 1, 1)
#define SET32get4x4NeighborInput_In_mbAvailB(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16get4x4NeighborInput_In_mbAvailB(r16) _BFGET_(r16, 1, 1)
#define SET16get4x4NeighborInput_In_mbAvailB(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32get4x4NeighborInput_In_mbAvailC(r32) _BFGET_(r32, 2, 2)
#define SET32get4x4NeighborInput_In_mbAvailC(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16get4x4NeighborInput_In_mbAvailC(r16) _BFGET_(r16, 2, 2)
#define SET16get4x4NeighborInput_In_mbAvailC(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32get4x4NeighborInput_In_mbAvailD(r32) _BFGET_(r32, 3, 3)
#define SET32get4x4NeighborInput_In_mbAvailD(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16get4x4NeighborInput_In_mbAvailD(r16) _BFGET_(r16, 3, 3)
#define SET16get4x4NeighborInput_In_mbAvailD(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32get4x4NeighborInput_In_mbFieldA(r32) _BFGET_(r32, 4, 4)
#define SET32get4x4NeighborInput_In_mbFieldA(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16get4x4NeighborInput_In_mbFieldA(r16) _BFGET_(r16, 4, 4)
#define SET16get4x4NeighborInput_In_mbFieldA(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32get4x4NeighborInput_In_mbFieldB(r32) _BFGET_(r32, 5, 5)
#define SET32get4x4NeighborInput_In_mbFieldB(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16get4x4NeighborInput_In_mbFieldB(r16) _BFGET_(r16, 5, 5)
#define SET16get4x4NeighborInput_In_mbFieldB(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32get4x4NeighborInput_In_mbFieldC(r32) _BFGET_(r32, 6, 6)
#define SET32get4x4NeighborInput_In_mbFieldC(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16get4x4NeighborInput_In_mbFieldC(r16) _BFGET_(r16, 6, 6)
#define SET16get4x4NeighborInput_In_mbFieldC(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32get4x4NeighborInput_In_mbFieldD(r32) _BFGET_(r32, 7, 7)
#define SET32get4x4NeighborInput_In_mbFieldD(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16get4x4NeighborInput_In_mbFieldD(r16) _BFGET_(r16, 7, 7)
#define SET16get4x4NeighborInput_In_mbFieldD(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32get4x4NeighborInput_In_mbFieldX(r32) _BFGET_(r32, 8, 8)
#define SET32get4x4NeighborInput_In_mbFieldX(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16get4x4NeighborInput_In_mbFieldX(r16) _BFGET_(r16, 8, 8)
#define SET16get4x4NeighborInput_In_mbFieldX(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32get4x4NeighborInput_In_isBotMb(r32) _BFGET_(r32, 9, 9)
#define SET32get4x4NeighborInput_In_isBotMb(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16get4x4NeighborInput_In_isBotMb(r16) _BFGET_(r16, 9, 9)
#define SET16get4x4NeighborInput_In_isBotMb(r16,v) _BFSET_(r16, 9, 9,v)
#define w32get4x4NeighborInput_In {\
UNSG32 uIn_mbAvailA : 1;\
UNSG32 uIn_mbAvailB : 1;\
UNSG32 uIn_mbAvailC : 1;\
UNSG32 uIn_mbAvailD : 1;\
UNSG32 uIn_mbFieldA : 1;\
UNSG32 uIn_mbFieldB : 1;\
UNSG32 uIn_mbFieldC : 1;\
UNSG32 uIn_mbFieldD : 1;\
UNSG32 uIn_mbFieldX : 1;\
UNSG32 uIn_isBotMb : 1;\
UNSG32 RSVDx0_b10 : 22;\
}
union { UNSG32 u32get4x4NeighborInput_In;
struct w32get4x4NeighborInput_In;
};
///////////////////////////////////////////////////////////
} SIE_get4x4NeighborInput;
typedef union T32get4x4NeighborInput_In
{ UNSG32 u32;
struct w32get4x4NeighborInput_In;
} T32get4x4NeighborInput_In;
///////////////////////////////////////////////////////////
typedef union Tget4x4NeighborInput_In
{ UNSG32 u32[1];
struct {
struct w32get4x4NeighborInput_In;
};
} Tget4x4NeighborInput_In;
///////////////////////////////////////////////////////////
SIGN32 get4x4NeighborInput_drvrd(SIE_get4x4NeighborInput *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 get4x4NeighborInput_drvwr(SIE_get4x4NeighborInput *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void get4x4NeighborInput_reset(SIE_get4x4NeighborInput *p);
SIGN32 get4x4NeighborInput_cmp (SIE_get4x4NeighborInput *p, SIE_get4x4NeighborInput *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define get4x4NeighborInput_check(p,pie,pfx,hLOG) get4x4NeighborInput_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define get4x4NeighborInput_print(p, pfx,hLOG) get4x4NeighborInput_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: get4x4NeighborInput
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE catBLK2blkId biu (4,4)
/// ###
/// * Input / output bit field definition for CatBLK2blkIdTbl
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 In (P)
/// %unsigned 4 BLK
/// ###
/// * input block index from NLoc.BLK; legal range = 0~15
/// ###
/// %unsigned 4 category
/// ###
/// * input category from NLoc.category; Legal range = 0~8
/// ###
/// : max 0x8
/// ###
/// * maximum value of category
/// ###
/// %% 24 # Stuffing bits...
/// @ 0x00004 Out (P)
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// %% 26 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 14b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_catBLK2blkId
#define h_catBLK2blkId (){}
#define RA_catBLK2blkId_In 0x0000
#define BA_catBLK2blkId_In_BLK 0x0000
#define B16catBLK2blkId_In_BLK 0x0000
#define LSb32catBLK2blkId_In_BLK 0
#define LSb16catBLK2blkId_In_BLK 0
#define bcatBLK2blkId_In_BLK 4
#define MSK32catBLK2blkId_In_BLK 0x0000000F
#define BA_catBLK2blkId_In_category 0x0000
#define B16catBLK2blkId_In_category 0x0000
#define LSb32catBLK2blkId_In_category 4
#define LSb16catBLK2blkId_In_category 4
#define bcatBLK2blkId_In_category 4
#define MSK32catBLK2blkId_In_category 0x000000F0
#define catBLK2blkId_In_category_max 0x8
///////////////////////////////////////////////////////////
#define RA_catBLK2blkId_Out 0x0004
#define BA_catBLK2blkId_Out_blkId 0x0004
#define B16catBLK2blkId_Out_blkId 0x0004
#define LSb32catBLK2blkId_Out_blkId 0
#define LSb16catBLK2blkId_Out_blkId 0
#define bcatBLK2blkId_Out_blkId 6
#define MSK32catBLK2blkId_Out_blkId 0x0000003F
///////////////////////////////////////////////////////////
typedef struct SIE_catBLK2blkId {
///////////////////////////////////////////////////////////
#define GET32catBLK2blkId_In_BLK(r32) _BFGET_(r32, 3, 0)
#define SET32catBLK2blkId_In_BLK(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16catBLK2blkId_In_BLK(r16) _BFGET_(r16, 3, 0)
#define SET16catBLK2blkId_In_BLK(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32catBLK2blkId_In_category(r32) _BFGET_(r32, 7, 4)
#define SET32catBLK2blkId_In_category(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16catBLK2blkId_In_category(r16) _BFGET_(r16, 7, 4)
#define SET16catBLK2blkId_In_category(r16,v) _BFSET_(r16, 7, 4,v)
#define w32catBLK2blkId_In {\
UNSG32 uIn_BLK : 4;\
UNSG32 uIn_category : 4;\
UNSG32 RSVDx0_b8 : 24;\
}
union { UNSG32 u32catBLK2blkId_In;
struct w32catBLK2blkId_In;
};
///////////////////////////////////////////////////////////
#define GET32catBLK2blkId_Out_blkId(r32) _BFGET_(r32, 5, 0)
#define SET32catBLK2blkId_Out_blkId(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16catBLK2blkId_Out_blkId(r16) _BFGET_(r16, 5, 0)
#define SET16catBLK2blkId_Out_blkId(r16,v) _BFSET_(r16, 5, 0,v)
#define w32catBLK2blkId_Out {\
UNSG32 uOut_blkId : 6;\
UNSG32 RSVDx4_b6 : 26;\
}
union { UNSG32 u32catBLK2blkId_Out;
struct w32catBLK2blkId_Out;
};
///////////////////////////////////////////////////////////
} SIE_catBLK2blkId;
typedef union T32catBLK2blkId_In
{ UNSG32 u32;
struct w32catBLK2blkId_In;
} T32catBLK2blkId_In;
typedef union T32catBLK2blkId_Out
{ UNSG32 u32;
struct w32catBLK2blkId_Out;
} T32catBLK2blkId_Out;
///////////////////////////////////////////////////////////
typedef union TcatBLK2blkId_In
{ UNSG32 u32[1];
struct {
struct w32catBLK2blkId_In;
};
} TcatBLK2blkId_In;
typedef union TcatBLK2blkId_Out
{ UNSG32 u32[1];
struct {
struct w32catBLK2blkId_Out;
};
} TcatBLK2blkId_Out;
///////////////////////////////////////////////////////////
SIGN32 catBLK2blkId_drvrd(SIE_catBLK2blkId *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 catBLK2blkId_drvwr(SIE_catBLK2blkId *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void catBLK2blkId_reset(SIE_catBLK2blkId *p);
SIGN32 catBLK2blkId_cmp (SIE_catBLK2blkId *p, SIE_catBLK2blkId *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define catBLK2blkId_check(p,pie,pfx,hLOG) catBLK2blkId_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define catBLK2blkId_print(p, pfx,hLOG) catBLK2blkId_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: catBLK2blkId
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CtxAddr biu (4,4)
/// ###
/// * Input / output bit field definitions for NonMbaff context address lookups
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 X_In (P)
/// %unsigned 6 blkId
/// ###
/// * block ID from catBLK2blkId.blkId; legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum legal value of blkId
/// ###
/// %% 26 # Stuffing bits...
/// @ 0x00004 X_Out (P)
/// %unsigned 3 dltBank 0x5
/// ###
/// * context address for current block
/// ###
/// %% 29 # Stuffing bits...
/// @ 0x00008 A_In (P)
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum legal value of blkId
/// ###
/// %% 26 # Stuffing bits...
/// @ 0x0000C A_Out (P)
/// %unsigned 3 dltBank
/// %unsigned 5 subAddr
/// ###
/// * context address for neighbor A
/// ###
/// %% 24 # Stuffing bits...
/// @ 0x00010 B_In (P)
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum legal value of blkId
/// ###
/// %% 26 # Stuffing bits...
/// @ 0x00014 B_Out (P)
/// %unsigned 3 dltBank
/// %unsigned 5 subAddr
/// ###
/// * context address for neighbor B
/// ###
/// %% 24 # Stuffing bits...
/// @ 0x00018 C_In (P)
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum legal value of blkId
/// ###
/// %% 26 # Stuffing bits...
/// @ 0x0001C C_Out (P)
/// %unsigned 3 dltBank
/// %unsigned 5 subAddr
/// ###
/// * context address for neighbor C
/// ###
/// %% 24 # Stuffing bits...
/// @ 0x00020 D_In (P)
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum legal value of blkId
/// ###
/// %% 26 # Stuffing bits...
/// @ 0x00024 D_Out (P)
/// %unsigned 3 dltBank
/// %unsigned 5 subAddr
/// ###
/// * context address for neighbor D
/// ###
/// %% 24 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 40B, bits: 65b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CtxAddr
#define h_CtxAddr (){}
#define RA_CtxAddr_X_In 0x0000
#define BA_CtxAddr_X_In_blkId 0x0000
#define B16CtxAddr_X_In_blkId 0x0000
#define LSb32CtxAddr_X_In_blkId 0
#define LSb16CtxAddr_X_In_blkId 0
#define bCtxAddr_X_In_blkId 6
#define MSK32CtxAddr_X_In_blkId 0x0000003F
#define CtxAddr_X_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_CtxAddr_X_Out 0x0004
#define BA_CtxAddr_X_Out_dltBank 0x0004
#define B16CtxAddr_X_Out_dltBank 0x0004
#define LSb32CtxAddr_X_Out_dltBank 0
#define LSb16CtxAddr_X_Out_dltBank 0
#define bCtxAddr_X_Out_dltBank 3
#define MSK32CtxAddr_X_Out_dltBank 0x00000007
///////////////////////////////////////////////////////////
#define RA_CtxAddr_A_In 0x0008
#define BA_CtxAddr_A_In_blkId 0x0008
#define B16CtxAddr_A_In_blkId 0x0008
#define LSb32CtxAddr_A_In_blkId 0
#define LSb16CtxAddr_A_In_blkId 0
#define bCtxAddr_A_In_blkId 6
#define MSK32CtxAddr_A_In_blkId 0x0000003F
#define CtxAddr_A_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_CtxAddr_A_Out 0x000C
#define BA_CtxAddr_A_Out_dltBank 0x000C
#define B16CtxAddr_A_Out_dltBank 0x000C
#define LSb32CtxAddr_A_Out_dltBank 0
#define LSb16CtxAddr_A_Out_dltBank 0
#define bCtxAddr_A_Out_dltBank 3
#define MSK32CtxAddr_A_Out_dltBank 0x00000007
#define BA_CtxAddr_A_Out_subAddr 0x000C
#define B16CtxAddr_A_Out_subAddr 0x000C
#define LSb32CtxAddr_A_Out_subAddr 3
#define LSb16CtxAddr_A_Out_subAddr 3
#define bCtxAddr_A_Out_subAddr 5
#define MSK32CtxAddr_A_Out_subAddr 0x000000F8
///////////////////////////////////////////////////////////
#define RA_CtxAddr_B_In 0x0010
#define BA_CtxAddr_B_In_blkId 0x0010
#define B16CtxAddr_B_In_blkId 0x0010
#define LSb32CtxAddr_B_In_blkId 0
#define LSb16CtxAddr_B_In_blkId 0
#define bCtxAddr_B_In_blkId 6
#define MSK32CtxAddr_B_In_blkId 0x0000003F
#define CtxAddr_B_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_CtxAddr_B_Out 0x0014
#define BA_CtxAddr_B_Out_dltBank 0x0014
#define B16CtxAddr_B_Out_dltBank 0x0014
#define LSb32CtxAddr_B_Out_dltBank 0
#define LSb16CtxAddr_B_Out_dltBank 0
#define bCtxAddr_B_Out_dltBank 3
#define MSK32CtxAddr_B_Out_dltBank 0x00000007
#define BA_CtxAddr_B_Out_subAddr 0x0014
#define B16CtxAddr_B_Out_subAddr 0x0014
#define LSb32CtxAddr_B_Out_subAddr 3
#define LSb16CtxAddr_B_Out_subAddr 3
#define bCtxAddr_B_Out_subAddr 5
#define MSK32CtxAddr_B_Out_subAddr 0x000000F8
///////////////////////////////////////////////////////////
#define RA_CtxAddr_C_In 0x0018
#define BA_CtxAddr_C_In_blkId 0x0018
#define B16CtxAddr_C_In_blkId 0x0018
#define LSb32CtxAddr_C_In_blkId 0
#define LSb16CtxAddr_C_In_blkId 0
#define bCtxAddr_C_In_blkId 6
#define MSK32CtxAddr_C_In_blkId 0x0000003F
#define CtxAddr_C_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_CtxAddr_C_Out 0x001C
#define BA_CtxAddr_C_Out_dltBank 0x001C
#define B16CtxAddr_C_Out_dltBank 0x001C
#define LSb32CtxAddr_C_Out_dltBank 0
#define LSb16CtxAddr_C_Out_dltBank 0
#define bCtxAddr_C_Out_dltBank 3
#define MSK32CtxAddr_C_Out_dltBank 0x00000007
#define BA_CtxAddr_C_Out_subAddr 0x001C
#define B16CtxAddr_C_Out_subAddr 0x001C
#define LSb32CtxAddr_C_Out_subAddr 3
#define LSb16CtxAddr_C_Out_subAddr 3
#define bCtxAddr_C_Out_subAddr 5
#define MSK32CtxAddr_C_Out_subAddr 0x000000F8
///////////////////////////////////////////////////////////
#define RA_CtxAddr_D_In 0x0020
#define BA_CtxAddr_D_In_blkId 0x0020
#define B16CtxAddr_D_In_blkId 0x0020
#define LSb32CtxAddr_D_In_blkId 0
#define LSb16CtxAddr_D_In_blkId 0
#define bCtxAddr_D_In_blkId 6
#define MSK32CtxAddr_D_In_blkId 0x0000003F
#define CtxAddr_D_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_CtxAddr_D_Out 0x0024
#define BA_CtxAddr_D_Out_dltBank 0x0024
#define B16CtxAddr_D_Out_dltBank 0x0024
#define LSb32CtxAddr_D_Out_dltBank 0
#define LSb16CtxAddr_D_Out_dltBank 0
#define bCtxAddr_D_Out_dltBank 3
#define MSK32CtxAddr_D_Out_dltBank 0x00000007
#define BA_CtxAddr_D_Out_subAddr 0x0024
#define B16CtxAddr_D_Out_subAddr 0x0024
#define LSb32CtxAddr_D_Out_subAddr 3
#define LSb16CtxAddr_D_Out_subAddr 3
#define bCtxAddr_D_Out_subAddr 5
#define MSK32CtxAddr_D_Out_subAddr 0x000000F8
///////////////////////////////////////////////////////////
typedef struct SIE_CtxAddr {
///////////////////////////////////////////////////////////
#define GET32CtxAddr_X_In_blkId(r32) _BFGET_(r32, 5, 0)
#define SET32CtxAddr_X_In_blkId(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16CtxAddr_X_In_blkId(r16) _BFGET_(r16, 5, 0)
#define SET16CtxAddr_X_In_blkId(r16,v) _BFSET_(r16, 5, 0,v)
#define w32CtxAddr_X_In {\
UNSG32 uX_In_blkId : 6;\
UNSG32 RSVDx0_b6 : 26;\
}
union { UNSG32 u32CtxAddr_X_In;
struct w32CtxAddr_X_In;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_X_Out_dltBank(r32) _BFGET_(r32, 2, 0)
#define SET32CtxAddr_X_Out_dltBank(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CtxAddr_X_Out_dltBank(r16) _BFGET_(r16, 2, 0)
#define SET16CtxAddr_X_Out_dltBank(r16,v) _BFSET_(r16, 2, 0,v)
#define w32CtxAddr_X_Out {\
UNSG32 uX_Out_dltBank : 3;\
UNSG32 RSVDx4_b3 : 29;\
}
union { UNSG32 u32CtxAddr_X_Out;
struct w32CtxAddr_X_Out;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_A_In_blkId(r32) _BFGET_(r32, 5, 0)
#define SET32CtxAddr_A_In_blkId(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16CtxAddr_A_In_blkId(r16) _BFGET_(r16, 5, 0)
#define SET16CtxAddr_A_In_blkId(r16,v) _BFSET_(r16, 5, 0,v)
#define w32CtxAddr_A_In {\
UNSG32 uA_In_blkId : 6;\
UNSG32 RSVDx8_b6 : 26;\
}
union { UNSG32 u32CtxAddr_A_In;
struct w32CtxAddr_A_In;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_A_Out_dltBank(r32) _BFGET_(r32, 2, 0)
#define SET32CtxAddr_A_Out_dltBank(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CtxAddr_A_Out_dltBank(r16) _BFGET_(r16, 2, 0)
#define SET16CtxAddr_A_Out_dltBank(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CtxAddr_A_Out_subAddr(r32) _BFGET_(r32, 7, 3)
#define SET32CtxAddr_A_Out_subAddr(r32,v) _BFSET_(r32, 7, 3,v)
#define GET16CtxAddr_A_Out_subAddr(r16) _BFGET_(r16, 7, 3)
#define SET16CtxAddr_A_Out_subAddr(r16,v) _BFSET_(r16, 7, 3,v)
#define w32CtxAddr_A_Out {\
UNSG32 uA_Out_dltBank : 3;\
UNSG32 uA_Out_subAddr : 5;\
UNSG32 RSVDxC_b8 : 24;\
}
union { UNSG32 u32CtxAddr_A_Out;
struct w32CtxAddr_A_Out;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_B_In_blkId(r32) _BFGET_(r32, 5, 0)
#define SET32CtxAddr_B_In_blkId(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16CtxAddr_B_In_blkId(r16) _BFGET_(r16, 5, 0)
#define SET16CtxAddr_B_In_blkId(r16,v) _BFSET_(r16, 5, 0,v)
#define w32CtxAddr_B_In {\
UNSG32 uB_In_blkId : 6;\
UNSG32 RSVDx10_b6 : 26;\
}
union { UNSG32 u32CtxAddr_B_In;
struct w32CtxAddr_B_In;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_B_Out_dltBank(r32) _BFGET_(r32, 2, 0)
#define SET32CtxAddr_B_Out_dltBank(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CtxAddr_B_Out_dltBank(r16) _BFGET_(r16, 2, 0)
#define SET16CtxAddr_B_Out_dltBank(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CtxAddr_B_Out_subAddr(r32) _BFGET_(r32, 7, 3)
#define SET32CtxAddr_B_Out_subAddr(r32,v) _BFSET_(r32, 7, 3,v)
#define GET16CtxAddr_B_Out_subAddr(r16) _BFGET_(r16, 7, 3)
#define SET16CtxAddr_B_Out_subAddr(r16,v) _BFSET_(r16, 7, 3,v)
#define w32CtxAddr_B_Out {\
UNSG32 uB_Out_dltBank : 3;\
UNSG32 uB_Out_subAddr : 5;\
UNSG32 RSVDx14_b8 : 24;\
}
union { UNSG32 u32CtxAddr_B_Out;
struct w32CtxAddr_B_Out;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_C_In_blkId(r32) _BFGET_(r32, 5, 0)
#define SET32CtxAddr_C_In_blkId(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16CtxAddr_C_In_blkId(r16) _BFGET_(r16, 5, 0)
#define SET16CtxAddr_C_In_blkId(r16,v) _BFSET_(r16, 5, 0,v)
#define w32CtxAddr_C_In {\
UNSG32 uC_In_blkId : 6;\
UNSG32 RSVDx18_b6 : 26;\
}
union { UNSG32 u32CtxAddr_C_In;
struct w32CtxAddr_C_In;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_C_Out_dltBank(r32) _BFGET_(r32, 2, 0)
#define SET32CtxAddr_C_Out_dltBank(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CtxAddr_C_Out_dltBank(r16) _BFGET_(r16, 2, 0)
#define SET16CtxAddr_C_Out_dltBank(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CtxAddr_C_Out_subAddr(r32) _BFGET_(r32, 7, 3)
#define SET32CtxAddr_C_Out_subAddr(r32,v) _BFSET_(r32, 7, 3,v)
#define GET16CtxAddr_C_Out_subAddr(r16) _BFGET_(r16, 7, 3)
#define SET16CtxAddr_C_Out_subAddr(r16,v) _BFSET_(r16, 7, 3,v)
#define w32CtxAddr_C_Out {\
UNSG32 uC_Out_dltBank : 3;\
UNSG32 uC_Out_subAddr : 5;\
UNSG32 RSVDx1C_b8 : 24;\
}
union { UNSG32 u32CtxAddr_C_Out;
struct w32CtxAddr_C_Out;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_D_In_blkId(r32) _BFGET_(r32, 5, 0)
#define SET32CtxAddr_D_In_blkId(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16CtxAddr_D_In_blkId(r16) _BFGET_(r16, 5, 0)
#define SET16CtxAddr_D_In_blkId(r16,v) _BFSET_(r16, 5, 0,v)
#define w32CtxAddr_D_In {\
UNSG32 uD_In_blkId : 6;\
UNSG32 RSVDx20_b6 : 26;\
}
union { UNSG32 u32CtxAddr_D_In;
struct w32CtxAddr_D_In;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_D_Out_dltBank(r32) _BFGET_(r32, 2, 0)
#define SET32CtxAddr_D_Out_dltBank(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CtxAddr_D_Out_dltBank(r16) _BFGET_(r16, 2, 0)
#define SET16CtxAddr_D_Out_dltBank(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CtxAddr_D_Out_subAddr(r32) _BFGET_(r32, 7, 3)
#define SET32CtxAddr_D_Out_subAddr(r32,v) _BFSET_(r32, 7, 3,v)
#define GET16CtxAddr_D_Out_subAddr(r16) _BFGET_(r16, 7, 3)
#define SET16CtxAddr_D_Out_subAddr(r16,v) _BFSET_(r16, 7, 3,v)
#define w32CtxAddr_D_Out {\
UNSG32 uD_Out_dltBank : 3;\
UNSG32 uD_Out_subAddr : 5;\
UNSG32 RSVDx24_b8 : 24;\
}
union { UNSG32 u32CtxAddr_D_Out;
struct w32CtxAddr_D_Out;
};
///////////////////////////////////////////////////////////
} SIE_CtxAddr;
typedef union T32CtxAddr_X_In
{ UNSG32 u32;
struct w32CtxAddr_X_In;
} T32CtxAddr_X_In;
typedef union T32CtxAddr_X_Out
{ UNSG32 u32;
struct w32CtxAddr_X_Out;
} T32CtxAddr_X_Out;
typedef union T32CtxAddr_A_In
{ UNSG32 u32;
struct w32CtxAddr_A_In;
} T32CtxAddr_A_In;
typedef union T32CtxAddr_A_Out
{ UNSG32 u32;
struct w32CtxAddr_A_Out;
} T32CtxAddr_A_Out;
typedef union T32CtxAddr_B_In
{ UNSG32 u32;
struct w32CtxAddr_B_In;
} T32CtxAddr_B_In;
typedef union T32CtxAddr_B_Out
{ UNSG32 u32;
struct w32CtxAddr_B_Out;
} T32CtxAddr_B_Out;
typedef union T32CtxAddr_C_In
{ UNSG32 u32;
struct w32CtxAddr_C_In;
} T32CtxAddr_C_In;
typedef union T32CtxAddr_C_Out
{ UNSG32 u32;
struct w32CtxAddr_C_Out;
} T32CtxAddr_C_Out;
typedef union T32CtxAddr_D_In
{ UNSG32 u32;
struct w32CtxAddr_D_In;
} T32CtxAddr_D_In;
typedef union T32CtxAddr_D_Out
{ UNSG32 u32;
struct w32CtxAddr_D_Out;
} T32CtxAddr_D_Out;
///////////////////////////////////////////////////////////
typedef union TCtxAddr_X_In
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_X_In;
};
} TCtxAddr_X_In;
typedef union TCtxAddr_X_Out
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_X_Out;
};
} TCtxAddr_X_Out;
typedef union TCtxAddr_A_In
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_A_In;
};
} TCtxAddr_A_In;
typedef union TCtxAddr_A_Out
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_A_Out;
};
} TCtxAddr_A_Out;
typedef union TCtxAddr_B_In
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_B_In;
};
} TCtxAddr_B_In;
typedef union TCtxAddr_B_Out
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_B_Out;
};
} TCtxAddr_B_Out;
typedef union TCtxAddr_C_In
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_C_In;
};
} TCtxAddr_C_In;
typedef union TCtxAddr_C_Out
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_C_Out;
};
} TCtxAddr_C_Out;
typedef union TCtxAddr_D_In
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_D_In;
};
} TCtxAddr_D_In;
typedef union TCtxAddr_D_Out
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_D_Out;
};
} TCtxAddr_D_Out;
///////////////////////////////////////////////////////////
SIGN32 CtxAddr_drvrd(SIE_CtxAddr *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CtxAddr_drvwr(SIE_CtxAddr *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CtxAddr_reset(SIE_CtxAddr *p);
SIGN32 CtxAddr_cmp (SIE_CtxAddr *p, SIE_CtxAddr *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CtxAddr_check(p,pie,pfx,hLOG) CtxAddr_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CtxAddr_print(p, pfx,hLOG) CtxAddr_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CtxAddr
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CtxAddr_Mbaff biu (4,4)
/// ###
/// * Input / output bit field definitions for Mbaff context address lookups
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 A_In (P)
/// %unsigned 1 mbFieldA
/// ###
/// * neighbor MB A is field coded or not
/// ###
/// %unsigned 1 mbFieldX
/// ###
/// * current MB is field coded or not
/// ###
/// %unsigned 1 isBotMb
/// ###
/// * current MB is bottom in the MB pair or not
/// ###
/// %unsigned 6 blkId
/// ###
/// * block ID from catBLK2blkId.blkId; legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum value of blkId
/// ###
/// %% 23 # Stuffing bits...
/// @ 0x00004 A_Out (P)
/// %unsigned 3 dltBank
/// %unsigned 5 subAddr
/// ###
/// * context address for neighbor A
/// ###
/// %% 24 # Stuffing bits...
/// @ 0x00008 B_In (P)
/// %unsigned 1 mbFieldB
/// ###
/// * Neighbor MB B is field coded or not
/// ###
/// %unsigned 1 mbFieldX
/// ###
/// * current MB is field coded or not
/// ###
/// %unsigned 1 isBotMb
/// ###
/// * current MB is bottom in the MB pair or not
/// ###
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum value of blkId
/// ###
/// %% 23 # Stuffing bits...
/// @ 0x0000C B_Out (P)
/// %unsigned 3 dltBank
/// %unsigned 5 subAddr
/// ###
/// * context address for neighbor B
/// ###
/// %% 24 # Stuffing bits...
/// @ 0x00010 C_In (P)
/// %unsigned 1 mbFieldB
/// ###
/// * neighbor MB B is field coded or not
/// ###
/// %unsigned 1 mbFieldC
/// ###
/// * neighbor MB C is field coded or not
/// ###
/// %unsigned 1 mbFieldX
/// ###
/// * current MB is field coded or not
/// ###
/// %unsigned 1 isBotMb
/// ###
/// * current MB is bottom in the MB pair or not
/// ###
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum value of blkId
/// ###
/// %% 22 # Stuffing bits...
/// @ 0x00014 C_Out (P)
/// %unsigned 3 dltBank
/// %unsigned 5 subAddr
/// ###
/// * context address for neighbor C
/// ###
/// %% 24 # Stuffing bits...
/// @ 0x00018 D_In (P)
/// %unsigned 1 mbFieldA
/// ###
/// * neighbor MB A is field coded or not
/// ###
/// %unsigned 1 mbFieldB
/// ###
/// * neighbor MB B is field coded or not
/// ###
/// %unsigned 1 mbFieldD
/// ###
/// * neighbor D is field coded or not
/// ###
/// %unsigned 1 mbFieldX
/// ###
/// * current MB is field coded or not
/// ###
/// %unsigned 1 isBotMb
/// ###
/// * currenet MB is bottom in the MB pair or not
/// ###
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum value of blkId
/// ###
/// %% 21 # Stuffing bits...
/// @ 0x0001C D_Out (P)
/// %unsigned 3 dltBank
/// %unsigned 5 subAddr
/// ###
/// * context address for neighbor D
/// ###
/// %% 24 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 71b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CtxAddr_Mbaff
#define h_CtxAddr_Mbaff (){}
#define RA_CtxAddr_Mbaff_A_In 0x0000
#define BA_CtxAddr_Mbaff_A_In_mbFieldA 0x0000
#define B16CtxAddr_Mbaff_A_In_mbFieldA 0x0000
#define LSb32CtxAddr_Mbaff_A_In_mbFieldA 0
#define LSb16CtxAddr_Mbaff_A_In_mbFieldA 0
#define bCtxAddr_Mbaff_A_In_mbFieldA 1
#define MSK32CtxAddr_Mbaff_A_In_mbFieldA 0x00000001
#define BA_CtxAddr_Mbaff_A_In_mbFieldX 0x0000
#define B16CtxAddr_Mbaff_A_In_mbFieldX 0x0000
#define LSb32CtxAddr_Mbaff_A_In_mbFieldX 1
#define LSb16CtxAddr_Mbaff_A_In_mbFieldX 1
#define bCtxAddr_Mbaff_A_In_mbFieldX 1
#define MSK32CtxAddr_Mbaff_A_In_mbFieldX 0x00000002
#define BA_CtxAddr_Mbaff_A_In_isBotMb 0x0000
#define B16CtxAddr_Mbaff_A_In_isBotMb 0x0000
#define LSb32CtxAddr_Mbaff_A_In_isBotMb 2
#define LSb16CtxAddr_Mbaff_A_In_isBotMb 2
#define bCtxAddr_Mbaff_A_In_isBotMb 1
#define MSK32CtxAddr_Mbaff_A_In_isBotMb 0x00000004
#define BA_CtxAddr_Mbaff_A_In_blkId 0x0000
#define B16CtxAddr_Mbaff_A_In_blkId 0x0000
#define LSb32CtxAddr_Mbaff_A_In_blkId 3
#define LSb16CtxAddr_Mbaff_A_In_blkId 3
#define bCtxAddr_Mbaff_A_In_blkId 6
#define MSK32CtxAddr_Mbaff_A_In_blkId 0x000001F8
#define CtxAddr_Mbaff_A_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_CtxAddr_Mbaff_A_Out 0x0004
#define BA_CtxAddr_Mbaff_A_Out_dltBank 0x0004
#define B16CtxAddr_Mbaff_A_Out_dltBank 0x0004
#define LSb32CtxAddr_Mbaff_A_Out_dltBank 0
#define LSb16CtxAddr_Mbaff_A_Out_dltBank 0
#define bCtxAddr_Mbaff_A_Out_dltBank 3
#define MSK32CtxAddr_Mbaff_A_Out_dltBank 0x00000007
#define BA_CtxAddr_Mbaff_A_Out_subAddr 0x0004
#define B16CtxAddr_Mbaff_A_Out_subAddr 0x0004
#define LSb32CtxAddr_Mbaff_A_Out_subAddr 3
#define LSb16CtxAddr_Mbaff_A_Out_subAddr 3
#define bCtxAddr_Mbaff_A_Out_subAddr 5
#define MSK32CtxAddr_Mbaff_A_Out_subAddr 0x000000F8
///////////////////////////////////////////////////////////
#define RA_CtxAddr_Mbaff_B_In 0x0008
#define BA_CtxAddr_Mbaff_B_In_mbFieldB 0x0008
#define B16CtxAddr_Mbaff_B_In_mbFieldB 0x0008
#define LSb32CtxAddr_Mbaff_B_In_mbFieldB 0
#define LSb16CtxAddr_Mbaff_B_In_mbFieldB 0
#define bCtxAddr_Mbaff_B_In_mbFieldB 1
#define MSK32CtxAddr_Mbaff_B_In_mbFieldB 0x00000001
#define BA_CtxAddr_Mbaff_B_In_mbFieldX 0x0008
#define B16CtxAddr_Mbaff_B_In_mbFieldX 0x0008
#define LSb32CtxAddr_Mbaff_B_In_mbFieldX 1
#define LSb16CtxAddr_Mbaff_B_In_mbFieldX 1
#define bCtxAddr_Mbaff_B_In_mbFieldX 1
#define MSK32CtxAddr_Mbaff_B_In_mbFieldX 0x00000002
#define BA_CtxAddr_Mbaff_B_In_isBotMb 0x0008
#define B16CtxAddr_Mbaff_B_In_isBotMb 0x0008
#define LSb32CtxAddr_Mbaff_B_In_isBotMb 2
#define LSb16CtxAddr_Mbaff_B_In_isBotMb 2
#define bCtxAddr_Mbaff_B_In_isBotMb 1
#define MSK32CtxAddr_Mbaff_B_In_isBotMb 0x00000004
#define BA_CtxAddr_Mbaff_B_In_blkId 0x0008
#define B16CtxAddr_Mbaff_B_In_blkId 0x0008
#define LSb32CtxAddr_Mbaff_B_In_blkId 3
#define LSb16CtxAddr_Mbaff_B_In_blkId 3
#define bCtxAddr_Mbaff_B_In_blkId 6
#define MSK32CtxAddr_Mbaff_B_In_blkId 0x000001F8
#define CtxAddr_Mbaff_B_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_CtxAddr_Mbaff_B_Out 0x000C
#define BA_CtxAddr_Mbaff_B_Out_dltBank 0x000C
#define B16CtxAddr_Mbaff_B_Out_dltBank 0x000C
#define LSb32CtxAddr_Mbaff_B_Out_dltBank 0
#define LSb16CtxAddr_Mbaff_B_Out_dltBank 0
#define bCtxAddr_Mbaff_B_Out_dltBank 3
#define MSK32CtxAddr_Mbaff_B_Out_dltBank 0x00000007
#define BA_CtxAddr_Mbaff_B_Out_subAddr 0x000C
#define B16CtxAddr_Mbaff_B_Out_subAddr 0x000C
#define LSb32CtxAddr_Mbaff_B_Out_subAddr 3
#define LSb16CtxAddr_Mbaff_B_Out_subAddr 3
#define bCtxAddr_Mbaff_B_Out_subAddr 5
#define MSK32CtxAddr_Mbaff_B_Out_subAddr 0x000000F8
///////////////////////////////////////////////////////////
#define RA_CtxAddr_Mbaff_C_In 0x0010
#define BA_CtxAddr_Mbaff_C_In_mbFieldB 0x0010
#define B16CtxAddr_Mbaff_C_In_mbFieldB 0x0010
#define LSb32CtxAddr_Mbaff_C_In_mbFieldB 0
#define LSb16CtxAddr_Mbaff_C_In_mbFieldB 0
#define bCtxAddr_Mbaff_C_In_mbFieldB 1
#define MSK32CtxAddr_Mbaff_C_In_mbFieldB 0x00000001
#define BA_CtxAddr_Mbaff_C_In_mbFieldC 0x0010
#define B16CtxAddr_Mbaff_C_In_mbFieldC 0x0010
#define LSb32CtxAddr_Mbaff_C_In_mbFieldC 1
#define LSb16CtxAddr_Mbaff_C_In_mbFieldC 1
#define bCtxAddr_Mbaff_C_In_mbFieldC 1
#define MSK32CtxAddr_Mbaff_C_In_mbFieldC 0x00000002
#define BA_CtxAddr_Mbaff_C_In_mbFieldX 0x0010
#define B16CtxAddr_Mbaff_C_In_mbFieldX 0x0010
#define LSb32CtxAddr_Mbaff_C_In_mbFieldX 2
#define LSb16CtxAddr_Mbaff_C_In_mbFieldX 2
#define bCtxAddr_Mbaff_C_In_mbFieldX 1
#define MSK32CtxAddr_Mbaff_C_In_mbFieldX 0x00000004
#define BA_CtxAddr_Mbaff_C_In_isBotMb 0x0010
#define B16CtxAddr_Mbaff_C_In_isBotMb 0x0010
#define LSb32CtxAddr_Mbaff_C_In_isBotMb 3
#define LSb16CtxAddr_Mbaff_C_In_isBotMb 3
#define bCtxAddr_Mbaff_C_In_isBotMb 1
#define MSK32CtxAddr_Mbaff_C_In_isBotMb 0x00000008
#define BA_CtxAddr_Mbaff_C_In_blkId 0x0010
#define B16CtxAddr_Mbaff_C_In_blkId 0x0010
#define LSb32CtxAddr_Mbaff_C_In_blkId 4
#define LSb16CtxAddr_Mbaff_C_In_blkId 4
#define bCtxAddr_Mbaff_C_In_blkId 6
#define MSK32CtxAddr_Mbaff_C_In_blkId 0x000003F0
#define CtxAddr_Mbaff_C_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_CtxAddr_Mbaff_C_Out 0x0014
#define BA_CtxAddr_Mbaff_C_Out_dltBank 0x0014
#define B16CtxAddr_Mbaff_C_Out_dltBank 0x0014
#define LSb32CtxAddr_Mbaff_C_Out_dltBank 0
#define LSb16CtxAddr_Mbaff_C_Out_dltBank 0
#define bCtxAddr_Mbaff_C_Out_dltBank 3
#define MSK32CtxAddr_Mbaff_C_Out_dltBank 0x00000007
#define BA_CtxAddr_Mbaff_C_Out_subAddr 0x0014
#define B16CtxAddr_Mbaff_C_Out_subAddr 0x0014
#define LSb32CtxAddr_Mbaff_C_Out_subAddr 3
#define LSb16CtxAddr_Mbaff_C_Out_subAddr 3
#define bCtxAddr_Mbaff_C_Out_subAddr 5
#define MSK32CtxAddr_Mbaff_C_Out_subAddr 0x000000F8
///////////////////////////////////////////////////////////
#define RA_CtxAddr_Mbaff_D_In 0x0018
#define BA_CtxAddr_Mbaff_D_In_mbFieldA 0x0018
#define B16CtxAddr_Mbaff_D_In_mbFieldA 0x0018
#define LSb32CtxAddr_Mbaff_D_In_mbFieldA 0
#define LSb16CtxAddr_Mbaff_D_In_mbFieldA 0
#define bCtxAddr_Mbaff_D_In_mbFieldA 1
#define MSK32CtxAddr_Mbaff_D_In_mbFieldA 0x00000001
#define BA_CtxAddr_Mbaff_D_In_mbFieldB 0x0018
#define B16CtxAddr_Mbaff_D_In_mbFieldB 0x0018
#define LSb32CtxAddr_Mbaff_D_In_mbFieldB 1
#define LSb16CtxAddr_Mbaff_D_In_mbFieldB 1
#define bCtxAddr_Mbaff_D_In_mbFieldB 1
#define MSK32CtxAddr_Mbaff_D_In_mbFieldB 0x00000002
#define BA_CtxAddr_Mbaff_D_In_mbFieldD 0x0018
#define B16CtxAddr_Mbaff_D_In_mbFieldD 0x0018
#define LSb32CtxAddr_Mbaff_D_In_mbFieldD 2
#define LSb16CtxAddr_Mbaff_D_In_mbFieldD 2
#define bCtxAddr_Mbaff_D_In_mbFieldD 1
#define MSK32CtxAddr_Mbaff_D_In_mbFieldD 0x00000004
#define BA_CtxAddr_Mbaff_D_In_mbFieldX 0x0018
#define B16CtxAddr_Mbaff_D_In_mbFieldX 0x0018
#define LSb32CtxAddr_Mbaff_D_In_mbFieldX 3
#define LSb16CtxAddr_Mbaff_D_In_mbFieldX 3
#define bCtxAddr_Mbaff_D_In_mbFieldX 1
#define MSK32CtxAddr_Mbaff_D_In_mbFieldX 0x00000008
#define BA_CtxAddr_Mbaff_D_In_isBotMb 0x0018
#define B16CtxAddr_Mbaff_D_In_isBotMb 0x0018
#define LSb32CtxAddr_Mbaff_D_In_isBotMb 4
#define LSb16CtxAddr_Mbaff_D_In_isBotMb 4
#define bCtxAddr_Mbaff_D_In_isBotMb 1
#define MSK32CtxAddr_Mbaff_D_In_isBotMb 0x00000010
#define BA_CtxAddr_Mbaff_D_In_blkId 0x0018
#define B16CtxAddr_Mbaff_D_In_blkId 0x0018
#define LSb32CtxAddr_Mbaff_D_In_blkId 5
#define LSb16CtxAddr_Mbaff_D_In_blkId 5
#define bCtxAddr_Mbaff_D_In_blkId 6
#define MSK32CtxAddr_Mbaff_D_In_blkId 0x000007E0
#define CtxAddr_Mbaff_D_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_CtxAddr_Mbaff_D_Out 0x001C
#define BA_CtxAddr_Mbaff_D_Out_dltBank 0x001C
#define B16CtxAddr_Mbaff_D_Out_dltBank 0x001C
#define LSb32CtxAddr_Mbaff_D_Out_dltBank 0
#define LSb16CtxAddr_Mbaff_D_Out_dltBank 0
#define bCtxAddr_Mbaff_D_Out_dltBank 3
#define MSK32CtxAddr_Mbaff_D_Out_dltBank 0x00000007
#define BA_CtxAddr_Mbaff_D_Out_subAddr 0x001C
#define B16CtxAddr_Mbaff_D_Out_subAddr 0x001C
#define LSb32CtxAddr_Mbaff_D_Out_subAddr 3
#define LSb16CtxAddr_Mbaff_D_Out_subAddr 3
#define bCtxAddr_Mbaff_D_Out_subAddr 5
#define MSK32CtxAddr_Mbaff_D_Out_subAddr 0x000000F8
///////////////////////////////////////////////////////////
typedef struct SIE_CtxAddr_Mbaff {
///////////////////////////////////////////////////////////
#define GET32CtxAddr_Mbaff_A_In_mbFieldA(r32) _BFGET_(r32, 0, 0)
#define SET32CtxAddr_Mbaff_A_In_mbFieldA(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16CtxAddr_Mbaff_A_In_mbFieldA(r16) _BFGET_(r16, 0, 0)
#define SET16CtxAddr_Mbaff_A_In_mbFieldA(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32CtxAddr_Mbaff_A_In_mbFieldX(r32) _BFGET_(r32, 1, 1)
#define SET32CtxAddr_Mbaff_A_In_mbFieldX(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16CtxAddr_Mbaff_A_In_mbFieldX(r16) _BFGET_(r16, 1, 1)
#define SET16CtxAddr_Mbaff_A_In_mbFieldX(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32CtxAddr_Mbaff_A_In_isBotMb(r32) _BFGET_(r32, 2, 2)
#define SET32CtxAddr_Mbaff_A_In_isBotMb(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16CtxAddr_Mbaff_A_In_isBotMb(r16) _BFGET_(r16, 2, 2)
#define SET16CtxAddr_Mbaff_A_In_isBotMb(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32CtxAddr_Mbaff_A_In_blkId(r32) _BFGET_(r32, 8, 3)
#define SET32CtxAddr_Mbaff_A_In_blkId(r32,v) _BFSET_(r32, 8, 3,v)
#define GET16CtxAddr_Mbaff_A_In_blkId(r16) _BFGET_(r16, 8, 3)
#define SET16CtxAddr_Mbaff_A_In_blkId(r16,v) _BFSET_(r16, 8, 3,v)
#define w32CtxAddr_Mbaff_A_In {\
UNSG32 uA_In_mbFieldA : 1;\
UNSG32 uA_In_mbFieldX : 1;\
UNSG32 uA_In_isBotMb : 1;\
UNSG32 uA_In_blkId : 6;\
UNSG32 RSVDx0_b9 : 23;\
}
union { UNSG32 u32CtxAddr_Mbaff_A_In;
struct w32CtxAddr_Mbaff_A_In;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_Mbaff_A_Out_dltBank(r32) _BFGET_(r32, 2, 0)
#define SET32CtxAddr_Mbaff_A_Out_dltBank(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CtxAddr_Mbaff_A_Out_dltBank(r16) _BFGET_(r16, 2, 0)
#define SET16CtxAddr_Mbaff_A_Out_dltBank(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CtxAddr_Mbaff_A_Out_subAddr(r32) _BFGET_(r32, 7, 3)
#define SET32CtxAddr_Mbaff_A_Out_subAddr(r32,v) _BFSET_(r32, 7, 3,v)
#define GET16CtxAddr_Mbaff_A_Out_subAddr(r16) _BFGET_(r16, 7, 3)
#define SET16CtxAddr_Mbaff_A_Out_subAddr(r16,v) _BFSET_(r16, 7, 3,v)
#define w32CtxAddr_Mbaff_A_Out {\
UNSG32 uA_Out_dltBank : 3;\
UNSG32 uA_Out_subAddr : 5;\
UNSG32 RSVDx4_b8 : 24;\
}
union { UNSG32 u32CtxAddr_Mbaff_A_Out;
struct w32CtxAddr_Mbaff_A_Out;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_Mbaff_B_In_mbFieldB(r32) _BFGET_(r32, 0, 0)
#define SET32CtxAddr_Mbaff_B_In_mbFieldB(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16CtxAddr_Mbaff_B_In_mbFieldB(r16) _BFGET_(r16, 0, 0)
#define SET16CtxAddr_Mbaff_B_In_mbFieldB(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32CtxAddr_Mbaff_B_In_mbFieldX(r32) _BFGET_(r32, 1, 1)
#define SET32CtxAddr_Mbaff_B_In_mbFieldX(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16CtxAddr_Mbaff_B_In_mbFieldX(r16) _BFGET_(r16, 1, 1)
#define SET16CtxAddr_Mbaff_B_In_mbFieldX(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32CtxAddr_Mbaff_B_In_isBotMb(r32) _BFGET_(r32, 2, 2)
#define SET32CtxAddr_Mbaff_B_In_isBotMb(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16CtxAddr_Mbaff_B_In_isBotMb(r16) _BFGET_(r16, 2, 2)
#define SET16CtxAddr_Mbaff_B_In_isBotMb(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32CtxAddr_Mbaff_B_In_blkId(r32) _BFGET_(r32, 8, 3)
#define SET32CtxAddr_Mbaff_B_In_blkId(r32,v) _BFSET_(r32, 8, 3,v)
#define GET16CtxAddr_Mbaff_B_In_blkId(r16) _BFGET_(r16, 8, 3)
#define SET16CtxAddr_Mbaff_B_In_blkId(r16,v) _BFSET_(r16, 8, 3,v)
#define w32CtxAddr_Mbaff_B_In {\
UNSG32 uB_In_mbFieldB : 1;\
UNSG32 uB_In_mbFieldX : 1;\
UNSG32 uB_In_isBotMb : 1;\
UNSG32 uB_In_blkId : 6;\
UNSG32 RSVDx8_b9 : 23;\
}
union { UNSG32 u32CtxAddr_Mbaff_B_In;
struct w32CtxAddr_Mbaff_B_In;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_Mbaff_B_Out_dltBank(r32) _BFGET_(r32, 2, 0)
#define SET32CtxAddr_Mbaff_B_Out_dltBank(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CtxAddr_Mbaff_B_Out_dltBank(r16) _BFGET_(r16, 2, 0)
#define SET16CtxAddr_Mbaff_B_Out_dltBank(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CtxAddr_Mbaff_B_Out_subAddr(r32) _BFGET_(r32, 7, 3)
#define SET32CtxAddr_Mbaff_B_Out_subAddr(r32,v) _BFSET_(r32, 7, 3,v)
#define GET16CtxAddr_Mbaff_B_Out_subAddr(r16) _BFGET_(r16, 7, 3)
#define SET16CtxAddr_Mbaff_B_Out_subAddr(r16,v) _BFSET_(r16, 7, 3,v)
#define w32CtxAddr_Mbaff_B_Out {\
UNSG32 uB_Out_dltBank : 3;\
UNSG32 uB_Out_subAddr : 5;\
UNSG32 RSVDxC_b8 : 24;\
}
union { UNSG32 u32CtxAddr_Mbaff_B_Out;
struct w32CtxAddr_Mbaff_B_Out;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_Mbaff_C_In_mbFieldB(r32) _BFGET_(r32, 0, 0)
#define SET32CtxAddr_Mbaff_C_In_mbFieldB(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16CtxAddr_Mbaff_C_In_mbFieldB(r16) _BFGET_(r16, 0, 0)
#define SET16CtxAddr_Mbaff_C_In_mbFieldB(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32CtxAddr_Mbaff_C_In_mbFieldC(r32) _BFGET_(r32, 1, 1)
#define SET32CtxAddr_Mbaff_C_In_mbFieldC(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16CtxAddr_Mbaff_C_In_mbFieldC(r16) _BFGET_(r16, 1, 1)
#define SET16CtxAddr_Mbaff_C_In_mbFieldC(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32CtxAddr_Mbaff_C_In_mbFieldX(r32) _BFGET_(r32, 2, 2)
#define SET32CtxAddr_Mbaff_C_In_mbFieldX(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16CtxAddr_Mbaff_C_In_mbFieldX(r16) _BFGET_(r16, 2, 2)
#define SET16CtxAddr_Mbaff_C_In_mbFieldX(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32CtxAddr_Mbaff_C_In_isBotMb(r32) _BFGET_(r32, 3, 3)
#define SET32CtxAddr_Mbaff_C_In_isBotMb(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16CtxAddr_Mbaff_C_In_isBotMb(r16) _BFGET_(r16, 3, 3)
#define SET16CtxAddr_Mbaff_C_In_isBotMb(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32CtxAddr_Mbaff_C_In_blkId(r32) _BFGET_(r32, 9, 4)
#define SET32CtxAddr_Mbaff_C_In_blkId(r32,v) _BFSET_(r32, 9, 4,v)
#define GET16CtxAddr_Mbaff_C_In_blkId(r16) _BFGET_(r16, 9, 4)
#define SET16CtxAddr_Mbaff_C_In_blkId(r16,v) _BFSET_(r16, 9, 4,v)
#define w32CtxAddr_Mbaff_C_In {\
UNSG32 uC_In_mbFieldB : 1;\
UNSG32 uC_In_mbFieldC : 1;\
UNSG32 uC_In_mbFieldX : 1;\
UNSG32 uC_In_isBotMb : 1;\
UNSG32 uC_In_blkId : 6;\
UNSG32 RSVDx10_b10 : 22;\
}
union { UNSG32 u32CtxAddr_Mbaff_C_In;
struct w32CtxAddr_Mbaff_C_In;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_Mbaff_C_Out_dltBank(r32) _BFGET_(r32, 2, 0)
#define SET32CtxAddr_Mbaff_C_Out_dltBank(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CtxAddr_Mbaff_C_Out_dltBank(r16) _BFGET_(r16, 2, 0)
#define SET16CtxAddr_Mbaff_C_Out_dltBank(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CtxAddr_Mbaff_C_Out_subAddr(r32) _BFGET_(r32, 7, 3)
#define SET32CtxAddr_Mbaff_C_Out_subAddr(r32,v) _BFSET_(r32, 7, 3,v)
#define GET16CtxAddr_Mbaff_C_Out_subAddr(r16) _BFGET_(r16, 7, 3)
#define SET16CtxAddr_Mbaff_C_Out_subAddr(r16,v) _BFSET_(r16, 7, 3,v)
#define w32CtxAddr_Mbaff_C_Out {\
UNSG32 uC_Out_dltBank : 3;\
UNSG32 uC_Out_subAddr : 5;\
UNSG32 RSVDx14_b8 : 24;\
}
union { UNSG32 u32CtxAddr_Mbaff_C_Out;
struct w32CtxAddr_Mbaff_C_Out;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_Mbaff_D_In_mbFieldA(r32) _BFGET_(r32, 0, 0)
#define SET32CtxAddr_Mbaff_D_In_mbFieldA(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16CtxAddr_Mbaff_D_In_mbFieldA(r16) _BFGET_(r16, 0, 0)
#define SET16CtxAddr_Mbaff_D_In_mbFieldA(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32CtxAddr_Mbaff_D_In_mbFieldB(r32) _BFGET_(r32, 1, 1)
#define SET32CtxAddr_Mbaff_D_In_mbFieldB(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16CtxAddr_Mbaff_D_In_mbFieldB(r16) _BFGET_(r16, 1, 1)
#define SET16CtxAddr_Mbaff_D_In_mbFieldB(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32CtxAddr_Mbaff_D_In_mbFieldD(r32) _BFGET_(r32, 2, 2)
#define SET32CtxAddr_Mbaff_D_In_mbFieldD(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16CtxAddr_Mbaff_D_In_mbFieldD(r16) _BFGET_(r16, 2, 2)
#define SET16CtxAddr_Mbaff_D_In_mbFieldD(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32CtxAddr_Mbaff_D_In_mbFieldX(r32) _BFGET_(r32, 3, 3)
#define SET32CtxAddr_Mbaff_D_In_mbFieldX(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16CtxAddr_Mbaff_D_In_mbFieldX(r16) _BFGET_(r16, 3, 3)
#define SET16CtxAddr_Mbaff_D_In_mbFieldX(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32CtxAddr_Mbaff_D_In_isBotMb(r32) _BFGET_(r32, 4, 4)
#define SET32CtxAddr_Mbaff_D_In_isBotMb(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16CtxAddr_Mbaff_D_In_isBotMb(r16) _BFGET_(r16, 4, 4)
#define SET16CtxAddr_Mbaff_D_In_isBotMb(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32CtxAddr_Mbaff_D_In_blkId(r32) _BFGET_(r32,10, 5)
#define SET32CtxAddr_Mbaff_D_In_blkId(r32,v) _BFSET_(r32,10, 5,v)
#define GET16CtxAddr_Mbaff_D_In_blkId(r16) _BFGET_(r16,10, 5)
#define SET16CtxAddr_Mbaff_D_In_blkId(r16,v) _BFSET_(r16,10, 5,v)
#define w32CtxAddr_Mbaff_D_In {\
UNSG32 uD_In_mbFieldA : 1;\
UNSG32 uD_In_mbFieldB : 1;\
UNSG32 uD_In_mbFieldD : 1;\
UNSG32 uD_In_mbFieldX : 1;\
UNSG32 uD_In_isBotMb : 1;\
UNSG32 uD_In_blkId : 6;\
UNSG32 RSVDx18_b11 : 21;\
}
union { UNSG32 u32CtxAddr_Mbaff_D_In;
struct w32CtxAddr_Mbaff_D_In;
};
///////////////////////////////////////////////////////////
#define GET32CtxAddr_Mbaff_D_Out_dltBank(r32) _BFGET_(r32, 2, 0)
#define SET32CtxAddr_Mbaff_D_Out_dltBank(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CtxAddr_Mbaff_D_Out_dltBank(r16) _BFGET_(r16, 2, 0)
#define SET16CtxAddr_Mbaff_D_Out_dltBank(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CtxAddr_Mbaff_D_Out_subAddr(r32) _BFGET_(r32, 7, 3)
#define SET32CtxAddr_Mbaff_D_Out_subAddr(r32,v) _BFSET_(r32, 7, 3,v)
#define GET16CtxAddr_Mbaff_D_Out_subAddr(r16) _BFGET_(r16, 7, 3)
#define SET16CtxAddr_Mbaff_D_Out_subAddr(r16,v) _BFSET_(r16, 7, 3,v)
#define w32CtxAddr_Mbaff_D_Out {\
UNSG32 uD_Out_dltBank : 3;\
UNSG32 uD_Out_subAddr : 5;\
UNSG32 RSVDx1C_b8 : 24;\
}
union { UNSG32 u32CtxAddr_Mbaff_D_Out;
struct w32CtxAddr_Mbaff_D_Out;
};
///////////////////////////////////////////////////////////
} SIE_CtxAddr_Mbaff;
typedef union T32CtxAddr_Mbaff_A_In
{ UNSG32 u32;
struct w32CtxAddr_Mbaff_A_In;
} T32CtxAddr_Mbaff_A_In;
typedef union T32CtxAddr_Mbaff_A_Out
{ UNSG32 u32;
struct w32CtxAddr_Mbaff_A_Out;
} T32CtxAddr_Mbaff_A_Out;
typedef union T32CtxAddr_Mbaff_B_In
{ UNSG32 u32;
struct w32CtxAddr_Mbaff_B_In;
} T32CtxAddr_Mbaff_B_In;
typedef union T32CtxAddr_Mbaff_B_Out
{ UNSG32 u32;
struct w32CtxAddr_Mbaff_B_Out;
} T32CtxAddr_Mbaff_B_Out;
typedef union T32CtxAddr_Mbaff_C_In
{ UNSG32 u32;
struct w32CtxAddr_Mbaff_C_In;
} T32CtxAddr_Mbaff_C_In;
typedef union T32CtxAddr_Mbaff_C_Out
{ UNSG32 u32;
struct w32CtxAddr_Mbaff_C_Out;
} T32CtxAddr_Mbaff_C_Out;
typedef union T32CtxAddr_Mbaff_D_In
{ UNSG32 u32;
struct w32CtxAddr_Mbaff_D_In;
} T32CtxAddr_Mbaff_D_In;
typedef union T32CtxAddr_Mbaff_D_Out
{ UNSG32 u32;
struct w32CtxAddr_Mbaff_D_Out;
} T32CtxAddr_Mbaff_D_Out;
///////////////////////////////////////////////////////////
typedef union TCtxAddr_Mbaff_A_In
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_Mbaff_A_In;
};
} TCtxAddr_Mbaff_A_In;
typedef union TCtxAddr_Mbaff_A_Out
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_Mbaff_A_Out;
};
} TCtxAddr_Mbaff_A_Out;
typedef union TCtxAddr_Mbaff_B_In
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_Mbaff_B_In;
};
} TCtxAddr_Mbaff_B_In;
typedef union TCtxAddr_Mbaff_B_Out
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_Mbaff_B_Out;
};
} TCtxAddr_Mbaff_B_Out;
typedef union TCtxAddr_Mbaff_C_In
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_Mbaff_C_In;
};
} TCtxAddr_Mbaff_C_In;
typedef union TCtxAddr_Mbaff_C_Out
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_Mbaff_C_Out;
};
} TCtxAddr_Mbaff_C_Out;
typedef union TCtxAddr_Mbaff_D_In
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_Mbaff_D_In;
};
} TCtxAddr_Mbaff_D_In;
typedef union TCtxAddr_Mbaff_D_Out
{ UNSG32 u32[1];
struct {
struct w32CtxAddr_Mbaff_D_Out;
};
} TCtxAddr_Mbaff_D_Out;
///////////////////////////////////////////////////////////
SIGN32 CtxAddr_Mbaff_drvrd(SIE_CtxAddr_Mbaff *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CtxAddr_Mbaff_drvwr(SIE_CtxAddr_Mbaff *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CtxAddr_Mbaff_reset(SIE_CtxAddr_Mbaff *p);
SIGN32 CtxAddr_Mbaff_cmp (SIE_CtxAddr_Mbaff *p, SIE_CtxAddr_Mbaff *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CtxAddr_Mbaff_check(p,pie,pfx,hLOG) CtxAddr_Mbaff_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CtxAddr_Mbaff_print(p, pfx,hLOG) CtxAddr_Mbaff_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CtxAddr_Mbaff
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE AvailTbl biu (4,4)
/// ###
/// * Input / output bit field definitions for availTbl_NonMbaff availability lookups
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 A_In (P)
/// %unsigned 1 mbAvailA
/// ###
/// * neighbor MB A is available or not
/// ###
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum value of blkId
/// ###
/// %% 25 # Stuffing bits...
/// @ 0x00004 A_Out (P)
/// %unsigned 1 isAvail
/// ###
/// * neighbor A is available or not
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00008 B_In (P)
/// %unsigned 1 mbAvailB
/// ###
/// * neighbor MB B is available or not
/// ###
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum value of blkId
/// ###
/// %% 25 # Stuffing bits...
/// @ 0x0000C B_Out (P)
/// %unsigned 1 isAvail
/// ###
/// * neighbor B is available or not
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00010 C_In (P)
/// %unsigned 1 mbAvailB
/// ###
/// * neighbor MB B is available or not
/// ###
/// %unsigned 1 mbAvailC
/// ###
/// * neighbor MB C is available or not
/// ###
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum value of blkId
/// ###
/// %% 24 # Stuffing bits...
/// @ 0x00014 C_Out (P)
/// %unsigned 1 isAvail
/// ###
/// * neighbor C is available or not
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00018 D_In (P)
/// %unsigned 1 mbAvailA
/// ###
/// * neighbor MB A is available or not
/// ###
/// %unsigned 1 mbAvailB
/// ###
/// * neighbor MB B is available or not
/// ###
/// %unsigned 1 mbAvailD
/// ###
/// * neighbor MB D is available or not
/// ###
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum value of blkId
/// ###
/// %% 23 # Stuffing bits...
/// @ 0x0001C D_Out (P)
/// %unsigned 1 isAvail
/// ###
/// * context address for neighbor D
/// ###
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 35b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_AvailTbl
#define h_AvailTbl (){}
#define RA_AvailTbl_A_In 0x0000
#define BA_AvailTbl_A_In_mbAvailA 0x0000
#define B16AvailTbl_A_In_mbAvailA 0x0000
#define LSb32AvailTbl_A_In_mbAvailA 0
#define LSb16AvailTbl_A_In_mbAvailA 0
#define bAvailTbl_A_In_mbAvailA 1
#define MSK32AvailTbl_A_In_mbAvailA 0x00000001
#define BA_AvailTbl_A_In_blkId 0x0000
#define B16AvailTbl_A_In_blkId 0x0000
#define LSb32AvailTbl_A_In_blkId 1
#define LSb16AvailTbl_A_In_blkId 1
#define bAvailTbl_A_In_blkId 6
#define MSK32AvailTbl_A_In_blkId 0x0000007E
#define AvailTbl_A_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_AvailTbl_A_Out 0x0004
#define BA_AvailTbl_A_Out_isAvail 0x0004
#define B16AvailTbl_A_Out_isAvail 0x0004
#define LSb32AvailTbl_A_Out_isAvail 0
#define LSb16AvailTbl_A_Out_isAvail 0
#define bAvailTbl_A_Out_isAvail 1
#define MSK32AvailTbl_A_Out_isAvail 0x00000001
///////////////////////////////////////////////////////////
#define RA_AvailTbl_B_In 0x0008
#define BA_AvailTbl_B_In_mbAvailB 0x0008
#define B16AvailTbl_B_In_mbAvailB 0x0008
#define LSb32AvailTbl_B_In_mbAvailB 0
#define LSb16AvailTbl_B_In_mbAvailB 0
#define bAvailTbl_B_In_mbAvailB 1
#define MSK32AvailTbl_B_In_mbAvailB 0x00000001
#define BA_AvailTbl_B_In_blkId 0x0008
#define B16AvailTbl_B_In_blkId 0x0008
#define LSb32AvailTbl_B_In_blkId 1
#define LSb16AvailTbl_B_In_blkId 1
#define bAvailTbl_B_In_blkId 6
#define MSK32AvailTbl_B_In_blkId 0x0000007E
#define AvailTbl_B_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_AvailTbl_B_Out 0x000C
#define BA_AvailTbl_B_Out_isAvail 0x000C
#define B16AvailTbl_B_Out_isAvail 0x000C
#define LSb32AvailTbl_B_Out_isAvail 0
#define LSb16AvailTbl_B_Out_isAvail 0
#define bAvailTbl_B_Out_isAvail 1
#define MSK32AvailTbl_B_Out_isAvail 0x00000001
///////////////////////////////////////////////////////////
#define RA_AvailTbl_C_In 0x0010
#define BA_AvailTbl_C_In_mbAvailB 0x0010
#define B16AvailTbl_C_In_mbAvailB 0x0010
#define LSb32AvailTbl_C_In_mbAvailB 0
#define LSb16AvailTbl_C_In_mbAvailB 0
#define bAvailTbl_C_In_mbAvailB 1
#define MSK32AvailTbl_C_In_mbAvailB 0x00000001
#define BA_AvailTbl_C_In_mbAvailC 0x0010
#define B16AvailTbl_C_In_mbAvailC 0x0010
#define LSb32AvailTbl_C_In_mbAvailC 1
#define LSb16AvailTbl_C_In_mbAvailC 1
#define bAvailTbl_C_In_mbAvailC 1
#define MSK32AvailTbl_C_In_mbAvailC 0x00000002
#define BA_AvailTbl_C_In_blkId 0x0010
#define B16AvailTbl_C_In_blkId 0x0010
#define LSb32AvailTbl_C_In_blkId 2
#define LSb16AvailTbl_C_In_blkId 2
#define bAvailTbl_C_In_blkId 6
#define MSK32AvailTbl_C_In_blkId 0x000000FC
#define AvailTbl_C_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_AvailTbl_C_Out 0x0014
#define BA_AvailTbl_C_Out_isAvail 0x0014
#define B16AvailTbl_C_Out_isAvail 0x0014
#define LSb32AvailTbl_C_Out_isAvail 0
#define LSb16AvailTbl_C_Out_isAvail 0
#define bAvailTbl_C_Out_isAvail 1
#define MSK32AvailTbl_C_Out_isAvail 0x00000001
///////////////////////////////////////////////////////////
#define RA_AvailTbl_D_In 0x0018
#define BA_AvailTbl_D_In_mbAvailA 0x0018
#define B16AvailTbl_D_In_mbAvailA 0x0018
#define LSb32AvailTbl_D_In_mbAvailA 0
#define LSb16AvailTbl_D_In_mbAvailA 0
#define bAvailTbl_D_In_mbAvailA 1
#define MSK32AvailTbl_D_In_mbAvailA 0x00000001
#define BA_AvailTbl_D_In_mbAvailB 0x0018
#define B16AvailTbl_D_In_mbAvailB 0x0018
#define LSb32AvailTbl_D_In_mbAvailB 1
#define LSb16AvailTbl_D_In_mbAvailB 1
#define bAvailTbl_D_In_mbAvailB 1
#define MSK32AvailTbl_D_In_mbAvailB 0x00000002
#define BA_AvailTbl_D_In_mbAvailD 0x0018
#define B16AvailTbl_D_In_mbAvailD 0x0018
#define LSb32AvailTbl_D_In_mbAvailD 2
#define LSb16AvailTbl_D_In_mbAvailD 2
#define bAvailTbl_D_In_mbAvailD 1
#define MSK32AvailTbl_D_In_mbAvailD 0x00000004
#define BA_AvailTbl_D_In_blkId 0x0018
#define B16AvailTbl_D_In_blkId 0x0018
#define LSb32AvailTbl_D_In_blkId 3
#define LSb16AvailTbl_D_In_blkId 3
#define bAvailTbl_D_In_blkId 6
#define MSK32AvailTbl_D_In_blkId 0x000001F8
#define AvailTbl_D_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_AvailTbl_D_Out 0x001C
#define BA_AvailTbl_D_Out_isAvail 0x001C
#define B16AvailTbl_D_Out_isAvail 0x001C
#define LSb32AvailTbl_D_Out_isAvail 0
#define LSb16AvailTbl_D_Out_isAvail 0
#define bAvailTbl_D_Out_isAvail 1
#define MSK32AvailTbl_D_Out_isAvail 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_AvailTbl {
///////////////////////////////////////////////////////////
#define GET32AvailTbl_A_In_mbAvailA(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_A_In_mbAvailA(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_A_In_mbAvailA(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_A_In_mbAvailA(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32AvailTbl_A_In_blkId(r32) _BFGET_(r32, 6, 1)
#define SET32AvailTbl_A_In_blkId(r32,v) _BFSET_(r32, 6, 1,v)
#define GET16AvailTbl_A_In_blkId(r16) _BFGET_(r16, 6, 1)
#define SET16AvailTbl_A_In_blkId(r16,v) _BFSET_(r16, 6, 1,v)
#define w32AvailTbl_A_In {\
UNSG32 uA_In_mbAvailA : 1;\
UNSG32 uA_In_blkId : 6;\
UNSG32 RSVDx0_b7 : 25;\
}
union { UNSG32 u32AvailTbl_A_In;
struct w32AvailTbl_A_In;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_A_Out_isAvail(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_A_Out_isAvail(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_A_Out_isAvail(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_A_Out_isAvail(r16,v) _BFSET_(r16, 0, 0,v)
#define w32AvailTbl_A_Out {\
UNSG32 uA_Out_isAvail : 1;\
UNSG32 RSVDx4_b1 : 31;\
}
union { UNSG32 u32AvailTbl_A_Out;
struct w32AvailTbl_A_Out;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_B_In_mbAvailB(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_B_In_mbAvailB(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_B_In_mbAvailB(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_B_In_mbAvailB(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32AvailTbl_B_In_blkId(r32) _BFGET_(r32, 6, 1)
#define SET32AvailTbl_B_In_blkId(r32,v) _BFSET_(r32, 6, 1,v)
#define GET16AvailTbl_B_In_blkId(r16) _BFGET_(r16, 6, 1)
#define SET16AvailTbl_B_In_blkId(r16,v) _BFSET_(r16, 6, 1,v)
#define w32AvailTbl_B_In {\
UNSG32 uB_In_mbAvailB : 1;\
UNSG32 uB_In_blkId : 6;\
UNSG32 RSVDx8_b7 : 25;\
}
union { UNSG32 u32AvailTbl_B_In;
struct w32AvailTbl_B_In;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_B_Out_isAvail(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_B_Out_isAvail(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_B_Out_isAvail(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_B_Out_isAvail(r16,v) _BFSET_(r16, 0, 0,v)
#define w32AvailTbl_B_Out {\
UNSG32 uB_Out_isAvail : 1;\
UNSG32 RSVDxC_b1 : 31;\
}
union { UNSG32 u32AvailTbl_B_Out;
struct w32AvailTbl_B_Out;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_C_In_mbAvailB(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_C_In_mbAvailB(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_C_In_mbAvailB(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_C_In_mbAvailB(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32AvailTbl_C_In_mbAvailC(r32) _BFGET_(r32, 1, 1)
#define SET32AvailTbl_C_In_mbAvailC(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16AvailTbl_C_In_mbAvailC(r16) _BFGET_(r16, 1, 1)
#define SET16AvailTbl_C_In_mbAvailC(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32AvailTbl_C_In_blkId(r32) _BFGET_(r32, 7, 2)
#define SET32AvailTbl_C_In_blkId(r32,v) _BFSET_(r32, 7, 2,v)
#define GET16AvailTbl_C_In_blkId(r16) _BFGET_(r16, 7, 2)
#define SET16AvailTbl_C_In_blkId(r16,v) _BFSET_(r16, 7, 2,v)
#define w32AvailTbl_C_In {\
UNSG32 uC_In_mbAvailB : 1;\
UNSG32 uC_In_mbAvailC : 1;\
UNSG32 uC_In_blkId : 6;\
UNSG32 RSVDx10_b8 : 24;\
}
union { UNSG32 u32AvailTbl_C_In;
struct w32AvailTbl_C_In;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_C_Out_isAvail(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_C_Out_isAvail(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_C_Out_isAvail(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_C_Out_isAvail(r16,v) _BFSET_(r16, 0, 0,v)
#define w32AvailTbl_C_Out {\
UNSG32 uC_Out_isAvail : 1;\
UNSG32 RSVDx14_b1 : 31;\
}
union { UNSG32 u32AvailTbl_C_Out;
struct w32AvailTbl_C_Out;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_D_In_mbAvailA(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_D_In_mbAvailA(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_D_In_mbAvailA(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_D_In_mbAvailA(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32AvailTbl_D_In_mbAvailB(r32) _BFGET_(r32, 1, 1)
#define SET32AvailTbl_D_In_mbAvailB(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16AvailTbl_D_In_mbAvailB(r16) _BFGET_(r16, 1, 1)
#define SET16AvailTbl_D_In_mbAvailB(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32AvailTbl_D_In_mbAvailD(r32) _BFGET_(r32, 2, 2)
#define SET32AvailTbl_D_In_mbAvailD(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16AvailTbl_D_In_mbAvailD(r16) _BFGET_(r16, 2, 2)
#define SET16AvailTbl_D_In_mbAvailD(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32AvailTbl_D_In_blkId(r32) _BFGET_(r32, 8, 3)
#define SET32AvailTbl_D_In_blkId(r32,v) _BFSET_(r32, 8, 3,v)
#define GET16AvailTbl_D_In_blkId(r16) _BFGET_(r16, 8, 3)
#define SET16AvailTbl_D_In_blkId(r16,v) _BFSET_(r16, 8, 3,v)
#define w32AvailTbl_D_In {\
UNSG32 uD_In_mbAvailA : 1;\
UNSG32 uD_In_mbAvailB : 1;\
UNSG32 uD_In_mbAvailD : 1;\
UNSG32 uD_In_blkId : 6;\
UNSG32 RSVDx18_b9 : 23;\
}
union { UNSG32 u32AvailTbl_D_In;
struct w32AvailTbl_D_In;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_D_Out_isAvail(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_D_Out_isAvail(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_D_Out_isAvail(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_D_Out_isAvail(r16,v) _BFSET_(r16, 0, 0,v)
#define w32AvailTbl_D_Out {\
UNSG32 uD_Out_isAvail : 1;\
UNSG32 RSVDx1C_b1 : 31;\
}
union { UNSG32 u32AvailTbl_D_Out;
struct w32AvailTbl_D_Out;
};
///////////////////////////////////////////////////////////
} SIE_AvailTbl;
typedef union T32AvailTbl_A_In
{ UNSG32 u32;
struct w32AvailTbl_A_In;
} T32AvailTbl_A_In;
typedef union T32AvailTbl_A_Out
{ UNSG32 u32;
struct w32AvailTbl_A_Out;
} T32AvailTbl_A_Out;
typedef union T32AvailTbl_B_In
{ UNSG32 u32;
struct w32AvailTbl_B_In;
} T32AvailTbl_B_In;
typedef union T32AvailTbl_B_Out
{ UNSG32 u32;
struct w32AvailTbl_B_Out;
} T32AvailTbl_B_Out;
typedef union T32AvailTbl_C_In
{ UNSG32 u32;
struct w32AvailTbl_C_In;
} T32AvailTbl_C_In;
typedef union T32AvailTbl_C_Out
{ UNSG32 u32;
struct w32AvailTbl_C_Out;
} T32AvailTbl_C_Out;
typedef union T32AvailTbl_D_In
{ UNSG32 u32;
struct w32AvailTbl_D_In;
} T32AvailTbl_D_In;
typedef union T32AvailTbl_D_Out
{ UNSG32 u32;
struct w32AvailTbl_D_Out;
} T32AvailTbl_D_Out;
///////////////////////////////////////////////////////////
typedef union TAvailTbl_A_In
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_A_In;
};
} TAvailTbl_A_In;
typedef union TAvailTbl_A_Out
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_A_Out;
};
} TAvailTbl_A_Out;
typedef union TAvailTbl_B_In
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_B_In;
};
} TAvailTbl_B_In;
typedef union TAvailTbl_B_Out
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_B_Out;
};
} TAvailTbl_B_Out;
typedef union TAvailTbl_C_In
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_C_In;
};
} TAvailTbl_C_In;
typedef union TAvailTbl_C_Out
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_C_Out;
};
} TAvailTbl_C_Out;
typedef union TAvailTbl_D_In
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_D_In;
};
} TAvailTbl_D_In;
typedef union TAvailTbl_D_Out
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_D_Out;
};
} TAvailTbl_D_Out;
///////////////////////////////////////////////////////////
SIGN32 AvailTbl_drvrd(SIE_AvailTbl *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 AvailTbl_drvwr(SIE_AvailTbl *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void AvailTbl_reset(SIE_AvailTbl *p);
SIGN32 AvailTbl_cmp (SIE_AvailTbl *p, SIE_AvailTbl *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define AvailTbl_check(p,pie,pfx,hLOG) AvailTbl_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define AvailTbl_print(p, pfx,hLOG) AvailTbl_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: AvailTbl
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE AvailTbl_Mbaff biu (4,4)
/// ###
/// * Input / output bit field definitions for availTbl_Mbaff availability lookups
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 A_In (P)
/// %unsigned 1 mbAvailA
/// ###
/// * neighbor MB A is available or not
/// ###
/// %unsigned 1 mbFieldX
/// ###
/// * current MB is field coded or not
/// ###
/// %unsigned 1 isBotMb
/// ###
/// * current MB is bottom in the MB pair or not
/// ###
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum value of blkId
/// ###
/// %% 23 # Stuffing bits...
/// @ 0x00004 A_Out (P)
/// %unsigned 1 isAvail
/// ###
/// * neighbor A is available or not
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00008 B_In (P)
/// %unsigned 1 mbAvailB
/// ###
/// * neighbor MB B is available or not
/// ###
/// %unsigned 1 mbFieldX
/// ###
/// * current MB is field coded or not
/// ###
/// %unsigned 1 isBotMb
/// ###
/// * current MB is bottom in the MB pair or not
/// ###
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum value of blkId
/// ###
/// %% 23 # Stuffing bits...
/// @ 0x0000C B_Out (P)
/// %unsigned 1 isAvail
/// ###
/// * neighbor B is available or not
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00010 C_In (P)
/// %unsigned 1 mbAvailB
/// ###
/// * neighbor MB B is available or not
/// ###
/// %unsigned 1 mbAvailC
/// ###
/// * neighbor MB C is available or not
/// ###
/// %unsigned 1 mbFieldX
/// ###
/// * current MB is field coded or not
/// ###
/// %unsigned 1 isBotMb
/// ###
/// * current MB is bottom in the MB pair or not
/// ###
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum value of blkId
/// ###
/// %% 22 # Stuffing bits...
/// @ 0x00014 C_Out (P)
/// %unsigned 1 isAvail
/// ###
/// * neighbor C is available or not
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00018 D_In (P)
/// %unsigned 1 mbAvailA
/// ###
/// * neighbor MB A is available or not
/// ###
/// %unsigned 1 mbAvailB
/// ###
/// * neighbor MB B is available or not
/// ###
/// %unsigned 1 mbAvailD
/// ###
/// * neighbor MB D is available or not
/// ###
/// %unsigned 1 mbFieldX
/// ###
/// * current MB is field coded or not
/// ###
/// %unsigned 1 isBotMb
/// ###
/// * current MB is bottom in the MB pair or not
/// ###
/// %unsigned 6 blkId
/// ###
/// * legal range = 0~37
/// ###
/// : max 0x25
/// ###
/// * maximum value of blkId
/// ###
/// %% 21 # Stuffing bits...
/// @ 0x0001C D_Out (P)
/// %unsigned 1 isAvail
/// ###
/// * context address for neighbor D
/// ###
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 43b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_AvailTbl_Mbaff
#define h_AvailTbl_Mbaff (){}
#define RA_AvailTbl_Mbaff_A_In 0x0000
#define BA_AvailTbl_Mbaff_A_In_mbAvailA 0x0000
#define B16AvailTbl_Mbaff_A_In_mbAvailA 0x0000
#define LSb32AvailTbl_Mbaff_A_In_mbAvailA 0
#define LSb16AvailTbl_Mbaff_A_In_mbAvailA 0
#define bAvailTbl_Mbaff_A_In_mbAvailA 1
#define MSK32AvailTbl_Mbaff_A_In_mbAvailA 0x00000001
#define BA_AvailTbl_Mbaff_A_In_mbFieldX 0x0000
#define B16AvailTbl_Mbaff_A_In_mbFieldX 0x0000
#define LSb32AvailTbl_Mbaff_A_In_mbFieldX 1
#define LSb16AvailTbl_Mbaff_A_In_mbFieldX 1
#define bAvailTbl_Mbaff_A_In_mbFieldX 1
#define MSK32AvailTbl_Mbaff_A_In_mbFieldX 0x00000002
#define BA_AvailTbl_Mbaff_A_In_isBotMb 0x0000
#define B16AvailTbl_Mbaff_A_In_isBotMb 0x0000
#define LSb32AvailTbl_Mbaff_A_In_isBotMb 2
#define LSb16AvailTbl_Mbaff_A_In_isBotMb 2
#define bAvailTbl_Mbaff_A_In_isBotMb 1
#define MSK32AvailTbl_Mbaff_A_In_isBotMb 0x00000004
#define BA_AvailTbl_Mbaff_A_In_blkId 0x0000
#define B16AvailTbl_Mbaff_A_In_blkId 0x0000
#define LSb32AvailTbl_Mbaff_A_In_blkId 3
#define LSb16AvailTbl_Mbaff_A_In_blkId 3
#define bAvailTbl_Mbaff_A_In_blkId 6
#define MSK32AvailTbl_Mbaff_A_In_blkId 0x000001F8
#define AvailTbl_Mbaff_A_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_AvailTbl_Mbaff_A_Out 0x0004
#define BA_AvailTbl_Mbaff_A_Out_isAvail 0x0004
#define B16AvailTbl_Mbaff_A_Out_isAvail 0x0004
#define LSb32AvailTbl_Mbaff_A_Out_isAvail 0
#define LSb16AvailTbl_Mbaff_A_Out_isAvail 0
#define bAvailTbl_Mbaff_A_Out_isAvail 1
#define MSK32AvailTbl_Mbaff_A_Out_isAvail 0x00000001
///////////////////////////////////////////////////////////
#define RA_AvailTbl_Mbaff_B_In 0x0008
#define BA_AvailTbl_Mbaff_B_In_mbAvailB 0x0008
#define B16AvailTbl_Mbaff_B_In_mbAvailB 0x0008
#define LSb32AvailTbl_Mbaff_B_In_mbAvailB 0
#define LSb16AvailTbl_Mbaff_B_In_mbAvailB 0
#define bAvailTbl_Mbaff_B_In_mbAvailB 1
#define MSK32AvailTbl_Mbaff_B_In_mbAvailB 0x00000001
#define BA_AvailTbl_Mbaff_B_In_mbFieldX 0x0008
#define B16AvailTbl_Mbaff_B_In_mbFieldX 0x0008
#define LSb32AvailTbl_Mbaff_B_In_mbFieldX 1
#define LSb16AvailTbl_Mbaff_B_In_mbFieldX 1
#define bAvailTbl_Mbaff_B_In_mbFieldX 1
#define MSK32AvailTbl_Mbaff_B_In_mbFieldX 0x00000002
#define BA_AvailTbl_Mbaff_B_In_isBotMb 0x0008
#define B16AvailTbl_Mbaff_B_In_isBotMb 0x0008
#define LSb32AvailTbl_Mbaff_B_In_isBotMb 2
#define LSb16AvailTbl_Mbaff_B_In_isBotMb 2
#define bAvailTbl_Mbaff_B_In_isBotMb 1
#define MSK32AvailTbl_Mbaff_B_In_isBotMb 0x00000004
#define BA_AvailTbl_Mbaff_B_In_blkId 0x0008
#define B16AvailTbl_Mbaff_B_In_blkId 0x0008
#define LSb32AvailTbl_Mbaff_B_In_blkId 3
#define LSb16AvailTbl_Mbaff_B_In_blkId 3
#define bAvailTbl_Mbaff_B_In_blkId 6
#define MSK32AvailTbl_Mbaff_B_In_blkId 0x000001F8
#define AvailTbl_Mbaff_B_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_AvailTbl_Mbaff_B_Out 0x000C
#define BA_AvailTbl_Mbaff_B_Out_isAvail 0x000C
#define B16AvailTbl_Mbaff_B_Out_isAvail 0x000C
#define LSb32AvailTbl_Mbaff_B_Out_isAvail 0
#define LSb16AvailTbl_Mbaff_B_Out_isAvail 0
#define bAvailTbl_Mbaff_B_Out_isAvail 1
#define MSK32AvailTbl_Mbaff_B_Out_isAvail 0x00000001
///////////////////////////////////////////////////////////
#define RA_AvailTbl_Mbaff_C_In 0x0010
#define BA_AvailTbl_Mbaff_C_In_mbAvailB 0x0010
#define B16AvailTbl_Mbaff_C_In_mbAvailB 0x0010
#define LSb32AvailTbl_Mbaff_C_In_mbAvailB 0
#define LSb16AvailTbl_Mbaff_C_In_mbAvailB 0
#define bAvailTbl_Mbaff_C_In_mbAvailB 1
#define MSK32AvailTbl_Mbaff_C_In_mbAvailB 0x00000001
#define BA_AvailTbl_Mbaff_C_In_mbAvailC 0x0010
#define B16AvailTbl_Mbaff_C_In_mbAvailC 0x0010
#define LSb32AvailTbl_Mbaff_C_In_mbAvailC 1
#define LSb16AvailTbl_Mbaff_C_In_mbAvailC 1
#define bAvailTbl_Mbaff_C_In_mbAvailC 1
#define MSK32AvailTbl_Mbaff_C_In_mbAvailC 0x00000002
#define BA_AvailTbl_Mbaff_C_In_mbFieldX 0x0010
#define B16AvailTbl_Mbaff_C_In_mbFieldX 0x0010
#define LSb32AvailTbl_Mbaff_C_In_mbFieldX 2
#define LSb16AvailTbl_Mbaff_C_In_mbFieldX 2
#define bAvailTbl_Mbaff_C_In_mbFieldX 1
#define MSK32AvailTbl_Mbaff_C_In_mbFieldX 0x00000004
#define BA_AvailTbl_Mbaff_C_In_isBotMb 0x0010
#define B16AvailTbl_Mbaff_C_In_isBotMb 0x0010
#define LSb32AvailTbl_Mbaff_C_In_isBotMb 3
#define LSb16AvailTbl_Mbaff_C_In_isBotMb 3
#define bAvailTbl_Mbaff_C_In_isBotMb 1
#define MSK32AvailTbl_Mbaff_C_In_isBotMb 0x00000008
#define BA_AvailTbl_Mbaff_C_In_blkId 0x0010
#define B16AvailTbl_Mbaff_C_In_blkId 0x0010
#define LSb32AvailTbl_Mbaff_C_In_blkId 4
#define LSb16AvailTbl_Mbaff_C_In_blkId 4
#define bAvailTbl_Mbaff_C_In_blkId 6
#define MSK32AvailTbl_Mbaff_C_In_blkId 0x000003F0
#define AvailTbl_Mbaff_C_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_AvailTbl_Mbaff_C_Out 0x0014
#define BA_AvailTbl_Mbaff_C_Out_isAvail 0x0014
#define B16AvailTbl_Mbaff_C_Out_isAvail 0x0014
#define LSb32AvailTbl_Mbaff_C_Out_isAvail 0
#define LSb16AvailTbl_Mbaff_C_Out_isAvail 0
#define bAvailTbl_Mbaff_C_Out_isAvail 1
#define MSK32AvailTbl_Mbaff_C_Out_isAvail 0x00000001
///////////////////////////////////////////////////////////
#define RA_AvailTbl_Mbaff_D_In 0x0018
#define BA_AvailTbl_Mbaff_D_In_mbAvailA 0x0018
#define B16AvailTbl_Mbaff_D_In_mbAvailA 0x0018
#define LSb32AvailTbl_Mbaff_D_In_mbAvailA 0
#define LSb16AvailTbl_Mbaff_D_In_mbAvailA 0
#define bAvailTbl_Mbaff_D_In_mbAvailA 1
#define MSK32AvailTbl_Mbaff_D_In_mbAvailA 0x00000001
#define BA_AvailTbl_Mbaff_D_In_mbAvailB 0x0018
#define B16AvailTbl_Mbaff_D_In_mbAvailB 0x0018
#define LSb32AvailTbl_Mbaff_D_In_mbAvailB 1
#define LSb16AvailTbl_Mbaff_D_In_mbAvailB 1
#define bAvailTbl_Mbaff_D_In_mbAvailB 1
#define MSK32AvailTbl_Mbaff_D_In_mbAvailB 0x00000002
#define BA_AvailTbl_Mbaff_D_In_mbAvailD 0x0018
#define B16AvailTbl_Mbaff_D_In_mbAvailD 0x0018
#define LSb32AvailTbl_Mbaff_D_In_mbAvailD 2
#define LSb16AvailTbl_Mbaff_D_In_mbAvailD 2
#define bAvailTbl_Mbaff_D_In_mbAvailD 1
#define MSK32AvailTbl_Mbaff_D_In_mbAvailD 0x00000004
#define BA_AvailTbl_Mbaff_D_In_mbFieldX 0x0018
#define B16AvailTbl_Mbaff_D_In_mbFieldX 0x0018
#define LSb32AvailTbl_Mbaff_D_In_mbFieldX 3
#define LSb16AvailTbl_Mbaff_D_In_mbFieldX 3
#define bAvailTbl_Mbaff_D_In_mbFieldX 1
#define MSK32AvailTbl_Mbaff_D_In_mbFieldX 0x00000008
#define BA_AvailTbl_Mbaff_D_In_isBotMb 0x0018
#define B16AvailTbl_Mbaff_D_In_isBotMb 0x0018
#define LSb32AvailTbl_Mbaff_D_In_isBotMb 4
#define LSb16AvailTbl_Mbaff_D_In_isBotMb 4
#define bAvailTbl_Mbaff_D_In_isBotMb 1
#define MSK32AvailTbl_Mbaff_D_In_isBotMb 0x00000010
#define BA_AvailTbl_Mbaff_D_In_blkId 0x0018
#define B16AvailTbl_Mbaff_D_In_blkId 0x0018
#define LSb32AvailTbl_Mbaff_D_In_blkId 5
#define LSb16AvailTbl_Mbaff_D_In_blkId 5
#define bAvailTbl_Mbaff_D_In_blkId 6
#define MSK32AvailTbl_Mbaff_D_In_blkId 0x000007E0
#define AvailTbl_Mbaff_D_In_blkId_max 0x25
///////////////////////////////////////////////////////////
#define RA_AvailTbl_Mbaff_D_Out 0x001C
#define BA_AvailTbl_Mbaff_D_Out_isAvail 0x001C
#define B16AvailTbl_Mbaff_D_Out_isAvail 0x001C
#define LSb32AvailTbl_Mbaff_D_Out_isAvail 0
#define LSb16AvailTbl_Mbaff_D_Out_isAvail 0
#define bAvailTbl_Mbaff_D_Out_isAvail 1
#define MSK32AvailTbl_Mbaff_D_Out_isAvail 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_AvailTbl_Mbaff {
///////////////////////////////////////////////////////////
#define GET32AvailTbl_Mbaff_A_In_mbAvailA(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_Mbaff_A_In_mbAvailA(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_Mbaff_A_In_mbAvailA(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_Mbaff_A_In_mbAvailA(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32AvailTbl_Mbaff_A_In_mbFieldX(r32) _BFGET_(r32, 1, 1)
#define SET32AvailTbl_Mbaff_A_In_mbFieldX(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16AvailTbl_Mbaff_A_In_mbFieldX(r16) _BFGET_(r16, 1, 1)
#define SET16AvailTbl_Mbaff_A_In_mbFieldX(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32AvailTbl_Mbaff_A_In_isBotMb(r32) _BFGET_(r32, 2, 2)
#define SET32AvailTbl_Mbaff_A_In_isBotMb(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16AvailTbl_Mbaff_A_In_isBotMb(r16) _BFGET_(r16, 2, 2)
#define SET16AvailTbl_Mbaff_A_In_isBotMb(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32AvailTbl_Mbaff_A_In_blkId(r32) _BFGET_(r32, 8, 3)
#define SET32AvailTbl_Mbaff_A_In_blkId(r32,v) _BFSET_(r32, 8, 3,v)
#define GET16AvailTbl_Mbaff_A_In_blkId(r16) _BFGET_(r16, 8, 3)
#define SET16AvailTbl_Mbaff_A_In_blkId(r16,v) _BFSET_(r16, 8, 3,v)
#define w32AvailTbl_Mbaff_A_In {\
UNSG32 uA_In_mbAvailA : 1;\
UNSG32 uA_In_mbFieldX : 1;\
UNSG32 uA_In_isBotMb : 1;\
UNSG32 uA_In_blkId : 6;\
UNSG32 RSVDx0_b9 : 23;\
}
union { UNSG32 u32AvailTbl_Mbaff_A_In;
struct w32AvailTbl_Mbaff_A_In;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_Mbaff_A_Out_isAvail(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_Mbaff_A_Out_isAvail(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_Mbaff_A_Out_isAvail(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_Mbaff_A_Out_isAvail(r16,v) _BFSET_(r16, 0, 0,v)
#define w32AvailTbl_Mbaff_A_Out {\
UNSG32 uA_Out_isAvail : 1;\
UNSG32 RSVDx4_b1 : 31;\
}
union { UNSG32 u32AvailTbl_Mbaff_A_Out;
struct w32AvailTbl_Mbaff_A_Out;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_Mbaff_B_In_mbAvailB(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_Mbaff_B_In_mbAvailB(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_Mbaff_B_In_mbAvailB(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_Mbaff_B_In_mbAvailB(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32AvailTbl_Mbaff_B_In_mbFieldX(r32) _BFGET_(r32, 1, 1)
#define SET32AvailTbl_Mbaff_B_In_mbFieldX(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16AvailTbl_Mbaff_B_In_mbFieldX(r16) _BFGET_(r16, 1, 1)
#define SET16AvailTbl_Mbaff_B_In_mbFieldX(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32AvailTbl_Mbaff_B_In_isBotMb(r32) _BFGET_(r32, 2, 2)
#define SET32AvailTbl_Mbaff_B_In_isBotMb(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16AvailTbl_Mbaff_B_In_isBotMb(r16) _BFGET_(r16, 2, 2)
#define SET16AvailTbl_Mbaff_B_In_isBotMb(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32AvailTbl_Mbaff_B_In_blkId(r32) _BFGET_(r32, 8, 3)
#define SET32AvailTbl_Mbaff_B_In_blkId(r32,v) _BFSET_(r32, 8, 3,v)
#define GET16AvailTbl_Mbaff_B_In_blkId(r16) _BFGET_(r16, 8, 3)
#define SET16AvailTbl_Mbaff_B_In_blkId(r16,v) _BFSET_(r16, 8, 3,v)
#define w32AvailTbl_Mbaff_B_In {\
UNSG32 uB_In_mbAvailB : 1;\
UNSG32 uB_In_mbFieldX : 1;\
UNSG32 uB_In_isBotMb : 1;\
UNSG32 uB_In_blkId : 6;\
UNSG32 RSVDx8_b9 : 23;\
}
union { UNSG32 u32AvailTbl_Mbaff_B_In;
struct w32AvailTbl_Mbaff_B_In;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_Mbaff_B_Out_isAvail(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_Mbaff_B_Out_isAvail(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_Mbaff_B_Out_isAvail(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_Mbaff_B_Out_isAvail(r16,v) _BFSET_(r16, 0, 0,v)
#define w32AvailTbl_Mbaff_B_Out {\
UNSG32 uB_Out_isAvail : 1;\
UNSG32 RSVDxC_b1 : 31;\
}
union { UNSG32 u32AvailTbl_Mbaff_B_Out;
struct w32AvailTbl_Mbaff_B_Out;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_Mbaff_C_In_mbAvailB(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_Mbaff_C_In_mbAvailB(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_Mbaff_C_In_mbAvailB(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_Mbaff_C_In_mbAvailB(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32AvailTbl_Mbaff_C_In_mbAvailC(r32) _BFGET_(r32, 1, 1)
#define SET32AvailTbl_Mbaff_C_In_mbAvailC(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16AvailTbl_Mbaff_C_In_mbAvailC(r16) _BFGET_(r16, 1, 1)
#define SET16AvailTbl_Mbaff_C_In_mbAvailC(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32AvailTbl_Mbaff_C_In_mbFieldX(r32) _BFGET_(r32, 2, 2)
#define SET32AvailTbl_Mbaff_C_In_mbFieldX(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16AvailTbl_Mbaff_C_In_mbFieldX(r16) _BFGET_(r16, 2, 2)
#define SET16AvailTbl_Mbaff_C_In_mbFieldX(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32AvailTbl_Mbaff_C_In_isBotMb(r32) _BFGET_(r32, 3, 3)
#define SET32AvailTbl_Mbaff_C_In_isBotMb(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16AvailTbl_Mbaff_C_In_isBotMb(r16) _BFGET_(r16, 3, 3)
#define SET16AvailTbl_Mbaff_C_In_isBotMb(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32AvailTbl_Mbaff_C_In_blkId(r32) _BFGET_(r32, 9, 4)
#define SET32AvailTbl_Mbaff_C_In_blkId(r32,v) _BFSET_(r32, 9, 4,v)
#define GET16AvailTbl_Mbaff_C_In_blkId(r16) _BFGET_(r16, 9, 4)
#define SET16AvailTbl_Mbaff_C_In_blkId(r16,v) _BFSET_(r16, 9, 4,v)
#define w32AvailTbl_Mbaff_C_In {\
UNSG32 uC_In_mbAvailB : 1;\
UNSG32 uC_In_mbAvailC : 1;\
UNSG32 uC_In_mbFieldX : 1;\
UNSG32 uC_In_isBotMb : 1;\
UNSG32 uC_In_blkId : 6;\
UNSG32 RSVDx10_b10 : 22;\
}
union { UNSG32 u32AvailTbl_Mbaff_C_In;
struct w32AvailTbl_Mbaff_C_In;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_Mbaff_C_Out_isAvail(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_Mbaff_C_Out_isAvail(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_Mbaff_C_Out_isAvail(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_Mbaff_C_Out_isAvail(r16,v) _BFSET_(r16, 0, 0,v)
#define w32AvailTbl_Mbaff_C_Out {\
UNSG32 uC_Out_isAvail : 1;\
UNSG32 RSVDx14_b1 : 31;\
}
union { UNSG32 u32AvailTbl_Mbaff_C_Out;
struct w32AvailTbl_Mbaff_C_Out;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_Mbaff_D_In_mbAvailA(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_Mbaff_D_In_mbAvailA(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_Mbaff_D_In_mbAvailA(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_Mbaff_D_In_mbAvailA(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32AvailTbl_Mbaff_D_In_mbAvailB(r32) _BFGET_(r32, 1, 1)
#define SET32AvailTbl_Mbaff_D_In_mbAvailB(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16AvailTbl_Mbaff_D_In_mbAvailB(r16) _BFGET_(r16, 1, 1)
#define SET16AvailTbl_Mbaff_D_In_mbAvailB(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32AvailTbl_Mbaff_D_In_mbAvailD(r32) _BFGET_(r32, 2, 2)
#define SET32AvailTbl_Mbaff_D_In_mbAvailD(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16AvailTbl_Mbaff_D_In_mbAvailD(r16) _BFGET_(r16, 2, 2)
#define SET16AvailTbl_Mbaff_D_In_mbAvailD(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32AvailTbl_Mbaff_D_In_mbFieldX(r32) _BFGET_(r32, 3, 3)
#define SET32AvailTbl_Mbaff_D_In_mbFieldX(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16AvailTbl_Mbaff_D_In_mbFieldX(r16) _BFGET_(r16, 3, 3)
#define SET16AvailTbl_Mbaff_D_In_mbFieldX(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32AvailTbl_Mbaff_D_In_isBotMb(r32) _BFGET_(r32, 4, 4)
#define SET32AvailTbl_Mbaff_D_In_isBotMb(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16AvailTbl_Mbaff_D_In_isBotMb(r16) _BFGET_(r16, 4, 4)
#define SET16AvailTbl_Mbaff_D_In_isBotMb(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32AvailTbl_Mbaff_D_In_blkId(r32) _BFGET_(r32,10, 5)
#define SET32AvailTbl_Mbaff_D_In_blkId(r32,v) _BFSET_(r32,10, 5,v)
#define GET16AvailTbl_Mbaff_D_In_blkId(r16) _BFGET_(r16,10, 5)
#define SET16AvailTbl_Mbaff_D_In_blkId(r16,v) _BFSET_(r16,10, 5,v)
#define w32AvailTbl_Mbaff_D_In {\
UNSG32 uD_In_mbAvailA : 1;\
UNSG32 uD_In_mbAvailB : 1;\
UNSG32 uD_In_mbAvailD : 1;\
UNSG32 uD_In_mbFieldX : 1;\
UNSG32 uD_In_isBotMb : 1;\
UNSG32 uD_In_blkId : 6;\
UNSG32 RSVDx18_b11 : 21;\
}
union { UNSG32 u32AvailTbl_Mbaff_D_In;
struct w32AvailTbl_Mbaff_D_In;
};
///////////////////////////////////////////////////////////
#define GET32AvailTbl_Mbaff_D_Out_isAvail(r32) _BFGET_(r32, 0, 0)
#define SET32AvailTbl_Mbaff_D_Out_isAvail(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16AvailTbl_Mbaff_D_Out_isAvail(r16) _BFGET_(r16, 0, 0)
#define SET16AvailTbl_Mbaff_D_Out_isAvail(r16,v) _BFSET_(r16, 0, 0,v)
#define w32AvailTbl_Mbaff_D_Out {\
UNSG32 uD_Out_isAvail : 1;\
UNSG32 RSVDx1C_b1 : 31;\
}
union { UNSG32 u32AvailTbl_Mbaff_D_Out;
struct w32AvailTbl_Mbaff_D_Out;
};
///////////////////////////////////////////////////////////
} SIE_AvailTbl_Mbaff;
typedef union T32AvailTbl_Mbaff_A_In
{ UNSG32 u32;
struct w32AvailTbl_Mbaff_A_In;
} T32AvailTbl_Mbaff_A_In;
typedef union T32AvailTbl_Mbaff_A_Out
{ UNSG32 u32;
struct w32AvailTbl_Mbaff_A_Out;
} T32AvailTbl_Mbaff_A_Out;
typedef union T32AvailTbl_Mbaff_B_In
{ UNSG32 u32;
struct w32AvailTbl_Mbaff_B_In;
} T32AvailTbl_Mbaff_B_In;
typedef union T32AvailTbl_Mbaff_B_Out
{ UNSG32 u32;
struct w32AvailTbl_Mbaff_B_Out;
} T32AvailTbl_Mbaff_B_Out;
typedef union T32AvailTbl_Mbaff_C_In
{ UNSG32 u32;
struct w32AvailTbl_Mbaff_C_In;
} T32AvailTbl_Mbaff_C_In;
typedef union T32AvailTbl_Mbaff_C_Out
{ UNSG32 u32;
struct w32AvailTbl_Mbaff_C_Out;
} T32AvailTbl_Mbaff_C_Out;
typedef union T32AvailTbl_Mbaff_D_In
{ UNSG32 u32;
struct w32AvailTbl_Mbaff_D_In;
} T32AvailTbl_Mbaff_D_In;
typedef union T32AvailTbl_Mbaff_D_Out
{ UNSG32 u32;
struct w32AvailTbl_Mbaff_D_Out;
} T32AvailTbl_Mbaff_D_Out;
///////////////////////////////////////////////////////////
typedef union TAvailTbl_Mbaff_A_In
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_Mbaff_A_In;
};
} TAvailTbl_Mbaff_A_In;
typedef union TAvailTbl_Mbaff_A_Out
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_Mbaff_A_Out;
};
} TAvailTbl_Mbaff_A_Out;
typedef union TAvailTbl_Mbaff_B_In
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_Mbaff_B_In;
};
} TAvailTbl_Mbaff_B_In;
typedef union TAvailTbl_Mbaff_B_Out
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_Mbaff_B_Out;
};
} TAvailTbl_Mbaff_B_Out;
typedef union TAvailTbl_Mbaff_C_In
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_Mbaff_C_In;
};
} TAvailTbl_Mbaff_C_In;
typedef union TAvailTbl_Mbaff_C_Out
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_Mbaff_C_Out;
};
} TAvailTbl_Mbaff_C_Out;
typedef union TAvailTbl_Mbaff_D_In
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_Mbaff_D_In;
};
} TAvailTbl_Mbaff_D_In;
typedef union TAvailTbl_Mbaff_D_Out
{ UNSG32 u32[1];
struct {
struct w32AvailTbl_Mbaff_D_Out;
};
} TAvailTbl_Mbaff_D_Out;
///////////////////////////////////////////////////////////
SIGN32 AvailTbl_Mbaff_drvrd(SIE_AvailTbl_Mbaff *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 AvailTbl_Mbaff_drvwr(SIE_AvailTbl_Mbaff *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void AvailTbl_Mbaff_reset(SIE_AvailTbl_Mbaff *p);
SIGN32 AvailTbl_Mbaff_cmp (SIE_AvailTbl_Mbaff *p, SIE_AvailTbl_Mbaff *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define AvailTbl_Mbaff_check(p,pie,pfx,hLOG) AvailTbl_Mbaff_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define AvailTbl_Mbaff_print(p, pfx,hLOG) AvailTbl_Mbaff_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: AvailTbl_Mbaff
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE NeighborX biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 Loc
/// : NA 0x0
/// ###
/// * Current block location in MBCTXQ
/// ###
/// %unsigned 4 RSVD
/// ###
/// * Reserved: 0
/// ###
/// %unsigned 1 A
/// ###
/// * Left macroblock/block availability
/// ###
/// %unsigned 1 B
/// ###
/// * Upper macroblock/block availability
/// ###
/// %unsigned 1 C
/// ###
/// * Upper-right macroblock/block availability
/// ###
/// %unsigned 1 D
/// ###
/// * Upper-left macroblock/block availability
/// * End of NeighborX
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_NeighborX
#define h_NeighborX (){}
#define BA_NeighborX_Loc 0x0000
#define B16NeighborX_Loc 0x0000
#define LSb32NeighborX_Loc 0
#define LSb16NeighborX_Loc 0
#define bNeighborX_Loc 8
#define MSK32NeighborX_Loc 0x000000FF
#define NeighborX_Loc_NA 0x0
#define BA_NeighborX_RSVD 0x0001
#define B16NeighborX_RSVD 0x0000
#define LSb32NeighborX_RSVD 8
#define LSb16NeighborX_RSVD 8
#define bNeighborX_RSVD 4
#define MSK32NeighborX_RSVD 0x00000F00
#define BA_NeighborX_A 0x0001
#define B16NeighborX_A 0x0000
#define LSb32NeighborX_A 12
#define LSb16NeighborX_A 12
#define bNeighborX_A 1
#define MSK32NeighborX_A 0x00001000
#define BA_NeighborX_B 0x0001
#define B16NeighborX_B 0x0000
#define LSb32NeighborX_B 13
#define LSb16NeighborX_B 13
#define bNeighborX_B 1
#define MSK32NeighborX_B 0x00002000
#define BA_NeighborX_C 0x0001
#define B16NeighborX_C 0x0000
#define LSb32NeighborX_C 14
#define LSb16NeighborX_C 14
#define bNeighborX_C 1
#define MSK32NeighborX_C 0x00004000
#define BA_NeighborX_D 0x0001
#define B16NeighborX_D 0x0000
#define LSb32NeighborX_D 15
#define LSb16NeighborX_D 15
#define bNeighborX_D 1
#define MSK32NeighborX_D 0x00008000
///////////////////////////////////////////////////////////
typedef struct SIE_NeighborX {
///////////////////////////////////////////////////////////
#define GET32NeighborX_Loc(r32) _BFGET_(r32, 7, 0)
#define SET32NeighborX_Loc(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16NeighborX_Loc(r16) _BFGET_(r16, 7, 0)
#define SET16NeighborX_Loc(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32NeighborX_RSVD(r32) _BFGET_(r32,11, 8)
#define SET32NeighborX_RSVD(r32,v) _BFSET_(r32,11, 8,v)
#define GET16NeighborX_RSVD(r16) _BFGET_(r16,11, 8)
#define SET16NeighborX_RSVD(r16,v) _BFSET_(r16,11, 8,v)
#define GET32NeighborX_A(r32) _BFGET_(r32,12,12)
#define SET32NeighborX_A(r32,v) _BFSET_(r32,12,12,v)
#define GET16NeighborX_A(r16) _BFGET_(r16,12,12)
#define SET16NeighborX_A(r16,v) _BFSET_(r16,12,12,v)
#define GET32NeighborX_B(r32) _BFGET_(r32,13,13)
#define SET32NeighborX_B(r32,v) _BFSET_(r32,13,13,v)
#define GET16NeighborX_B(r16) _BFGET_(r16,13,13)
#define SET16NeighborX_B(r16,v) _BFSET_(r16,13,13,v)
#define GET32NeighborX_C(r32) _BFGET_(r32,14,14)
#define SET32NeighborX_C(r32,v) _BFSET_(r32,14,14,v)
#define GET16NeighborX_C(r16) _BFGET_(r16,14,14)
#define SET16NeighborX_C(r16,v) _BFSET_(r16,14,14,v)
#define GET32NeighborX_D(r32) _BFGET_(r32,15,15)
#define SET32NeighborX_D(r32,v) _BFSET_(r32,15,15,v)
#define GET16NeighborX_D(r16) _BFGET_(r16,15,15)
#define SET16NeighborX_D(r16,v) _BFSET_(r16,15,15,v)
UNSG32 u_Loc : 8;
UNSG32 u_RSVD : 4;
UNSG32 u_A : 1;
UNSG32 u_B : 1;
UNSG32 u_C : 1;
UNSG32 u_D : 1;
UNSG32 RSVDx0_b16 : 16;
///////////////////////////////////////////////////////////
} SIE_NeighborX;
///////////////////////////////////////////////////////////
SIGN32 NeighborX_drvrd(SIE_NeighborX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 NeighborX_drvwr(SIE_NeighborX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void NeighborX_reset(SIE_NeighborX *p);
SIGN32 NeighborX_cmp (SIE_NeighborX *p, SIE_NeighborX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define NeighborX_check(p,pie,pfx,hLOG) NeighborX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define NeighborX_print(p, pfx,hLOG) NeighborX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: NeighborX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE NeighborAB (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 ALoc
/// ###
/// * Left block location in MBCTXQ
/// ###
/// %unsigned 8 BLoc
/// ###
/// * Upper block location in MBCTXQ
/// * End of NeighborAB
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_NeighborAB
#define h_NeighborAB (){}
#define BA_NeighborAB_ALoc 0x0000
#define B16NeighborAB_ALoc 0x0000
#define LSb32NeighborAB_ALoc 0
#define LSb16NeighborAB_ALoc 0
#define bNeighborAB_ALoc 8
#define MSK32NeighborAB_ALoc 0x000000FF
#define BA_NeighborAB_BLoc 0x0001
#define B16NeighborAB_BLoc 0x0000
#define LSb32NeighborAB_BLoc 8
#define LSb16NeighborAB_BLoc 8
#define bNeighborAB_BLoc 8
#define MSK32NeighborAB_BLoc 0x0000FF00
///////////////////////////////////////////////////////////
typedef struct SIE_NeighborAB {
///////////////////////////////////////////////////////////
#define GET32NeighborAB_ALoc(r32) _BFGET_(r32, 7, 0)
#define SET32NeighborAB_ALoc(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16NeighborAB_ALoc(r16) _BFGET_(r16, 7, 0)
#define SET16NeighborAB_ALoc(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32NeighborAB_BLoc(r32) _BFGET_(r32,15, 8)
#define SET32NeighborAB_BLoc(r32,v) _BFSET_(r32,15, 8,v)
#define GET16NeighborAB_BLoc(r16) _BFGET_(r16,15, 8)
#define SET16NeighborAB_BLoc(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_ALoc : 8;
UNSG32 u_BLoc : 8;
UNSG32 RSVDx0_b16 : 16;
///////////////////////////////////////////////////////////
} SIE_NeighborAB;
///////////////////////////////////////////////////////////
SIGN32 NeighborAB_drvrd(SIE_NeighborAB *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 NeighborAB_drvwr(SIE_NeighborAB *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void NeighborAB_reset(SIE_NeighborAB *p);
SIGN32 NeighborAB_cmp (SIE_NeighborAB *p, SIE_NeighborAB *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define NeighborAB_check(p,pie,pfx,hLOG) NeighborAB_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define NeighborAB_print(p, pfx,hLOG) NeighborAB_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: NeighborAB
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE NeighborCD (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 CLoc
/// ###
/// * Upper-right block location in MBCTXQ
/// ###
/// %unsigned 8 DLoc
/// ###
/// * Upper-left block location in MBCTXQ
/// * End of NeighborCD
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_NeighborCD
#define h_NeighborCD (){}
#define BA_NeighborCD_CLoc 0x0000
#define B16NeighborCD_CLoc 0x0000
#define LSb32NeighborCD_CLoc 0
#define LSb16NeighborCD_CLoc 0
#define bNeighborCD_CLoc 8
#define MSK32NeighborCD_CLoc 0x000000FF
#define BA_NeighborCD_DLoc 0x0001
#define B16NeighborCD_DLoc 0x0000
#define LSb32NeighborCD_DLoc 8
#define LSb16NeighborCD_DLoc 8
#define bNeighborCD_DLoc 8
#define MSK32NeighborCD_DLoc 0x0000FF00
///////////////////////////////////////////////////////////
typedef struct SIE_NeighborCD {
///////////////////////////////////////////////////////////
#define GET32NeighborCD_CLoc(r32) _BFGET_(r32, 7, 0)
#define SET32NeighborCD_CLoc(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16NeighborCD_CLoc(r16) _BFGET_(r16, 7, 0)
#define SET16NeighborCD_CLoc(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32NeighborCD_DLoc(r32) _BFGET_(r32,15, 8)
#define SET32NeighborCD_DLoc(r32,v) _BFSET_(r32,15, 8,v)
#define GET16NeighborCD_DLoc(r16) _BFGET_(r16,15, 8)
#define SET16NeighborCD_DLoc(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_CLoc : 8;
UNSG32 u_DLoc : 8;
UNSG32 RSVDx0_b16 : 16;
///////////////////////////////////////////////////////////
} SIE_NeighborCD;
///////////////////////////////////////////////////////////
SIGN32 NeighborCD_drvrd(SIE_NeighborCD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 NeighborCD_drvwr(SIE_NeighborCD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void NeighborCD_reset(SIE_NeighborCD *p);
SIGN32 NeighborCD_cmp (SIE_NeighborCD *p, SIE_NeighborCD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define NeighborCD_check(p,pie,pfx,hLOG) NeighborCD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define NeighborCD_print(p, pfx,hLOG) NeighborCD_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: NeighborCD
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE DQmsg biu (4,4)
/// ###
/// * dQuant message format; passed through TQ @ A64CMD
/// * [00:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 4 cat
/// ###
/// * same as NLoc.category in decHal_mbLvl.sxw.txt.txt
/// ###
/// %unsigned 1 rnd_off
/// ###
/// * 1: turn off rounding; uniform dequantization only
/// ###
/// %signed 5 lshift_bit
/// ###
/// * for uniform dequantization only; signed 5-bit
/// ###
/// %unsigned 6 idx
/// ###
/// * scan index within the block
/// * 16-bit boundary
/// ###
/// %unsigned 8 qstep
/// ###
/// * Dequantization step, unsigned 8-bit
/// ###
/// %unsigned 8 qm
/// ###
/// * Dequantization matrix value, unsigned 8-bit
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// %unsigned 8 dq_offset
/// ###
/// * Dequantization offset; for AC type only
/// ###
/// %unsigned 8 rsvd0
/// ###
/// * Not used
/// * 16-bit boundary
/// ###
/// %unsigned 16 rsvd1
/// ###
/// * Not used
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_DQmsg
#define h_DQmsg (){}
#define BA_DQmsg_cat 0x0000
#define B16DQmsg_cat 0x0000
#define LSb32DQmsg_cat 0
#define LSb16DQmsg_cat 0
#define bDQmsg_cat 4
#define MSK32DQmsg_cat 0x0000000F
#define BA_DQmsg_rnd_off 0x0000
#define B16DQmsg_rnd_off 0x0000
#define LSb32DQmsg_rnd_off 4
#define LSb16DQmsg_rnd_off 4
#define bDQmsg_rnd_off 1
#define MSK32DQmsg_rnd_off 0x00000010
#define BA_DQmsg_lshift_bit 0x0000
#define B16DQmsg_lshift_bit 0x0000
#define LSb32DQmsg_lshift_bit 5
#define LSb16DQmsg_lshift_bit 5
#define bDQmsg_lshift_bit 5
#define MSK32DQmsg_lshift_bit 0x000003E0
#define BA_DQmsg_idx 0x0001
#define B16DQmsg_idx 0x0000
#define LSb32DQmsg_idx 10
#define LSb16DQmsg_idx 10
#define bDQmsg_idx 6
#define MSK32DQmsg_idx 0x0000FC00
#define BA_DQmsg_qstep 0x0002
#define B16DQmsg_qstep 0x0002
#define LSb32DQmsg_qstep 16
#define LSb16DQmsg_qstep 0
#define bDQmsg_qstep 8
#define MSK32DQmsg_qstep 0x00FF0000
#define BA_DQmsg_qm 0x0003
#define B16DQmsg_qm 0x0002
#define LSb32DQmsg_qm 24
#define LSb16DQmsg_qm 8
#define bDQmsg_qm 8
#define MSK32DQmsg_qm 0xFF000000
///////////////////////////////////////////////////////////
#define BA_DQmsg_dq_offset 0x0004
#define B16DQmsg_dq_offset 0x0004
#define LSb32DQmsg_dq_offset 0
#define LSb16DQmsg_dq_offset 0
#define bDQmsg_dq_offset 8
#define MSK32DQmsg_dq_offset 0x000000FF
#define BA_DQmsg_rsvd0 0x0005
#define B16DQmsg_rsvd0 0x0004
#define LSb32DQmsg_rsvd0 8
#define LSb16DQmsg_rsvd0 8
#define bDQmsg_rsvd0 8
#define MSK32DQmsg_rsvd0 0x0000FF00
#define BA_DQmsg_rsvd1 0x0006
#define B16DQmsg_rsvd1 0x0006
#define LSb32DQmsg_rsvd1 16
#define LSb16DQmsg_rsvd1 0
#define bDQmsg_rsvd1 16
#define MSK32DQmsg_rsvd1 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_DQmsg {
///////////////////////////////////////////////////////////
#define GET32DQmsg_cat(r32) _BFGET_(r32, 3, 0)
#define SET32DQmsg_cat(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16DQmsg_cat(r16) _BFGET_(r16, 3, 0)
#define SET16DQmsg_cat(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32DQmsg_rnd_off(r32) _BFGET_(r32, 4, 4)
#define SET32DQmsg_rnd_off(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16DQmsg_rnd_off(r16) _BFGET_(r16, 4, 4)
#define SET16DQmsg_rnd_off(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32DQmsg_lshift_bit(r32) _BFGET_(r32, 9, 5)
#define SET32DQmsg_lshift_bit(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16DQmsg_lshift_bit(r16) _BFGET_(r16, 9, 5)
#define SET16DQmsg_lshift_bit(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32DQmsg_idx(r32) _BFGET_(r32,15,10)
#define SET32DQmsg_idx(r32,v) _BFSET_(r32,15,10,v)
#define GET16DQmsg_idx(r16) _BFGET_(r16,15,10)
#define SET16DQmsg_idx(r16,v) _BFSET_(r16,15,10,v)
#define GET32DQmsg_qstep(r32) _BFGET_(r32,23,16)
#define SET32DQmsg_qstep(r32,v) _BFSET_(r32,23,16,v)
#define GET16DQmsg_qstep(r16) _BFGET_(r16, 7, 0)
#define SET16DQmsg_qstep(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32DQmsg_qm(r32) _BFGET_(r32,31,24)
#define SET32DQmsg_qm(r32,v) _BFSET_(r32,31,24,v)
#define GET16DQmsg_qm(r16) _BFGET_(r16,15, 8)
#define SET16DQmsg_qm(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_cat : 4;
UNSG32 u_rnd_off : 1;
UNSG32 s_lshift_bit : 5;
UNSG32 u_idx : 6;
UNSG32 u_qstep : 8;
UNSG32 u_qm : 8;
///////////////////////////////////////////////////////////
#define GET32DQmsg_dq_offset(r32) _BFGET_(r32, 7, 0)
#define SET32DQmsg_dq_offset(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16DQmsg_dq_offset(r16) _BFGET_(r16, 7, 0)
#define SET16DQmsg_dq_offset(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32DQmsg_rsvd0(r32) _BFGET_(r32,15, 8)
#define SET32DQmsg_rsvd0(r32,v) _BFSET_(r32,15, 8,v)
#define GET16DQmsg_rsvd0(r16) _BFGET_(r16,15, 8)
#define SET16DQmsg_rsvd0(r16,v) _BFSET_(r16,15, 8,v)
#define GET32DQmsg_rsvd1(r32) _BFGET_(r32,31,16)
#define SET32DQmsg_rsvd1(r32,v) _BFSET_(r32,31,16,v)
#define GET16DQmsg_rsvd1(r16) _BFGET_(r16,15, 0)
#define SET16DQmsg_rsvd1(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_dq_offset : 8;
UNSG32 u_rsvd0 : 8;
UNSG32 u_rsvd1 : 16;
///////////////////////////////////////////////////////////
} SIE_DQmsg;
///////////////////////////////////////////////////////////
SIGN32 DQmsg_drvrd(SIE_DQmsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 DQmsg_drvwr(SIE_DQmsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void DQmsg_reset(SIE_DQmsg *p);
SIGN32 DQmsg_cmp (SIE_DQmsg *p, SIE_DQmsg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define DQmsg_check(p,pie,pfx,hLOG) DQmsg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define DQmsg_print(p, pfx,hLOG) DQmsg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: DQmsg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE QMWD (4,4)
/// ###
/// * Quantization matrix word
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 word (P)
/// %unsigned 14 val 0x0
/// %% 18 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 14b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_QMWD
#define h_QMWD (){}
#define RA_QMWD_word 0x0000
#define BA_QMWD_word_val 0x0000
#define B16QMWD_word_val 0x0000
#define LSb32QMWD_word_val 0
#define LSb16QMWD_word_val 0
#define bQMWD_word_val 14
#define MSK32QMWD_word_val 0x00003FFF
///////////////////////////////////////////////////////////
typedef struct SIE_QMWD {
///////////////////////////////////////////////////////////
#define GET32QMWD_word_val(r32) _BFGET_(r32,13, 0)
#define SET32QMWD_word_val(r32,v) _BFSET_(r32,13, 0,v)
#define GET16QMWD_word_val(r16) _BFGET_(r16,13, 0)
#define SET16QMWD_word_val(r16,v) _BFSET_(r16,13, 0,v)
#define w32QMWD_word {\
UNSG32 uword_val : 14;\
UNSG32 RSVDx0_b14 : 18;\
}
union { UNSG32 u32QMWD_word;
struct w32QMWD_word;
};
///////////////////////////////////////////////////////////
} SIE_QMWD;
typedef union T32QMWD_word
{ UNSG32 u32;
struct w32QMWD_word;
} T32QMWD_word;
///////////////////////////////////////////////////////////
typedef union TQMWD_word
{ UNSG32 u32[1];
struct {
struct w32QMWD_word;
};
} TQMWD_word;
///////////////////////////////////////////////////////////
SIGN32 QMWD_drvrd(SIE_QMWD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 QMWD_drvwr(SIE_QMWD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void QMWD_reset(SIE_QMWD *p);
SIGN32 QMWD_cmp (SIE_QMWD *p, SIE_QMWD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define QMWD_check(p,pie,pfx,hLOG) QMWD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define QMWD_print(p, pfx,hLOG) QMWD_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: QMWD
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE QM4x4 (4,4)
/// ###
/// * 4x4 Quantization Matrix
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 qm
/// $QMWD qm REG [16]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 224b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_QM4x4
#define h_QM4x4 (){}
#define RA_QM4x4_qm 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_QM4x4 {
///////////////////////////////////////////////////////////
SIE_QMWD ie_qm[16];
///////////////////////////////////////////////////////////
} SIE_QM4x4;
///////////////////////////////////////////////////////////
SIGN32 QM4x4_drvrd(SIE_QM4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 QM4x4_drvwr(SIE_QM4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void QM4x4_reset(SIE_QM4x4 *p);
SIGN32 QM4x4_cmp (SIE_QM4x4 *p, SIE_QM4x4 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define QM4x4_check(p,pie,pfx,hLOG) QM4x4_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define QM4x4_print(p, pfx,hLOG) QM4x4_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: QM4x4
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE QM_Remx4x4 (4,4)
/// ###
/// * 4x4 Quantization Matrices, one for each Qrem value
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 qm
/// $QM4x4 qm REG [6]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 384B, bits: 1344b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_QM_Remx4x4
#define h_QM_Remx4x4 (){}
#define RA_QM_Remx4x4_qm 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_QM_Remx4x4 {
///////////////////////////////////////////////////////////
SIE_QM4x4 ie_qm[6];
///////////////////////////////////////////////////////////
} SIE_QM_Remx4x4;
///////////////////////////////////////////////////////////
SIGN32 QM_Remx4x4_drvrd(SIE_QM_Remx4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 QM_Remx4x4_drvwr(SIE_QM_Remx4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void QM_Remx4x4_reset(SIE_QM_Remx4x4 *p);
SIGN32 QM_Remx4x4_cmp (SIE_QM_Remx4x4 *p, SIE_QM_Remx4x4 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define QM_Remx4x4_check(p,pie,pfx,hLOG) QM_Remx4x4_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define QM_Remx4x4_print(p, pfx,hLOG) QM_Remx4x4_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: QM_Remx4x4
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE QM8x8 (4,4)
/// ###
/// * 8x8 Quantization Matrix
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 qm
/// $QMWD qm REG [64]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 256B, bits: 896b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_QM8x8
#define h_QM8x8 (){}
#define RA_QM8x8_qm 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_QM8x8 {
///////////////////////////////////////////////////////////
SIE_QMWD ie_qm[64];
///////////////////////////////////////////////////////////
} SIE_QM8x8;
///////////////////////////////////////////////////////////
SIGN32 QM8x8_drvrd(SIE_QM8x8 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 QM8x8_drvwr(SIE_QM8x8 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void QM8x8_reset(SIE_QM8x8 *p);
SIGN32 QM8x8_cmp (SIE_QM8x8 *p, SIE_QM8x8 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define QM8x8_check(p,pie,pfx,hLOG) QM8x8_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define QM8x8_print(p, pfx,hLOG) QM8x8_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: QM8x8
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE QM_Remx8x8 (4,4)
/// ###
/// * 8x8 Quantization Matrices, one for each Qrem value
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 qm
/// $QM8x8 qm REG [6]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 1536B, bits: 5376b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_QM_Remx8x8
#define h_QM_Remx8x8 (){}
#define RA_QM_Remx8x8_qm 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_QM_Remx8x8 {
///////////////////////////////////////////////////////////
SIE_QM8x8 ie_qm[6];
///////////////////////////////////////////////////////////
} SIE_QM_Remx8x8;
///////////////////////////////////////////////////////////
SIGN32 QM_Remx8x8_drvrd(SIE_QM_Remx8x8 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 QM_Remx8x8_drvwr(SIE_QM_Remx8x8 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void QM_Remx8x8_reset(SIE_QM_Remx8x8 *p);
SIGN32 QM_Remx8x8_cmp (SIE_QM_Remx8x8 *p, SIE_QM_Remx8x8 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define QM_Remx8x8_check(p,pie,pfx,hLOG) QM_Remx8x8_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define QM_Remx8x8_print(p, pfx,hLOG) QM_Remx8x8_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: QM_Remx8x8
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dQuant biu (4,4)
/// ###
/// * dQuant BIU registers
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 Intra4x4Y
/// $QM_Remx4x4 Intra4x4Y REG
/// ###
/// * Intra 4x4 quantization matrix for Y, H.264 only
/// ###
/// @ 0x00180 (P)
/// # 0x00180 Intra4x4U
/// $QM_Remx4x4 Intra4x4U REG
/// ###
/// * Intra 4x4 quantization matrix for U, H.264 only
/// ###
/// @ 0x00300 (P)
/// # 0x00300 Intra4x4V
/// $QM_Remx4x4 Intra4x4V REG
/// ###
/// * Intra 4x4 quantization matrix for V, H.264 only
/// ###
/// @ 0x00480 (P)
/// # 0x00480 Inter4x4Y
/// $QM_Remx4x4 Inter4x4Y REG
/// ###
/// * Inter 4x4 quantization matrix for Y, H.264 only
/// ###
/// @ 0x00600 (P)
/// # 0x00600 Inter4x4U
/// $QM_Remx4x4 Inter4x4U REG
/// ###
/// * Inter 4x4 quantization matrix for U, H.264 only
/// ###
/// @ 0x00780 (P)
/// # 0x00780 Inter4x4V
/// $QM_Remx4x4 Inter4x4V REG
/// ###
/// * Inter 4x4 quantization matrix for V, H.264 only
/// ###
/// @ 0x00900 (P)
/// # 0x00900 Intra8x8Y
/// $QM_Remx8x8 Intra8x8Y REG
/// ###
/// * H.264: Intra 8x8 quantization matrix for Y
/// * MPEG-4: luma scaling matrix for DC/AC prediction
/// ###
/// @ 0x00F00 (P)
/// # 0x00F00 Inter8x8Y
/// $QM_Remx8x8 Inter8x8Y REG
/// ###
/// * H.264: Inter 8x8 quantization matrix for Y
/// * MPEG-4: chroma scaling matrix for DC/AC prediction
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 5376B, bits: 18816b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dQuant
#define h_dQuant (){}
#define RA_dQuant_Intra4x4Y 0x0000
///////////////////////////////////////////////////////////
#define RA_dQuant_Intra4x4U 0x0180
///////////////////////////////////////////////////////////
#define RA_dQuant_Intra4x4V 0x0300
///////////////////////////////////////////////////////////
#define RA_dQuant_Inter4x4Y 0x0480
///////////////////////////////////////////////////////////
#define RA_dQuant_Inter4x4U 0x0600
///////////////////////////////////////////////////////////
#define RA_dQuant_Inter4x4V 0x0780
///////////////////////////////////////////////////////////
#define RA_dQuant_Intra8x8Y 0x0900
///////////////////////////////////////////////////////////
#define RA_dQuant_Inter8x8Y 0x0F00
///////////////////////////////////////////////////////////
typedef struct SIE_dQuant {
///////////////////////////////////////////////////////////
SIE_QM_Remx4x4 ie_Intra4x4Y;
///////////////////////////////////////////////////////////
SIE_QM_Remx4x4 ie_Intra4x4U;
///////////////////////////////////////////////////////////
SIE_QM_Remx4x4 ie_Intra4x4V;
///////////////////////////////////////////////////////////
SIE_QM_Remx4x4 ie_Inter4x4Y;
///////////////////////////////////////////////////////////
SIE_QM_Remx4x4 ie_Inter4x4U;
///////////////////////////////////////////////////////////
SIE_QM_Remx4x4 ie_Inter4x4V;
///////////////////////////////////////////////////////////
SIE_QM_Remx8x8 ie_Intra8x8Y;
///////////////////////////////////////////////////////////
SIE_QM_Remx8x8 ie_Inter8x8Y;
///////////////////////////////////////////////////////////
} SIE_dQuant;
///////////////////////////////////////////////////////////
SIGN32 dQuant_drvrd(SIE_dQuant *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dQuant_drvwr(SIE_dQuant *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dQuant_reset(SIE_dQuant *p);
SIGN32 dQuant_cmp (SIE_dQuant *p, SIE_dQuant *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dQuant_check(p,pie,pfx,hLOG) dQuant_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dQuant_print(p, pfx,hLOG) dQuant_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dQuant
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vcMsgMV biu (4,4)
/// ###
/// * 8-bit vcMsg return data when ID = F0A64_vcMsgMv
/// * [0:7]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 mvX
/// ###
/// * Index of the 4x4 block @ upper-left corner of partition
/// ###
/// %unsigned 2 mvYL
/// ###
/// * Block / macroblock partition info
/// ###
/// %unsigned 3 mvYC
/// ###
/// * 0: partition is at macroblock level
/// * 1: partition is at 8x8 block level
/// ###
/// %unsigned 3 mv1X
/// %unsigned 2 mv1YL
/// %unsigned 3 mv1YC
/// %unsigned 3 mv2X
/// %unsigned 2 mv2YL
/// %unsigned 3 mv2YC
/// %unsigned 3 mv3X
/// %unsigned 2 mv3YL
/// %unsigned 3 mv3YC
/// ###
/// * End vcMsgMV
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vcMsgMV
#define h_vcMsgMV (){}
#define BA_vcMsgMV_mvX 0x0000
#define B16vcMsgMV_mvX 0x0000
#define LSb32vcMsgMV_mvX 0
#define LSb16vcMsgMV_mvX 0
#define bvcMsgMV_mvX 3
#define MSK32vcMsgMV_mvX 0x00000007
#define BA_vcMsgMV_mvYL 0x0000
#define B16vcMsgMV_mvYL 0x0000
#define LSb32vcMsgMV_mvYL 3
#define LSb16vcMsgMV_mvYL 3
#define bvcMsgMV_mvYL 2
#define MSK32vcMsgMV_mvYL 0x00000018
#define BA_vcMsgMV_mvYC 0x0000
#define B16vcMsgMV_mvYC 0x0000
#define LSb32vcMsgMV_mvYC 5
#define LSb16vcMsgMV_mvYC 5
#define bvcMsgMV_mvYC 3
#define MSK32vcMsgMV_mvYC 0x000000E0
#define BA_vcMsgMV_mv1X 0x0001
#define B16vcMsgMV_mv1X 0x0000
#define LSb32vcMsgMV_mv1X 8
#define LSb16vcMsgMV_mv1X 8
#define bvcMsgMV_mv1X 3
#define MSK32vcMsgMV_mv1X 0x00000700
#define BA_vcMsgMV_mv1YL 0x0001
#define B16vcMsgMV_mv1YL 0x0000
#define LSb32vcMsgMV_mv1YL 11
#define LSb16vcMsgMV_mv1YL 11
#define bvcMsgMV_mv1YL 2
#define MSK32vcMsgMV_mv1YL 0x00001800
#define BA_vcMsgMV_mv1YC 0x0001
#define B16vcMsgMV_mv1YC 0x0000
#define LSb32vcMsgMV_mv1YC 13
#define LSb16vcMsgMV_mv1YC 13
#define bvcMsgMV_mv1YC 3
#define MSK32vcMsgMV_mv1YC 0x0000E000
#define BA_vcMsgMV_mv2X 0x0002
#define B16vcMsgMV_mv2X 0x0002
#define LSb32vcMsgMV_mv2X 16
#define LSb16vcMsgMV_mv2X 0
#define bvcMsgMV_mv2X 3
#define MSK32vcMsgMV_mv2X 0x00070000
#define BA_vcMsgMV_mv2YL 0x0002
#define B16vcMsgMV_mv2YL 0x0002
#define LSb32vcMsgMV_mv2YL 19
#define LSb16vcMsgMV_mv2YL 3
#define bvcMsgMV_mv2YL 2
#define MSK32vcMsgMV_mv2YL 0x00180000
#define BA_vcMsgMV_mv2YC 0x0002
#define B16vcMsgMV_mv2YC 0x0002
#define LSb32vcMsgMV_mv2YC 21
#define LSb16vcMsgMV_mv2YC 5
#define bvcMsgMV_mv2YC 3
#define MSK32vcMsgMV_mv2YC 0x00E00000
#define BA_vcMsgMV_mv3X 0x0003
#define B16vcMsgMV_mv3X 0x0002
#define LSb32vcMsgMV_mv3X 24
#define LSb16vcMsgMV_mv3X 8
#define bvcMsgMV_mv3X 3
#define MSK32vcMsgMV_mv3X 0x07000000
#define BA_vcMsgMV_mv3YL 0x0003
#define B16vcMsgMV_mv3YL 0x0002
#define LSb32vcMsgMV_mv3YL 27
#define LSb16vcMsgMV_mv3YL 11
#define bvcMsgMV_mv3YL 2
#define MSK32vcMsgMV_mv3YL 0x18000000
#define BA_vcMsgMV_mv3YC 0x0003
#define B16vcMsgMV_mv3YC 0x0002
#define LSb32vcMsgMV_mv3YC 29
#define LSb16vcMsgMV_mv3YC 13
#define bvcMsgMV_mv3YC 3
#define MSK32vcMsgMV_mv3YC 0xE0000000
///////////////////////////////////////////////////////////
typedef struct SIE_vcMsgMV {
///////////////////////////////////////////////////////////
#define GET32vcMsgMV_mvX(r32) _BFGET_(r32, 2, 0)
#define SET32vcMsgMV_mvX(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16vcMsgMV_mvX(r16) _BFGET_(r16, 2, 0)
#define SET16vcMsgMV_mvX(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32vcMsgMV_mvYL(r32) _BFGET_(r32, 4, 3)
#define SET32vcMsgMV_mvYL(r32,v) _BFSET_(r32, 4, 3,v)
#define GET16vcMsgMV_mvYL(r16) _BFGET_(r16, 4, 3)
#define SET16vcMsgMV_mvYL(r16,v) _BFSET_(r16, 4, 3,v)
#define GET32vcMsgMV_mvYC(r32) _BFGET_(r32, 7, 5)
#define SET32vcMsgMV_mvYC(r32,v) _BFSET_(r32, 7, 5,v)
#define GET16vcMsgMV_mvYC(r16) _BFGET_(r16, 7, 5)
#define SET16vcMsgMV_mvYC(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32vcMsgMV_mv1X(r32) _BFGET_(r32,10, 8)
#define SET32vcMsgMV_mv1X(r32,v) _BFSET_(r32,10, 8,v)
#define GET16vcMsgMV_mv1X(r16) _BFGET_(r16,10, 8)
#define SET16vcMsgMV_mv1X(r16,v) _BFSET_(r16,10, 8,v)
#define GET32vcMsgMV_mv1YL(r32) _BFGET_(r32,12,11)
#define SET32vcMsgMV_mv1YL(r32,v) _BFSET_(r32,12,11,v)
#define GET16vcMsgMV_mv1YL(r16) _BFGET_(r16,12,11)
#define SET16vcMsgMV_mv1YL(r16,v) _BFSET_(r16,12,11,v)
#define GET32vcMsgMV_mv1YC(r32) _BFGET_(r32,15,13)
#define SET32vcMsgMV_mv1YC(r32,v) _BFSET_(r32,15,13,v)
#define GET16vcMsgMV_mv1YC(r16) _BFGET_(r16,15,13)
#define SET16vcMsgMV_mv1YC(r16,v) _BFSET_(r16,15,13,v)
#define GET32vcMsgMV_mv2X(r32) _BFGET_(r32,18,16)
#define SET32vcMsgMV_mv2X(r32,v) _BFSET_(r32,18,16,v)
#define GET16vcMsgMV_mv2X(r16) _BFGET_(r16, 2, 0)
#define SET16vcMsgMV_mv2X(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32vcMsgMV_mv2YL(r32) _BFGET_(r32,20,19)
#define SET32vcMsgMV_mv2YL(r32,v) _BFSET_(r32,20,19,v)
#define GET16vcMsgMV_mv2YL(r16) _BFGET_(r16, 4, 3)
#define SET16vcMsgMV_mv2YL(r16,v) _BFSET_(r16, 4, 3,v)
#define GET32vcMsgMV_mv2YC(r32) _BFGET_(r32,23,21)
#define SET32vcMsgMV_mv2YC(r32,v) _BFSET_(r32,23,21,v)
#define GET16vcMsgMV_mv2YC(r16) _BFGET_(r16, 7, 5)
#define SET16vcMsgMV_mv2YC(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32vcMsgMV_mv3X(r32) _BFGET_(r32,26,24)
#define SET32vcMsgMV_mv3X(r32,v) _BFSET_(r32,26,24,v)
#define GET16vcMsgMV_mv3X(r16) _BFGET_(r16,10, 8)
#define SET16vcMsgMV_mv3X(r16,v) _BFSET_(r16,10, 8,v)
#define GET32vcMsgMV_mv3YL(r32) _BFGET_(r32,28,27)
#define SET32vcMsgMV_mv3YL(r32,v) _BFSET_(r32,28,27,v)
#define GET16vcMsgMV_mv3YL(r16) _BFGET_(r16,12,11)
#define SET16vcMsgMV_mv3YL(r16,v) _BFSET_(r16,12,11,v)
#define GET32vcMsgMV_mv3YC(r32) _BFGET_(r32,31,29)
#define SET32vcMsgMV_mv3YC(r32,v) _BFSET_(r32,31,29,v)
#define GET16vcMsgMV_mv3YC(r16) _BFGET_(r16,15,13)
#define SET16vcMsgMV_mv3YC(r16,v) _BFSET_(r16,15,13,v)
UNSG32 u_mvX : 3;
UNSG32 u_mvYL : 2;
UNSG32 u_mvYC : 3;
UNSG32 u_mv1X : 3;
UNSG32 u_mv1YL : 2;
UNSG32 u_mv1YC : 3;
UNSG32 u_mv2X : 3;
UNSG32 u_mv2YL : 2;
UNSG32 u_mv2YC : 3;
UNSG32 u_mv3X : 3;
UNSG32 u_mv3YL : 2;
UNSG32 u_mv3YC : 3;
///////////////////////////////////////////////////////////
} SIE_vcMsgMV;
///////////////////////////////////////////////////////////
SIGN32 vcMsgMV_drvrd(SIE_vcMsgMV *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vcMsgMV_drvwr(SIE_vcMsgMV *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vcMsgMV_reset(SIE_vcMsgMV *p);
SIGN32 vcMsgMV_cmp (SIE_vcMsgMV *p, SIE_vcMsgMV *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vcMsgMV_check(p,pie,pfx,hLOG) vcMsgMV_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vcMsgMV_print(p, pfx,hLOG) vcMsgMV_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vcMsgMV
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vcMsgCMD biu (4,4)
/// ###
/// * 16-bit vcMsg command parameter
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 4 BLK
/// ###
/// * Index of the 4x4 block @ upper-left corner of partition
/// ###
/// %unsigned 2 partition
/// : 1mv 0x0
/// : 2mvLR 0x1
/// : 2mvTB 0x2
/// : 4mv 0x3
/// ###
/// * Block / macroblock partition info
/// ###
/// %unsigned 1 level
/// : mb 0x0
/// : blk8x8 0x1
/// ###
/// * 0: partition is at macroblock level
/// * 1: partition is at 8x8 block level
/// ###
/// %unsigned 1 RSVD 0x1
/// ###
/// * To ensure same defines as in Nloc.category
/// * End vcMsgCMD
/// ###
/// %% 24 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vcMsgCMD
#define h_vcMsgCMD (){}
#define BA_vcMsgCMD_BLK 0x0000
#define B16vcMsgCMD_BLK 0x0000
#define LSb32vcMsgCMD_BLK 0
#define LSb16vcMsgCMD_BLK 0
#define bvcMsgCMD_BLK 4
#define MSK32vcMsgCMD_BLK 0x0000000F
#define BA_vcMsgCMD_partition 0x0000
#define B16vcMsgCMD_partition 0x0000
#define LSb32vcMsgCMD_partition 4
#define LSb16vcMsgCMD_partition 4
#define bvcMsgCMD_partition 2
#define MSK32vcMsgCMD_partition 0x00000030
#define vcMsgCMD_partition_1mv 0x0
#define vcMsgCMD_partition_2mvLR 0x1
#define vcMsgCMD_partition_2mvTB 0x2
#define vcMsgCMD_partition_4mv 0x3
#define BA_vcMsgCMD_level 0x0000
#define B16vcMsgCMD_level 0x0000
#define LSb32vcMsgCMD_level 6
#define LSb16vcMsgCMD_level 6
#define bvcMsgCMD_level 1
#define MSK32vcMsgCMD_level 0x00000040
#define vcMsgCMD_level_mb 0x0
#define vcMsgCMD_level_blk8x8 0x1
#define BA_vcMsgCMD_RSVD 0x0000
#define B16vcMsgCMD_RSVD 0x0000
#define LSb32vcMsgCMD_RSVD 7
#define LSb16vcMsgCMD_RSVD 7
#define bvcMsgCMD_RSVD 1
#define MSK32vcMsgCMD_RSVD 0x00000080
///////////////////////////////////////////////////////////
typedef struct SIE_vcMsgCMD {
///////////////////////////////////////////////////////////
#define GET32vcMsgCMD_BLK(r32) _BFGET_(r32, 3, 0)
#define SET32vcMsgCMD_BLK(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16vcMsgCMD_BLK(r16) _BFGET_(r16, 3, 0)
#define SET16vcMsgCMD_BLK(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32vcMsgCMD_partition(r32) _BFGET_(r32, 5, 4)
#define SET32vcMsgCMD_partition(r32,v) _BFSET_(r32, 5, 4,v)
#define GET16vcMsgCMD_partition(r16) _BFGET_(r16, 5, 4)
#define SET16vcMsgCMD_partition(r16,v) _BFSET_(r16, 5, 4,v)
#define GET32vcMsgCMD_level(r32) _BFGET_(r32, 6, 6)
#define SET32vcMsgCMD_level(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16vcMsgCMD_level(r16) _BFGET_(r16, 6, 6)
#define SET16vcMsgCMD_level(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32vcMsgCMD_RSVD(r32) _BFGET_(r32, 7, 7)
#define SET32vcMsgCMD_RSVD(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16vcMsgCMD_RSVD(r16) _BFGET_(r16, 7, 7)
#define SET16vcMsgCMD_RSVD(r16,v) _BFSET_(r16, 7, 7,v)
UNSG32 u_BLK : 4;
UNSG32 u_partition : 2;
UNSG32 u_level : 1;
UNSG32 u_RSVD : 1;
UNSG32 RSVDx0_b8 : 24;
///////////////////////////////////////////////////////////
} SIE_vcMsgCMD;
///////////////////////////////////////////////////////////
SIGN32 vcMsgCMD_drvrd(SIE_vcMsgCMD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vcMsgCMD_drvwr(SIE_vcMsgCMD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vcMsgCMD_reset(SIE_vcMsgCMD *p);
SIGN32 vcMsgCMD_cmp (SIE_vcMsgCMD *p, SIE_vcMsgCMD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vcMsgCMD_check(p,pie,pfx,hLOG) vcMsgCMD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vcMsgCMD_print(p, pfx,hLOG) vcMsgCMD_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vcMsgCMD
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CacheMSG (4,4)
/// ###
/// * Message to setup vCache prefetching.
/// * [00:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 11 xLoc
/// ###
/// * Exact reference region horizontal location (in pixel)
/// ###
/// %unsigned 5 xPix
/// ###
/// * Exact reference region horizontal size (in pixel)
/// * 0 represents 32
/// ###
/// %unsigned 11 yLoc
/// ###
/// * Exact reference region vertical location (in pixel)
/// ###
/// %unsigned 5 yPix
/// ###
/// * Exact reference region vertical size (in pixel)
/// * 0 represents 32
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// %unsigned 5 xLocExp
/// ###
/// * Expansion horizontal offset (in pixel)
/// ###
/// %unsigned 3 xPixExp
/// ###
/// * Expansion horizontal size (in 4-pixel unit)
/// * 0 represents 8
/// ###
/// %unsigned 5 yLocExp
/// ###
/// * Expansion vertical offset (in pixel)
/// ###
/// %unsigned 3 yPixExp
/// ###
/// * Expansion vertical size (in 4-pixel unit)0 represents 8
/// ###
/// %unsigned 6 rBID
/// ###
/// * Reference buffer ID, last 1b indicates access mode:
/// * 0: frame/progressive or top field
/// * 1: bottom field
/// ###
/// %unsigned 1 uv
/// ###
/// * 0/1 for Y or UV reference region
/// ###
/// %unsigned 1 fldMB
/// ###
/// * 0/1 for frame or field MB(-pair)
/// ###
/// %unsigned 2 hint
/// : bypass 0x0
/// ###
/// * Force to bypass cache
/// ###
/// : FrmX 0x1
/// ###
/// * Use FID & xLoc to decide cache way
/// ###
/// : FrmY 0x2
/// ###
/// * Use FID & yLoc to decide cache way
/// ###
/// : XY 0x3
/// ###
/// * Use xLoc & yLoc to decide cache way
/// ###
/// %unsigned 6 descID
/// ###
/// * Output transfer descriptor ID
/// * A descriptor shall have a (non-zero) semaphore ID to check not full before transfer, destination address and stride (in 4x4)
/// ###
/// : CFG 0x3F
/// ###
/// * vCache configuration message
/// * End of CacheMSG
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CacheMSG
#define h_CacheMSG (){}
#define BA_CacheMSG_xLoc 0x0000
#define B16CacheMSG_xLoc 0x0000
#define LSb32CacheMSG_xLoc 0
#define LSb16CacheMSG_xLoc 0
#define bCacheMSG_xLoc 11
#define MSK32CacheMSG_xLoc 0x000007FF
#define BA_CacheMSG_xPix 0x0001
#define B16CacheMSG_xPix 0x0000
#define LSb32CacheMSG_xPix 11
#define LSb16CacheMSG_xPix 11
#define bCacheMSG_xPix 5
#define MSK32CacheMSG_xPix 0x0000F800
#define BA_CacheMSG_yLoc 0x0002
#define B16CacheMSG_yLoc 0x0002
#define LSb32CacheMSG_yLoc 16
#define LSb16CacheMSG_yLoc 0
#define bCacheMSG_yLoc 11
#define MSK32CacheMSG_yLoc 0x07FF0000
#define BA_CacheMSG_yPix 0x0003
#define B16CacheMSG_yPix 0x0002
#define LSb32CacheMSG_yPix 27
#define LSb16CacheMSG_yPix 11
#define bCacheMSG_yPix 5
#define MSK32CacheMSG_yPix 0xF8000000
///////////////////////////////////////////////////////////
#define BA_CacheMSG_xLocExp 0x0004
#define B16CacheMSG_xLocExp 0x0004
#define LSb32CacheMSG_xLocExp 0
#define LSb16CacheMSG_xLocExp 0
#define bCacheMSG_xLocExp 5
#define MSK32CacheMSG_xLocExp 0x0000001F
#define BA_CacheMSG_xPixExp 0x0004
#define B16CacheMSG_xPixExp 0x0004
#define LSb32CacheMSG_xPixExp 5
#define LSb16CacheMSG_xPixExp 5
#define bCacheMSG_xPixExp 3
#define MSK32CacheMSG_xPixExp 0x000000E0
#define BA_CacheMSG_yLocExp 0x0005
#define B16CacheMSG_yLocExp 0x0004
#define LSb32CacheMSG_yLocExp 8
#define LSb16CacheMSG_yLocExp 8
#define bCacheMSG_yLocExp 5
#define MSK32CacheMSG_yLocExp 0x00001F00
#define BA_CacheMSG_yPixExp 0x0005
#define B16CacheMSG_yPixExp 0x0004
#define LSb32CacheMSG_yPixExp 13
#define LSb16CacheMSG_yPixExp 13
#define bCacheMSG_yPixExp 3
#define MSK32CacheMSG_yPixExp 0x0000E000
#define BA_CacheMSG_rBID 0x0006
#define B16CacheMSG_rBID 0x0006
#define LSb32CacheMSG_rBID 16
#define LSb16CacheMSG_rBID 0
#define bCacheMSG_rBID 6
#define MSK32CacheMSG_rBID 0x003F0000
#define BA_CacheMSG_uv 0x0006
#define B16CacheMSG_uv 0x0006
#define LSb32CacheMSG_uv 22
#define LSb16CacheMSG_uv 6
#define bCacheMSG_uv 1
#define MSK32CacheMSG_uv 0x00400000
#define BA_CacheMSG_fldMB 0x0006
#define B16CacheMSG_fldMB 0x0006
#define LSb32CacheMSG_fldMB 23
#define LSb16CacheMSG_fldMB 7
#define bCacheMSG_fldMB 1
#define MSK32CacheMSG_fldMB 0x00800000
#define BA_CacheMSG_hint 0x0007
#define B16CacheMSG_hint 0x0006
#define LSb32CacheMSG_hint 24
#define LSb16CacheMSG_hint 8
#define bCacheMSG_hint 2
#define MSK32CacheMSG_hint 0x03000000
#define CacheMSG_hint_bypass 0x0
#define CacheMSG_hint_FrmX 0x1
#define CacheMSG_hint_FrmY 0x2
#define CacheMSG_hint_XY 0x3
#define BA_CacheMSG_descID 0x0007
#define B16CacheMSG_descID 0x0006
#define LSb32CacheMSG_descID 26
#define LSb16CacheMSG_descID 10
#define bCacheMSG_descID 6
#define MSK32CacheMSG_descID 0xFC000000
#define CacheMSG_descID_CFG 0x3F
///////////////////////////////////////////////////////////
typedef struct SIE_CacheMSG {
///////////////////////////////////////////////////////////
#define GET32CacheMSG_xLoc(r32) _BFGET_(r32,10, 0)
#define SET32CacheMSG_xLoc(r32,v) _BFSET_(r32,10, 0,v)
#define GET16CacheMSG_xLoc(r16) _BFGET_(r16,10, 0)
#define SET16CacheMSG_xLoc(r16,v) _BFSET_(r16,10, 0,v)
#define GET32CacheMSG_xPix(r32) _BFGET_(r32,15,11)
#define SET32CacheMSG_xPix(r32,v) _BFSET_(r32,15,11,v)
#define GET16CacheMSG_xPix(r16) _BFGET_(r16,15,11)
#define SET16CacheMSG_xPix(r16,v) _BFSET_(r16,15,11,v)
#define GET32CacheMSG_yLoc(r32) _BFGET_(r32,26,16)
#define SET32CacheMSG_yLoc(r32,v) _BFSET_(r32,26,16,v)
#define GET16CacheMSG_yLoc(r16) _BFGET_(r16,10, 0)
#define SET16CacheMSG_yLoc(r16,v) _BFSET_(r16,10, 0,v)
#define GET32CacheMSG_yPix(r32) _BFGET_(r32,31,27)
#define SET32CacheMSG_yPix(r32,v) _BFSET_(r32,31,27,v)
#define GET16CacheMSG_yPix(r16) _BFGET_(r16,15,11)
#define SET16CacheMSG_yPix(r16,v) _BFSET_(r16,15,11,v)
UNSG32 u_xLoc : 11;
UNSG32 u_xPix : 5;
UNSG32 u_yLoc : 11;
UNSG32 u_yPix : 5;
///////////////////////////////////////////////////////////
#define GET32CacheMSG_xLocExp(r32) _BFGET_(r32, 4, 0)
#define SET32CacheMSG_xLocExp(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16CacheMSG_xLocExp(r16) _BFGET_(r16, 4, 0)
#define SET16CacheMSG_xLocExp(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32CacheMSG_xPixExp(r32) _BFGET_(r32, 7, 5)
#define SET32CacheMSG_xPixExp(r32,v) _BFSET_(r32, 7, 5,v)
#define GET16CacheMSG_xPixExp(r16) _BFGET_(r16, 7, 5)
#define SET16CacheMSG_xPixExp(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32CacheMSG_yLocExp(r32) _BFGET_(r32,12, 8)
#define SET32CacheMSG_yLocExp(r32,v) _BFSET_(r32,12, 8,v)
#define GET16CacheMSG_yLocExp(r16) _BFGET_(r16,12, 8)
#define SET16CacheMSG_yLocExp(r16,v) _BFSET_(r16,12, 8,v)
#define GET32CacheMSG_yPixExp(r32) _BFGET_(r32,15,13)
#define SET32CacheMSG_yPixExp(r32,v) _BFSET_(r32,15,13,v)
#define GET16CacheMSG_yPixExp(r16) _BFGET_(r16,15,13)
#define SET16CacheMSG_yPixExp(r16,v) _BFSET_(r16,15,13,v)
#define GET32CacheMSG_rBID(r32) _BFGET_(r32,21,16)
#define SET32CacheMSG_rBID(r32,v) _BFSET_(r32,21,16,v)
#define GET16CacheMSG_rBID(r16) _BFGET_(r16, 5, 0)
#define SET16CacheMSG_rBID(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32CacheMSG_uv(r32) _BFGET_(r32,22,22)
#define SET32CacheMSG_uv(r32,v) _BFSET_(r32,22,22,v)
#define GET16CacheMSG_uv(r16) _BFGET_(r16, 6, 6)
#define SET16CacheMSG_uv(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32CacheMSG_fldMB(r32) _BFGET_(r32,23,23)
#define SET32CacheMSG_fldMB(r32,v) _BFSET_(r32,23,23,v)
#define GET16CacheMSG_fldMB(r16) _BFGET_(r16, 7, 7)
#define SET16CacheMSG_fldMB(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32CacheMSG_hint(r32) _BFGET_(r32,25,24)
#define SET32CacheMSG_hint(r32,v) _BFSET_(r32,25,24,v)
#define GET16CacheMSG_hint(r16) _BFGET_(r16, 9, 8)
#define SET16CacheMSG_hint(r16,v) _BFSET_(r16, 9, 8,v)
#define GET32CacheMSG_descID(r32) _BFGET_(r32,31,26)
#define SET32CacheMSG_descID(r32,v) _BFSET_(r32,31,26,v)
#define GET16CacheMSG_descID(r16) _BFGET_(r16,15,10)
#define SET16CacheMSG_descID(r16,v) _BFSET_(r16,15,10,v)
UNSG32 u_xLocExp : 5;
UNSG32 u_xPixExp : 3;
UNSG32 u_yLocExp : 5;
UNSG32 u_yPixExp : 3;
UNSG32 u_rBID : 6;
UNSG32 u_uv : 1;
UNSG32 u_fldMB : 1;
UNSG32 u_hint : 2;
UNSG32 u_descID : 6;
///////////////////////////////////////////////////////////
} SIE_CacheMSG;
///////////////////////////////////////////////////////////
SIGN32 CacheMSG_drvrd(SIE_CacheMSG *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CacheMSG_drvwr(SIE_CacheMSG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CacheMSG_reset(SIE_CacheMSG *p);
SIGN32 CacheMSG_cmp (SIE_CacheMSG *p, SIE_CacheMSG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CacheMSG_check(p,pie,pfx,hLOG) CacheMSG_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CacheMSG_print(p, pfx,hLOG) CacheMSG_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CacheMSG
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BitOpX4 biu (4,4)
/// ###
/// * Operator format for BitOp extension
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 idx
/// ###
/// * rS[idx] or xT[idx] is used as source bit
/// * In case src==rS, idx[5:4] specifies the operation mode:
/// * idx[5:4]==2'b0x: output is from rS
/// * idx[5:4]==2'b10: output bit is forced to 0
/// * idx[5:4]==2'b11: output bit is forced to 1
/// ###
/// %unsigned 1 src
/// : xT 0x0
/// : rS 0x1
/// ###
/// * If src=rS, the source is from 16-bit input
/// * If src=xT, the source is from 64-bit input
/// ###
/// %unsigned 1 mode
/// : copy 0x0
/// : inv 0x1
/// ###
/// * copy: target bit copied from source bit
/// * inv: target bit copied from source bit then inverted
/// * Not used when src==rS & idx[5]==1'b1
/// ###
/// %unsigned 6 idx1
/// %unsigned 1 src1
/// %unsigned 1 mode1
/// %unsigned 6 idx2
/// %unsigned 1 src2
/// %unsigned 1 mode2
/// %unsigned 6 idx3
/// %unsigned 1 src3
/// %unsigned 1 mode3
/// ###
/// * End BitOpX4
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BitOpX4
#define h_BitOpX4 (){}
#define BA_BitOpX4_idx 0x0000
#define B16BitOpX4_idx 0x0000
#define LSb32BitOpX4_idx 0
#define LSb16BitOpX4_idx 0
#define bBitOpX4_idx 6
#define MSK32BitOpX4_idx 0x0000003F
#define BA_BitOpX4_src 0x0000
#define B16BitOpX4_src 0x0000
#define LSb32BitOpX4_src 6
#define LSb16BitOpX4_src 6
#define bBitOpX4_src 1
#define MSK32BitOpX4_src 0x00000040
#define BitOpX4_src_xT 0x0
#define BitOpX4_src_rS 0x1
#define BA_BitOpX4_mode 0x0000
#define B16BitOpX4_mode 0x0000
#define LSb32BitOpX4_mode 7
#define LSb16BitOpX4_mode 7
#define bBitOpX4_mode 1
#define MSK32BitOpX4_mode 0x00000080
#define BitOpX4_mode_copy 0x0
#define BitOpX4_mode_inv 0x1
#define BA_BitOpX4_idx1 0x0001
#define B16BitOpX4_idx1 0x0000
#define LSb32BitOpX4_idx1 8
#define LSb16BitOpX4_idx1 8
#define bBitOpX4_idx1 6
#define MSK32BitOpX4_idx1 0x00003F00
#define BA_BitOpX4_src1 0x0001
#define B16BitOpX4_src1 0x0000
#define LSb32BitOpX4_src1 14
#define LSb16BitOpX4_src1 14
#define bBitOpX4_src1 1
#define MSK32BitOpX4_src1 0x00004000
#define BA_BitOpX4_mode1 0x0001
#define B16BitOpX4_mode1 0x0000
#define LSb32BitOpX4_mode1 15
#define LSb16BitOpX4_mode1 15
#define bBitOpX4_mode1 1
#define MSK32BitOpX4_mode1 0x00008000
#define BA_BitOpX4_idx2 0x0002
#define B16BitOpX4_idx2 0x0002
#define LSb32BitOpX4_idx2 16
#define LSb16BitOpX4_idx2 0
#define bBitOpX4_idx2 6
#define MSK32BitOpX4_idx2 0x003F0000
#define BA_BitOpX4_src2 0x0002
#define B16BitOpX4_src2 0x0002
#define LSb32BitOpX4_src2 22
#define LSb16BitOpX4_src2 6
#define bBitOpX4_src2 1
#define MSK32BitOpX4_src2 0x00400000
#define BA_BitOpX4_mode2 0x0002
#define B16BitOpX4_mode2 0x0002
#define LSb32BitOpX4_mode2 23
#define LSb16BitOpX4_mode2 7
#define bBitOpX4_mode2 1
#define MSK32BitOpX4_mode2 0x00800000
#define BA_BitOpX4_idx3 0x0003
#define B16BitOpX4_idx3 0x0002
#define LSb32BitOpX4_idx3 24
#define LSb16BitOpX4_idx3 8
#define bBitOpX4_idx3 6
#define MSK32BitOpX4_idx3 0x3F000000
#define BA_BitOpX4_src3 0x0003
#define B16BitOpX4_src3 0x0002
#define LSb32BitOpX4_src3 30
#define LSb16BitOpX4_src3 14
#define bBitOpX4_src3 1
#define MSK32BitOpX4_src3 0x40000000
#define BA_BitOpX4_mode3 0x0003
#define B16BitOpX4_mode3 0x0002
#define LSb32BitOpX4_mode3 31
#define LSb16BitOpX4_mode3 15
#define bBitOpX4_mode3 1
#define MSK32BitOpX4_mode3 0x80000000
///////////////////////////////////////////////////////////
typedef struct SIE_BitOpX4 {
///////////////////////////////////////////////////////////
#define GET32BitOpX4_idx(r32) _BFGET_(r32, 5, 0)
#define SET32BitOpX4_idx(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BitOpX4_idx(r16) _BFGET_(r16, 5, 0)
#define SET16BitOpX4_idx(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BitOpX4_src(r32) _BFGET_(r32, 6, 6)
#define SET32BitOpX4_src(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16BitOpX4_src(r16) _BFGET_(r16, 6, 6)
#define SET16BitOpX4_src(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32BitOpX4_mode(r32) _BFGET_(r32, 7, 7)
#define SET32BitOpX4_mode(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16BitOpX4_mode(r16) _BFGET_(r16, 7, 7)
#define SET16BitOpX4_mode(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32BitOpX4_idx1(r32) _BFGET_(r32,13, 8)
#define SET32BitOpX4_idx1(r32,v) _BFSET_(r32,13, 8,v)
#define GET16BitOpX4_idx1(r16) _BFGET_(r16,13, 8)
#define SET16BitOpX4_idx1(r16,v) _BFSET_(r16,13, 8,v)
#define GET32BitOpX4_src1(r32) _BFGET_(r32,14,14)
#define SET32BitOpX4_src1(r32,v) _BFSET_(r32,14,14,v)
#define GET16BitOpX4_src1(r16) _BFGET_(r16,14,14)
#define SET16BitOpX4_src1(r16,v) _BFSET_(r16,14,14,v)
#define GET32BitOpX4_mode1(r32) _BFGET_(r32,15,15)
#define SET32BitOpX4_mode1(r32,v) _BFSET_(r32,15,15,v)
#define GET16BitOpX4_mode1(r16) _BFGET_(r16,15,15)
#define SET16BitOpX4_mode1(r16,v) _BFSET_(r16,15,15,v)
#define GET32BitOpX4_idx2(r32) _BFGET_(r32,21,16)
#define SET32BitOpX4_idx2(r32,v) _BFSET_(r32,21,16,v)
#define GET16BitOpX4_idx2(r16) _BFGET_(r16, 5, 0)
#define SET16BitOpX4_idx2(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BitOpX4_src2(r32) _BFGET_(r32,22,22)
#define SET32BitOpX4_src2(r32,v) _BFSET_(r32,22,22,v)
#define GET16BitOpX4_src2(r16) _BFGET_(r16, 6, 6)
#define SET16BitOpX4_src2(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32BitOpX4_mode2(r32) _BFGET_(r32,23,23)
#define SET32BitOpX4_mode2(r32,v) _BFSET_(r32,23,23,v)
#define GET16BitOpX4_mode2(r16) _BFGET_(r16, 7, 7)
#define SET16BitOpX4_mode2(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32BitOpX4_idx3(r32) _BFGET_(r32,29,24)
#define SET32BitOpX4_idx3(r32,v) _BFSET_(r32,29,24,v)
#define GET16BitOpX4_idx3(r16) _BFGET_(r16,13, 8)
#define SET16BitOpX4_idx3(r16,v) _BFSET_(r16,13, 8,v)
#define GET32BitOpX4_src3(r32) _BFGET_(r32,30,30)
#define SET32BitOpX4_src3(r32,v) _BFSET_(r32,30,30,v)
#define GET16BitOpX4_src3(r16) _BFGET_(r16,14,14)
#define SET16BitOpX4_src3(r16,v) _BFSET_(r16,14,14,v)
#define GET32BitOpX4_mode3(r32) _BFGET_(r32,31,31)
#define SET32BitOpX4_mode3(r32,v) _BFSET_(r32,31,31,v)
#define GET16BitOpX4_mode3(r16) _BFGET_(r16,15,15)
#define SET16BitOpX4_mode3(r16,v) _BFSET_(r16,15,15,v)
UNSG32 u_idx : 6;
UNSG32 u_src : 1;
UNSG32 u_mode : 1;
UNSG32 u_idx1 : 6;
UNSG32 u_src1 : 1;
UNSG32 u_mode1 : 1;
UNSG32 u_idx2 : 6;
UNSG32 u_src2 : 1;
UNSG32 u_mode2 : 1;
UNSG32 u_idx3 : 6;
UNSG32 u_src3 : 1;
UNSG32 u_mode3 : 1;
///////////////////////////////////////////////////////////
} SIE_BitOpX4;
///////////////////////////////////////////////////////////
SIGN32 BitOpX4_drvrd(SIE_BitOpX4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BitOpX4_drvwr(SIE_BitOpX4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BitOpX4_reset(SIE_BitOpX4 *p);
SIGN32 BitOpX4_cmp (SIE_BitOpX4 *p, SIE_BitOpX4 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BitOpX4_check(p,pie,pfx,hLOG) BitOpX4_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BitOpX4_print(p, pfx,hLOG) BitOpX4_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BitOpX4
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BITOPRF64 biu (4,4)
/// ###
/// * Operator format for BitOp extension
/// ###
/// # # ----------------------------------------------------------
/// : BitOp0 0x20
/// : BitOp1 0x21
/// : BitOp2 0x22
/// : BitOp3 0x23
/// ###
/// * extension ID definition; must be consistent with vScope_F0A64_BitOp0~3
/// ###
/// @ 0x00000 (P)
/// # 0x00000 cmd0
/// $BitOpX4 cmd0 REG [4]
/// @ 0x00010 (P)
/// # 0x00010 cmd1
/// $BitOpX4 cmd1 REG [4]
/// @ 0x00020 (P)
/// # 0x00020 cmd2
/// $BitOpX4 cmd2 REG [4]
/// @ 0x00030 (P)
/// # 0x00030 cmd3
/// $BitOpX4 cmd3 REG [4]
/// ###
/// * Four BitOp commands, selected by extension ID
/// * End BitOpCtx
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 512b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BITOPRF64
#define h_BITOPRF64 (){}
#define BITOPRF64_BitOp0 0x20
#define BITOPRF64_BitOp1 0x21
#define BITOPRF64_BitOp2 0x22
#define BITOPRF64_BitOp3 0x23
///////////////////////////////////////////////////////////
#define RA_BITOPRF64_cmd0 0x0000
///////////////////////////////////////////////////////////
#define RA_BITOPRF64_cmd1 0x0010
///////////////////////////////////////////////////////////
#define RA_BITOPRF64_cmd2 0x0020
///////////////////////////////////////////////////////////
#define RA_BITOPRF64_cmd3 0x0030
///////////////////////////////////////////////////////////
typedef struct SIE_BITOPRF64 {
///////////////////////////////////////////////////////////
SIE_BitOpX4 ie_cmd0[4];
///////////////////////////////////////////////////////////
SIE_BitOpX4 ie_cmd1[4];
///////////////////////////////////////////////////////////
SIE_BitOpX4 ie_cmd2[4];
///////////////////////////////////////////////////////////
SIE_BitOpX4 ie_cmd3[4];
///////////////////////////////////////////////////////////
} SIE_BITOPRF64;
///////////////////////////////////////////////////////////
SIGN32 BITOPRF64_drvrd(SIE_BITOPRF64 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BITOPRF64_drvwr(SIE_BITOPRF64 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BITOPRF64_reset(SIE_BITOPRF64 *p);
SIGN32 BITOPRF64_cmp (SIE_BITOPRF64 *p, SIE_BITOPRF64 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BITOPRF64_check(p,pie,pfx,hLOG) BITOPRF64_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BITOPRF64_print(p, pfx,hLOG) BITOPRF64_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BITOPRF64
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dirMvScale biu (4,4)
/// ###
/// * Scaling factors for temporal direct MV calculation
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %signed 12 factor
/// ###
/// * = clip(-1024, 1023, (tb*tx+32)>>6)
/// ###
/// %unsigned 20 RSVD20
/// ###
/// * pad to 32 bits
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// %unsigned 32 RSVD32
/// ###
/// * pad to 64 bits
/// * End dirMvScale
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dirMvScale
#define h_dirMvScale (){}
#define BA_dirMvScale_factor 0x0000
#define B16dirMvScale_factor 0x0000
#define LSb32dirMvScale_factor 0
#define LSb16dirMvScale_factor 0
#define bdirMvScale_factor 12
#define MSK32dirMvScale_factor 0x00000FFF
#define BA_dirMvScale_RSVD20 0x0001
#define B16dirMvScale_RSVD20 0x0000
#define LSb32dirMvScale_RSVD20 12
#define LSb16dirMvScale_RSVD20 12
#define bdirMvScale_RSVD20 20
#define MSK32dirMvScale_RSVD20 0xFFFFF000
///////////////////////////////////////////////////////////
#define BA_dirMvScale_RSVD32 0x0004
#define B16dirMvScale_RSVD32 0x0004
#define LSb32dirMvScale_RSVD32 0
#define LSb16dirMvScale_RSVD32 0
#define bdirMvScale_RSVD32 32
#define MSK32dirMvScale_RSVD32 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_dirMvScale {
///////////////////////////////////////////////////////////
#define GET32dirMvScale_factor(r32) _BFGET_(r32,11, 0)
#define SET32dirMvScale_factor(r32,v) _BFSET_(r32,11, 0,v)
#define GET16dirMvScale_factor(r16) _BFGET_(r16,11, 0)
#define SET16dirMvScale_factor(r16,v) _BFSET_(r16,11, 0,v)
#define GET32dirMvScale_RSVD20(r32) _BFGET_(r32,31,12)
#define SET32dirMvScale_RSVD20(r32,v) _BFSET_(r32,31,12,v)
UNSG32 s_factor : 12;
UNSG32 u_RSVD20 : 20;
///////////////////////////////////////////////////////////
#define GET32dirMvScale_RSVD32(r32) _BFGET_(r32,31, 0)
#define SET32dirMvScale_RSVD32(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_RSVD32 : 32;
///////////////////////////////////////////////////////////
} SIE_dirMvScale;
///////////////////////////////////////////////////////////
SIGN32 dirMvScale_drvrd(SIE_dirMvScale *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dirMvScale_drvwr(SIE_dirMvScale *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dirMvScale_reset(SIE_dirMvScale *p);
SIGN32 dirMvScale_cmp (SIE_dirMvScale *p, SIE_dirMvScale *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dirMvScale_check(p,pie,pfx,hLOG) dirMvScale_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dirMvScale_print(p, pfx,hLOG) dirMvScale_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dirMvScale
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE avsDirMvScale biu (4,4)
/// ###
/// * Scaling factors for temporal direct MV calculation for AVS
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 16 BlockDistanceFw
/// ###
/// * Block Distance between current block and forward reference block.
/// ###
/// %unsigned 16 BlockDistanceBw
/// ###
/// * Block Distance between backward reference block and current block.
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// %unsigned 16 invBlockDistanceRef
/// ###
/// * 16384/BlockDistanceRef, where BlockDistanceRef is the block distance between backward reference block and reference block of the co-located block.
/// ###
/// %unsigned 16 RSVD16
/// ###
/// * pad to 64 bits
/// * End avsDirMvScale
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_avsDirMvScale
#define h_avsDirMvScale (){}
#define BA_avsDirMvScale_BlockDistanceFw 0x0000
#define B16avsDirMvScale_BlockDistanceFw 0x0000
#define LSb32avsDirMvScale_BlockDistanceFw 0
#define LSb16avsDirMvScale_BlockDistanceFw 0
#define bavsDirMvScale_BlockDistanceFw 16
#define MSK32avsDirMvScale_BlockDistanceFw 0x0000FFFF
#define BA_avsDirMvScale_BlockDistanceBw 0x0002
#define B16avsDirMvScale_BlockDistanceBw 0x0002
#define LSb32avsDirMvScale_BlockDistanceBw 16
#define LSb16avsDirMvScale_BlockDistanceBw 0
#define bavsDirMvScale_BlockDistanceBw 16
#define MSK32avsDirMvScale_BlockDistanceBw 0xFFFF0000
///////////////////////////////////////////////////////////
#define BA_avsDirMvScale_invBlockDistanceRef 0x0004
#define B16avsDirMvScale_invBlockDistanceRef 0x0004
#define LSb32avsDirMvScale_invBlockDistanceRef 0
#define LSb16avsDirMvScale_invBlockDistanceRef 0
#define bavsDirMvScale_invBlockDistanceRef 16
#define MSK32avsDirMvScale_invBlockDistanceRef 0x0000FFFF
#define BA_avsDirMvScale_RSVD16 0x0006
#define B16avsDirMvScale_RSVD16 0x0006
#define LSb32avsDirMvScale_RSVD16 16
#define LSb16avsDirMvScale_RSVD16 0
#define bavsDirMvScale_RSVD16 16
#define MSK32avsDirMvScale_RSVD16 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_avsDirMvScale {
///////////////////////////////////////////////////////////
#define GET32avsDirMvScale_BlockDistanceFw(r32) _BFGET_(r32,15, 0)
#define SET32avsDirMvScale_BlockDistanceFw(r32,v) _BFSET_(r32,15, 0,v)
#define GET16avsDirMvScale_BlockDistanceFw(r16) _BFGET_(r16,15, 0)
#define SET16avsDirMvScale_BlockDistanceFw(r16,v) _BFSET_(r16,15, 0,v)
#define GET32avsDirMvScale_BlockDistanceBw(r32) _BFGET_(r32,31,16)
#define SET32avsDirMvScale_BlockDistanceBw(r32,v) _BFSET_(r32,31,16,v)
#define GET16avsDirMvScale_BlockDistanceBw(r16) _BFGET_(r16,15, 0)
#define SET16avsDirMvScale_BlockDistanceBw(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_BlockDistanceFw : 16;
UNSG32 u_BlockDistanceBw : 16;
///////////////////////////////////////////////////////////
#define GET32avsDirMvScale_invBlockDistanceRef(r32) _BFGET_(r32,15, 0)
#define SET32avsDirMvScale_invBlockDistanceRef(r32,v) _BFSET_(r32,15, 0,v)
#define GET16avsDirMvScale_invBlockDistanceRef(r16) _BFGET_(r16,15, 0)
#define SET16avsDirMvScale_invBlockDistanceRef(r16,v) _BFSET_(r16,15, 0,v)
#define GET32avsDirMvScale_RSVD16(r32) _BFGET_(r32,31,16)
#define SET32avsDirMvScale_RSVD16(r32,v) _BFSET_(r32,31,16,v)
#define GET16avsDirMvScale_RSVD16(r16) _BFGET_(r16,15, 0)
#define SET16avsDirMvScale_RSVD16(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_invBlockDistanceRef : 16;
UNSG32 u_RSVD16 : 16;
///////////////////////////////////////////////////////////
} SIE_avsDirMvScale;
///////////////////////////////////////////////////////////
SIGN32 avsDirMvScale_drvrd(SIE_avsDirMvScale *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 avsDirMvScale_drvwr(SIE_avsDirMvScale *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void avsDirMvScale_reset(SIE_avsDirMvScale *p);
SIGN32 avsDirMvScale_cmp (SIE_avsDirMvScale *p, SIE_avsDirMvScale *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define avsDirMvScale_check(p,pie,pfx,hLOG) avsDirMvScale_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define avsDirMvScale_print(p, pfx,hLOG) avsDirMvScale_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: avsDirMvScale
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE LUT8b (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 data
/// ###
/// * Any 8b data
/// ###
/// %unsigned 8 data1
/// %unsigned 8 data2
/// %unsigned 8 data3
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_LUT8b
#define h_LUT8b (){}
#define BA_LUT8b_data 0x0000
#define B16LUT8b_data 0x0000
#define LSb32LUT8b_data 0
#define LSb16LUT8b_data 0
#define bLUT8b_data 8
#define MSK32LUT8b_data 0x000000FF
#define BA_LUT8b_data1 0x0001
#define B16LUT8b_data1 0x0000
#define LSb32LUT8b_data1 8
#define LSb16LUT8b_data1 8
#define bLUT8b_data1 8
#define MSK32LUT8b_data1 0x0000FF00
#define BA_LUT8b_data2 0x0002
#define B16LUT8b_data2 0x0002
#define LSb32LUT8b_data2 16
#define LSb16LUT8b_data2 0
#define bLUT8b_data2 8
#define MSK32LUT8b_data2 0x00FF0000
#define BA_LUT8b_data3 0x0003
#define B16LUT8b_data3 0x0002
#define LSb32LUT8b_data3 24
#define LSb16LUT8b_data3 8
#define bLUT8b_data3 8
#define MSK32LUT8b_data3 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_LUT8b {
///////////////////////////////////////////////////////////
#define GET32LUT8b_data(r32) _BFGET_(r32, 7, 0)
#define SET32LUT8b_data(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16LUT8b_data(r16) _BFGET_(r16, 7, 0)
#define SET16LUT8b_data(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32LUT8b_data1(r32) _BFGET_(r32,15, 8)
#define SET32LUT8b_data1(r32,v) _BFSET_(r32,15, 8,v)
#define GET16LUT8b_data1(r16) _BFGET_(r16,15, 8)
#define SET16LUT8b_data1(r16,v) _BFSET_(r16,15, 8,v)
#define GET32LUT8b_data2(r32) _BFGET_(r32,23,16)
#define SET32LUT8b_data2(r32,v) _BFSET_(r32,23,16,v)
#define GET16LUT8b_data2(r16) _BFGET_(r16, 7, 0)
#define SET16LUT8b_data2(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32LUT8b_data3(r32) _BFGET_(r32,31,24)
#define SET32LUT8b_data3(r32,v) _BFSET_(r32,31,24,v)
#define GET16LUT8b_data3(r16) _BFGET_(r16,15, 8)
#define SET16LUT8b_data3(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_data : 8;
UNSG32 u_data1 : 8;
UNSG32 u_data2 : 8;
UNSG32 u_data3 : 8;
///////////////////////////////////////////////////////////
} SIE_LUT8b;
///////////////////////////////////////////////////////////
SIGN32 LUT8b_drvrd(SIE_LUT8b *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 LUT8b_drvwr(SIE_LUT8b *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void LUT8b_reset(SIE_LUT8b *p);
SIGN32 LUT8b_cmp (SIE_LUT8b *p, SIE_LUT8b *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define LUT8b_check(p,pie,pfx,hLOG) LUT8b_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define LUT8b_print(p, pfx,hLOG) LUT8b_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: LUT8b
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE LUT64b (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 data_0i
/// %unsigned 32 data_1i
/// ###
/// * Any 64b data
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_LUT64b
#define h_LUT64b (){}
#define BA_LUT64b_data_0i 0x0000
#define B16LUT64b_data_0i 0x0000
#define LSb32LUT64b_data_0i 0
#define LSb16LUT64b_data_0i 0
#define bLUT64b_data_0i 32
#define MSK32LUT64b_data_0i 0xFFFFFFFF
#define BA_LUT64b_data_1i 0x0004
#define B16LUT64b_data_1i 0x0004
#define LSb32LUT64b_data_1i 0
#define LSb16LUT64b_data_1i 0
#define bLUT64b_data_1i 32
#define MSK32LUT64b_data_1i 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_LUT64b {
///////////////////////////////////////////////////////////
#define GET32LUT64b_data_0i(r32) _BFGET_(r32,31, 0)
#define SET32LUT64b_data_0i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data_0i : 32;
///////////////////////////////////////////////////////////
#define GET32LUT64b_data_1i(r32) _BFGET_(r32,31, 0)
#define SET32LUT64b_data_1i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data_1i : 32;
///////////////////////////////////////////////////////////
} SIE_LUT64b;
///////////////////////////////////////////////////////////
SIGN32 LUT64b_drvrd(SIE_LUT64b *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 LUT64b_drvwr(SIE_LUT64b *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void LUT64b_reset(SIE_LUT64b *p);
SIGN32 LUT64b_cmp (SIE_LUT64b *p, SIE_LUT64b *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define LUT64b_check(p,pie,pfx,hLOG) LUT64b_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define LUT64b_print(p, pfx,hLOG) LUT64b_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: LUT64b
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE NLoc (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 4 BLK
/// ###
/// * Block index
/// ###
/// %unsigned 4 category
/// : 16x16 0x8
/// : 8x16 0x9
/// : 16x8 0xA
/// : 4mv 0xB
/// : 8x8 0xC
/// : 4x8 0xD
/// : 8x4 0xE
/// : 4x4 0xF
/// ###
/// * Consistent with vcMsg{RSVD,level,partition}
/// * Valid cases for Neighbor:
/// * 16x16=16x8
/// * 8x16=4mv=8x8=8x4
/// * 4x8=4x4=ACY
/// * Valid cases for PMV:
/// * 16x16=16x8
/// * 8x16
/// * 4mv=8x8=8x4
/// * 4x8=4x4=ACY
/// ###
/// : ACY 0x0
/// ###
/// * Valid block index:
/// * 0~15 (every 4x4 indexed by coding order)
/// ###
/// : ACU 0x2
/// ###
/// * Valid block index:
/// * 0~3 (3rd 4x4 in every 8x8)
/// ###
/// : ACV 0x3
/// ###
/// * Valid block index:
/// * 0~3 (4th 4x4 in every 8x8)
/// ###
/// : I16AC 0x4
/// ###
/// * Only used as category, should be converted to ACY for neighbor look-up
/// ###
/// : DCI 0x4
/// ###
/// * Valid block index:
/// * 0 (3rd 4x4 in 4th 8x8 only)
/// ###
/// : DCY 0x5
/// ###
/// * Valid block index:
/// * 0 (4th 4x4 in 4th 8x8 only)
/// ###
/// : SDPMV 0x5
/// ###
/// * Reuse DCY in PMV extension, for Spatial Direct mode rIDX recovery.
/// ###
/// : DCU 0x6
/// ###
/// * Valid block index:
/// * 0 (3rd 4x4 in 3rd 8x8 only)
/// ###
/// : DCV 0x7
/// ###
/// * Valid block index:
/// * 0 (4th 4x4 in 3rd 8x8 only)
/// ###
/// %unsigned 1 parity
/// ###
/// * 0/1 as even/odd, only for loop-filter
/// ###
/// %unsigned 1 direct
/// ###
/// * FW use only: if direct mode
/// * AVS: use for sym mode in hardware.
/// ###
/// %unsigned 2 motion
/// ###
/// * FW use only: motion type
/// ###
/// %unsigned 1 A
/// ###
/// * Left macroblock/block availability
/// ###
/// %unsigned 1 B
/// ###
/// * Upper macroblock/block availability
/// ###
/// %unsigned 1 C
/// ###
/// * Upper-right macroblock/block availability
/// ###
/// %unsigned 1 D
/// ###
/// * Upper-left macroblock/block availability
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_NLoc
#define h_NLoc (){}
#define BA_NLoc_BLK 0x0000
#define B16NLoc_BLK 0x0000
#define LSb32NLoc_BLK 0
#define LSb16NLoc_BLK 0
#define bNLoc_BLK 4
#define MSK32NLoc_BLK 0x0000000F
#define BA_NLoc_category 0x0000
#define B16NLoc_category 0x0000
#define LSb32NLoc_category 4
#define LSb16NLoc_category 4
#define bNLoc_category 4
#define MSK32NLoc_category 0x000000F0
#define NLoc_category_16x16 0x8
#define NLoc_category_8x16 0x9
#define NLoc_category_16x8 0xA
#define NLoc_category_4mv 0xB
#define NLoc_category_8x8 0xC
#define NLoc_category_4x8 0xD
#define NLoc_category_8x4 0xE
#define NLoc_category_4x4 0xF
#define NLoc_category_ACY 0x0
#define NLoc_category_ACU 0x2
#define NLoc_category_ACV 0x3
#define NLoc_category_I16AC 0x4
#define NLoc_category_DCI 0x4
#define NLoc_category_DCY 0x5
#define NLoc_category_SDPMV 0x5
#define NLoc_category_DCU 0x6
#define NLoc_category_DCV 0x7
#define BA_NLoc_parity 0x0001
#define B16NLoc_parity 0x0000
#define LSb32NLoc_parity 8
#define LSb16NLoc_parity 8
#define bNLoc_parity 1
#define MSK32NLoc_parity 0x00000100
#define BA_NLoc_direct 0x0001
#define B16NLoc_direct 0x0000
#define LSb32NLoc_direct 9
#define LSb16NLoc_direct 9
#define bNLoc_direct 1
#define MSK32NLoc_direct 0x00000200
#define BA_NLoc_motion 0x0001
#define B16NLoc_motion 0x0000
#define LSb32NLoc_motion 10
#define LSb16NLoc_motion 10
#define bNLoc_motion 2
#define MSK32NLoc_motion 0x00000C00
#define BA_NLoc_A 0x0001
#define B16NLoc_A 0x0000
#define LSb32NLoc_A 12
#define LSb16NLoc_A 12
#define bNLoc_A 1
#define MSK32NLoc_A 0x00001000
#define BA_NLoc_B 0x0001
#define B16NLoc_B 0x0000
#define LSb32NLoc_B 13
#define LSb16NLoc_B 13
#define bNLoc_B 1
#define MSK32NLoc_B 0x00002000
#define BA_NLoc_C 0x0001
#define B16NLoc_C 0x0000
#define LSb32NLoc_C 14
#define LSb16NLoc_C 14
#define bNLoc_C 1
#define MSK32NLoc_C 0x00004000
#define BA_NLoc_D 0x0001
#define B16NLoc_D 0x0000
#define LSb32NLoc_D 15
#define LSb16NLoc_D 15
#define bNLoc_D 1
#define MSK32NLoc_D 0x00008000
///////////////////////////////////////////////////////////
typedef struct SIE_NLoc {
///////////////////////////////////////////////////////////
#define GET32NLoc_BLK(r32) _BFGET_(r32, 3, 0)
#define SET32NLoc_BLK(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16NLoc_BLK(r16) _BFGET_(r16, 3, 0)
#define SET16NLoc_BLK(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32NLoc_category(r32) _BFGET_(r32, 7, 4)
#define SET32NLoc_category(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16NLoc_category(r16) _BFGET_(r16, 7, 4)
#define SET16NLoc_category(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32NLoc_parity(r32) _BFGET_(r32, 8, 8)
#define SET32NLoc_parity(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16NLoc_parity(r16) _BFGET_(r16, 8, 8)
#define SET16NLoc_parity(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32NLoc_direct(r32) _BFGET_(r32, 9, 9)
#define SET32NLoc_direct(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16NLoc_direct(r16) _BFGET_(r16, 9, 9)
#define SET16NLoc_direct(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32NLoc_motion(r32) _BFGET_(r32,11,10)
#define SET32NLoc_motion(r32,v) _BFSET_(r32,11,10,v)
#define GET16NLoc_motion(r16) _BFGET_(r16,11,10)
#define SET16NLoc_motion(r16,v) _BFSET_(r16,11,10,v)
#define GET32NLoc_A(r32) _BFGET_(r32,12,12)
#define SET32NLoc_A(r32,v) _BFSET_(r32,12,12,v)
#define GET16NLoc_A(r16) _BFGET_(r16,12,12)
#define SET16NLoc_A(r16,v) _BFSET_(r16,12,12,v)
#define GET32NLoc_B(r32) _BFGET_(r32,13,13)
#define SET32NLoc_B(r32,v) _BFSET_(r32,13,13,v)
#define GET16NLoc_B(r16) _BFGET_(r16,13,13)
#define SET16NLoc_B(r16,v) _BFSET_(r16,13,13,v)
#define GET32NLoc_C(r32) _BFGET_(r32,14,14)
#define SET32NLoc_C(r32,v) _BFSET_(r32,14,14,v)
#define GET16NLoc_C(r16) _BFGET_(r16,14,14)
#define SET16NLoc_C(r16,v) _BFSET_(r16,14,14,v)
#define GET32NLoc_D(r32) _BFGET_(r32,15,15)
#define SET32NLoc_D(r32,v) _BFSET_(r32,15,15,v)
#define GET16NLoc_D(r16) _BFGET_(r16,15,15)
#define SET16NLoc_D(r16,v) _BFSET_(r16,15,15,v)
UNSG32 u_BLK : 4;
UNSG32 u_category : 4;
UNSG32 u_parity : 1;
UNSG32 u_direct : 1;
UNSG32 u_motion : 2;
UNSG32 u_A : 1;
UNSG32 u_B : 1;
UNSG32 u_C : 1;
UNSG32 u_D : 1;
UNSG32 RSVDx0_b16 : 16;
///////////////////////////////////////////////////////////
} SIE_NLoc;
///////////////////////////////////////////////////////////
SIGN32 NLoc_drvrd(SIE_NLoc *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 NLoc_drvwr(SIE_NLoc *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void NLoc_reset(SIE_NLoc *p);
SIGN32 NLoc_cmp (SIE_NLoc *p, SIE_NLoc *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define NLoc_check(p,pie,pfx,hLOG) NLoc_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define NLoc_print(p, pfx,hLOG) NLoc_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: NLoc
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BLK (4,4)
/// # # ----------------------------------------------------------
/// : skip 0x0
/// : direct16x16 0x1
/// : 4BLK 0x2
/// : inter 0x3
/// : IPCM 0x4
/// : intra16x16 0x5
/// : intraNxN 0x6
/// ###
/// * Sub-set of mb_type
/// * MPEG2: only skip, inter, intra (intra16x16)
/// * MPEG4/VC-1: only 1 intra type (intra16x16)
/// * AVS: skip, direct16x16, 4BLK, inter, intra16x16 (only 1 intra type)
/// ###
/// @ 0x00000 (P)
/// %unsigned 2 motion
/// : Intra 0x0
/// : Forward 0x1
/// : Backward 0x2
/// : Bi 0x3
/// ###
/// * Derived 8x8 block motion type
/// * NOTE: direct mode uses 'Bi'
/// ###
/// %unsigned 2 partition
/// : 1mv 0x0
/// : 2mvLR 0x1
/// : 2mvTB 0x2
/// ###
/// * MPEG2: 2mvTB used for field prediction
/// * VC-1: 2-field-mv
/// ###
/// : 4mv 0x3
/// ###
/// * Block/macroblock level partitioning
/// * MPEG4: 1mv & 4mv
/// ###
/// : 4mvFLD 0x1
/// ###
/// * VC-1: 4-field-mv
/// ###
/// %unsigned 1 direct
/// ###
/// * Direct mode flag
/// * MPEG2: dual-prime prediction
/// ###
/// %unsigned 3 mvs
/// ###
/// * Number of motion vectors: 0/1/2/4
/// ###
/// %unsigned 2 motion1
/// %unsigned 2 partition1
/// %unsigned 1 direct1
/// %unsigned 3 mvs1
/// %unsigned 2 motion2
/// %unsigned 2 partition2
/// %unsigned 1 direct2
/// %unsigned 3 mvs2
/// %unsigned 2 motion3
/// %unsigned 2 partition3
/// %unsigned 1 direct3
/// %unsigned 3 mvs3
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BLK
#define h_BLK (){}
#define BLK_skip 0x0
#define BLK_direct16x16 0x1
#define BLK_4BLK 0x2
#define BLK_inter 0x3
#define BLK_IPCM 0x4
#define BLK_intra16x16 0x5
#define BLK_intraNxN 0x6
///////////////////////////////////////////////////////////
#define BA_BLK_motion 0x0000
#define B16BLK_motion 0x0000
#define LSb32BLK_motion 0
#define LSb16BLK_motion 0
#define bBLK_motion 2
#define MSK32BLK_motion 0x00000003
#define BLK_motion_Intra 0x0
#define BLK_motion_Forward 0x1
#define BLK_motion_Backward 0x2
#define BLK_motion_Bi 0x3
#define BA_BLK_partition 0x0000
#define B16BLK_partition 0x0000
#define LSb32BLK_partition 2
#define LSb16BLK_partition 2
#define bBLK_partition 2
#define MSK32BLK_partition 0x0000000C
#define BLK_partition_1mv 0x0
#define BLK_partition_2mvLR 0x1
#define BLK_partition_2mvTB 0x2
#define BLK_partition_4mv 0x3
#define BLK_partition_4mvFLD 0x1
#define BA_BLK_direct 0x0000
#define B16BLK_direct 0x0000
#define LSb32BLK_direct 4
#define LSb16BLK_direct 4
#define bBLK_direct 1
#define MSK32BLK_direct 0x00000010
#define BA_BLK_mvs 0x0000
#define B16BLK_mvs 0x0000
#define LSb32BLK_mvs 5
#define LSb16BLK_mvs 5
#define bBLK_mvs 3
#define MSK32BLK_mvs 0x000000E0
#define BA_BLK_motion1 0x0001
#define B16BLK_motion1 0x0000
#define LSb32BLK_motion1 8
#define LSb16BLK_motion1 8
#define bBLK_motion1 2
#define MSK32BLK_motion1 0x00000300
#define BA_BLK_partition1 0x0001
#define B16BLK_partition1 0x0000
#define LSb32BLK_partition1 10
#define LSb16BLK_partition1 10
#define bBLK_partition1 2
#define MSK32BLK_partition1 0x00000C00
#define BA_BLK_direct1 0x0001
#define B16BLK_direct1 0x0000
#define LSb32BLK_direct1 12
#define LSb16BLK_direct1 12
#define bBLK_direct1 1
#define MSK32BLK_direct1 0x00001000
#define BA_BLK_mvs1 0x0001
#define B16BLK_mvs1 0x0000
#define LSb32BLK_mvs1 13
#define LSb16BLK_mvs1 13
#define bBLK_mvs1 3
#define MSK32BLK_mvs1 0x0000E000
#define BA_BLK_motion2 0x0002
#define B16BLK_motion2 0x0002
#define LSb32BLK_motion2 16
#define LSb16BLK_motion2 0
#define bBLK_motion2 2
#define MSK32BLK_motion2 0x00030000
#define BA_BLK_partition2 0x0002
#define B16BLK_partition2 0x0002
#define LSb32BLK_partition2 18
#define LSb16BLK_partition2 2
#define bBLK_partition2 2
#define MSK32BLK_partition2 0x000C0000
#define BA_BLK_direct2 0x0002
#define B16BLK_direct2 0x0002
#define LSb32BLK_direct2 20
#define LSb16BLK_direct2 4
#define bBLK_direct2 1
#define MSK32BLK_direct2 0x00100000
#define BA_BLK_mvs2 0x0002
#define B16BLK_mvs2 0x0002
#define LSb32BLK_mvs2 21
#define LSb16BLK_mvs2 5
#define bBLK_mvs2 3
#define MSK32BLK_mvs2 0x00E00000
#define BA_BLK_motion3 0x0003
#define B16BLK_motion3 0x0002
#define LSb32BLK_motion3 24
#define LSb16BLK_motion3 8
#define bBLK_motion3 2
#define MSK32BLK_motion3 0x03000000
#define BA_BLK_partition3 0x0003
#define B16BLK_partition3 0x0002
#define LSb32BLK_partition3 26
#define LSb16BLK_partition3 10
#define bBLK_partition3 2
#define MSK32BLK_partition3 0x0C000000
#define BA_BLK_direct3 0x0003
#define B16BLK_direct3 0x0002
#define LSb32BLK_direct3 28
#define LSb16BLK_direct3 12
#define bBLK_direct3 1
#define MSK32BLK_direct3 0x10000000
#define BA_BLK_mvs3 0x0003
#define B16BLK_mvs3 0x0002
#define LSb32BLK_mvs3 29
#define LSb16BLK_mvs3 13
#define bBLK_mvs3 3
#define MSK32BLK_mvs3 0xE0000000
///////////////////////////////////////////////////////////
typedef struct SIE_BLK {
///////////////////////////////////////////////////////////
#define GET32BLK_motion(r32) _BFGET_(r32, 1, 0)
#define SET32BLK_motion(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16BLK_motion(r16) _BFGET_(r16, 1, 0)
#define SET16BLK_motion(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32BLK_partition(r32) _BFGET_(r32, 3, 2)
#define SET32BLK_partition(r32,v) _BFSET_(r32, 3, 2,v)
#define GET16BLK_partition(r16) _BFGET_(r16, 3, 2)
#define SET16BLK_partition(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32BLK_direct(r32) _BFGET_(r32, 4, 4)
#define SET32BLK_direct(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16BLK_direct(r16) _BFGET_(r16, 4, 4)
#define SET16BLK_direct(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32BLK_mvs(r32) _BFGET_(r32, 7, 5)
#define SET32BLK_mvs(r32,v) _BFSET_(r32, 7, 5,v)
#define GET16BLK_mvs(r16) _BFGET_(r16, 7, 5)
#define SET16BLK_mvs(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32BLK_motion1(r32) _BFGET_(r32, 9, 8)
#define SET32BLK_motion1(r32,v) _BFSET_(r32, 9, 8,v)
#define GET16BLK_motion1(r16) _BFGET_(r16, 9, 8)
#define SET16BLK_motion1(r16,v) _BFSET_(r16, 9, 8,v)
#define GET32BLK_partition1(r32) _BFGET_(r32,11,10)
#define SET32BLK_partition1(r32,v) _BFSET_(r32,11,10,v)
#define GET16BLK_partition1(r16) _BFGET_(r16,11,10)
#define SET16BLK_partition1(r16,v) _BFSET_(r16,11,10,v)
#define GET32BLK_direct1(r32) _BFGET_(r32,12,12)
#define SET32BLK_direct1(r32,v) _BFSET_(r32,12,12,v)
#define GET16BLK_direct1(r16) _BFGET_(r16,12,12)
#define SET16BLK_direct1(r16,v) _BFSET_(r16,12,12,v)
#define GET32BLK_mvs1(r32) _BFGET_(r32,15,13)
#define SET32BLK_mvs1(r32,v) _BFSET_(r32,15,13,v)
#define GET16BLK_mvs1(r16) _BFGET_(r16,15,13)
#define SET16BLK_mvs1(r16,v) _BFSET_(r16,15,13,v)
#define GET32BLK_motion2(r32) _BFGET_(r32,17,16)
#define SET32BLK_motion2(r32,v) _BFSET_(r32,17,16,v)
#define GET16BLK_motion2(r16) _BFGET_(r16, 1, 0)
#define SET16BLK_motion2(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32BLK_partition2(r32) _BFGET_(r32,19,18)
#define SET32BLK_partition2(r32,v) _BFSET_(r32,19,18,v)
#define GET16BLK_partition2(r16) _BFGET_(r16, 3, 2)
#define SET16BLK_partition2(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32BLK_direct2(r32) _BFGET_(r32,20,20)
#define SET32BLK_direct2(r32,v) _BFSET_(r32,20,20,v)
#define GET16BLK_direct2(r16) _BFGET_(r16, 4, 4)
#define SET16BLK_direct2(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32BLK_mvs2(r32) _BFGET_(r32,23,21)
#define SET32BLK_mvs2(r32,v) _BFSET_(r32,23,21,v)
#define GET16BLK_mvs2(r16) _BFGET_(r16, 7, 5)
#define SET16BLK_mvs2(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32BLK_motion3(r32) _BFGET_(r32,25,24)
#define SET32BLK_motion3(r32,v) _BFSET_(r32,25,24,v)
#define GET16BLK_motion3(r16) _BFGET_(r16, 9, 8)
#define SET16BLK_motion3(r16,v) _BFSET_(r16, 9, 8,v)
#define GET32BLK_partition3(r32) _BFGET_(r32,27,26)
#define SET32BLK_partition3(r32,v) _BFSET_(r32,27,26,v)
#define GET16BLK_partition3(r16) _BFGET_(r16,11,10)
#define SET16BLK_partition3(r16,v) _BFSET_(r16,11,10,v)
#define GET32BLK_direct3(r32) _BFGET_(r32,28,28)
#define SET32BLK_direct3(r32,v) _BFSET_(r32,28,28,v)
#define GET16BLK_direct3(r16) _BFGET_(r16,12,12)
#define SET16BLK_direct3(r16,v) _BFSET_(r16,12,12,v)
#define GET32BLK_mvs3(r32) _BFGET_(r32,31,29)
#define SET32BLK_mvs3(r32,v) _BFSET_(r32,31,29,v)
#define GET16BLK_mvs3(r16) _BFGET_(r16,15,13)
#define SET16BLK_mvs3(r16,v) _BFSET_(r16,15,13,v)
UNSG32 u_motion : 2;
UNSG32 u_partition : 2;
UNSG32 u_direct : 1;
UNSG32 u_mvs : 3;
UNSG32 u_motion1 : 2;
UNSG32 u_partition1 : 2;
UNSG32 u_direct1 : 1;
UNSG32 u_mvs1 : 3;
UNSG32 u_motion2 : 2;
UNSG32 u_partition2 : 2;
UNSG32 u_direct2 : 1;
UNSG32 u_mvs2 : 3;
UNSG32 u_motion3 : 2;
UNSG32 u_partition3 : 2;
UNSG32 u_direct3 : 1;
UNSG32 u_mvs3 : 3;
///////////////////////////////////////////////////////////
} SIE_BLK;
///////////////////////////////////////////////////////////
SIGN32 BLK_drvrd(SIE_BLK *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BLK_drvwr(SIE_BLK *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BLK_reset(SIE_BLK *p);
SIGN32 BLK_cmp (SIE_BLK *p, SIE_BLK *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BLK_check(p,pie,pfx,hLOG) BLK_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BLK_print(p, pfx,hLOG) BLK_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BLK
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE MV (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 2 motion
/// ###
/// * Derived 8x8 block motion type (direct mode uses 'Bi'), see BLK.motion above
/// ###
/// %signed 14 X
/// ###
/// * Horizontal motion vector,
/// * Or MVD between parser & syntax processor
/// ###
/// %unsigned 3 type
/// ###
/// * Sub-set of mb_type, see MBPROP.type above
/// ###
/// %signed 13 Y
/// ###
/// * Vertical motion vector,
/// * Or MVD between parser & syntax processor
/// * End of MV
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_MV
#define h_MV (){}
#define BA_MV_motion 0x0000
#define B16MV_motion 0x0000
#define LSb32MV_motion 0
#define LSb16MV_motion 0
#define bMV_motion 2
#define MSK32MV_motion 0x00000003
#define BA_MV_X 0x0000
#define B16MV_X 0x0000
#define LSb32MV_X 2
#define LSb16MV_X 2
#define bMV_X 14
#define MSK32MV_X 0x0000FFFC
#define BA_MV_type 0x0002
#define B16MV_type 0x0002
#define LSb32MV_type 16
#define LSb16MV_type 0
#define bMV_type 3
#define MSK32MV_type 0x00070000
#define BA_MV_Y 0x0002
#define B16MV_Y 0x0002
#define LSb32MV_Y 19
#define LSb16MV_Y 3
#define bMV_Y 13
#define MSK32MV_Y 0xFFF80000
///////////////////////////////////////////////////////////
typedef struct SIE_MV {
///////////////////////////////////////////////////////////
#define GET32MV_motion(r32) _BFGET_(r32, 1, 0)
#define SET32MV_motion(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16MV_motion(r16) _BFGET_(r16, 1, 0)
#define SET16MV_motion(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32MV_X(r32) _BFGET_(r32,15, 2)
#define SET32MV_X(r32,v) _BFSET_(r32,15, 2,v)
#define GET16MV_X(r16) _BFGET_(r16,15, 2)
#define SET16MV_X(r16,v) _BFSET_(r16,15, 2,v)
#define GET32MV_type(r32) _BFGET_(r32,18,16)
#define SET32MV_type(r32,v) _BFSET_(r32,18,16,v)
#define GET16MV_type(r16) _BFGET_(r16, 2, 0)
#define SET16MV_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32MV_Y(r32) _BFGET_(r32,31,19)
#define SET32MV_Y(r32,v) _BFSET_(r32,31,19,v)
#define GET16MV_Y(r16) _BFGET_(r16,15, 3)
#define SET16MV_Y(r16,v) _BFSET_(r16,15, 3,v)
UNSG32 u_motion : 2;
UNSG32 s_X : 14;
UNSG32 u_type : 3;
UNSG32 s_Y : 13;
///////////////////////////////////////////////////////////
} SIE_MV;
///////////////////////////////////////////////////////////
SIGN32 MV_drvrd(SIE_MV *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 MV_drvwr(SIE_MV *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void MV_reset(SIE_MV *p);
SIGN32 MV_cmp (SIE_MV *p, SIE_MV *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define MV_check(p,pie,pfx,hLOG) MV_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define MV_print(p, pfx,hLOG) MV_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: MV
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FCTX biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 rBID
/// ###
/// * Flatten 4x4s in each 8x8,
/// * 0 for intra (as well as direct mode between parser & syntax processor):
/// * Reference buffer ID, last 1b indicates access mode:
/// * 0: frame/progressive or top field
/// * 1: bottom field
/// ###
/// %unsigned 5 rIDX
/// ###
/// * Flatten 4x4s in each 8x8,
/// * 0 for intra (as well as P/B-skip & direct mode between parser & syntax processor):
/// * Syntax 'RefListIdx' directly decoded from bit stream (field information embedded)
/// ###
/// %unsigned 1 FLD
/// ###
/// * Flatten 4x4s in each 8x8:
/// * 1 for MBAFF field MB, 0 for otherwise
/// ###
/// %unsigned 1 equalpred
/// ###
/// * BLK property for CABAC only:
/// * Using block category ACV,
/// * (But flatten to all 4x4s in each 8x8s):
/// * = !Intra && !skipped && (bi-pred || fore-pred)
/// * NOTE: = 0 for direct mode
/// * VC-1:
/// * PMV output: for hybridPred
/// * PMV input: predictor_flag (0: use dominant PMV)
/// ###
/// %unsigned 1 transform
/// ###
/// * MB property (flatten in all 4x4s):
/// * H.264: if 8x8 transform
/// * Others: if field transform
/// ###
/// %unsigned 1 NCBPY
/// ###
/// * Loop-filter & CABAC use only:
/// * Luma using block category ACV (4th 4x4),
/// * (But flatten to all 4x4s in each 8x8s):
/// * = !(IPCM || cbp_luma)
/// ###
/// %unsigned 1 MixFLG
/// ###
/// * CABAC use only:
/// * CBP chroma using block category DCU/DCV,
/// * (Only at 3rd & 4th 4x4s in 3rd 8x8):
/// * bin[0]: IPCM || !(skipped || (cbp_chroma == 0))
/// * bin[1]: IPCM || !(skipped || (cbp_chroma != 2))
/// * Or:
/// * mb_type using block category DCY,
/// * (Only at 4th 4x4 in 4th 8x8):
/// * I_SLICE: = !I_NXN
/// * P_SLICE: = 0
/// * B_SLICE: = !skipped && !direct_16x16
/// * Or:
/// * intra-chroma_pred using block category DCI,
/// * (Only at 3rd 4x4 in 4th 8x8):
/// * = Intra && !IPCM && (intra_chroma_pred != 0)
/// * Or:
/// * Temporal context buffers for direct mode use
/// ###
/// : 8x8 0x1
/// ###
/// * Only at 1st 4x4 in 1st 8x8:
/// * = if MB contains no sub-8x8 partition
/// ###
/// : 16x16 0x1
/// ###
/// * Only at 1st 4x4 in 2nd 8x8:
/// * = if MB contains only 1 partition (16x16)
/// ###
/// %unsigned 1 CBFY
/// ###
/// * Loop-filter & CABAC use only:
/// * Using block category ACY (every 4x4s):
/// * = IPCM || cbf_luma_ac
/// ###
/// %unsigned 1 CBFUV
/// ###
/// * CABAC use only:
/// * Using block category ACU/ACV,
/// * (Only at 3rd & 4th 4x4 in each 8x8s):
/// * = IPCM || cbf_chroma_ac
/// ###
/// %unsigned 1 CBFDC
/// ###
/// * CABAC use only:
/// * LumaDC using block category DCY,
/// * (Only at 4th 4x4 in 4th 8x8):
/// * = IPCM || (I_16x16 && cbf_luma_dc)
/// * ChromaDC using block category DCU/DCV,
/// * (Only at 3rd 4x4 in 3rd & 4th 8x8):
/// * = IPCM || cbf_chroma_dc
/// ###
/// %unsigned 6 ABSMVDX
/// ###
/// * CABAC use only:
/// * MIN( ABS(MVD.x), 63 )
/// ###
/// %unsigned 7 ABSMVDY
/// ###
/// * CABAC use only:
/// * MIN( ABS(MVD.y), 127 )
/// ###
/// @ 0x00004 (P)
/// # 0x00004 mv
/// $MV mv REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FCTX
#define h_FCTX (){}
#define BA_FCTX_rBID 0x0000
#define B16FCTX_rBID 0x0000
#define LSb32FCTX_rBID 0
#define LSb16FCTX_rBID 0
#define bFCTX_rBID 6
#define MSK32FCTX_rBID 0x0000003F
#define BA_FCTX_rIDX 0x0000
#define B16FCTX_rIDX 0x0000
#define LSb32FCTX_rIDX 6
#define LSb16FCTX_rIDX 6
#define bFCTX_rIDX 5
#define MSK32FCTX_rIDX 0x000007C0
#define BA_FCTX_FLD 0x0001
#define B16FCTX_FLD 0x0000
#define LSb32FCTX_FLD 11
#define LSb16FCTX_FLD 11
#define bFCTX_FLD 1
#define MSK32FCTX_FLD 0x00000800
#define BA_FCTX_equalpred 0x0001
#define B16FCTX_equalpred 0x0000
#define LSb32FCTX_equalpred 12
#define LSb16FCTX_equalpred 12
#define bFCTX_equalpred 1
#define MSK32FCTX_equalpred 0x00001000
#define BA_FCTX_transform 0x0001
#define B16FCTX_transform 0x0000
#define LSb32FCTX_transform 13
#define LSb16FCTX_transform 13
#define bFCTX_transform 1
#define MSK32FCTX_transform 0x00002000
#define BA_FCTX_NCBPY 0x0001
#define B16FCTX_NCBPY 0x0000
#define LSb32FCTX_NCBPY 14
#define LSb16FCTX_NCBPY 14
#define bFCTX_NCBPY 1
#define MSK32FCTX_NCBPY 0x00004000
#define BA_FCTX_MixFLG 0x0001
#define B16FCTX_MixFLG 0x0000
#define LSb32FCTX_MixFLG 15
#define LSb16FCTX_MixFLG 15
#define bFCTX_MixFLG 1
#define MSK32FCTX_MixFLG 0x00008000
#define FCTX_MixFLG_8x8 0x1
#define FCTX_MixFLG_16x16 0x1
#define BA_FCTX_CBFY 0x0002
#define B16FCTX_CBFY 0x0002
#define LSb32FCTX_CBFY 16
#define LSb16FCTX_CBFY 0
#define bFCTX_CBFY 1
#define MSK32FCTX_CBFY 0x00010000
#define BA_FCTX_CBFUV 0x0002
#define B16FCTX_CBFUV 0x0002
#define LSb32FCTX_CBFUV 17
#define LSb16FCTX_CBFUV 1
#define bFCTX_CBFUV 1
#define MSK32FCTX_CBFUV 0x00020000
#define BA_FCTX_CBFDC 0x0002
#define B16FCTX_CBFDC 0x0002
#define LSb32FCTX_CBFDC 18
#define LSb16FCTX_CBFDC 2
#define bFCTX_CBFDC 1
#define MSK32FCTX_CBFDC 0x00040000
#define BA_FCTX_ABSMVDX 0x0002
#define B16FCTX_ABSMVDX 0x0002
#define LSb32FCTX_ABSMVDX 19
#define LSb16FCTX_ABSMVDX 3
#define bFCTX_ABSMVDX 6
#define MSK32FCTX_ABSMVDX 0x01F80000
#define BA_FCTX_ABSMVDY 0x0003
#define B16FCTX_ABSMVDY 0x0002
#define LSb32FCTX_ABSMVDY 25
#define LSb16FCTX_ABSMVDY 9
#define bFCTX_ABSMVDY 7
#define MSK32FCTX_ABSMVDY 0xFE000000
///////////////////////////////////////////////////////////
#define RA_FCTX_mv 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_FCTX {
///////////////////////////////////////////////////////////
#define GET32FCTX_rBID(r32) _BFGET_(r32, 5, 0)
#define SET32FCTX_rBID(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16FCTX_rBID(r16) _BFGET_(r16, 5, 0)
#define SET16FCTX_rBID(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32FCTX_rIDX(r32) _BFGET_(r32,10, 6)
#define SET32FCTX_rIDX(r32,v) _BFSET_(r32,10, 6,v)
#define GET16FCTX_rIDX(r16) _BFGET_(r16,10, 6)
#define SET16FCTX_rIDX(r16,v) _BFSET_(r16,10, 6,v)
#define GET32FCTX_FLD(r32) _BFGET_(r32,11,11)
#define SET32FCTX_FLD(r32,v) _BFSET_(r32,11,11,v)
#define GET16FCTX_FLD(r16) _BFGET_(r16,11,11)
#define SET16FCTX_FLD(r16,v) _BFSET_(r16,11,11,v)
#define GET32FCTX_equalpred(r32) _BFGET_(r32,12,12)
#define SET32FCTX_equalpred(r32,v) _BFSET_(r32,12,12,v)
#define GET16FCTX_equalpred(r16) _BFGET_(r16,12,12)
#define SET16FCTX_equalpred(r16,v) _BFSET_(r16,12,12,v)
#define GET32FCTX_transform(r32) _BFGET_(r32,13,13)
#define SET32FCTX_transform(r32,v) _BFSET_(r32,13,13,v)
#define GET16FCTX_transform(r16) _BFGET_(r16,13,13)
#define SET16FCTX_transform(r16,v) _BFSET_(r16,13,13,v)
#define GET32FCTX_NCBPY(r32) _BFGET_(r32,14,14)
#define SET32FCTX_NCBPY(r32,v) _BFSET_(r32,14,14,v)
#define GET16FCTX_NCBPY(r16) _BFGET_(r16,14,14)
#define SET16FCTX_NCBPY(r16,v) _BFSET_(r16,14,14,v)
#define GET32FCTX_MixFLG(r32) _BFGET_(r32,15,15)
#define SET32FCTX_MixFLG(r32,v) _BFSET_(r32,15,15,v)
#define GET16FCTX_MixFLG(r16) _BFGET_(r16,15,15)
#define SET16FCTX_MixFLG(r16,v) _BFSET_(r16,15,15,v)
#define GET32FCTX_CBFY(r32) _BFGET_(r32,16,16)
#define SET32FCTX_CBFY(r32,v) _BFSET_(r32,16,16,v)
#define GET16FCTX_CBFY(r16) _BFGET_(r16, 0, 0)
#define SET16FCTX_CBFY(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FCTX_CBFUV(r32) _BFGET_(r32,17,17)
#define SET32FCTX_CBFUV(r32,v) _BFSET_(r32,17,17,v)
#define GET16FCTX_CBFUV(r16) _BFGET_(r16, 1, 1)
#define SET16FCTX_CBFUV(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32FCTX_CBFDC(r32) _BFGET_(r32,18,18)
#define SET32FCTX_CBFDC(r32,v) _BFSET_(r32,18,18,v)
#define GET16FCTX_CBFDC(r16) _BFGET_(r16, 2, 2)
#define SET16FCTX_CBFDC(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32FCTX_ABSMVDX(r32) _BFGET_(r32,24,19)
#define SET32FCTX_ABSMVDX(r32,v) _BFSET_(r32,24,19,v)
#define GET16FCTX_ABSMVDX(r16) _BFGET_(r16, 8, 3)
#define SET16FCTX_ABSMVDX(r16,v) _BFSET_(r16, 8, 3,v)
#define GET32FCTX_ABSMVDY(r32) _BFGET_(r32,31,25)
#define SET32FCTX_ABSMVDY(r32,v) _BFSET_(r32,31,25,v)
#define GET16FCTX_ABSMVDY(r16) _BFGET_(r16,15, 9)
#define SET16FCTX_ABSMVDY(r16,v) _BFSET_(r16,15, 9,v)
UNSG32 u_rBID : 6;
UNSG32 u_rIDX : 5;
UNSG32 u_FLD : 1;
UNSG32 u_equalpred : 1;
UNSG32 u_transform : 1;
UNSG32 u_NCBPY : 1;
UNSG32 u_MixFLG : 1;
UNSG32 u_CBFY : 1;
UNSG32 u_CBFUV : 1;
UNSG32 u_CBFDC : 1;
UNSG32 u_ABSMVDX : 6;
UNSG32 u_ABSMVDY : 7;
///////////////////////////////////////////////////////////
SIE_MV ie_mv;
///////////////////////////////////////////////////////////
} SIE_FCTX;
///////////////////////////////////////////////////////////
SIGN32 FCTX_drvrd(SIE_FCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FCTX_drvwr(SIE_FCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FCTX_reset(SIE_FCTX *p);
SIGN32 FCTX_cmp (SIE_FCTX *p, SIE_FCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FCTX_check(p,pie,pfx,hLOG) FCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FCTX_print(p, pfx,hLOG) FCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FCTX_VC1 biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 rBID
/// ###
/// * Flatten 4x4s in each 8x8,
/// * 0 for intra (as well as direct mode between parser & syntax processor):
/// * Reference buffer ID, last 1b indicates access mode:
/// * 0: frame/progressive or top field
/// * 1: bottom field
/// ###
/// %unsigned 5 rIDX
/// ###
/// * Flatten 4x4s in each 8x8,
/// * 0 for intra (as well as P/B-skip & direct mode between parser & syntax processor):
/// * Syntax 'RefListIdx' directly decoded from bit stream (field information embedded)
/// ###
/// %unsigned 1 FLD
/// ###
/// * Flatten 4x4s in each 8x8:
/// * 1 for MBAFF field MB, 0 for otherwise
/// ###
/// %unsigned 1 equalpred
/// ###
/// * BLK property for CABAC only:
/// * Using block category ACV,
/// * (But flatten to all 4x4s in each 8x8s):
/// * = !Intra && !skipped && (bi-pred || fore-pred)
/// * NOTE: = 0 for direct mode
/// * VC-1:
/// * PMV output: for hybridPred
/// * PMV input: predictor_flag (0: use dominant PMV)
/// ###
/// %unsigned 1 transform
/// ###
/// * MB property (flatten in all 4x4s):
/// * H.264: if 8x8 transform
/// * Others: if field transform
/// ###
/// %unsigned 1 NCBPY
/// ###
/// * Loop-filter & CABAC use only:
/// * Luma using block category ACV (4th 4x4),
/// * (But flatten to all 4x4s in each 8x8s):
/// * = !(IPCM || cbp_luma)
/// ###
/// %unsigned 1 MixFLG
/// ###
/// * CABAC use only:
/// * CBP chroma using block category DCU/DCV,
/// * (Only at 3rd & 4th 4x4s in 3rd 8x8):
/// * bin[0]: IPCM || !(skipped || (cbp_chroma == 0))
/// * bin[1]: IPCM || !(skipped || (cbp_chroma != 2))
/// * Or:
/// * mb_type using block category DCY,
/// * (Only at 4th 4x4 in 4th 8x8):
/// * I_SLICE: = !I_NXN
/// * P_SLICE: = 0
/// * B_SLICE: = !skipped && !direct_16x16
/// * Or:
/// * intra-chroma_pred using block category DCI,
/// * (Only at 3rd 4x4 in 4th 8x8):
/// * = Intra && !IPCM && (intra_chroma_pred != 0)
/// * Or:
/// * Temporal context buffers for direct mode use
/// ###
/// : 8x8 0x1
/// ###
/// * Only at 1st 4x4 in 1st 8x8:
/// * = if MB contains no sub-8x8 partition
/// ###
/// : 16x16 0x1
/// ###
/// * Only at 1st 4x4 in 2nd 8x8:
/// * = if MB contains only 1 partition (16x16)
/// ###
/// %unsigned 2 dctSelY
/// : 4x4 0x0
/// : 8x8 0x1
/// : 4x8 0x2
/// : 8x4 0x3
/// ###
/// * DCT transform type for Y, used for VC-1 Fop
/// * flattened to all 4x4 blocks within transform block
/// ###
/// %unsigned 1 CBFY
/// ###
/// * coded block (4x4) flag for Y, used for VC-1 Fop
/// ###
/// %unsigned 1 CBFY8x8
/// ###
/// * coded block (8x8) flag for Y, used for VC-1 MP Fop
/// ###
/// %unsigned 12 RSVD12
/// @ 0x00004 (P)
/// # 0x00004 mv
/// $MV mv REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FCTX_VC1
#define h_FCTX_VC1 (){}
#define BA_FCTX_VC1_rBID 0x0000
#define B16FCTX_VC1_rBID 0x0000
#define LSb32FCTX_VC1_rBID 0
#define LSb16FCTX_VC1_rBID 0
#define bFCTX_VC1_rBID 6
#define MSK32FCTX_VC1_rBID 0x0000003F
#define BA_FCTX_VC1_rIDX 0x0000
#define B16FCTX_VC1_rIDX 0x0000
#define LSb32FCTX_VC1_rIDX 6
#define LSb16FCTX_VC1_rIDX 6
#define bFCTX_VC1_rIDX 5
#define MSK32FCTX_VC1_rIDX 0x000007C0
#define BA_FCTX_VC1_FLD 0x0001
#define B16FCTX_VC1_FLD 0x0000
#define LSb32FCTX_VC1_FLD 11
#define LSb16FCTX_VC1_FLD 11
#define bFCTX_VC1_FLD 1
#define MSK32FCTX_VC1_FLD 0x00000800
#define BA_FCTX_VC1_equalpred 0x0001
#define B16FCTX_VC1_equalpred 0x0000
#define LSb32FCTX_VC1_equalpred 12
#define LSb16FCTX_VC1_equalpred 12
#define bFCTX_VC1_equalpred 1
#define MSK32FCTX_VC1_equalpred 0x00001000
#define BA_FCTX_VC1_transform 0x0001
#define B16FCTX_VC1_transform 0x0000
#define LSb32FCTX_VC1_transform 13
#define LSb16FCTX_VC1_transform 13
#define bFCTX_VC1_transform 1
#define MSK32FCTX_VC1_transform 0x00002000
#define BA_FCTX_VC1_NCBPY 0x0001
#define B16FCTX_VC1_NCBPY 0x0000
#define LSb32FCTX_VC1_NCBPY 14
#define LSb16FCTX_VC1_NCBPY 14
#define bFCTX_VC1_NCBPY 1
#define MSK32FCTX_VC1_NCBPY 0x00004000
#define BA_FCTX_VC1_MixFLG 0x0001
#define B16FCTX_VC1_MixFLG 0x0000
#define LSb32FCTX_VC1_MixFLG 15
#define LSb16FCTX_VC1_MixFLG 15
#define bFCTX_VC1_MixFLG 1
#define MSK32FCTX_VC1_MixFLG 0x00008000
#define FCTX_VC1_MixFLG_8x8 0x1
#define FCTX_VC1_MixFLG_16x16 0x1
#define BA_FCTX_VC1_dctSelY 0x0002
#define B16FCTX_VC1_dctSelY 0x0002
#define LSb32FCTX_VC1_dctSelY 16
#define LSb16FCTX_VC1_dctSelY 0
#define bFCTX_VC1_dctSelY 2
#define MSK32FCTX_VC1_dctSelY 0x00030000
#define FCTX_VC1_dctSelY_4x4 0x0
#define FCTX_VC1_dctSelY_8x8 0x1
#define FCTX_VC1_dctSelY_4x8 0x2
#define FCTX_VC1_dctSelY_8x4 0x3
#define BA_FCTX_VC1_CBFY 0x0002
#define B16FCTX_VC1_CBFY 0x0002
#define LSb32FCTX_VC1_CBFY 18
#define LSb16FCTX_VC1_CBFY 2
#define bFCTX_VC1_CBFY 1
#define MSK32FCTX_VC1_CBFY 0x00040000
#define BA_FCTX_VC1_CBFY8x8 0x0002
#define B16FCTX_VC1_CBFY8x8 0x0002
#define LSb32FCTX_VC1_CBFY8x8 19
#define LSb16FCTX_VC1_CBFY8x8 3
#define bFCTX_VC1_CBFY8x8 1
#define MSK32FCTX_VC1_CBFY8x8 0x00080000
#define BA_FCTX_VC1_RSVD12 0x0002
#define B16FCTX_VC1_RSVD12 0x0002
#define LSb32FCTX_VC1_RSVD12 20
#define LSb16FCTX_VC1_RSVD12 4
#define bFCTX_VC1_RSVD12 12
#define MSK32FCTX_VC1_RSVD12 0xFFF00000
///////////////////////////////////////////////////////////
#define RA_FCTX_VC1_mv 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_FCTX_VC1 {
///////////////////////////////////////////////////////////
#define GET32FCTX_VC1_rBID(r32) _BFGET_(r32, 5, 0)
#define SET32FCTX_VC1_rBID(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16FCTX_VC1_rBID(r16) _BFGET_(r16, 5, 0)
#define SET16FCTX_VC1_rBID(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32FCTX_VC1_rIDX(r32) _BFGET_(r32,10, 6)
#define SET32FCTX_VC1_rIDX(r32,v) _BFSET_(r32,10, 6,v)
#define GET16FCTX_VC1_rIDX(r16) _BFGET_(r16,10, 6)
#define SET16FCTX_VC1_rIDX(r16,v) _BFSET_(r16,10, 6,v)
#define GET32FCTX_VC1_FLD(r32) _BFGET_(r32,11,11)
#define SET32FCTX_VC1_FLD(r32,v) _BFSET_(r32,11,11,v)
#define GET16FCTX_VC1_FLD(r16) _BFGET_(r16,11,11)
#define SET16FCTX_VC1_FLD(r16,v) _BFSET_(r16,11,11,v)
#define GET32FCTX_VC1_equalpred(r32) _BFGET_(r32,12,12)
#define SET32FCTX_VC1_equalpred(r32,v) _BFSET_(r32,12,12,v)
#define GET16FCTX_VC1_equalpred(r16) _BFGET_(r16,12,12)
#define SET16FCTX_VC1_equalpred(r16,v) _BFSET_(r16,12,12,v)
#define GET32FCTX_VC1_transform(r32) _BFGET_(r32,13,13)
#define SET32FCTX_VC1_transform(r32,v) _BFSET_(r32,13,13,v)
#define GET16FCTX_VC1_transform(r16) _BFGET_(r16,13,13)
#define SET16FCTX_VC1_transform(r16,v) _BFSET_(r16,13,13,v)
#define GET32FCTX_VC1_NCBPY(r32) _BFGET_(r32,14,14)
#define SET32FCTX_VC1_NCBPY(r32,v) _BFSET_(r32,14,14,v)
#define GET16FCTX_VC1_NCBPY(r16) _BFGET_(r16,14,14)
#define SET16FCTX_VC1_NCBPY(r16,v) _BFSET_(r16,14,14,v)
#define GET32FCTX_VC1_MixFLG(r32) _BFGET_(r32,15,15)
#define SET32FCTX_VC1_MixFLG(r32,v) _BFSET_(r32,15,15,v)
#define GET16FCTX_VC1_MixFLG(r16) _BFGET_(r16,15,15)
#define SET16FCTX_VC1_MixFLG(r16,v) _BFSET_(r16,15,15,v)
#define GET32FCTX_VC1_dctSelY(r32) _BFGET_(r32,17,16)
#define SET32FCTX_VC1_dctSelY(r32,v) _BFSET_(r32,17,16,v)
#define GET16FCTX_VC1_dctSelY(r16) _BFGET_(r16, 1, 0)
#define SET16FCTX_VC1_dctSelY(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32FCTX_VC1_CBFY(r32) _BFGET_(r32,18,18)
#define SET32FCTX_VC1_CBFY(r32,v) _BFSET_(r32,18,18,v)
#define GET16FCTX_VC1_CBFY(r16) _BFGET_(r16, 2, 2)
#define SET16FCTX_VC1_CBFY(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32FCTX_VC1_CBFY8x8(r32) _BFGET_(r32,19,19)
#define SET32FCTX_VC1_CBFY8x8(r32,v) _BFSET_(r32,19,19,v)
#define GET16FCTX_VC1_CBFY8x8(r16) _BFGET_(r16, 3, 3)
#define SET16FCTX_VC1_CBFY8x8(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32FCTX_VC1_RSVD12(r32) _BFGET_(r32,31,20)
#define SET32FCTX_VC1_RSVD12(r32,v) _BFSET_(r32,31,20,v)
#define GET16FCTX_VC1_RSVD12(r16) _BFGET_(r16,15, 4)
#define SET16FCTX_VC1_RSVD12(r16,v) _BFSET_(r16,15, 4,v)
UNSG32 u_rBID : 6;
UNSG32 u_rIDX : 5;
UNSG32 u_FLD : 1;
UNSG32 u_equalpred : 1;
UNSG32 u_transform : 1;
UNSG32 u_NCBPY : 1;
UNSG32 u_MixFLG : 1;
UNSG32 u_dctSelY : 2;
UNSG32 u_CBFY : 1;
UNSG32 u_CBFY8x8 : 1;
UNSG32 u_RSVD12 : 12;
///////////////////////////////////////////////////////////
SIE_MV ie_mv;
///////////////////////////////////////////////////////////
} SIE_FCTX_VC1;
///////////////////////////////////////////////////////////
SIGN32 FCTX_VC1_drvrd(SIE_FCTX_VC1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FCTX_VC1_drvwr(SIE_FCTX_VC1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FCTX_VC1_reset(SIE_FCTX_VC1 *p);
SIGN32 FCTX_VC1_cmp (SIE_FCTX_VC1 *p, SIE_FCTX_VC1 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FCTX_VC1_check(p,pie,pfx,hLOG) FCTX_VC1_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FCTX_VC1_print(p, pfx,hLOG) FCTX_VC1_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FCTX_VC1
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FCTX_RV9 biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 rBID
/// ###
/// * Flatten 4x4s in each 8x8,
/// * 0 for intra (as well as direct mode between parser & syntax processor):
/// * Reference buffer ID, last 1b indicates access mode:
/// * 0: frame/progressive or top field
/// * 1: bottom field
/// ###
/// %unsigned 5 rIDX
/// ###
/// * Flatten 4x4s in each 8x8,
/// * 0 for intra (as well as P/B-skip & direct mode between parser & syntax processor):
/// * Syntax 'RefListIdx' directly decoded from bit stream (field information embedded)
/// ###
/// %unsigned 1 FLD
/// ###
/// * Flatten 4x4s in each 8x8:
/// * 1 for MBAFF field MB, 0 for otherwise
/// ###
/// %unsigned 1 equalpred
/// ###
/// * BLK property for CABAC only:
/// * Using block category ACV,
/// * (But flatten to all 4x4s in each 8x8s):
/// * = !Intra && !skipped && (bi-pred || fore-pred)
/// * NOTE: = 0 for direct mode
/// * VC-1:
/// * PMV output: for hybridPred
/// * PMV input: predictor_flag (0: use dominant PMV)
/// ###
/// %unsigned 1 transform
/// ###
/// * MB property (flatten in all 4x4s):
/// * H.264: if 8x8 transform
/// * Others: if field transform
/// ###
/// %unsigned 1 NCBPY
/// ###
/// * Loop-filter & CABAC use only:
/// * Luma using block category ACV (4th 4x4),
/// * (But flatten to all 4x4s in each 8x8s):
/// * = !(IPCM || cbp_luma)
/// ###
/// %unsigned 1 MixFLG
/// ###
/// * CABAC use only:
/// * CBP chroma using block category DCU/DCV,
/// * (Only at 3rd & 4th 4x4s in 3rd 8x8):
/// * bin[0]: IPCM || !(skipped || (cbp_chroma == 0))
/// * bin[1]: IPCM || !(skipped || (cbp_chroma != 2))
/// * Or:
/// * mb_type using block category DCY,
/// * (Only at 4th 4x4 in 4th 8x8):
/// * I_SLICE: = !I_NXN
/// * P_SLICE: = 0
/// * B_SLICE: = !skipped && !direct_16x16
/// * Or:
/// * intra-chroma_pred using block category DCI,
/// * (Only at 3rd 4x4 in 4th 8x8):
/// * = Intra && !IPCM && (intra_chroma_pred != 0)
/// * Or:
/// * Temporal context buffers for direct mode use
/// ###
/// : 8x8 0x1
/// ###
/// * Only at 1st 4x4 in 1st 8x8:
/// * = if MB contains no sub-8x8 partition
/// ###
/// : 16x16 0x1
/// ###
/// * Only at 1st 4x4 in 2nd 8x8:
/// * = if MB contains only 1 partition (16x16)
/// ###
/// %unsigned 1 CBPY
/// ###
/// * CBP for Y
/// ###
/// %unsigned 1 CBPU
/// ###
/// * CBP for U
/// ###
/// %unsigned 1 CBPV
/// ###
/// * CBP for Y
/// ###
/// %unsigned 2 BsY
/// ###
/// * Block strength for Y
/// ###
/// %unsigned 2 BsU
/// ###
/// * Block strength for U
/// ###
/// %unsigned 2 BsV
/// ###
/// * Block strength for V
/// ###
/// %unsigned 7 Rsvd
/// ###
/// * Reserved
/// ###
/// @ 0x00004 (P)
/// # 0x00004 mv
/// $MV mv REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FCTX_RV9
#define h_FCTX_RV9 (){}
#define BA_FCTX_RV9_rBID 0x0000
#define B16FCTX_RV9_rBID 0x0000
#define LSb32FCTX_RV9_rBID 0
#define LSb16FCTX_RV9_rBID 0
#define bFCTX_RV9_rBID 6
#define MSK32FCTX_RV9_rBID 0x0000003F
#define BA_FCTX_RV9_rIDX 0x0000
#define B16FCTX_RV9_rIDX 0x0000
#define LSb32FCTX_RV9_rIDX 6
#define LSb16FCTX_RV9_rIDX 6
#define bFCTX_RV9_rIDX 5
#define MSK32FCTX_RV9_rIDX 0x000007C0
#define BA_FCTX_RV9_FLD 0x0001
#define B16FCTX_RV9_FLD 0x0000
#define LSb32FCTX_RV9_FLD 11
#define LSb16FCTX_RV9_FLD 11
#define bFCTX_RV9_FLD 1
#define MSK32FCTX_RV9_FLD 0x00000800
#define BA_FCTX_RV9_equalpred 0x0001
#define B16FCTX_RV9_equalpred 0x0000
#define LSb32FCTX_RV9_equalpred 12
#define LSb16FCTX_RV9_equalpred 12
#define bFCTX_RV9_equalpred 1
#define MSK32FCTX_RV9_equalpred 0x00001000
#define BA_FCTX_RV9_transform 0x0001
#define B16FCTX_RV9_transform 0x0000
#define LSb32FCTX_RV9_transform 13
#define LSb16FCTX_RV9_transform 13
#define bFCTX_RV9_transform 1
#define MSK32FCTX_RV9_transform 0x00002000
#define BA_FCTX_RV9_NCBPY 0x0001
#define B16FCTX_RV9_NCBPY 0x0000
#define LSb32FCTX_RV9_NCBPY 14
#define LSb16FCTX_RV9_NCBPY 14
#define bFCTX_RV9_NCBPY 1
#define MSK32FCTX_RV9_NCBPY 0x00004000
#define BA_FCTX_RV9_MixFLG 0x0001
#define B16FCTX_RV9_MixFLG 0x0000
#define LSb32FCTX_RV9_MixFLG 15
#define LSb16FCTX_RV9_MixFLG 15
#define bFCTX_RV9_MixFLG 1
#define MSK32FCTX_RV9_MixFLG 0x00008000
#define FCTX_RV9_MixFLG_8x8 0x1
#define FCTX_RV9_MixFLG_16x16 0x1
#define BA_FCTX_RV9_CBPY 0x0002
#define B16FCTX_RV9_CBPY 0x0002
#define LSb32FCTX_RV9_CBPY 16
#define LSb16FCTX_RV9_CBPY 0
#define bFCTX_RV9_CBPY 1
#define MSK32FCTX_RV9_CBPY 0x00010000
#define BA_FCTX_RV9_CBPU 0x0002
#define B16FCTX_RV9_CBPU 0x0002
#define LSb32FCTX_RV9_CBPU 17
#define LSb16FCTX_RV9_CBPU 1
#define bFCTX_RV9_CBPU 1
#define MSK32FCTX_RV9_CBPU 0x00020000
#define BA_FCTX_RV9_CBPV 0x0002
#define B16FCTX_RV9_CBPV 0x0002
#define LSb32FCTX_RV9_CBPV 18
#define LSb16FCTX_RV9_CBPV 2
#define bFCTX_RV9_CBPV 1
#define MSK32FCTX_RV9_CBPV 0x00040000
#define BA_FCTX_RV9_BsY 0x0002
#define B16FCTX_RV9_BsY 0x0002
#define LSb32FCTX_RV9_BsY 19
#define LSb16FCTX_RV9_BsY 3
#define bFCTX_RV9_BsY 2
#define MSK32FCTX_RV9_BsY 0x00180000
#define BA_FCTX_RV9_BsU 0x0002
#define B16FCTX_RV9_BsU 0x0002
#define LSb32FCTX_RV9_BsU 21
#define LSb16FCTX_RV9_BsU 5
#define bFCTX_RV9_BsU 2
#define MSK32FCTX_RV9_BsU 0x00600000
#define BA_FCTX_RV9_BsV 0x0002
#define B16FCTX_RV9_BsV 0x0002
#define LSb32FCTX_RV9_BsV 23
#define LSb16FCTX_RV9_BsV 7
#define bFCTX_RV9_BsV 2
#define MSK32FCTX_RV9_BsV 0x01800000
#define BA_FCTX_RV9_Rsvd 0x0003
#define B16FCTX_RV9_Rsvd 0x0002
#define LSb32FCTX_RV9_Rsvd 25
#define LSb16FCTX_RV9_Rsvd 9
#define bFCTX_RV9_Rsvd 7
#define MSK32FCTX_RV9_Rsvd 0xFE000000
///////////////////////////////////////////////////////////
#define RA_FCTX_RV9_mv 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_FCTX_RV9 {
///////////////////////////////////////////////////////////
#define GET32FCTX_RV9_rBID(r32) _BFGET_(r32, 5, 0)
#define SET32FCTX_RV9_rBID(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16FCTX_RV9_rBID(r16) _BFGET_(r16, 5, 0)
#define SET16FCTX_RV9_rBID(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32FCTX_RV9_rIDX(r32) _BFGET_(r32,10, 6)
#define SET32FCTX_RV9_rIDX(r32,v) _BFSET_(r32,10, 6,v)
#define GET16FCTX_RV9_rIDX(r16) _BFGET_(r16,10, 6)
#define SET16FCTX_RV9_rIDX(r16,v) _BFSET_(r16,10, 6,v)
#define GET32FCTX_RV9_FLD(r32) _BFGET_(r32,11,11)
#define SET32FCTX_RV9_FLD(r32,v) _BFSET_(r32,11,11,v)
#define GET16FCTX_RV9_FLD(r16) _BFGET_(r16,11,11)
#define SET16FCTX_RV9_FLD(r16,v) _BFSET_(r16,11,11,v)
#define GET32FCTX_RV9_equalpred(r32) _BFGET_(r32,12,12)
#define SET32FCTX_RV9_equalpred(r32,v) _BFSET_(r32,12,12,v)
#define GET16FCTX_RV9_equalpred(r16) _BFGET_(r16,12,12)
#define SET16FCTX_RV9_equalpred(r16,v) _BFSET_(r16,12,12,v)
#define GET32FCTX_RV9_transform(r32) _BFGET_(r32,13,13)
#define SET32FCTX_RV9_transform(r32,v) _BFSET_(r32,13,13,v)
#define GET16FCTX_RV9_transform(r16) _BFGET_(r16,13,13)
#define SET16FCTX_RV9_transform(r16,v) _BFSET_(r16,13,13,v)
#define GET32FCTX_RV9_NCBPY(r32) _BFGET_(r32,14,14)
#define SET32FCTX_RV9_NCBPY(r32,v) _BFSET_(r32,14,14,v)
#define GET16FCTX_RV9_NCBPY(r16) _BFGET_(r16,14,14)
#define SET16FCTX_RV9_NCBPY(r16,v) _BFSET_(r16,14,14,v)
#define GET32FCTX_RV9_MixFLG(r32) _BFGET_(r32,15,15)
#define SET32FCTX_RV9_MixFLG(r32,v) _BFSET_(r32,15,15,v)
#define GET16FCTX_RV9_MixFLG(r16) _BFGET_(r16,15,15)
#define SET16FCTX_RV9_MixFLG(r16,v) _BFSET_(r16,15,15,v)
#define GET32FCTX_RV9_CBPY(r32) _BFGET_(r32,16,16)
#define SET32FCTX_RV9_CBPY(r32,v) _BFSET_(r32,16,16,v)
#define GET16FCTX_RV9_CBPY(r16) _BFGET_(r16, 0, 0)
#define SET16FCTX_RV9_CBPY(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FCTX_RV9_CBPU(r32) _BFGET_(r32,17,17)
#define SET32FCTX_RV9_CBPU(r32,v) _BFSET_(r32,17,17,v)
#define GET16FCTX_RV9_CBPU(r16) _BFGET_(r16, 1, 1)
#define SET16FCTX_RV9_CBPU(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32FCTX_RV9_CBPV(r32) _BFGET_(r32,18,18)
#define SET32FCTX_RV9_CBPV(r32,v) _BFSET_(r32,18,18,v)
#define GET16FCTX_RV9_CBPV(r16) _BFGET_(r16, 2, 2)
#define SET16FCTX_RV9_CBPV(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32FCTX_RV9_BsY(r32) _BFGET_(r32,20,19)
#define SET32FCTX_RV9_BsY(r32,v) _BFSET_(r32,20,19,v)
#define GET16FCTX_RV9_BsY(r16) _BFGET_(r16, 4, 3)
#define SET16FCTX_RV9_BsY(r16,v) _BFSET_(r16, 4, 3,v)
#define GET32FCTX_RV9_BsU(r32) _BFGET_(r32,22,21)
#define SET32FCTX_RV9_BsU(r32,v) _BFSET_(r32,22,21,v)
#define GET16FCTX_RV9_BsU(r16) _BFGET_(r16, 6, 5)
#define SET16FCTX_RV9_BsU(r16,v) _BFSET_(r16, 6, 5,v)
#define GET32FCTX_RV9_BsV(r32) _BFGET_(r32,24,23)
#define SET32FCTX_RV9_BsV(r32,v) _BFSET_(r32,24,23,v)
#define GET16FCTX_RV9_BsV(r16) _BFGET_(r16, 8, 7)
#define SET16FCTX_RV9_BsV(r16,v) _BFSET_(r16, 8, 7,v)
#define GET32FCTX_RV9_Rsvd(r32) _BFGET_(r32,31,25)
#define SET32FCTX_RV9_Rsvd(r32,v) _BFSET_(r32,31,25,v)
#define GET16FCTX_RV9_Rsvd(r16) _BFGET_(r16,15, 9)
#define SET16FCTX_RV9_Rsvd(r16,v) _BFSET_(r16,15, 9,v)
UNSG32 u_rBID : 6;
UNSG32 u_rIDX : 5;
UNSG32 u_FLD : 1;
UNSG32 u_equalpred : 1;
UNSG32 u_transform : 1;
UNSG32 u_NCBPY : 1;
UNSG32 u_MixFLG : 1;
UNSG32 u_CBPY : 1;
UNSG32 u_CBPU : 1;
UNSG32 u_CBPV : 1;
UNSG32 u_BsY : 2;
UNSG32 u_BsU : 2;
UNSG32 u_BsV : 2;
UNSG32 u_Rsvd : 7;
///////////////////////////////////////////////////////////
SIE_MV ie_mv;
///////////////////////////////////////////////////////////
} SIE_FCTX_RV9;
///////////////////////////////////////////////////////////
SIGN32 FCTX_RV9_drvrd(SIE_FCTX_RV9 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FCTX_RV9_drvwr(SIE_FCTX_RV9 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FCTX_RV9_reset(SIE_FCTX_RV9 *p);
SIGN32 FCTX_RV9_cmp (SIE_FCTX_RV9 *p, SIE_FCTX_RV9 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FCTX_RV9_check(p,pie,pfx,hLOG) FCTX_RV9_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FCTX_RV9_print(p, pfx,hLOG) FCTX_RV9_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FCTX_RV9
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BCTX biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 rBID
/// %unsigned 5 rIDX
/// %unsigned 1 FLD
/// %unsigned 1 equalpred
/// ###
/// * BLK property for CABAC only:
/// * Using block category ACV,
/// * (Only at 4th 4x4 in each 8x8s):
/// * = !Intra && !skipped && (bi-pred || back-pred)
/// * NOTE: = 0 for direct mode
/// ###
/// %unsigned 3 RSVD
/// ###
/// * Reserved
/// ###
/// %unsigned 3 dctSel
/// : 8x8 0x0
/// : 8x4 0x1
/// : 4x8 0x2
/// : 4x4 0x3
/// ###
/// * VC-1 use only
/// ###
/// %unsigned 6 ABSMVDX
/// %unsigned 7 ABSMVDY
/// @ 0x00004 (P)
/// # 0x00004 mv
/// $MV mv REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BCTX
#define h_BCTX (){}
#define BA_BCTX_rBID 0x0000
#define B16BCTX_rBID 0x0000
#define LSb32BCTX_rBID 0
#define LSb16BCTX_rBID 0
#define bBCTX_rBID 6
#define MSK32BCTX_rBID 0x0000003F
#define BA_BCTX_rIDX 0x0000
#define B16BCTX_rIDX 0x0000
#define LSb32BCTX_rIDX 6
#define LSb16BCTX_rIDX 6
#define bBCTX_rIDX 5
#define MSK32BCTX_rIDX 0x000007C0
#define BA_BCTX_FLD 0x0001
#define B16BCTX_FLD 0x0000
#define LSb32BCTX_FLD 11
#define LSb16BCTX_FLD 11
#define bBCTX_FLD 1
#define MSK32BCTX_FLD 0x00000800
#define BA_BCTX_equalpred 0x0001
#define B16BCTX_equalpred 0x0000
#define LSb32BCTX_equalpred 12
#define LSb16BCTX_equalpred 12
#define bBCTX_equalpred 1
#define MSK32BCTX_equalpred 0x00001000
#define BA_BCTX_RSVD 0x0001
#define B16BCTX_RSVD 0x0000
#define LSb32BCTX_RSVD 13
#define LSb16BCTX_RSVD 13
#define bBCTX_RSVD 3
#define MSK32BCTX_RSVD 0x0000E000
#define BA_BCTX_dctSel 0x0002
#define B16BCTX_dctSel 0x0002
#define LSb32BCTX_dctSel 16
#define LSb16BCTX_dctSel 0
#define bBCTX_dctSel 3
#define MSK32BCTX_dctSel 0x00070000
#define BCTX_dctSel_8x8 0x0
#define BCTX_dctSel_8x4 0x1
#define BCTX_dctSel_4x8 0x2
#define BCTX_dctSel_4x4 0x3
#define BA_BCTX_ABSMVDX 0x0002
#define B16BCTX_ABSMVDX 0x0002
#define LSb32BCTX_ABSMVDX 19
#define LSb16BCTX_ABSMVDX 3
#define bBCTX_ABSMVDX 6
#define MSK32BCTX_ABSMVDX 0x01F80000
#define BA_BCTX_ABSMVDY 0x0003
#define B16BCTX_ABSMVDY 0x0002
#define LSb32BCTX_ABSMVDY 25
#define LSb16BCTX_ABSMVDY 9
#define bBCTX_ABSMVDY 7
#define MSK32BCTX_ABSMVDY 0xFE000000
///////////////////////////////////////////////////////////
#define RA_BCTX_mv 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_BCTX {
///////////////////////////////////////////////////////////
#define GET32BCTX_rBID(r32) _BFGET_(r32, 5, 0)
#define SET32BCTX_rBID(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BCTX_rBID(r16) _BFGET_(r16, 5, 0)
#define SET16BCTX_rBID(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BCTX_rIDX(r32) _BFGET_(r32,10, 6)
#define SET32BCTX_rIDX(r32,v) _BFSET_(r32,10, 6,v)
#define GET16BCTX_rIDX(r16) _BFGET_(r16,10, 6)
#define SET16BCTX_rIDX(r16,v) _BFSET_(r16,10, 6,v)
#define GET32BCTX_FLD(r32) _BFGET_(r32,11,11)
#define SET32BCTX_FLD(r32,v) _BFSET_(r32,11,11,v)
#define GET16BCTX_FLD(r16) _BFGET_(r16,11,11)
#define SET16BCTX_FLD(r16,v) _BFSET_(r16,11,11,v)
#define GET32BCTX_equalpred(r32) _BFGET_(r32,12,12)
#define SET32BCTX_equalpred(r32,v) _BFSET_(r32,12,12,v)
#define GET16BCTX_equalpred(r16) _BFGET_(r16,12,12)
#define SET16BCTX_equalpred(r16,v) _BFSET_(r16,12,12,v)
#define GET32BCTX_RSVD(r32) _BFGET_(r32,15,13)
#define SET32BCTX_RSVD(r32,v) _BFSET_(r32,15,13,v)
#define GET16BCTX_RSVD(r16) _BFGET_(r16,15,13)
#define SET16BCTX_RSVD(r16,v) _BFSET_(r16,15,13,v)
#define GET32BCTX_dctSel(r32) _BFGET_(r32,18,16)
#define SET32BCTX_dctSel(r32,v) _BFSET_(r32,18,16,v)
#define GET16BCTX_dctSel(r16) _BFGET_(r16, 2, 0)
#define SET16BCTX_dctSel(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32BCTX_ABSMVDX(r32) _BFGET_(r32,24,19)
#define SET32BCTX_ABSMVDX(r32,v) _BFSET_(r32,24,19,v)
#define GET16BCTX_ABSMVDX(r16) _BFGET_(r16, 8, 3)
#define SET16BCTX_ABSMVDX(r16,v) _BFSET_(r16, 8, 3,v)
#define GET32BCTX_ABSMVDY(r32) _BFGET_(r32,31,25)
#define SET32BCTX_ABSMVDY(r32,v) _BFSET_(r32,31,25,v)
#define GET16BCTX_ABSMVDY(r16) _BFGET_(r16,15, 9)
#define SET16BCTX_ABSMVDY(r16,v) _BFSET_(r16,15, 9,v)
UNSG32 u_rBID : 6;
UNSG32 u_rIDX : 5;
UNSG32 u_FLD : 1;
UNSG32 u_equalpred : 1;
UNSG32 u_RSVD : 3;
UNSG32 u_dctSel : 3;
UNSG32 u_ABSMVDX : 6;
UNSG32 u_ABSMVDY : 7;
///////////////////////////////////////////////////////////
SIE_MV ie_mv;
///////////////////////////////////////////////////////////
} SIE_BCTX;
///////////////////////////////////////////////////////////
SIGN32 BCTX_drvrd(SIE_BCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BCTX_drvwr(SIE_BCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BCTX_reset(SIE_BCTX *p);
SIGN32 BCTX_cmp (SIE_BCTX *p, SIE_BCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BCTX_check(p,pie,pfx,hLOG) BCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BCTX_print(p, pfx,hLOG) BCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BCTX_VC1 biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 rBID
/// %unsigned 5 rIDX
/// %unsigned 1 FLD
/// %unsigned 1 equalpred
/// ###
/// * BLK property for CABAC only:
/// * Using block category ACV,
/// * (Only at 4th 4x4 in each 8x8s):
/// * = !Intra && !skipped && (bi-pred || back-pred)
/// * NOTE: = 0 for direct mode
/// ###
/// %unsigned 3 RSVD
/// ###
/// * Reserved
/// ###
/// %unsigned 2 dctSelU
/// ###
/// * DCT transform type for U; used for VC-1 Fop
/// ###
/// %unsigned 2 dctSelV
/// ###
/// * DCT transform type for V; used for VC-1 Fop
/// ###
/// %unsigned 1 CBFU
/// ###
/// * coded block (4x4) flag for U; used for VC-1 Fop
/// ###
/// %unsigned 1 CBFV
/// ###
/// * coded block (4x4) flag for V; used for VC-1 Fop
/// ###
/// %unsigned 1 CBFU8x8
/// ###
/// * coded block (8x8) flag for U, used for VC-1 Fop
/// ###
/// %unsigned 1 CBFV8x8
/// ###
/// * coded block (8x8) flag for V, used for VC-1 Fop
/// ###
/// %unsigned 8 RSVD8
/// @ 0x00004 (P)
/// # 0x00004 mv
/// $MV mv REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BCTX_VC1
#define h_BCTX_VC1 (){}
#define BA_BCTX_VC1_rBID 0x0000
#define B16BCTX_VC1_rBID 0x0000
#define LSb32BCTX_VC1_rBID 0
#define LSb16BCTX_VC1_rBID 0
#define bBCTX_VC1_rBID 6
#define MSK32BCTX_VC1_rBID 0x0000003F
#define BA_BCTX_VC1_rIDX 0x0000
#define B16BCTX_VC1_rIDX 0x0000
#define LSb32BCTX_VC1_rIDX 6
#define LSb16BCTX_VC1_rIDX 6
#define bBCTX_VC1_rIDX 5
#define MSK32BCTX_VC1_rIDX 0x000007C0
#define BA_BCTX_VC1_FLD 0x0001
#define B16BCTX_VC1_FLD 0x0000
#define LSb32BCTX_VC1_FLD 11
#define LSb16BCTX_VC1_FLD 11
#define bBCTX_VC1_FLD 1
#define MSK32BCTX_VC1_FLD 0x00000800
#define BA_BCTX_VC1_equalpred 0x0001
#define B16BCTX_VC1_equalpred 0x0000
#define LSb32BCTX_VC1_equalpred 12
#define LSb16BCTX_VC1_equalpred 12
#define bBCTX_VC1_equalpred 1
#define MSK32BCTX_VC1_equalpred 0x00001000
#define BA_BCTX_VC1_RSVD 0x0001
#define B16BCTX_VC1_RSVD 0x0000
#define LSb32BCTX_VC1_RSVD 13
#define LSb16BCTX_VC1_RSVD 13
#define bBCTX_VC1_RSVD 3
#define MSK32BCTX_VC1_RSVD 0x0000E000
#define BA_BCTX_VC1_dctSelU 0x0002
#define B16BCTX_VC1_dctSelU 0x0002
#define LSb32BCTX_VC1_dctSelU 16
#define LSb16BCTX_VC1_dctSelU 0
#define bBCTX_VC1_dctSelU 2
#define MSK32BCTX_VC1_dctSelU 0x00030000
#define BA_BCTX_VC1_dctSelV 0x0002
#define B16BCTX_VC1_dctSelV 0x0002
#define LSb32BCTX_VC1_dctSelV 18
#define LSb16BCTX_VC1_dctSelV 2
#define bBCTX_VC1_dctSelV 2
#define MSK32BCTX_VC1_dctSelV 0x000C0000
#define BA_BCTX_VC1_CBFU 0x0002
#define B16BCTX_VC1_CBFU 0x0002
#define LSb32BCTX_VC1_CBFU 20
#define LSb16BCTX_VC1_CBFU 4
#define bBCTX_VC1_CBFU 1
#define MSK32BCTX_VC1_CBFU 0x00100000
#define BA_BCTX_VC1_CBFV 0x0002
#define B16BCTX_VC1_CBFV 0x0002
#define LSb32BCTX_VC1_CBFV 21
#define LSb16BCTX_VC1_CBFV 5
#define bBCTX_VC1_CBFV 1
#define MSK32BCTX_VC1_CBFV 0x00200000
#define BA_BCTX_VC1_CBFU8x8 0x0002
#define B16BCTX_VC1_CBFU8x8 0x0002
#define LSb32BCTX_VC1_CBFU8x8 22
#define LSb16BCTX_VC1_CBFU8x8 6
#define bBCTX_VC1_CBFU8x8 1
#define MSK32BCTX_VC1_CBFU8x8 0x00400000
#define BA_BCTX_VC1_CBFV8x8 0x0002
#define B16BCTX_VC1_CBFV8x8 0x0002
#define LSb32BCTX_VC1_CBFV8x8 23
#define LSb16BCTX_VC1_CBFV8x8 7
#define bBCTX_VC1_CBFV8x8 1
#define MSK32BCTX_VC1_CBFV8x8 0x00800000
#define BA_BCTX_VC1_RSVD8 0x0003
#define B16BCTX_VC1_RSVD8 0x0002
#define LSb32BCTX_VC1_RSVD8 24
#define LSb16BCTX_VC1_RSVD8 8
#define bBCTX_VC1_RSVD8 8
#define MSK32BCTX_VC1_RSVD8 0xFF000000
///////////////////////////////////////////////////////////
#define RA_BCTX_VC1_mv 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_BCTX_VC1 {
///////////////////////////////////////////////////////////
#define GET32BCTX_VC1_rBID(r32) _BFGET_(r32, 5, 0)
#define SET32BCTX_VC1_rBID(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BCTX_VC1_rBID(r16) _BFGET_(r16, 5, 0)
#define SET16BCTX_VC1_rBID(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BCTX_VC1_rIDX(r32) _BFGET_(r32,10, 6)
#define SET32BCTX_VC1_rIDX(r32,v) _BFSET_(r32,10, 6,v)
#define GET16BCTX_VC1_rIDX(r16) _BFGET_(r16,10, 6)
#define SET16BCTX_VC1_rIDX(r16,v) _BFSET_(r16,10, 6,v)
#define GET32BCTX_VC1_FLD(r32) _BFGET_(r32,11,11)
#define SET32BCTX_VC1_FLD(r32,v) _BFSET_(r32,11,11,v)
#define GET16BCTX_VC1_FLD(r16) _BFGET_(r16,11,11)
#define SET16BCTX_VC1_FLD(r16,v) _BFSET_(r16,11,11,v)
#define GET32BCTX_VC1_equalpred(r32) _BFGET_(r32,12,12)
#define SET32BCTX_VC1_equalpred(r32,v) _BFSET_(r32,12,12,v)
#define GET16BCTX_VC1_equalpred(r16) _BFGET_(r16,12,12)
#define SET16BCTX_VC1_equalpred(r16,v) _BFSET_(r16,12,12,v)
#define GET32BCTX_VC1_RSVD(r32) _BFGET_(r32,15,13)
#define SET32BCTX_VC1_RSVD(r32,v) _BFSET_(r32,15,13,v)
#define GET16BCTX_VC1_RSVD(r16) _BFGET_(r16,15,13)
#define SET16BCTX_VC1_RSVD(r16,v) _BFSET_(r16,15,13,v)
#define GET32BCTX_VC1_dctSelU(r32) _BFGET_(r32,17,16)
#define SET32BCTX_VC1_dctSelU(r32,v) _BFSET_(r32,17,16,v)
#define GET16BCTX_VC1_dctSelU(r16) _BFGET_(r16, 1, 0)
#define SET16BCTX_VC1_dctSelU(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32BCTX_VC1_dctSelV(r32) _BFGET_(r32,19,18)
#define SET32BCTX_VC1_dctSelV(r32,v) _BFSET_(r32,19,18,v)
#define GET16BCTX_VC1_dctSelV(r16) _BFGET_(r16, 3, 2)
#define SET16BCTX_VC1_dctSelV(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32BCTX_VC1_CBFU(r32) _BFGET_(r32,20,20)
#define SET32BCTX_VC1_CBFU(r32,v) _BFSET_(r32,20,20,v)
#define GET16BCTX_VC1_CBFU(r16) _BFGET_(r16, 4, 4)
#define SET16BCTX_VC1_CBFU(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32BCTX_VC1_CBFV(r32) _BFGET_(r32,21,21)
#define SET32BCTX_VC1_CBFV(r32,v) _BFSET_(r32,21,21,v)
#define GET16BCTX_VC1_CBFV(r16) _BFGET_(r16, 5, 5)
#define SET16BCTX_VC1_CBFV(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32BCTX_VC1_CBFU8x8(r32) _BFGET_(r32,22,22)
#define SET32BCTX_VC1_CBFU8x8(r32,v) _BFSET_(r32,22,22,v)
#define GET16BCTX_VC1_CBFU8x8(r16) _BFGET_(r16, 6, 6)
#define SET16BCTX_VC1_CBFU8x8(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32BCTX_VC1_CBFV8x8(r32) _BFGET_(r32,23,23)
#define SET32BCTX_VC1_CBFV8x8(r32,v) _BFSET_(r32,23,23,v)
#define GET16BCTX_VC1_CBFV8x8(r16) _BFGET_(r16, 7, 7)
#define SET16BCTX_VC1_CBFV8x8(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32BCTX_VC1_RSVD8(r32) _BFGET_(r32,31,24)
#define SET32BCTX_VC1_RSVD8(r32,v) _BFSET_(r32,31,24,v)
#define GET16BCTX_VC1_RSVD8(r16) _BFGET_(r16,15, 8)
#define SET16BCTX_VC1_RSVD8(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_rBID : 6;
UNSG32 u_rIDX : 5;
UNSG32 u_FLD : 1;
UNSG32 u_equalpred : 1;
UNSG32 u_RSVD : 3;
UNSG32 u_dctSelU : 2;
UNSG32 u_dctSelV : 2;
UNSG32 u_CBFU : 1;
UNSG32 u_CBFV : 1;
UNSG32 u_CBFU8x8 : 1;
UNSG32 u_CBFV8x8 : 1;
UNSG32 u_RSVD8 : 8;
///////////////////////////////////////////////////////////
SIE_MV ie_mv;
///////////////////////////////////////////////////////////
} SIE_BCTX_VC1;
///////////////////////////////////////////////////////////
SIGN32 BCTX_VC1_drvrd(SIE_BCTX_VC1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BCTX_VC1_drvwr(SIE_BCTX_VC1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BCTX_VC1_reset(SIE_BCTX_VC1 *p);
SIGN32 BCTX_VC1_cmp (SIE_BCTX_VC1 *p, SIE_BCTX_VC1 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BCTX_VC1_check(p,pie,pfx,hLOG) BCTX_VC1_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BCTX_VC1_print(p, pfx,hLOG) BCTX_VC1_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BCTX_VC1
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FCTXI biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 22 RSVD
/// %unsigned 5 NCUV
/// ###
/// * CAVLC use only:
/// * Using block category ACU/ACV: 0~15
/// ###
/// %unsigned 5 NCY
/// ###
/// * CAVLC use only:
/// * Using block category ACY (every 4x4s): 0~16
/// ###
/// @ 0x00004 (P)
/// %unsigned 20 RSVD20
/// %unsigned 4 intraChroma
/// ###
/// * For encoder: Intra prediction mode for chormablocks, see IntraChroma.mode above. Only appears in DCI, one per MB.
/// ###
/// %unsigned 8 intraLuma
/// ###
/// * Intra 16x16/NxN prediction mode for luma blocks, see IntraLuma.mode above
/// * =0 between parser & syntax processor
/// * End of FCTXI
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FCTXI
#define h_FCTXI (){}
#define BA_FCTXI_RSVD 0x0000
#define B16FCTXI_RSVD 0x0000
#define LSb32FCTXI_RSVD 0
#define LSb16FCTXI_RSVD 0
#define bFCTXI_RSVD 22
#define MSK32FCTXI_RSVD 0x003FFFFF
#define BA_FCTXI_NCUV 0x0002
#define B16FCTXI_NCUV 0x0002
#define LSb32FCTXI_NCUV 22
#define LSb16FCTXI_NCUV 6
#define bFCTXI_NCUV 5
#define MSK32FCTXI_NCUV 0x07C00000
#define BA_FCTXI_NCY 0x0003
#define B16FCTXI_NCY 0x0002
#define LSb32FCTXI_NCY 27
#define LSb16FCTXI_NCY 11
#define bFCTXI_NCY 5
#define MSK32FCTXI_NCY 0xF8000000
///////////////////////////////////////////////////////////
#define BA_FCTXI_RSVD20 0x0004
#define B16FCTXI_RSVD20 0x0004
#define LSb32FCTXI_RSVD20 0
#define LSb16FCTXI_RSVD20 0
#define bFCTXI_RSVD20 20
#define MSK32FCTXI_RSVD20 0x000FFFFF
#define BA_FCTXI_intraChroma 0x0006
#define B16FCTXI_intraChroma 0x0006
#define LSb32FCTXI_intraChroma 20
#define LSb16FCTXI_intraChroma 4
#define bFCTXI_intraChroma 4
#define MSK32FCTXI_intraChroma 0x00F00000
#define BA_FCTXI_intraLuma 0x0007
#define B16FCTXI_intraLuma 0x0006
#define LSb32FCTXI_intraLuma 24
#define LSb16FCTXI_intraLuma 8
#define bFCTXI_intraLuma 8
#define MSK32FCTXI_intraLuma 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_FCTXI {
///////////////////////////////////////////////////////////
#define GET32FCTXI_RSVD(r32) _BFGET_(r32,21, 0)
#define SET32FCTXI_RSVD(r32,v) _BFSET_(r32,21, 0,v)
#define GET32FCTXI_NCUV(r32) _BFGET_(r32,26,22)
#define SET32FCTXI_NCUV(r32,v) _BFSET_(r32,26,22,v)
#define GET16FCTXI_NCUV(r16) _BFGET_(r16,10, 6)
#define SET16FCTXI_NCUV(r16,v) _BFSET_(r16,10, 6,v)
#define GET32FCTXI_NCY(r32) _BFGET_(r32,31,27)
#define SET32FCTXI_NCY(r32,v) _BFSET_(r32,31,27,v)
#define GET16FCTXI_NCY(r16) _BFGET_(r16,15,11)
#define SET16FCTXI_NCY(r16,v) _BFSET_(r16,15,11,v)
UNSG32 u_RSVD : 22;
UNSG32 u_NCUV : 5;
UNSG32 u_NCY : 5;
///////////////////////////////////////////////////////////
#define GET32FCTXI_RSVD20(r32) _BFGET_(r32,19, 0)
#define SET32FCTXI_RSVD20(r32,v) _BFSET_(r32,19, 0,v)
#define GET32FCTXI_intraChroma(r32) _BFGET_(r32,23,20)
#define SET32FCTXI_intraChroma(r32,v) _BFSET_(r32,23,20,v)
#define GET16FCTXI_intraChroma(r16) _BFGET_(r16, 7, 4)
#define SET16FCTXI_intraChroma(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32FCTXI_intraLuma(r32) _BFGET_(r32,31,24)
#define SET32FCTXI_intraLuma(r32,v) _BFSET_(r32,31,24,v)
#define GET16FCTXI_intraLuma(r16) _BFGET_(r16,15, 8)
#define SET16FCTXI_intraLuma(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_RSVD20 : 20;
UNSG32 u_intraChroma : 4;
UNSG32 u_intraLuma : 8;
///////////////////////////////////////////////////////////
} SIE_FCTXI;
///////////////////////////////////////////////////////////
SIGN32 FCTXI_drvrd(SIE_FCTXI *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FCTXI_drvwr(SIE_FCTXI *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FCTXI_reset(SIE_FCTXI *p);
SIGN32 FCTXI_cmp (SIE_FCTXI *p, SIE_FCTXI *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FCTXI_check(p,pie,pfx,hLOG) FCTXI_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FCTXI_print(p, pfx,hLOG) FCTXI_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FCTXI
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HCTX4x4 biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 fore
/// $FCTX fore REG
/// ###
/// * Forward prediction
/// ###
/// @ 0x00008 (P)
/// # 0x00008 back
/// $BCTX back REG
/// ###
/// * Backward prediction
/// * End of HCTX4x4
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HCTX4x4
#define h_HCTX4x4 (){}
#define RA_HCTX4x4_fore 0x0000
///////////////////////////////////////////////////////////
#define RA_HCTX4x4_back 0x0008
///////////////////////////////////////////////////////////
typedef struct SIE_HCTX4x4 {
///////////////////////////////////////////////////////////
SIE_FCTX ie_fore;
///////////////////////////////////////////////////////////
SIE_BCTX ie_back;
///////////////////////////////////////////////////////////
} SIE_HCTX4x4;
///////////////////////////////////////////////////////////
SIGN32 HCTX4x4_drvrd(SIE_HCTX4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HCTX4x4_drvwr(SIE_HCTX4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HCTX4x4_reset(SIE_HCTX4x4 *p);
SIGN32 HCTX4x4_cmp (SIE_HCTX4x4 *p, SIE_HCTX4x4 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HCTX4x4_check(p,pie,pfx,hLOG) HCTX4x4_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HCTX4x4_print(p, pfx,hLOG) HCTX4x4_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HCTX4x4
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CTXI biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %signed 16 AC0
/// ###
/// * DC or horizontal/vertical AC coefficient
/// ###
/// %signed 13 AC1
/// ###
/// * 2nd horizontal/vertical AC coefficient
/// ###
/// %unsigned 1 cbpcy
/// ###
/// * Flatten all 4x4s in a 8x8 block, coded or not
/// ###
/// %unsigned 2 mquantL
/// ###
/// * Low 2 bits of mquant, flatten all 4x4s in a macroblock
/// ###
/// %unsigned 3 mquantH
/// ###
/// * High 3 bits of mquant, flatten all 4x4s in a macroblock
/// ###
/// %signed 13 AC2
/// ###
/// * 3rd horizontal/vertical AC coefficient
/// ###
/// %unsigned 3 type
/// ###
/// * Sub-set of mb_type, see MBPROP.type above
/// * = intra16x16
/// ###
/// %signed 13 AC3
/// ###
/// * 4th horizontal/vertical AC coefficient
/// * End of CTXI
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CTXI
#define h_CTXI (){}
#define BA_CTXI_AC0 0x0000
#define B16CTXI_AC0 0x0000
#define LSb32CTXI_AC0 0
#define LSb16CTXI_AC0 0
#define bCTXI_AC0 16
#define MSK32CTXI_AC0 0x0000FFFF
#define BA_CTXI_AC1 0x0002
#define B16CTXI_AC1 0x0002
#define LSb32CTXI_AC1 16
#define LSb16CTXI_AC1 0
#define bCTXI_AC1 13
#define MSK32CTXI_AC1 0x1FFF0000
#define BA_CTXI_cbpcy 0x0003
#define B16CTXI_cbpcy 0x0002
#define LSb32CTXI_cbpcy 29
#define LSb16CTXI_cbpcy 13
#define bCTXI_cbpcy 1
#define MSK32CTXI_cbpcy 0x20000000
#define BA_CTXI_mquantL 0x0003
#define B16CTXI_mquantL 0x0002
#define LSb32CTXI_mquantL 30
#define LSb16CTXI_mquantL 14
#define bCTXI_mquantL 2
#define MSK32CTXI_mquantL 0xC0000000
#define BA_CTXI_mquantH 0x0004
#define B16CTXI_mquantH 0x0004
#define LSb32CTXI_mquantH 0
#define LSb16CTXI_mquantH 0
#define bCTXI_mquantH 3
#define MSK32CTXI_mquantH 0x00000007
#define BA_CTXI_AC2 0x0004
#define B16CTXI_AC2 0x0004
#define LSb32CTXI_AC2 3
#define LSb16CTXI_AC2 3
#define bCTXI_AC2 13
#define MSK32CTXI_AC2 0x0000FFF8
#define BA_CTXI_type 0x0006
#define B16CTXI_type 0x0006
#define LSb32CTXI_type 16
#define LSb16CTXI_type 0
#define bCTXI_type 3
#define MSK32CTXI_type 0x00070000
#define BA_CTXI_AC3 0x0006
#define B16CTXI_AC3 0x0006
#define LSb32CTXI_AC3 19
#define LSb16CTXI_AC3 3
#define bCTXI_AC3 13
#define MSK32CTXI_AC3 0xFFF80000
///////////////////////////////////////////////////////////
typedef struct SIE_CTXI {
///////////////////////////////////////////////////////////
#define GET32CTXI_AC0(r32) _BFGET_(r32,15, 0)
#define SET32CTXI_AC0(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CTXI_AC0(r16) _BFGET_(r16,15, 0)
#define SET16CTXI_AC0(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CTXI_AC1(r32) _BFGET_(r32,28,16)
#define SET32CTXI_AC1(r32,v) _BFSET_(r32,28,16,v)
#define GET16CTXI_AC1(r16) _BFGET_(r16,12, 0)
#define SET16CTXI_AC1(r16,v) _BFSET_(r16,12, 0,v)
#define GET32CTXI_cbpcy(r32) _BFGET_(r32,29,29)
#define SET32CTXI_cbpcy(r32,v) _BFSET_(r32,29,29,v)
#define GET16CTXI_cbpcy(r16) _BFGET_(r16,13,13)
#define SET16CTXI_cbpcy(r16,v) _BFSET_(r16,13,13,v)
#define GET32CTXI_mquantL(r32) _BFGET_(r32,31,30)
#define SET32CTXI_mquantL(r32,v) _BFSET_(r32,31,30,v)
#define GET16CTXI_mquantL(r16) _BFGET_(r16,15,14)
#define SET16CTXI_mquantL(r16,v) _BFSET_(r16,15,14,v)
UNSG32 s_AC0 : 16;
UNSG32 s_AC1 : 13;
UNSG32 u_cbpcy : 1;
UNSG32 u_mquantL : 2;
///////////////////////////////////////////////////////////
#define GET32CTXI_mquantH(r32) _BFGET_(r32, 2, 0)
#define SET32CTXI_mquantH(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CTXI_mquantH(r16) _BFGET_(r16, 2, 0)
#define SET16CTXI_mquantH(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CTXI_AC2(r32) _BFGET_(r32,15, 3)
#define SET32CTXI_AC2(r32,v) _BFSET_(r32,15, 3,v)
#define GET16CTXI_AC2(r16) _BFGET_(r16,15, 3)
#define SET16CTXI_AC2(r16,v) _BFSET_(r16,15, 3,v)
#define GET32CTXI_type(r32) _BFGET_(r32,18,16)
#define SET32CTXI_type(r32,v) _BFSET_(r32,18,16,v)
#define GET16CTXI_type(r16) _BFGET_(r16, 2, 0)
#define SET16CTXI_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CTXI_AC3(r32) _BFGET_(r32,31,19)
#define SET32CTXI_AC3(r32,v) _BFSET_(r32,31,19,v)
#define GET16CTXI_AC3(r16) _BFGET_(r16,15, 3)
#define SET16CTXI_AC3(r16,v) _BFSET_(r16,15, 3,v)
UNSG32 u_mquantH : 3;
UNSG32 s_AC2 : 13;
UNSG32 u_type : 3;
UNSG32 s_AC3 : 13;
///////////////////////////////////////////////////////////
} SIE_CTXI;
///////////////////////////////////////////////////////////
SIGN32 CTXI_drvrd(SIE_CTXI *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CTXI_drvwr(SIE_CTXI *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CTXI_reset(SIE_CTXI *p);
SIGN32 CTXI_cmp (SIE_CTXI *p, SIE_CTXI *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CTXI_check(p,pie,pfx,hLOG) CTXI_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CTXI_print(p, pfx,hLOG) CTXI_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CTXI
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CTXI4x4 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 luma
/// $CTXI luma REG
/// ###
/// * DC/AC for Y
/// ###
/// @ 0x00008 (P)
/// # 0x00008 chroma
/// $CTXI chroma REG
/// ###
/// * DC/AC for UV
/// * End of CTXI4x4
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CTXI4x4
#define h_CTXI4x4 (){}
#define RA_CTXI4x4_luma 0x0000
///////////////////////////////////////////////////////////
#define RA_CTXI4x4_chroma 0x0008
///////////////////////////////////////////////////////////
typedef struct SIE_CTXI4x4 {
///////////////////////////////////////////////////////////
SIE_CTXI ie_luma;
///////////////////////////////////////////////////////////
SIE_CTXI ie_chroma;
///////////////////////////////////////////////////////////
} SIE_CTXI4x4;
///////////////////////////////////////////////////////////
SIGN32 CTXI4x4_drvrd(SIE_CTXI4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CTXI4x4_drvwr(SIE_CTXI4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CTXI4x4_reset(SIE_CTXI4x4 *p);
SIGN32 CTXI4x4_cmp (SIE_CTXI4x4 *p, SIE_CTXI4x4 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CTXI4x4_check(p,pie,pfx,hLOG) CTXI4x4_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CTXI4x4_print(p, pfx,hLOG) CTXI4x4_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CTXI4x4
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE IDX2BID (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 frmIDX2BID
/// $LUT8b frmIDX2BID REG [16]
/// ###
/// * Cast to 8b rBID[32:rIDX][2:L0/L1]
/// * Note: field picture use this table (32 rIDX)!
/// ###
/// @ 0x00040 (P)
/// # 0x00040 topIDX2BID
/// $LUT8b topIDX2BID REG [16]
/// ###
/// * Cast to 8b rBID[32:rIDX][2:L0/L1]
/// ###
/// @ 0x00080 (P)
/// # 0x00080 btmIDX2BID
/// $LUT8b btmIDX2BID REG [16]
/// ###
/// * Cast to 8b rBID[32:rIDX][2:L0/L1]
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 192B, bits: 1536b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_IDX2BID
#define h_IDX2BID (){}
#define RA_IDX2BID_frmIDX2BID 0x0000
///////////////////////////////////////////////////////////
#define RA_IDX2BID_topIDX2BID 0x0040
///////////////////////////////////////////////////////////
#define RA_IDX2BID_btmIDX2BID 0x0080
///////////////////////////////////////////////////////////
typedef struct SIE_IDX2BID {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_frmIDX2BID[16];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_topIDX2BID[16];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_btmIDX2BID[16];
///////////////////////////////////////////////////////////
} SIE_IDX2BID;
///////////////////////////////////////////////////////////
SIGN32 IDX2BID_drvrd(SIE_IDX2BID *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 IDX2BID_drvwr(SIE_IDX2BID *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void IDX2BID_reset(SIE_IDX2BID *p);
SIGN32 IDX2BID_cmp (SIE_IDX2BID *p, SIE_IDX2BID *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define IDX2BID_check(p,pie,pfx,hLOG) IDX2BID_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define IDX2BID_print(p, pfx,hLOG) IDX2BID_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: IDX2BID
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BID2IDX (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 frmBID2IDX
/// $LUT8b frmBID2IDX REG [10]
/// ###
/// * Cast to 8b L0.min.rIDX[34:rBID]
/// * Note: field picture use this table (32 rIDX)!
/// ###
/// @ 0x00028 (P)
/// # 0x00028 topBID2IDX
/// $LUT8b topBID2IDX REG [10]
/// ###
/// * Cast to 8b L0.min.rIDX[34:rBID]
/// ###
/// @ 0x00050 (P)
/// # 0x00050 btmBID2IDX
/// $LUT8b btmBID2IDX REG [10]
/// ###
/// * Cast to 8b L0.min.rIDX[34:rBID]
/// * Note: direct mode corner case
/// * Alternative method (not used) if not adjust rIDX:
/// * rBID = CoL.rBID | (CoL.Frm & Cur.Btm)
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 120B, bits: 960b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BID2IDX
#define h_BID2IDX (){}
#define RA_BID2IDX_frmBID2IDX 0x0000
///////////////////////////////////////////////////////////
#define RA_BID2IDX_topBID2IDX 0x0028
///////////////////////////////////////////////////////////
#define RA_BID2IDX_btmBID2IDX 0x0050
///////////////////////////////////////////////////////////
typedef struct SIE_BID2IDX {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_frmBID2IDX[10];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_topBID2IDX[10];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_btmBID2IDX[10];
///////////////////////////////////////////////////////////
} SIE_BID2IDX;
///////////////////////////////////////////////////////////
SIGN32 BID2IDX_drvrd(SIE_BID2IDX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BID2IDX_drvwr(SIE_BID2IDX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BID2IDX_reset(SIE_BID2IDX *p);
SIGN32 BID2IDX_cmp (SIE_BID2IDX *p, SIE_BID2IDX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BID2IDX_check(p,pie,pfx,hLOG) BID2IDX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BID2IDX_print(p, pfx,hLOG) BID2IDX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BID2IDX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ASPSET biu (4,4)
/// ###
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 type
/// ###
/// * MB type
/// ###
/// %unsigned 2 chroma
/// ###
/// * Intra MB only: intra_chroma_pred
/// ###
/// %unsigned 1 t8x8
/// ###
/// * 8x8 transform; used by AspInit & residual.
/// * End of ASPSET
/// ###
/// %% 26 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 6b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ASPSET
#define h_ASPSET (){}
#define BA_ASPSET_type 0x0000
#define B16ASPSET_type 0x0000
#define LSb32ASPSET_type 0
#define LSb16ASPSET_type 0
#define bASPSET_type 3
#define MSK32ASPSET_type 0x00000007
#define BA_ASPSET_chroma 0x0000
#define B16ASPSET_chroma 0x0000
#define LSb32ASPSET_chroma 3
#define LSb16ASPSET_chroma 3
#define bASPSET_chroma 2
#define MSK32ASPSET_chroma 0x00000018
#define BA_ASPSET_t8x8 0x0000
#define B16ASPSET_t8x8 0x0000
#define LSb32ASPSET_t8x8 5
#define LSb16ASPSET_t8x8 5
#define bASPSET_t8x8 1
#define MSK32ASPSET_t8x8 0x00000020
///////////////////////////////////////////////////////////
typedef struct SIE_ASPSET {
///////////////////////////////////////////////////////////
#define GET32ASPSET_type(r32) _BFGET_(r32, 2, 0)
#define SET32ASPSET_type(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16ASPSET_type(r16) _BFGET_(r16, 2, 0)
#define SET16ASPSET_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32ASPSET_chroma(r32) _BFGET_(r32, 4, 3)
#define SET32ASPSET_chroma(r32,v) _BFSET_(r32, 4, 3,v)
#define GET16ASPSET_chroma(r16) _BFGET_(r16, 4, 3)
#define SET16ASPSET_chroma(r16,v) _BFSET_(r16, 4, 3,v)
#define GET32ASPSET_t8x8(r32) _BFGET_(r32, 5, 5)
#define SET32ASPSET_t8x8(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16ASPSET_t8x8(r16) _BFGET_(r16, 5, 5)
#define SET16ASPSET_t8x8(r16,v) _BFSET_(r16, 5, 5,v)
UNSG32 u_type : 3;
UNSG32 u_chroma : 2;
UNSG32 u_t8x8 : 1;
UNSG32 RSVDx0_b6 : 26;
///////////////////////////////////////////////////////////
} SIE_ASPSET;
///////////////////////////////////////////////////////////
SIGN32 ASPSET_drvrd(SIE_ASPSET *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ASPSET_drvwr(SIE_ASPSET *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ASPSET_reset(SIE_ASPSET *p);
SIGN32 ASPSET_cmp (SIE_ASPSET *p, SIE_ASPSET *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ASPSET_check(p,pie,pfx,hLOG) ASPSET_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ASPSET_print(p, pfx,hLOG) ASPSET_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ASPSET
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE IntraPROP (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 type
/// ###
/// * See BLK.type above,
/// * LUT: IPCM or intraNxN or intra16x16
/// ###
/// %unsigned 1 8x8IDX0
/// ###
/// * LUT: 0 (P_8x8ref0)
/// ###
/// %unsigned 1 t8x8I
/// ###
/// * LUT: MB.transform8x8 & intraNxN
/// ###
/// %unsigned 1 t8x8PB
/// ###
/// * LUT: 0
/// ###
/// %unsigned 2 luma16x16
/// ###
/// * LUT: intra 16x16 prediction mode
/// ###
/// %unsigned 6 CBP
/// ###
/// * LUT: intra 16x16 coded block pattern
/// * MPEG4 LUT: Chroma cbp
/// * End of IntraPROP
/// ###
/// %% 18 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 14b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_IntraPROP
#define h_IntraPROP (){}
#define BA_IntraPROP_type 0x0000
#define B16IntraPROP_type 0x0000
#define LSb32IntraPROP_type 0
#define LSb16IntraPROP_type 0
#define bIntraPROP_type 3
#define MSK32IntraPROP_type 0x00000007
#define BA_IntraPROP_8x8IDX0 0x0000
#define B16IntraPROP_8x8IDX0 0x0000
#define LSb32IntraPROP_8x8IDX0 3
#define LSb16IntraPROP_8x8IDX0 3
#define bIntraPROP_8x8IDX0 1
#define MSK32IntraPROP_8x8IDX0 0x00000008
#define BA_IntraPROP_t8x8I 0x0000
#define B16IntraPROP_t8x8I 0x0000
#define LSb32IntraPROP_t8x8I 4
#define LSb16IntraPROP_t8x8I 4
#define bIntraPROP_t8x8I 1
#define MSK32IntraPROP_t8x8I 0x00000010
#define BA_IntraPROP_t8x8PB 0x0000
#define B16IntraPROP_t8x8PB 0x0000
#define LSb32IntraPROP_t8x8PB 5
#define LSb16IntraPROP_t8x8PB 5
#define bIntraPROP_t8x8PB 1
#define MSK32IntraPROP_t8x8PB 0x00000020
#define BA_IntraPROP_luma16x16 0x0000
#define B16IntraPROP_luma16x16 0x0000
#define LSb32IntraPROP_luma16x16 6
#define LSb16IntraPROP_luma16x16 6
#define bIntraPROP_luma16x16 2
#define MSK32IntraPROP_luma16x16 0x000000C0
#define BA_IntraPROP_CBP 0x0001
#define B16IntraPROP_CBP 0x0000
#define LSb32IntraPROP_CBP 8
#define LSb16IntraPROP_CBP 8
#define bIntraPROP_CBP 6
#define MSK32IntraPROP_CBP 0x00003F00
///////////////////////////////////////////////////////////
typedef struct SIE_IntraPROP {
///////////////////////////////////////////////////////////
#define GET32IntraPROP_type(r32) _BFGET_(r32, 2, 0)
#define SET32IntraPROP_type(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16IntraPROP_type(r16) _BFGET_(r16, 2, 0)
#define SET16IntraPROP_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32IntraPROP_8x8IDX0(r32) _BFGET_(r32, 3, 3)
#define SET32IntraPROP_8x8IDX0(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16IntraPROP_8x8IDX0(r16) _BFGET_(r16, 3, 3)
#define SET16IntraPROP_8x8IDX0(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32IntraPROP_t8x8I(r32) _BFGET_(r32, 4, 4)
#define SET32IntraPROP_t8x8I(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16IntraPROP_t8x8I(r16) _BFGET_(r16, 4, 4)
#define SET16IntraPROP_t8x8I(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32IntraPROP_t8x8PB(r32) _BFGET_(r32, 5, 5)
#define SET32IntraPROP_t8x8PB(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16IntraPROP_t8x8PB(r16) _BFGET_(r16, 5, 5)
#define SET16IntraPROP_t8x8PB(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32IntraPROP_luma16x16(r32) _BFGET_(r32, 7, 6)
#define SET32IntraPROP_luma16x16(r32,v) _BFSET_(r32, 7, 6,v)
#define GET16IntraPROP_luma16x16(r16) _BFGET_(r16, 7, 6)
#define SET16IntraPROP_luma16x16(r16,v) _BFSET_(r16, 7, 6,v)
#define GET32IntraPROP_CBP(r32) _BFGET_(r32,13, 8)
#define SET32IntraPROP_CBP(r32,v) _BFSET_(r32,13, 8,v)
#define GET16IntraPROP_CBP(r16) _BFGET_(r16,13, 8)
#define SET16IntraPROP_CBP(r16,v) _BFSET_(r16,13, 8,v)
UNSG32 u_type : 3;
UNSG32 u_8x8IDX0 : 1;
UNSG32 u_t8x8I : 1;
UNSG32 u_t8x8PB : 1;
UNSG32 u_luma16x16 : 2;
UNSG32 u_CBP : 6;
UNSG32 RSVDx0_b14 : 18;
///////////////////////////////////////////////////////////
} SIE_IntraPROP;
///////////////////////////////////////////////////////////
SIGN32 IntraPROP_drvrd(SIE_IntraPROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 IntraPROP_drvwr(SIE_IntraPROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void IntraPROP_reset(SIE_IntraPROP *p);
SIGN32 IntraPROP_cmp (SIE_IntraPROP *p, SIE_IntraPROP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define IntraPROP_check(p,pie,pfx,hLOG) IntraPROP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define IntraPROP_print(p, pfx,hLOG) IntraPROP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: IntraPROP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE InterPROP (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 type
/// ###
/// * See MBPROP.type above,
/// * LUT: inter or 8x8PB or 8x8IDX0 or direct16x16
/// ###
/// %unsigned 1 8x8IDX0
/// ###
/// * LUT: P_8x8ref0
/// ###
/// %unsigned 1 t8x8I
/// ###
/// * LUT: 0
/// ###
/// %unsigned 1 t8x8PB
/// ###
/// * LUT: MB.transform8x8 & inter &
/// * (MB.direct8x8 | !direct16x16)
/// ###
/// %unsigned 2 partition
/// ###
/// * See MBPROP.partition above
/// ###
/// %unsigned 2 motion_0i
/// %unsigned 2 motion_1i
/// ###
/// * LUT: intra/forward/backward/bi, see BLK.motion above
/// ###
/// %unsigned 2 mvs_0i
/// %unsigned 2 mvs_1i
/// ###
/// * Number of motion vectors for each directions
/// * End of InterPROP
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_InterPROP
#define h_InterPROP (){}
#define BA_InterPROP_type 0x0000
#define B16InterPROP_type 0x0000
#define LSb32InterPROP_type 0
#define LSb16InterPROP_type 0
#define bInterPROP_type 3
#define MSK32InterPROP_type 0x00000007
#define BA_InterPROP_8x8IDX0 0x0000
#define B16InterPROP_8x8IDX0 0x0000
#define LSb32InterPROP_8x8IDX0 3
#define LSb16InterPROP_8x8IDX0 3
#define bInterPROP_8x8IDX0 1
#define MSK32InterPROP_8x8IDX0 0x00000008
#define BA_InterPROP_t8x8I 0x0000
#define B16InterPROP_t8x8I 0x0000
#define LSb32InterPROP_t8x8I 4
#define LSb16InterPROP_t8x8I 4
#define bInterPROP_t8x8I 1
#define MSK32InterPROP_t8x8I 0x00000010
#define BA_InterPROP_t8x8PB 0x0000
#define B16InterPROP_t8x8PB 0x0000
#define LSb32InterPROP_t8x8PB 5
#define LSb16InterPROP_t8x8PB 5
#define bInterPROP_t8x8PB 1
#define MSK32InterPROP_t8x8PB 0x00000020
#define BA_InterPROP_partition 0x0000
#define B16InterPROP_partition 0x0000
#define LSb32InterPROP_partition 6
#define LSb16InterPROP_partition 6
#define bInterPROP_partition 2
#define MSK32InterPROP_partition 0x000000C0
#define BA_InterPROP_motion_0i 0x0001
#define B16InterPROP_motion_0i 0x0000
#define LSb32InterPROP_motion_0i 8
#define LSb16InterPROP_motion_0i 8
#define bInterPROP_motion_0i 2
#define MSK32InterPROP_motion_0i 0x00000300
#define BA_InterPROP_motion_1i 0x0001
#define B16InterPROP_motion_1i 0x0000
#define LSb32InterPROP_motion_1i 10
#define LSb16InterPROP_motion_1i 10
#define bInterPROP_motion_1i 2
#define MSK32InterPROP_motion_1i 0x00000C00
#define BA_InterPROP_mvs_0i 0x0001
#define B16InterPROP_mvs_0i 0x0000
#define LSb32InterPROP_mvs_0i 12
#define LSb16InterPROP_mvs_0i 12
#define bInterPROP_mvs_0i 2
#define MSK32InterPROP_mvs_0i 0x00003000
#define BA_InterPROP_mvs_1i 0x0001
#define B16InterPROP_mvs_1i 0x0000
#define LSb32InterPROP_mvs_1i 14
#define LSb16InterPROP_mvs_1i 14
#define bInterPROP_mvs_1i 2
#define MSK32InterPROP_mvs_1i 0x0000C000
///////////////////////////////////////////////////////////
typedef struct SIE_InterPROP {
///////////////////////////////////////////////////////////
#define GET32InterPROP_type(r32) _BFGET_(r32, 2, 0)
#define SET32InterPROP_type(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16InterPROP_type(r16) _BFGET_(r16, 2, 0)
#define SET16InterPROP_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32InterPROP_8x8IDX0(r32) _BFGET_(r32, 3, 3)
#define SET32InterPROP_8x8IDX0(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16InterPROP_8x8IDX0(r16) _BFGET_(r16, 3, 3)
#define SET16InterPROP_8x8IDX0(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32InterPROP_t8x8I(r32) _BFGET_(r32, 4, 4)
#define SET32InterPROP_t8x8I(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16InterPROP_t8x8I(r16) _BFGET_(r16, 4, 4)
#define SET16InterPROP_t8x8I(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32InterPROP_t8x8PB(r32) _BFGET_(r32, 5, 5)
#define SET32InterPROP_t8x8PB(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16InterPROP_t8x8PB(r16) _BFGET_(r16, 5, 5)
#define SET16InterPROP_t8x8PB(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32InterPROP_partition(r32) _BFGET_(r32, 7, 6)
#define SET32InterPROP_partition(r32,v) _BFSET_(r32, 7, 6,v)
#define GET16InterPROP_partition(r16) _BFGET_(r16, 7, 6)
#define SET16InterPROP_partition(r16,v) _BFSET_(r16, 7, 6,v)
#define GET32InterPROP_motion_0i(r32) _BFGET_(r32, 9, 8)
#define SET32InterPROP_motion_0i(r32,v) _BFSET_(r32, 9, 8,v)
#define GET16InterPROP_motion_0i(r16) _BFGET_(r16, 9, 8)
#define SET16InterPROP_motion_0i(r16,v) _BFSET_(r16, 9, 8,v)
#define GET32InterPROP_motion_1i(r32) _BFGET_(r32,11,10)
#define SET32InterPROP_motion_1i(r32,v) _BFSET_(r32,11,10,v)
#define GET16InterPROP_motion_1i(r16) _BFGET_(r16,11,10)
#define SET16InterPROP_motion_1i(r16,v) _BFSET_(r16,11,10,v)
#define GET32InterPROP_mvs_0i(r32) _BFGET_(r32,13,12)
#define SET32InterPROP_mvs_0i(r32,v) _BFSET_(r32,13,12,v)
#define GET16InterPROP_mvs_0i(r16) _BFGET_(r16,13,12)
#define SET16InterPROP_mvs_0i(r16,v) _BFSET_(r16,13,12,v)
#define GET32InterPROP_mvs_1i(r32) _BFGET_(r32,15,14)
#define SET32InterPROP_mvs_1i(r32,v) _BFSET_(r32,15,14,v)
#define GET16InterPROP_mvs_1i(r16) _BFGET_(r16,15,14)
#define SET16InterPROP_mvs_1i(r16,v) _BFSET_(r16,15,14,v)
UNSG32 u_type : 3;
UNSG32 u_8x8IDX0 : 1;
UNSG32 u_t8x8I : 1;
UNSG32 u_t8x8PB : 1;
UNSG32 u_partition : 2;
UNSG32 u_motion_0i : 2;
UNSG32 u_motion_1i : 2;
UNSG32 u_mvs_0i : 2;
UNSG32 u_mvs_1i : 2;
UNSG32 RSVDx0_b16 : 16;
///////////////////////////////////////////////////////////
} SIE_InterPROP;
///////////////////////////////////////////////////////////
SIGN32 InterPROP_drvrd(SIE_InterPROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 InterPROP_drvwr(SIE_InterPROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void InterPROP_reset(SIE_InterPROP *p);
SIGN32 InterPROP_cmp (SIE_InterPROP *p, SIE_InterPROP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define InterPROP_check(p,pie,pfx,hLOG) InterPROP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define InterPROP_print(p, pfx,hLOG) InterPROP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: InterPROP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ResPROP_VC1 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 MaxNumCoeff
/// ###
/// * Maximal number of coefficients to decode,
/// * The valid number is: 16, 32, 63, and 64
/// ###
/// %unsigned 3 eBlk
/// ###
/// * 8x8 Block index. 0~3 for Y, 4 for Cb, 5 for Cr
/// ###
/// %unsigned 1 IsIntra
/// ###
/// * 1: intra block
/// * 0: inter block
/// ###
/// %unsigned 2 SubBlkIdx
/// ###
/// * Sub-block index in 8x8 block. Unit is 4x4 regardless of transform type.
/// ###
/// %unsigned 2 TransTypeOrIpMode
/// ###
/// * For inter block, this field contain transform type information.
/// ###
/// : TRANS_4x4 0x0
/// : TRANS_4x8 0x1
/// : TRANS_8x4 0x2
/// : TRANS_8x8 0x3
/// ###
/// * For intra block, this field is intra prediction mode.
/// ###
/// : IP_NORMAL 0x0
/// : IP_HORIZONTAL 0x1
/// : IP_VERTICAL 0x2
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ResPROP_VC1
#define h_ResPROP_VC1 (){}
#define BA_ResPROP_VC1_MaxNumCoeff 0x0000
#define B16ResPROP_VC1_MaxNumCoeff 0x0000
#define LSb32ResPROP_VC1_MaxNumCoeff 0
#define LSb16ResPROP_VC1_MaxNumCoeff 0
#define bResPROP_VC1_MaxNumCoeff 8
#define MSK32ResPROP_VC1_MaxNumCoeff 0x000000FF
#define BA_ResPROP_VC1_eBlk 0x0001
#define B16ResPROP_VC1_eBlk 0x0000
#define LSb32ResPROP_VC1_eBlk 8
#define LSb16ResPROP_VC1_eBlk 8
#define bResPROP_VC1_eBlk 3
#define MSK32ResPROP_VC1_eBlk 0x00000700
#define BA_ResPROP_VC1_IsIntra 0x0001
#define B16ResPROP_VC1_IsIntra 0x0000
#define LSb32ResPROP_VC1_IsIntra 11
#define LSb16ResPROP_VC1_IsIntra 11
#define bResPROP_VC1_IsIntra 1
#define MSK32ResPROP_VC1_IsIntra 0x00000800
#define BA_ResPROP_VC1_SubBlkIdx 0x0001
#define B16ResPROP_VC1_SubBlkIdx 0x0000
#define LSb32ResPROP_VC1_SubBlkIdx 12
#define LSb16ResPROP_VC1_SubBlkIdx 12
#define bResPROP_VC1_SubBlkIdx 2
#define MSK32ResPROP_VC1_SubBlkIdx 0x00003000
#define BA_ResPROP_VC1_TransTypeOrIpMode 0x0001
#define B16ResPROP_VC1_TransTypeOrIpMode 0x0000
#define LSb32ResPROP_VC1_TransTypeOrIpMode 14
#define LSb16ResPROP_VC1_TransTypeOrIpMode 14
#define bResPROP_VC1_TransTypeOrIpMode 2
#define MSK32ResPROP_VC1_TransTypeOrIpMode 0x0000C000
#define ResPROP_VC1_TransTypeOrIpMode_TRANS_4x4 0x0
#define ResPROP_VC1_TransTypeOrIpMode_TRANS_4x8 0x1
#define ResPROP_VC1_TransTypeOrIpMode_TRANS_8x4 0x2
#define ResPROP_VC1_TransTypeOrIpMode_TRANS_8x8 0x3
#define ResPROP_VC1_TransTypeOrIpMode_IP_NORMAL 0x0
#define ResPROP_VC1_TransTypeOrIpMode_IP_HORIZONTAL 0x1
#define ResPROP_VC1_TransTypeOrIpMode_IP_VERTICAL 0x2
///////////////////////////////////////////////////////////
typedef struct SIE_ResPROP_VC1 {
///////////////////////////////////////////////////////////
#define GET32ResPROP_VC1_MaxNumCoeff(r32) _BFGET_(r32, 7, 0)
#define SET32ResPROP_VC1_MaxNumCoeff(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16ResPROP_VC1_MaxNumCoeff(r16) _BFGET_(r16, 7, 0)
#define SET16ResPROP_VC1_MaxNumCoeff(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32ResPROP_VC1_eBlk(r32) _BFGET_(r32,10, 8)
#define SET32ResPROP_VC1_eBlk(r32,v) _BFSET_(r32,10, 8,v)
#define GET16ResPROP_VC1_eBlk(r16) _BFGET_(r16,10, 8)
#define SET16ResPROP_VC1_eBlk(r16,v) _BFSET_(r16,10, 8,v)
#define GET32ResPROP_VC1_IsIntra(r32) _BFGET_(r32,11,11)
#define SET32ResPROP_VC1_IsIntra(r32,v) _BFSET_(r32,11,11,v)
#define GET16ResPROP_VC1_IsIntra(r16) _BFGET_(r16,11,11)
#define SET16ResPROP_VC1_IsIntra(r16,v) _BFSET_(r16,11,11,v)
#define GET32ResPROP_VC1_SubBlkIdx(r32) _BFGET_(r32,13,12)
#define SET32ResPROP_VC1_SubBlkIdx(r32,v) _BFSET_(r32,13,12,v)
#define GET16ResPROP_VC1_SubBlkIdx(r16) _BFGET_(r16,13,12)
#define SET16ResPROP_VC1_SubBlkIdx(r16,v) _BFSET_(r16,13,12,v)
#define GET32ResPROP_VC1_TransTypeOrIpMode(r32) _BFGET_(r32,15,14)
#define SET32ResPROP_VC1_TransTypeOrIpMode(r32,v) _BFSET_(r32,15,14,v)
#define GET16ResPROP_VC1_TransTypeOrIpMode(r16) _BFGET_(r16,15,14)
#define SET16ResPROP_VC1_TransTypeOrIpMode(r16,v) _BFSET_(r16,15,14,v)
UNSG32 u_MaxNumCoeff : 8;
UNSG32 u_eBlk : 3;
UNSG32 u_IsIntra : 1;
UNSG32 u_SubBlkIdx : 2;
UNSG32 u_TransTypeOrIpMode : 2;
UNSG32 RSVDx0_b16 : 16;
///////////////////////////////////////////////////////////
} SIE_ResPROP_VC1;
///////////////////////////////////////////////////////////
SIGN32 ResPROP_VC1_drvrd(SIE_ResPROP_VC1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ResPROP_VC1_drvwr(SIE_ResPROP_VC1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ResPROP_VC1_reset(SIE_ResPROP_VC1 *p);
SIGN32 ResPROP_VC1_cmp (SIE_ResPROP_VC1 *p, SIE_ResPROP_VC1 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ResPROP_VC1_check(p,pie,pfx,hLOG) ResPROP_VC1_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ResPROP_VC1_print(p, pfx,hLOG) ResPROP_VC1_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ResPROP_VC1
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ResPROP_MPEG2 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 Intra_MB
/// : inter 0x0
/// : intra 0x1
/// ###
/// * Indicate current MB is inter-coded or intra-coded
/// ###
/// %unsigned 1 CC
/// : luma 0x0
/// : chroma 0x1
/// ###
/// * Color component (to select VLC table)
/// ###
/// %unsigned 1 intra_vlc_format
/// ###
/// * Whether to use intra VLC DC table or inter table
/// * End of ResProp_MPEG2
/// ###
/// %% 29 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 3b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ResPROP_MPEG2
#define h_ResPROP_MPEG2 (){}
#define BA_ResPROP_MPEG2_Intra_MB 0x0000
#define B16ResPROP_MPEG2_Intra_MB 0x0000
#define LSb32ResPROP_MPEG2_Intra_MB 0
#define LSb16ResPROP_MPEG2_Intra_MB 0
#define bResPROP_MPEG2_Intra_MB 1
#define MSK32ResPROP_MPEG2_Intra_MB 0x00000001
#define ResPROP_MPEG2_Intra_MB_inter 0x0
#define ResPROP_MPEG2_Intra_MB_intra 0x1
#define BA_ResPROP_MPEG2_CC 0x0000
#define B16ResPROP_MPEG2_CC 0x0000
#define LSb32ResPROP_MPEG2_CC 1
#define LSb16ResPROP_MPEG2_CC 1
#define bResPROP_MPEG2_CC 1
#define MSK32ResPROP_MPEG2_CC 0x00000002
#define ResPROP_MPEG2_CC_luma 0x0
#define ResPROP_MPEG2_CC_chroma 0x1
#define BA_ResPROP_MPEG2_intra_vlc_format 0x0000
#define B16ResPROP_MPEG2_intra_vlc_format 0x0000
#define LSb32ResPROP_MPEG2_intra_vlc_format 2
#define LSb16ResPROP_MPEG2_intra_vlc_format 2
#define bResPROP_MPEG2_intra_vlc_format 1
#define MSK32ResPROP_MPEG2_intra_vlc_format 0x00000004
///////////////////////////////////////////////////////////
typedef struct SIE_ResPROP_MPEG2 {
///////////////////////////////////////////////////////////
#define GET32ResPROP_MPEG2_Intra_MB(r32) _BFGET_(r32, 0, 0)
#define SET32ResPROP_MPEG2_Intra_MB(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16ResPROP_MPEG2_Intra_MB(r16) _BFGET_(r16, 0, 0)
#define SET16ResPROP_MPEG2_Intra_MB(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32ResPROP_MPEG2_CC(r32) _BFGET_(r32, 1, 1)
#define SET32ResPROP_MPEG2_CC(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16ResPROP_MPEG2_CC(r16) _BFGET_(r16, 1, 1)
#define SET16ResPROP_MPEG2_CC(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32ResPROP_MPEG2_intra_vlc_format(r32) _BFGET_(r32, 2, 2)
#define SET32ResPROP_MPEG2_intra_vlc_format(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16ResPROP_MPEG2_intra_vlc_format(r16) _BFGET_(r16, 2, 2)
#define SET16ResPROP_MPEG2_intra_vlc_format(r16,v) _BFSET_(r16, 2, 2,v)
UNSG32 u_Intra_MB : 1;
UNSG32 u_CC : 1;
UNSG32 u_intra_vlc_format : 1;
UNSG32 RSVDx0_b3 : 29;
///////////////////////////////////////////////////////////
} SIE_ResPROP_MPEG2;
///////////////////////////////////////////////////////////
SIGN32 ResPROP_MPEG2_drvrd(SIE_ResPROP_MPEG2 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ResPROP_MPEG2_drvwr(SIE_ResPROP_MPEG2 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ResPROP_MPEG2_reset(SIE_ResPROP_MPEG2 *p);
SIGN32 ResPROP_MPEG2_cmp (SIE_ResPROP_MPEG2 *p, SIE_ResPROP_MPEG2 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ResPROP_MPEG2_check(p,pie,pfx,hLOG) ResPROP_MPEG2_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ResPROP_MPEG2_print(p, pfx,hLOG) ResPROP_MPEG2_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ResPROP_MPEG2
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ResPROP_MPEG4 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 Intra_MB
/// : inter 0x0
/// : intra 0x1
/// ###
/// * Indicate current MB is inter-coded or intra-coded
/// ###
/// %unsigned 1 CC
/// : luma 0x0
/// : chroma 0x1
/// ###
/// * Color component (to select VLC table)
/// ###
/// %unsigned 1 use_intra_dc_vlc
/// ###
/// * Whether to use intra VLC DC table or inter table
/// ###
/// %unsigned 1 pattern_code
/// ###
/// * Indicate whether to encode AC coefficients
/// ###
/// %unsigned 2 scan_order
/// : normal 0x0
/// : horizontal 0x1
/// : vertical 0x2
/// ###
/// * Indicate zigzag scan order of 8x8 coefficients
/// * End of ResProp_MPEG4
/// ###
/// %% 26 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 6b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ResPROP_MPEG4
#define h_ResPROP_MPEG4 (){}
#define BA_ResPROP_MPEG4_Intra_MB 0x0000
#define B16ResPROP_MPEG4_Intra_MB 0x0000
#define LSb32ResPROP_MPEG4_Intra_MB 0
#define LSb16ResPROP_MPEG4_Intra_MB 0
#define bResPROP_MPEG4_Intra_MB 1
#define MSK32ResPROP_MPEG4_Intra_MB 0x00000001
#define ResPROP_MPEG4_Intra_MB_inter 0x0
#define ResPROP_MPEG4_Intra_MB_intra 0x1
#define BA_ResPROP_MPEG4_CC 0x0000
#define B16ResPROP_MPEG4_CC 0x0000
#define LSb32ResPROP_MPEG4_CC 1
#define LSb16ResPROP_MPEG4_CC 1
#define bResPROP_MPEG4_CC 1
#define MSK32ResPROP_MPEG4_CC 0x00000002
#define ResPROP_MPEG4_CC_luma 0x0
#define ResPROP_MPEG4_CC_chroma 0x1
#define BA_ResPROP_MPEG4_use_intra_dc_vlc 0x0000
#define B16ResPROP_MPEG4_use_intra_dc_vlc 0x0000
#define LSb32ResPROP_MPEG4_use_intra_dc_vlc 2
#define LSb16ResPROP_MPEG4_use_intra_dc_vlc 2
#define bResPROP_MPEG4_use_intra_dc_vlc 1
#define MSK32ResPROP_MPEG4_use_intra_dc_vlc 0x00000004
#define BA_ResPROP_MPEG4_pattern_code 0x0000
#define B16ResPROP_MPEG4_pattern_code 0x0000
#define LSb32ResPROP_MPEG4_pattern_code 3
#define LSb16ResPROP_MPEG4_pattern_code 3
#define bResPROP_MPEG4_pattern_code 1
#define MSK32ResPROP_MPEG4_pattern_code 0x00000008
#define BA_ResPROP_MPEG4_scan_order 0x0000
#define B16ResPROP_MPEG4_scan_order 0x0000
#define LSb32ResPROP_MPEG4_scan_order 4
#define LSb16ResPROP_MPEG4_scan_order 4
#define bResPROP_MPEG4_scan_order 2
#define MSK32ResPROP_MPEG4_scan_order 0x00000030
#define ResPROP_MPEG4_scan_order_normal 0x0
#define ResPROP_MPEG4_scan_order_horizontal 0x1
#define ResPROP_MPEG4_scan_order_vertical 0x2
///////////////////////////////////////////////////////////
typedef struct SIE_ResPROP_MPEG4 {
///////////////////////////////////////////////////////////
#define GET32ResPROP_MPEG4_Intra_MB(r32) _BFGET_(r32, 0, 0)
#define SET32ResPROP_MPEG4_Intra_MB(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16ResPROP_MPEG4_Intra_MB(r16) _BFGET_(r16, 0, 0)
#define SET16ResPROP_MPEG4_Intra_MB(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32ResPROP_MPEG4_CC(r32) _BFGET_(r32, 1, 1)
#define SET32ResPROP_MPEG4_CC(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16ResPROP_MPEG4_CC(r16) _BFGET_(r16, 1, 1)
#define SET16ResPROP_MPEG4_CC(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32ResPROP_MPEG4_use_intra_dc_vlc(r32) _BFGET_(r32, 2, 2)
#define SET32ResPROP_MPEG4_use_intra_dc_vlc(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16ResPROP_MPEG4_use_intra_dc_vlc(r16) _BFGET_(r16, 2, 2)
#define SET16ResPROP_MPEG4_use_intra_dc_vlc(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32ResPROP_MPEG4_pattern_code(r32) _BFGET_(r32, 3, 3)
#define SET32ResPROP_MPEG4_pattern_code(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16ResPROP_MPEG4_pattern_code(r16) _BFGET_(r16, 3, 3)
#define SET16ResPROP_MPEG4_pattern_code(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32ResPROP_MPEG4_scan_order(r32) _BFGET_(r32, 5, 4)
#define SET32ResPROP_MPEG4_scan_order(r32,v) _BFSET_(r32, 5, 4,v)
#define GET16ResPROP_MPEG4_scan_order(r16) _BFGET_(r16, 5, 4)
#define SET16ResPROP_MPEG4_scan_order(r16,v) _BFSET_(r16, 5, 4,v)
UNSG32 u_Intra_MB : 1;
UNSG32 u_CC : 1;
UNSG32 u_use_intra_dc_vlc : 1;
UNSG32 u_pattern_code : 1;
UNSG32 u_scan_order : 2;
UNSG32 RSVDx0_b6 : 26;
///////////////////////////////////////////////////////////
} SIE_ResPROP_MPEG4;
///////////////////////////////////////////////////////////
SIGN32 ResPROP_MPEG4_drvrd(SIE_ResPROP_MPEG4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ResPROP_MPEG4_drvwr(SIE_ResPROP_MPEG4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ResPROP_MPEG4_reset(SIE_ResPROP_MPEG4 *p);
SIGN32 ResPROP_MPEG4_cmp (SIE_ResPROP_MPEG4 *p, SIE_ResPROP_MPEG4 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ResPROP_MPEG4_check(p,pie,pfx,hLOG) ResPROP_MPEG4_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ResPROP_MPEG4_print(p, pfx,hLOG) ResPROP_MPEG4_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ResPROP_MPEG4
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ResPROP_JPEG (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 DCTblId
/// : luma 0x0
/// : chroma 0x1
/// ###
/// * Selects Huffman table used to decode or encode DC coefficients
/// ###
/// %unsigned 1 ACTblId
/// : luma 0x0
/// : chroma 0x1
/// ###
/// * Selects Huffman table used to decode or encode AC coefficients
/// * End of ResPROP_JPEG
/// ###
/// %% 30 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 2b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ResPROP_JPEG
#define h_ResPROP_JPEG (){}
#define BA_ResPROP_JPEG_DCTblId 0x0000
#define B16ResPROP_JPEG_DCTblId 0x0000
#define LSb32ResPROP_JPEG_DCTblId 0
#define LSb16ResPROP_JPEG_DCTblId 0
#define bResPROP_JPEG_DCTblId 1
#define MSK32ResPROP_JPEG_DCTblId 0x00000001
#define ResPROP_JPEG_DCTblId_luma 0x0
#define ResPROP_JPEG_DCTblId_chroma 0x1
#define BA_ResPROP_JPEG_ACTblId 0x0000
#define B16ResPROP_JPEG_ACTblId 0x0000
#define LSb32ResPROP_JPEG_ACTblId 1
#define LSb16ResPROP_JPEG_ACTblId 1
#define bResPROP_JPEG_ACTblId 1
#define MSK32ResPROP_JPEG_ACTblId 0x00000002
#define ResPROP_JPEG_ACTblId_luma 0x0
#define ResPROP_JPEG_ACTblId_chroma 0x1
///////////////////////////////////////////////////////////
typedef struct SIE_ResPROP_JPEG {
///////////////////////////////////////////////////////////
#define GET32ResPROP_JPEG_DCTblId(r32) _BFGET_(r32, 0, 0)
#define SET32ResPROP_JPEG_DCTblId(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16ResPROP_JPEG_DCTblId(r16) _BFGET_(r16, 0, 0)
#define SET16ResPROP_JPEG_DCTblId(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32ResPROP_JPEG_ACTblId(r32) _BFGET_(r32, 1, 1)
#define SET32ResPROP_JPEG_ACTblId(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16ResPROP_JPEG_ACTblId(r16) _BFGET_(r16, 1, 1)
#define SET16ResPROP_JPEG_ACTblId(r16,v) _BFSET_(r16, 1, 1,v)
UNSG32 u_DCTblId : 1;
UNSG32 u_ACTblId : 1;
UNSG32 RSVDx0_b2 : 30;
///////////////////////////////////////////////////////////
} SIE_ResPROP_JPEG;
///////////////////////////////////////////////////////////
SIGN32 ResPROP_JPEG_drvrd(SIE_ResPROP_JPEG *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ResPROP_JPEG_drvwr(SIE_ResPROP_JPEG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ResPROP_JPEG_reset(SIE_ResPROP_JPEG *p);
SIGN32 ResPROP_JPEG_cmp (SIE_ResPROP_JPEG *p, SIE_ResPROP_JPEG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ResPROP_JPEG_check(p,pie,pfx,hLOG) ResPROP_JPEG_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ResPROP_JPEG_print(p, pfx,hLOG) ResPROP_JPEG_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ResPROP_JPEG
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TotalCoeff6 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 5 nc_0i
/// %unsigned 5 nc_1i
/// %unsigned 5 nc_2i
/// ###
/// * The number of non-zero transform coefficients in a 4x4 Y or UV coefficient block. Totally 3 blocks are in order 0 ~ 2.
/// ###
/// %% 1 # Stuffing bits...
/// %unsigned 5 nc1_0i
/// %unsigned 5 nc1_1i
/// %unsigned 5 nc1_2i
/// %% 1 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 30b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TotalCoeff6
#define h_TotalCoeff6 (){}
#define BA_TotalCoeff6_nc_0i 0x0000
#define B16TotalCoeff6_nc_0i 0x0000
#define LSb32TotalCoeff6_nc_0i 0
#define LSb16TotalCoeff6_nc_0i 0
#define bTotalCoeff6_nc_0i 5
#define MSK32TotalCoeff6_nc_0i 0x0000001F
#define BA_TotalCoeff6_nc_1i 0x0000
#define B16TotalCoeff6_nc_1i 0x0000
#define LSb32TotalCoeff6_nc_1i 5
#define LSb16TotalCoeff6_nc_1i 5
#define bTotalCoeff6_nc_1i 5
#define MSK32TotalCoeff6_nc_1i 0x000003E0
#define BA_TotalCoeff6_nc_2i 0x0001
#define B16TotalCoeff6_nc_2i 0x0000
#define LSb32TotalCoeff6_nc_2i 10
#define LSb16TotalCoeff6_nc_2i 10
#define bTotalCoeff6_nc_2i 5
#define MSK32TotalCoeff6_nc_2i 0x00007C00
#define BA_TotalCoeff6_nc1_0i 0x0002
#define B16TotalCoeff6_nc1_0i 0x0002
#define LSb32TotalCoeff6_nc1_0i 16
#define LSb16TotalCoeff6_nc1_0i 0
#define bTotalCoeff6_nc1_0i 5
#define MSK32TotalCoeff6_nc1_0i 0x001F0000
#define BA_TotalCoeff6_nc1_1i 0x0002
#define B16TotalCoeff6_nc1_1i 0x0002
#define LSb32TotalCoeff6_nc1_1i 21
#define LSb16TotalCoeff6_nc1_1i 5
#define bTotalCoeff6_nc1_1i 5
#define MSK32TotalCoeff6_nc1_1i 0x03E00000
#define BA_TotalCoeff6_nc1_2i 0x0003
#define B16TotalCoeff6_nc1_2i 0x0002
#define LSb32TotalCoeff6_nc1_2i 26
#define LSb16TotalCoeff6_nc1_2i 10
#define bTotalCoeff6_nc1_2i 5
#define MSK32TotalCoeff6_nc1_2i 0x7C000000
///////////////////////////////////////////////////////////
typedef struct SIE_TotalCoeff6 {
///////////////////////////////////////////////////////////
#define GET32TotalCoeff6_nc_0i(r32) _BFGET_(r32, 4, 0)
#define SET32TotalCoeff6_nc_0i(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16TotalCoeff6_nc_0i(r16) _BFGET_(r16, 4, 0)
#define SET16TotalCoeff6_nc_0i(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32TotalCoeff6_nc_1i(r32) _BFGET_(r32, 9, 5)
#define SET32TotalCoeff6_nc_1i(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16TotalCoeff6_nc_1i(r16) _BFGET_(r16, 9, 5)
#define SET16TotalCoeff6_nc_1i(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32TotalCoeff6_nc_2i(r32) _BFGET_(r32,14,10)
#define SET32TotalCoeff6_nc_2i(r32,v) _BFSET_(r32,14,10,v)
#define GET16TotalCoeff6_nc_2i(r16) _BFGET_(r16,14,10)
#define SET16TotalCoeff6_nc_2i(r16,v) _BFSET_(r16,14,10,v)
#define GET32TotalCoeff6_nc1_0i(r32) _BFGET_(r32,20,16)
#define SET32TotalCoeff6_nc1_0i(r32,v) _BFSET_(r32,20,16,v)
#define GET16TotalCoeff6_nc1_0i(r16) _BFGET_(r16, 4, 0)
#define SET16TotalCoeff6_nc1_0i(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32TotalCoeff6_nc1_1i(r32) _BFGET_(r32,25,21)
#define SET32TotalCoeff6_nc1_1i(r32,v) _BFSET_(r32,25,21,v)
#define GET16TotalCoeff6_nc1_1i(r16) _BFGET_(r16, 9, 5)
#define SET16TotalCoeff6_nc1_1i(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32TotalCoeff6_nc1_2i(r32) _BFGET_(r32,30,26)
#define SET32TotalCoeff6_nc1_2i(r32,v) _BFSET_(r32,30,26,v)
#define GET16TotalCoeff6_nc1_2i(r16) _BFGET_(r16,14,10)
#define SET16TotalCoeff6_nc1_2i(r16,v) _BFSET_(r16,14,10,v)
UNSG32 u_nc_0i : 5;
UNSG32 u_nc_1i : 5;
UNSG32 u_nc_2i : 5;
UNSG32 RSVDx0_b15 : 1;
UNSG32 u_nc1_0i : 5;
UNSG32 u_nc1_1i : 5;
UNSG32 u_nc1_2i : 5;
UNSG32 RSVDx0_b31 : 1;
///////////////////////////////////////////////////////////
} SIE_TotalCoeff6;
///////////////////////////////////////////////////////////
SIGN32 TotalCoeff6_drvrd(SIE_TotalCoeff6 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TotalCoeff6_drvwr(SIE_TotalCoeff6 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TotalCoeff6_reset(SIE_TotalCoeff6 *p);
SIGN32 TotalCoeff6_cmp (SIE_TotalCoeff6 *p, SIE_TotalCoeff6 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TotalCoeff6_check(p,pie,pfx,hLOG) TotalCoeff6_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TotalCoeff6_print(p, pfx,hLOG) TotalCoeff6_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TotalCoeff6
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ASEPopTotalCoeff (4,2)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 TotalCoeff
/// $TotalCoeff6 TotalCoeff REG [2]
/// ###
/// * The number of non-zero transform coefficients in a 4x4 Y or UV coefficient block in 3 block group. Totally 12 blocks in 4 groups are in order 0 ~ 11.
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 60b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ASEPopTotalCoeff
#define h_ASEPopTotalCoeff (){}
#define RA_ASEPopTotalCoeff_TotalCoeff 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_ASEPopTotalCoeff {
///////////////////////////////////////////////////////////
SIE_TotalCoeff6 ie_TotalCoeff[2];
///////////////////////////////////////////////////////////
} SIE_ASEPopTotalCoeff;
///////////////////////////////////////////////////////////
SIGN32 ASEPopTotalCoeff_drvrd(SIE_ASEPopTotalCoeff *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ASEPopTotalCoeff_drvwr(SIE_ASEPopTotalCoeff *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ASEPopTotalCoeff_reset(SIE_ASEPopTotalCoeff *p);
SIGN32 ASEPopTotalCoeff_cmp (SIE_ASEPopTotalCoeff *p, SIE_ASEPopTotalCoeff *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ASEPopTotalCoeff_check(p,pie,pfx,hLOG) ASEPopTotalCoeff_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ASEPopTotalCoeff_print(p, pfx,hLOG) ASEPopTotalCoeff_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ASEPopTotalCoeff
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RF64PIC biu (4,4)
/// ###
/// * RF64 picture-level information for ALU64 extensions; padded to 64b. Used in placed of BIU register for efficiency. Parameters in this interface should only be updated at the slice boundary.
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 format
/// : h264 0x0
/// : wmv 0x1
/// ###
/// * VC-1 Main Profile
/// ###
/// : mpg2 0x2
/// : other 0x3
/// : mpg4 0x4
/// : vc1ap 0x5
/// ###
/// * VC-1 Advanced Profile
/// ###
/// : h263 0x6
/// : avs 0x7
/// ###
/// * Format of the current video stream
/// ###
/// %unsigned 1 cabac
/// ###
/// * Whether current slice is coded in CABAC
/// ###
/// %unsigned 2 picType
/// : I 0x0
/// : P 0x1
/// : B 0x2
/// ###
/// * Used by PMV to qualify between P_skip & B_skip
/// ###
/// %unsigned 5 maxL0
/// ###
/// * H264: num_ref_idx_l0_active_minus1
/// ###
/// %unsigned 5 maxL1
/// ###
/// * H264: num_ref_idx_l1_active_minus1
/// ###
/// %unsigned 1 MbaffPic
/// ###
/// * Whether current picture is Mbaff pic or not; for FOP
/// * For VC-1:
/// * (~Mbaffpic && ~fieldPic) -> progressive
/// * (Mbaffpic && ~fieldPic) -> interlace frame
/// ###
/// %unsigned 1 fieldPic
/// ###
/// * Whether current picture is field coded or not; for FOP
/// * For VC-1:
/// * (~MbaffPic && fieldPic) -> interlace field, one ref;
/// * (MbaffPic && fieldPic) -> interlace field, two ref
/// ###
/// %unsigned 1 spatialPred
/// ###
/// * Spatial direct prediction modee; for dirMV.
/// ###
/// %unsigned 1 colPicMbaff
/// ###
/// * Whether colocated pic is Mbaff pic or not; for dirMV
/// ###
/// %unsigned 1 colPicField
/// ###
/// * Whether colocated picture is field pic or not; for dirMV
/// ###
/// %unsigned 1 colPicST
/// ###
/// * Co-located picture is a long-term (0) or short-term (1) reference picture; for dirMV.
/// ###
/// %signed 5 AC0Offset
/// ###
/// * = slice_alpha_c0_offset_div2<<1, -12 ~ +12, inclusive, even numbers only. For FOP only.
/// ###
/// %signed 5 BetaOffset
/// ###
/// * = slice_beta_offset_div2<<1, -12 ~ +12, inclusive, even numbers only. For FOP only.
/// ###
/// @ 0x00004 (P)
/// %unsigned 16 dqAcLimit
/// ###
/// * Saturation limit for AC dequantization
/// * Also apply for universal dequantization
/// ###
/// %unsigned 14 dqDcLimit
/// ###
/// * Saturation limit for DC dequantization
/// ###
/// %unsigned 2 mismatch
/// : none 0x0
/// : mpeg1 0x1
/// : mpeg2 0x2
/// ###
/// * mismatch control, for AC dequant only
/// ###
/// @ 0x00008 (P)
/// %unsigned 16 picW
/// ###
/// * Width of current picture; up to 2047
/// ###
/// %unsigned 13 picH
/// ###
/// * Height of current picture; up to 2047. For vcMsg only
/// ###
/// %unsigned 1 btmFldPic
/// ###
/// * H.264: Current picture is bottom field; for vcMsg. Valid only when fieldPic==1.
/// ###
/// %unsigned 2 hint
/// ###
/// * Same as CacheMsg.hint; for vcMsg only
/// ###
/// @ 0x0000C (P)
/// %unsigned 8 shiftLumaX
/// ###
/// * (For vcMsg only) Shift amount lookup table for Luma X direction. 4 entries, 2-bit per entry, indexed by mvx[1:0] in little-endian format
/// ###
/// %unsigned 8 shiftLumaY
/// ###
/// * (For vcMsg only) Shift amount lookup table for Luma Y direction. 4 entries, 2-bit per entry, indexed by mvy[1:0] in little-endian format
/// ###
/// %unsigned 8 shiftChromaX
/// ###
/// * (For vcMsg only) Shift amount lookup table for Chroma X direction. 4 entries, 2-bit per entry, indexed by mvx[1:0] in little-endian format
/// ###
/// %unsigned 8 shiftChromaY
/// ###
/// * (For vcMsg only) Shift amount lookup table for Chroma Y direction. 4 entries, 2-bit per entry, indexed by mvy[1:0] in little-endian format
/// ###
/// @ 0x00010 (P)
/// %unsigned 4 fracTapDiv2Y
/// ###
/// * (Tap size / 2) for luma fractional MV interpolation
/// ###
/// %unsigned 4 fracTapDiv2C
/// ###
/// * (Tap size / 2) for chroma fractional MV interpolation
/// ###
/// %unsigned 6 IPCM_QPU
/// ###
/// * QPU for IPCM coded MBs; for H.264 FOP
/// ###
/// %unsigned 6 IPCM_QPV
/// ###
/// * QPV for IPCM coded MBs; for H.264 FOP
/// ###
/// %unsigned 12 RSVD12
/// ###
/// * padding to 32 bits
/// ###
/// @ 0x00014 (P)
/// %unsigned 5 PQUANT
/// ###
/// * picture-level quantization factor
/// ###
/// %unsigned 2 FRFD
/// ###
/// * Forward reference picture distance, 0~3.
/// * Used by VC1 for interlace P field PMV, or for interlace B field forward PMV
/// ###
/// %unsigned 2 BRFD
/// ###
/// * Backward reference picture distance, 0~3.
/// * Used by VC1 for interlace B field backward PMV
/// ###
/// %unsigned 1 secondFld
/// ###
/// * Used by PMV for interlace field picture: whether current field is 1st field or 2nd field of display picture
/// ###
/// %unsigned 2 mvRange
/// ###
/// * 0~3; used to lookup range_x & range_y for PMV; see VC-1 spec table 75.
/// ###
/// %unsigned 1 hybridMvThres
/// ###
/// * 0: threshold = 16; 1: threshold = 32
/// ###
/// %unsigned 1 firstMbIntra
/// ###
/// * 0: first MB or block is inter coded; 1: intra coded; used for VC-1 Fop
/// ###
/// %unsigned 1 halfPixel
/// ###
/// * Half pixel flag, for VC-1 PMV interlace field mode.
/// ###
/// %unsigned 1 forwRefInterlace
/// ###
/// * For VC-1 interlace frame picture in VCMSG extension forward reference is 0: progressive coded; 1: interlace coded
/// ###
/// %unsigned 1 backRefInterlace
/// ###
/// * For VC-1 interlace frame picture in VCMSG extension backward reference is 0: progressive coded; 1: interlace coded
/// ###
/// %unsigned 2 FrmTransACSet
/// ###
/// * For VC-1 frame-level transform AC coding set selection (for Cb and Cr block; and inter Y block).
/// * Valid values are 0, 1, and 2
/// ###
/// %unsigned 2 FrmTransACSet2
/// ###
/// * For VC-1 frame-level transform AC table-2 index selection (for I-frame Y block)
/// * Valid values are 0, 1, and 2
/// ###
/// %unsigned 1 PQIndexGT8
/// ###
/// * Indicator to represent whether Picture Quantized Index (PQIndexG8, defined in Table 36 in VC-1 spec) is greater than 8.
/// * 0: value of PQIndex is less than or equal to 8
/// * 1: value of PQIndex is greater than 8
/// ###
/// %unsigned 1 EscapeTBL
/// ###
/// * For VC-1 to select escape table in residual decoding
/// ###
/// %unsigned 4 format1
/// : RV9 0x0
/// : RV8 0x1
/// : vp8 0x2
/// : jpeg 0x3
/// %unsigned 1 noReorder
/// ###
/// * For ASE, disable coefficient reorder.
/// ###
/// %unsigned 1 iplusModeOn
/// ###
/// * For ASE, IPLUS mode is on or not.
/// ###
/// %unsigned 3 RSVD3
/// ###
/// * padding to 32 bits
/// ###
/// @ 0x00018 (P)
/// # 0x00018 RSVD
/// $LUT64b RSVD REG [5]
/// ###
/// * Reserved for alignment
/// ###
/// @ 0x00040 (P)
/// # 0x00040 rIDX2BID
/// $IDX2BID rIDX2BID REG
/// ###
/// * Defined in 'decHal_mbLvl.sxw.txt.txt'
/// * End of RF64PIC
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 256B, bits: 2048b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RF64PIC
#define h_RF64PIC (){}
#define BA_RF64PIC_format 0x0000
#define B16RF64PIC_format 0x0000
#define LSb32RF64PIC_format 0
#define LSb16RF64PIC_format 0
#define bRF64PIC_format 3
#define MSK32RF64PIC_format 0x00000007
#define RF64PIC_format_h264 0x0
#define RF64PIC_format_wmv 0x1
#define RF64PIC_format_mpg2 0x2
#define RF64PIC_format_other 0x3
#define RF64PIC_format_mpg4 0x4
#define RF64PIC_format_vc1ap 0x5
#define RF64PIC_format_h263 0x6
#define RF64PIC_format_avs 0x7
#define BA_RF64PIC_cabac 0x0000
#define B16RF64PIC_cabac 0x0000
#define LSb32RF64PIC_cabac 3
#define LSb16RF64PIC_cabac 3
#define bRF64PIC_cabac 1
#define MSK32RF64PIC_cabac 0x00000008
#define BA_RF64PIC_picType 0x0000
#define B16RF64PIC_picType 0x0000
#define LSb32RF64PIC_picType 4
#define LSb16RF64PIC_picType 4
#define bRF64PIC_picType 2
#define MSK32RF64PIC_picType 0x00000030
#define RF64PIC_picType_I 0x0
#define RF64PIC_picType_P 0x1
#define RF64PIC_picType_B 0x2
#define BA_RF64PIC_maxL0 0x0000
#define B16RF64PIC_maxL0 0x0000
#define LSb32RF64PIC_maxL0 6
#define LSb16RF64PIC_maxL0 6
#define bRF64PIC_maxL0 5
#define MSK32RF64PIC_maxL0 0x000007C0
#define BA_RF64PIC_maxL1 0x0001
#define B16RF64PIC_maxL1 0x0000
#define LSb32RF64PIC_maxL1 11
#define LSb16RF64PIC_maxL1 11
#define bRF64PIC_maxL1 5
#define MSK32RF64PIC_maxL1 0x0000F800
#define BA_RF64PIC_MbaffPic 0x0002
#define B16RF64PIC_MbaffPic 0x0002
#define LSb32RF64PIC_MbaffPic 16
#define LSb16RF64PIC_MbaffPic 0
#define bRF64PIC_MbaffPic 1
#define MSK32RF64PIC_MbaffPic 0x00010000
#define BA_RF64PIC_fieldPic 0x0002
#define B16RF64PIC_fieldPic 0x0002
#define LSb32RF64PIC_fieldPic 17
#define LSb16RF64PIC_fieldPic 1
#define bRF64PIC_fieldPic 1
#define MSK32RF64PIC_fieldPic 0x00020000
#define BA_RF64PIC_spatialPred 0x0002
#define B16RF64PIC_spatialPred 0x0002
#define LSb32RF64PIC_spatialPred 18
#define LSb16RF64PIC_spatialPred 2
#define bRF64PIC_spatialPred 1
#define MSK32RF64PIC_spatialPred 0x00040000
#define BA_RF64PIC_colPicMbaff 0x0002
#define B16RF64PIC_colPicMbaff 0x0002
#define LSb32RF64PIC_colPicMbaff 19
#define LSb16RF64PIC_colPicMbaff 3
#define bRF64PIC_colPicMbaff 1
#define MSK32RF64PIC_colPicMbaff 0x00080000
#define BA_RF64PIC_colPicField 0x0002
#define B16RF64PIC_colPicField 0x0002
#define LSb32RF64PIC_colPicField 20
#define LSb16RF64PIC_colPicField 4
#define bRF64PIC_colPicField 1
#define MSK32RF64PIC_colPicField 0x00100000
#define BA_RF64PIC_colPicST 0x0002
#define B16RF64PIC_colPicST 0x0002
#define LSb32RF64PIC_colPicST 21
#define LSb16RF64PIC_colPicST 5
#define bRF64PIC_colPicST 1
#define MSK32RF64PIC_colPicST 0x00200000
#define BA_RF64PIC_AC0Offset 0x0002
#define B16RF64PIC_AC0Offset 0x0002
#define LSb32RF64PIC_AC0Offset 22
#define LSb16RF64PIC_AC0Offset 6
#define bRF64PIC_AC0Offset 5
#define MSK32RF64PIC_AC0Offset 0x07C00000
#define BA_RF64PIC_BetaOffset 0x0003
#define B16RF64PIC_BetaOffset 0x0002
#define LSb32RF64PIC_BetaOffset 27
#define LSb16RF64PIC_BetaOffset 11
#define bRF64PIC_BetaOffset 5
#define MSK32RF64PIC_BetaOffset 0xF8000000
///////////////////////////////////////////////////////////
#define BA_RF64PIC_dqAcLimit 0x0004
#define B16RF64PIC_dqAcLimit 0x0004
#define LSb32RF64PIC_dqAcLimit 0
#define LSb16RF64PIC_dqAcLimit 0
#define bRF64PIC_dqAcLimit 16
#define MSK32RF64PIC_dqAcLimit 0x0000FFFF
#define BA_RF64PIC_dqDcLimit 0x0006
#define B16RF64PIC_dqDcLimit 0x0006
#define LSb32RF64PIC_dqDcLimit 16
#define LSb16RF64PIC_dqDcLimit 0
#define bRF64PIC_dqDcLimit 14
#define MSK32RF64PIC_dqDcLimit 0x3FFF0000
#define BA_RF64PIC_mismatch 0x0007
#define B16RF64PIC_mismatch 0x0006
#define LSb32RF64PIC_mismatch 30
#define LSb16RF64PIC_mismatch 14
#define bRF64PIC_mismatch 2
#define MSK32RF64PIC_mismatch 0xC0000000
#define RF64PIC_mismatch_none 0x0
#define RF64PIC_mismatch_mpeg1 0x1
#define RF64PIC_mismatch_mpeg2 0x2
///////////////////////////////////////////////////////////
#define BA_RF64PIC_picW 0x0008
#define B16RF64PIC_picW 0x0008
#define LSb32RF64PIC_picW 0
#define LSb16RF64PIC_picW 0
#define bRF64PIC_picW 16
#define MSK32RF64PIC_picW 0x0000FFFF
#define BA_RF64PIC_picH 0x000A
#define B16RF64PIC_picH 0x000A
#define LSb32RF64PIC_picH 16
#define LSb16RF64PIC_picH 0
#define bRF64PIC_picH 13
#define MSK32RF64PIC_picH 0x1FFF0000
#define BA_RF64PIC_btmFldPic 0x000B
#define B16RF64PIC_btmFldPic 0x000A
#define LSb32RF64PIC_btmFldPic 29
#define LSb16RF64PIC_btmFldPic 13
#define bRF64PIC_btmFldPic 1
#define MSK32RF64PIC_btmFldPic 0x20000000
#define BA_RF64PIC_hint 0x000B
#define B16RF64PIC_hint 0x000A
#define LSb32RF64PIC_hint 30
#define LSb16RF64PIC_hint 14
#define bRF64PIC_hint 2
#define MSK32RF64PIC_hint 0xC0000000
///////////////////////////////////////////////////////////
#define BA_RF64PIC_shiftLumaX 0x000C
#define B16RF64PIC_shiftLumaX 0x000C
#define LSb32RF64PIC_shiftLumaX 0
#define LSb16RF64PIC_shiftLumaX 0
#define bRF64PIC_shiftLumaX 8
#define MSK32RF64PIC_shiftLumaX 0x000000FF
#define BA_RF64PIC_shiftLumaY 0x000D
#define B16RF64PIC_shiftLumaY 0x000C
#define LSb32RF64PIC_shiftLumaY 8
#define LSb16RF64PIC_shiftLumaY 8
#define bRF64PIC_shiftLumaY 8
#define MSK32RF64PIC_shiftLumaY 0x0000FF00
#define BA_RF64PIC_shiftChromaX 0x000E
#define B16RF64PIC_shiftChromaX 0x000E
#define LSb32RF64PIC_shiftChromaX 16
#define LSb16RF64PIC_shiftChromaX 0
#define bRF64PIC_shiftChromaX 8
#define MSK32RF64PIC_shiftChromaX 0x00FF0000
#define BA_RF64PIC_shiftChromaY 0x000F
#define B16RF64PIC_shiftChromaY 0x000E
#define LSb32RF64PIC_shiftChromaY 24
#define LSb16RF64PIC_shiftChromaY 8
#define bRF64PIC_shiftChromaY 8
#define MSK32RF64PIC_shiftChromaY 0xFF000000
///////////////////////////////////////////////////////////
#define BA_RF64PIC_fracTapDiv2Y 0x0010
#define B16RF64PIC_fracTapDiv2Y 0x0010
#define LSb32RF64PIC_fracTapDiv2Y 0
#define LSb16RF64PIC_fracTapDiv2Y 0
#define bRF64PIC_fracTapDiv2Y 4
#define MSK32RF64PIC_fracTapDiv2Y 0x0000000F
#define BA_RF64PIC_fracTapDiv2C 0x0010
#define B16RF64PIC_fracTapDiv2C 0x0010
#define LSb32RF64PIC_fracTapDiv2C 4
#define LSb16RF64PIC_fracTapDiv2C 4
#define bRF64PIC_fracTapDiv2C 4
#define MSK32RF64PIC_fracTapDiv2C 0x000000F0
#define BA_RF64PIC_IPCM_QPU 0x0011
#define B16RF64PIC_IPCM_QPU 0x0010
#define LSb32RF64PIC_IPCM_QPU 8
#define LSb16RF64PIC_IPCM_QPU 8
#define bRF64PIC_IPCM_QPU 6
#define MSK32RF64PIC_IPCM_QPU 0x00003F00
#define BA_RF64PIC_IPCM_QPV 0x0011
#define B16RF64PIC_IPCM_QPV 0x0010
#define LSb32RF64PIC_IPCM_QPV 14
#define LSb16RF64PIC_IPCM_QPV 14
#define bRF64PIC_IPCM_QPV 6
#define MSK32RF64PIC_IPCM_QPV 0x000FC000
#define BA_RF64PIC_RSVD12 0x0012
#define B16RF64PIC_RSVD12 0x0012
#define LSb32RF64PIC_RSVD12 20
#define LSb16RF64PIC_RSVD12 4
#define bRF64PIC_RSVD12 12
#define MSK32RF64PIC_RSVD12 0xFFF00000
///////////////////////////////////////////////////////////
#define BA_RF64PIC_PQUANT 0x0014
#define B16RF64PIC_PQUANT 0x0014
#define LSb32RF64PIC_PQUANT 0
#define LSb16RF64PIC_PQUANT 0
#define bRF64PIC_PQUANT 5
#define MSK32RF64PIC_PQUANT 0x0000001F
#define BA_RF64PIC_FRFD 0x0014
#define B16RF64PIC_FRFD 0x0014
#define LSb32RF64PIC_FRFD 5
#define LSb16RF64PIC_FRFD 5
#define bRF64PIC_FRFD 2
#define MSK32RF64PIC_FRFD 0x00000060
#define BA_RF64PIC_BRFD 0x0014
#define B16RF64PIC_BRFD 0x0014
#define LSb32RF64PIC_BRFD 7
#define LSb16RF64PIC_BRFD 7
#define bRF64PIC_BRFD 2
#define MSK32RF64PIC_BRFD 0x00000180
#define BA_RF64PIC_secondFld 0x0015
#define B16RF64PIC_secondFld 0x0014
#define LSb32RF64PIC_secondFld 9
#define LSb16RF64PIC_secondFld 9
#define bRF64PIC_secondFld 1
#define MSK32RF64PIC_secondFld 0x00000200
#define BA_RF64PIC_mvRange 0x0015
#define B16RF64PIC_mvRange 0x0014
#define LSb32RF64PIC_mvRange 10
#define LSb16RF64PIC_mvRange 10
#define bRF64PIC_mvRange 2
#define MSK32RF64PIC_mvRange 0x00000C00
#define BA_RF64PIC_hybridMvThres 0x0015
#define B16RF64PIC_hybridMvThres 0x0014
#define LSb32RF64PIC_hybridMvThres 12
#define LSb16RF64PIC_hybridMvThres 12
#define bRF64PIC_hybridMvThres 1
#define MSK32RF64PIC_hybridMvThres 0x00001000
#define BA_RF64PIC_firstMbIntra 0x0015
#define B16RF64PIC_firstMbIntra 0x0014
#define LSb32RF64PIC_firstMbIntra 13
#define LSb16RF64PIC_firstMbIntra 13
#define bRF64PIC_firstMbIntra 1
#define MSK32RF64PIC_firstMbIntra 0x00002000
#define BA_RF64PIC_halfPixel 0x0015
#define B16RF64PIC_halfPixel 0x0014
#define LSb32RF64PIC_halfPixel 14
#define LSb16RF64PIC_halfPixel 14
#define bRF64PIC_halfPixel 1
#define MSK32RF64PIC_halfPixel 0x00004000
#define BA_RF64PIC_forwRefInterlace 0x0015
#define B16RF64PIC_forwRefInterlace 0x0014
#define LSb32RF64PIC_forwRefInterlace 15
#define LSb16RF64PIC_forwRefInterlace 15
#define bRF64PIC_forwRefInterlace 1
#define MSK32RF64PIC_forwRefInterlace 0x00008000
#define BA_RF64PIC_backRefInterlace 0x0016
#define B16RF64PIC_backRefInterlace 0x0016
#define LSb32RF64PIC_backRefInterlace 16
#define LSb16RF64PIC_backRefInterlace 0
#define bRF64PIC_backRefInterlace 1
#define MSK32RF64PIC_backRefInterlace 0x00010000
#define BA_RF64PIC_FrmTransACSet 0x0016
#define B16RF64PIC_FrmTransACSet 0x0016
#define LSb32RF64PIC_FrmTransACSet 17
#define LSb16RF64PIC_FrmTransACSet 1
#define bRF64PIC_FrmTransACSet 2
#define MSK32RF64PIC_FrmTransACSet 0x00060000
#define BA_RF64PIC_FrmTransACSet2 0x0016
#define B16RF64PIC_FrmTransACSet2 0x0016
#define LSb32RF64PIC_FrmTransACSet2 19
#define LSb16RF64PIC_FrmTransACSet2 3
#define bRF64PIC_FrmTransACSet2 2
#define MSK32RF64PIC_FrmTransACSet2 0x00180000
#define BA_RF64PIC_PQIndexGT8 0x0016
#define B16RF64PIC_PQIndexGT8 0x0016
#define LSb32RF64PIC_PQIndexGT8 21
#define LSb16RF64PIC_PQIndexGT8 5
#define bRF64PIC_PQIndexGT8 1
#define MSK32RF64PIC_PQIndexGT8 0x00200000
#define BA_RF64PIC_EscapeTBL 0x0016
#define B16RF64PIC_EscapeTBL 0x0016
#define LSb32RF64PIC_EscapeTBL 22
#define LSb16RF64PIC_EscapeTBL 6
#define bRF64PIC_EscapeTBL 1
#define MSK32RF64PIC_EscapeTBL 0x00400000
#define BA_RF64PIC_format1 0x0016
#define B16RF64PIC_format1 0x0016
#define LSb32RF64PIC_format1 23
#define LSb16RF64PIC_format1 7
#define bRF64PIC_format1 4
#define MSK32RF64PIC_format1 0x07800000
#define RF64PIC_format1_RV9 0x0
#define RF64PIC_format1_RV8 0x1
#define RF64PIC_format1_vp8 0x2
#define RF64PIC_format1_jpeg 0x3
#define BA_RF64PIC_noReorder 0x0017
#define B16RF64PIC_noReorder 0x0016
#define LSb32RF64PIC_noReorder 27
#define LSb16RF64PIC_noReorder 11
#define bRF64PIC_noReorder 1
#define MSK32RF64PIC_noReorder 0x08000000
#define BA_RF64PIC_iplusModeOn 0x0017
#define B16RF64PIC_iplusModeOn 0x0016
#define LSb32RF64PIC_iplusModeOn 28
#define LSb16RF64PIC_iplusModeOn 12
#define bRF64PIC_iplusModeOn 1
#define MSK32RF64PIC_iplusModeOn 0x10000000
#define BA_RF64PIC_RSVD3 0x0017
#define B16RF64PIC_RSVD3 0x0016
#define LSb32RF64PIC_RSVD3 29
#define LSb16RF64PIC_RSVD3 13
#define bRF64PIC_RSVD3 3
#define MSK32RF64PIC_RSVD3 0xE0000000
///////////////////////////////////////////////////////////
#define RA_RF64PIC_RSVD 0x0018
///////////////////////////////////////////////////////////
#define RA_RF64PIC_rIDX2BID 0x0040
///////////////////////////////////////////////////////////
typedef struct SIE_RF64PIC {
///////////////////////////////////////////////////////////
#define GET32RF64PIC_format(r32) _BFGET_(r32, 2, 0)
#define SET32RF64PIC_format(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16RF64PIC_format(r16) _BFGET_(r16, 2, 0)
#define SET16RF64PIC_format(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32RF64PIC_cabac(r32) _BFGET_(r32, 3, 3)
#define SET32RF64PIC_cabac(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16RF64PIC_cabac(r16) _BFGET_(r16, 3, 3)
#define SET16RF64PIC_cabac(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32RF64PIC_picType(r32) _BFGET_(r32, 5, 4)
#define SET32RF64PIC_picType(r32,v) _BFSET_(r32, 5, 4,v)
#define GET16RF64PIC_picType(r16) _BFGET_(r16, 5, 4)
#define SET16RF64PIC_picType(r16,v) _BFSET_(r16, 5, 4,v)
#define GET32RF64PIC_maxL0(r32) _BFGET_(r32,10, 6)
#define SET32RF64PIC_maxL0(r32,v) _BFSET_(r32,10, 6,v)
#define GET16RF64PIC_maxL0(r16) _BFGET_(r16,10, 6)
#define SET16RF64PIC_maxL0(r16,v) _BFSET_(r16,10, 6,v)
#define GET32RF64PIC_maxL1(r32) _BFGET_(r32,15,11)
#define SET32RF64PIC_maxL1(r32,v) _BFSET_(r32,15,11,v)
#define GET16RF64PIC_maxL1(r16) _BFGET_(r16,15,11)
#define SET16RF64PIC_maxL1(r16,v) _BFSET_(r16,15,11,v)
#define GET32RF64PIC_MbaffPic(r32) _BFGET_(r32,16,16)
#define SET32RF64PIC_MbaffPic(r32,v) _BFSET_(r32,16,16,v)
#define GET16RF64PIC_MbaffPic(r16) _BFGET_(r16, 0, 0)
#define SET16RF64PIC_MbaffPic(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32RF64PIC_fieldPic(r32) _BFGET_(r32,17,17)
#define SET32RF64PIC_fieldPic(r32,v) _BFSET_(r32,17,17,v)
#define GET16RF64PIC_fieldPic(r16) _BFGET_(r16, 1, 1)
#define SET16RF64PIC_fieldPic(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32RF64PIC_spatialPred(r32) _BFGET_(r32,18,18)
#define SET32RF64PIC_spatialPred(r32,v) _BFSET_(r32,18,18,v)
#define GET16RF64PIC_spatialPred(r16) _BFGET_(r16, 2, 2)
#define SET16RF64PIC_spatialPred(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32RF64PIC_colPicMbaff(r32) _BFGET_(r32,19,19)
#define SET32RF64PIC_colPicMbaff(r32,v) _BFSET_(r32,19,19,v)
#define GET16RF64PIC_colPicMbaff(r16) _BFGET_(r16, 3, 3)
#define SET16RF64PIC_colPicMbaff(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32RF64PIC_colPicField(r32) _BFGET_(r32,20,20)
#define SET32RF64PIC_colPicField(r32,v) _BFSET_(r32,20,20,v)
#define GET16RF64PIC_colPicField(r16) _BFGET_(r16, 4, 4)
#define SET16RF64PIC_colPicField(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32RF64PIC_colPicST(r32) _BFGET_(r32,21,21)
#define SET32RF64PIC_colPicST(r32,v) _BFSET_(r32,21,21,v)
#define GET16RF64PIC_colPicST(r16) _BFGET_(r16, 5, 5)
#define SET16RF64PIC_colPicST(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32RF64PIC_AC0Offset(r32) _BFGET_(r32,26,22)
#define SET32RF64PIC_AC0Offset(r32,v) _BFSET_(r32,26,22,v)
#define GET16RF64PIC_AC0Offset(r16) _BFGET_(r16,10, 6)
#define SET16RF64PIC_AC0Offset(r16,v) _BFSET_(r16,10, 6,v)
#define GET32RF64PIC_BetaOffset(r32) _BFGET_(r32,31,27)
#define SET32RF64PIC_BetaOffset(r32,v) _BFSET_(r32,31,27,v)
#define GET16RF64PIC_BetaOffset(r16) _BFGET_(r16,15,11)
#define SET16RF64PIC_BetaOffset(r16,v) _BFSET_(r16,15,11,v)
UNSG32 u_format : 3;
UNSG32 u_cabac : 1;
UNSG32 u_picType : 2;
UNSG32 u_maxL0 : 5;
UNSG32 u_maxL1 : 5;
UNSG32 u_MbaffPic : 1;
UNSG32 u_fieldPic : 1;
UNSG32 u_spatialPred : 1;
UNSG32 u_colPicMbaff : 1;
UNSG32 u_colPicField : 1;
UNSG32 u_colPicST : 1;
UNSG32 s_AC0Offset : 5;
UNSG32 s_BetaOffset : 5;
///////////////////////////////////////////////////////////
#define GET32RF64PIC_dqAcLimit(r32) _BFGET_(r32,15, 0)
#define SET32RF64PIC_dqAcLimit(r32,v) _BFSET_(r32,15, 0,v)
#define GET16RF64PIC_dqAcLimit(r16) _BFGET_(r16,15, 0)
#define SET16RF64PIC_dqAcLimit(r16,v) _BFSET_(r16,15, 0,v)
#define GET32RF64PIC_dqDcLimit(r32) _BFGET_(r32,29,16)
#define SET32RF64PIC_dqDcLimit(r32,v) _BFSET_(r32,29,16,v)
#define GET16RF64PIC_dqDcLimit(r16) _BFGET_(r16,13, 0)
#define SET16RF64PIC_dqDcLimit(r16,v) _BFSET_(r16,13, 0,v)
#define GET32RF64PIC_mismatch(r32) _BFGET_(r32,31,30)
#define SET32RF64PIC_mismatch(r32,v) _BFSET_(r32,31,30,v)
#define GET16RF64PIC_mismatch(r16) _BFGET_(r16,15,14)
#define SET16RF64PIC_mismatch(r16,v) _BFSET_(r16,15,14,v)
UNSG32 u_dqAcLimit : 16;
UNSG32 u_dqDcLimit : 14;
UNSG32 u_mismatch : 2;
///////////////////////////////////////////////////////////
#define GET32RF64PIC_picW(r32) _BFGET_(r32,15, 0)
#define SET32RF64PIC_picW(r32,v) _BFSET_(r32,15, 0,v)
#define GET16RF64PIC_picW(r16) _BFGET_(r16,15, 0)
#define SET16RF64PIC_picW(r16,v) _BFSET_(r16,15, 0,v)
#define GET32RF64PIC_picH(r32) _BFGET_(r32,28,16)
#define SET32RF64PIC_picH(r32,v) _BFSET_(r32,28,16,v)
#define GET16RF64PIC_picH(r16) _BFGET_(r16,12, 0)
#define SET16RF64PIC_picH(r16,v) _BFSET_(r16,12, 0,v)
#define GET32RF64PIC_btmFldPic(r32) _BFGET_(r32,29,29)
#define SET32RF64PIC_btmFldPic(r32,v) _BFSET_(r32,29,29,v)
#define GET16RF64PIC_btmFldPic(r16) _BFGET_(r16,13,13)
#define SET16RF64PIC_btmFldPic(r16,v) _BFSET_(r16,13,13,v)
#define GET32RF64PIC_hint(r32) _BFGET_(r32,31,30)
#define SET32RF64PIC_hint(r32,v) _BFSET_(r32,31,30,v)
#define GET16RF64PIC_hint(r16) _BFGET_(r16,15,14)
#define SET16RF64PIC_hint(r16,v) _BFSET_(r16,15,14,v)
UNSG32 u_picW : 16;
UNSG32 u_picH : 13;
UNSG32 u_btmFldPic : 1;
UNSG32 u_hint : 2;
///////////////////////////////////////////////////////////
#define GET32RF64PIC_shiftLumaX(r32) _BFGET_(r32, 7, 0)
#define SET32RF64PIC_shiftLumaX(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16RF64PIC_shiftLumaX(r16) _BFGET_(r16, 7, 0)
#define SET16RF64PIC_shiftLumaX(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64PIC_shiftLumaY(r32) _BFGET_(r32,15, 8)
#define SET32RF64PIC_shiftLumaY(r32,v) _BFSET_(r32,15, 8,v)
#define GET16RF64PIC_shiftLumaY(r16) _BFGET_(r16,15, 8)
#define SET16RF64PIC_shiftLumaY(r16,v) _BFSET_(r16,15, 8,v)
#define GET32RF64PIC_shiftChromaX(r32) _BFGET_(r32,23,16)
#define SET32RF64PIC_shiftChromaX(r32,v) _BFSET_(r32,23,16,v)
#define GET16RF64PIC_shiftChromaX(r16) _BFGET_(r16, 7, 0)
#define SET16RF64PIC_shiftChromaX(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64PIC_shiftChromaY(r32) _BFGET_(r32,31,24)
#define SET32RF64PIC_shiftChromaY(r32,v) _BFSET_(r32,31,24,v)
#define GET16RF64PIC_shiftChromaY(r16) _BFGET_(r16,15, 8)
#define SET16RF64PIC_shiftChromaY(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_shiftLumaX : 8;
UNSG32 u_shiftLumaY : 8;
UNSG32 u_shiftChromaX : 8;
UNSG32 u_shiftChromaY : 8;
///////////////////////////////////////////////////////////
#define GET32RF64PIC_fracTapDiv2Y(r32) _BFGET_(r32, 3, 0)
#define SET32RF64PIC_fracTapDiv2Y(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16RF64PIC_fracTapDiv2Y(r16) _BFGET_(r16, 3, 0)
#define SET16RF64PIC_fracTapDiv2Y(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32RF64PIC_fracTapDiv2C(r32) _BFGET_(r32, 7, 4)
#define SET32RF64PIC_fracTapDiv2C(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16RF64PIC_fracTapDiv2C(r16) _BFGET_(r16, 7, 4)
#define SET16RF64PIC_fracTapDiv2C(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32RF64PIC_IPCM_QPU(r32) _BFGET_(r32,13, 8)
#define SET32RF64PIC_IPCM_QPU(r32,v) _BFSET_(r32,13, 8,v)
#define GET16RF64PIC_IPCM_QPU(r16) _BFGET_(r16,13, 8)
#define SET16RF64PIC_IPCM_QPU(r16,v) _BFSET_(r16,13, 8,v)
#define GET32RF64PIC_IPCM_QPV(r32) _BFGET_(r32,19,14)
#define SET32RF64PIC_IPCM_QPV(r32,v) _BFSET_(r32,19,14,v)
#define GET32RF64PIC_RSVD12(r32) _BFGET_(r32,31,20)
#define SET32RF64PIC_RSVD12(r32,v) _BFSET_(r32,31,20,v)
#define GET16RF64PIC_RSVD12(r16) _BFGET_(r16,15, 4)
#define SET16RF64PIC_RSVD12(r16,v) _BFSET_(r16,15, 4,v)
UNSG32 u_fracTapDiv2Y : 4;
UNSG32 u_fracTapDiv2C : 4;
UNSG32 u_IPCM_QPU : 6;
UNSG32 u_IPCM_QPV : 6;
UNSG32 u_RSVD12 : 12;
///////////////////////////////////////////////////////////
#define GET32RF64PIC_PQUANT(r32) _BFGET_(r32, 4, 0)
#define SET32RF64PIC_PQUANT(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16RF64PIC_PQUANT(r16) _BFGET_(r16, 4, 0)
#define SET16RF64PIC_PQUANT(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32RF64PIC_FRFD(r32) _BFGET_(r32, 6, 5)
#define SET32RF64PIC_FRFD(r32,v) _BFSET_(r32, 6, 5,v)
#define GET16RF64PIC_FRFD(r16) _BFGET_(r16, 6, 5)
#define SET16RF64PIC_FRFD(r16,v) _BFSET_(r16, 6, 5,v)
#define GET32RF64PIC_BRFD(r32) _BFGET_(r32, 8, 7)
#define SET32RF64PIC_BRFD(r32,v) _BFSET_(r32, 8, 7,v)
#define GET16RF64PIC_BRFD(r16) _BFGET_(r16, 8, 7)
#define SET16RF64PIC_BRFD(r16,v) _BFSET_(r16, 8, 7,v)
#define GET32RF64PIC_secondFld(r32) _BFGET_(r32, 9, 9)
#define SET32RF64PIC_secondFld(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16RF64PIC_secondFld(r16) _BFGET_(r16, 9, 9)
#define SET16RF64PIC_secondFld(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32RF64PIC_mvRange(r32) _BFGET_(r32,11,10)
#define SET32RF64PIC_mvRange(r32,v) _BFSET_(r32,11,10,v)
#define GET16RF64PIC_mvRange(r16) _BFGET_(r16,11,10)
#define SET16RF64PIC_mvRange(r16,v) _BFSET_(r16,11,10,v)
#define GET32RF64PIC_hybridMvThres(r32) _BFGET_(r32,12,12)
#define SET32RF64PIC_hybridMvThres(r32,v) _BFSET_(r32,12,12,v)
#define GET16RF64PIC_hybridMvThres(r16) _BFGET_(r16,12,12)
#define SET16RF64PIC_hybridMvThres(r16,v) _BFSET_(r16,12,12,v)
#define GET32RF64PIC_firstMbIntra(r32) _BFGET_(r32,13,13)
#define SET32RF64PIC_firstMbIntra(r32,v) _BFSET_(r32,13,13,v)
#define GET16RF64PIC_firstMbIntra(r16) _BFGET_(r16,13,13)
#define SET16RF64PIC_firstMbIntra(r16,v) _BFSET_(r16,13,13,v)
#define GET32RF64PIC_halfPixel(r32) _BFGET_(r32,14,14)
#define SET32RF64PIC_halfPixel(r32,v) _BFSET_(r32,14,14,v)
#define GET16RF64PIC_halfPixel(r16) _BFGET_(r16,14,14)
#define SET16RF64PIC_halfPixel(r16,v) _BFSET_(r16,14,14,v)
#define GET32RF64PIC_forwRefInterlace(r32) _BFGET_(r32,15,15)
#define SET32RF64PIC_forwRefInterlace(r32,v) _BFSET_(r32,15,15,v)
#define GET16RF64PIC_forwRefInterlace(r16) _BFGET_(r16,15,15)
#define SET16RF64PIC_forwRefInterlace(r16,v) _BFSET_(r16,15,15,v)
#define GET32RF64PIC_backRefInterlace(r32) _BFGET_(r32,16,16)
#define SET32RF64PIC_backRefInterlace(r32,v) _BFSET_(r32,16,16,v)
#define GET16RF64PIC_backRefInterlace(r16) _BFGET_(r16, 0, 0)
#define SET16RF64PIC_backRefInterlace(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32RF64PIC_FrmTransACSet(r32) _BFGET_(r32,18,17)
#define SET32RF64PIC_FrmTransACSet(r32,v) _BFSET_(r32,18,17,v)
#define GET16RF64PIC_FrmTransACSet(r16) _BFGET_(r16, 2, 1)
#define SET16RF64PIC_FrmTransACSet(r16,v) _BFSET_(r16, 2, 1,v)
#define GET32RF64PIC_FrmTransACSet2(r32) _BFGET_(r32,20,19)
#define SET32RF64PIC_FrmTransACSet2(r32,v) _BFSET_(r32,20,19,v)
#define GET16RF64PIC_FrmTransACSet2(r16) _BFGET_(r16, 4, 3)
#define SET16RF64PIC_FrmTransACSet2(r16,v) _BFSET_(r16, 4, 3,v)
#define GET32RF64PIC_PQIndexGT8(r32) _BFGET_(r32,21,21)
#define SET32RF64PIC_PQIndexGT8(r32,v) _BFSET_(r32,21,21,v)
#define GET16RF64PIC_PQIndexGT8(r16) _BFGET_(r16, 5, 5)
#define SET16RF64PIC_PQIndexGT8(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32RF64PIC_EscapeTBL(r32) _BFGET_(r32,22,22)
#define SET32RF64PIC_EscapeTBL(r32,v) _BFSET_(r32,22,22,v)
#define GET16RF64PIC_EscapeTBL(r16) _BFGET_(r16, 6, 6)
#define SET16RF64PIC_EscapeTBL(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32RF64PIC_format1(r32) _BFGET_(r32,26,23)
#define SET32RF64PIC_format1(r32,v) _BFSET_(r32,26,23,v)
#define GET16RF64PIC_format1(r16) _BFGET_(r16,10, 7)
#define SET16RF64PIC_format1(r16,v) _BFSET_(r16,10, 7,v)
#define GET32RF64PIC_noReorder(r32) _BFGET_(r32,27,27)
#define SET32RF64PIC_noReorder(r32,v) _BFSET_(r32,27,27,v)
#define GET16RF64PIC_noReorder(r16) _BFGET_(r16,11,11)
#define SET16RF64PIC_noReorder(r16,v) _BFSET_(r16,11,11,v)
#define GET32RF64PIC_iplusModeOn(r32) _BFGET_(r32,28,28)
#define SET32RF64PIC_iplusModeOn(r32,v) _BFSET_(r32,28,28,v)
#define GET16RF64PIC_iplusModeOn(r16) _BFGET_(r16,12,12)
#define SET16RF64PIC_iplusModeOn(r16,v) _BFSET_(r16,12,12,v)
#define GET32RF64PIC_RSVD3(r32) _BFGET_(r32,31,29)
#define SET32RF64PIC_RSVD3(r32,v) _BFSET_(r32,31,29,v)
#define GET16RF64PIC_RSVD3(r16) _BFGET_(r16,15,13)
#define SET16RF64PIC_RSVD3(r16,v) _BFSET_(r16,15,13,v)
UNSG32 u_PQUANT : 5;
UNSG32 u_FRFD : 2;
UNSG32 u_BRFD : 2;
UNSG32 u_secondFld : 1;
UNSG32 u_mvRange : 2;
UNSG32 u_hybridMvThres : 1;
UNSG32 u_firstMbIntra : 1;
UNSG32 u_halfPixel : 1;
UNSG32 u_forwRefInterlace : 1;
UNSG32 u_backRefInterlace : 1;
UNSG32 u_FrmTransACSet : 2;
UNSG32 u_FrmTransACSet2 : 2;
UNSG32 u_PQIndexGT8 : 1;
UNSG32 u_EscapeTBL : 1;
UNSG32 u_format1 : 4;
UNSG32 u_noReorder : 1;
UNSG32 u_iplusModeOn : 1;
UNSG32 u_RSVD3 : 3;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[5];
///////////////////////////////////////////////////////////
SIE_IDX2BID ie_rIDX2BID;
///////////////////////////////////////////////////////////
} SIE_RF64PIC;
///////////////////////////////////////////////////////////
SIGN32 RF64PIC_drvrd(SIE_RF64PIC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RF64PIC_drvwr(SIE_RF64PIC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RF64PIC_reset(SIE_RF64PIC *p);
SIGN32 RF64PIC_cmp (SIE_RF64PIC *p, SIE_RF64PIC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RF64PIC_check(p,pie,pfx,hLOG) RF64PIC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RF64PIC_print(p, pfx,hLOG) RF64PIC_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RF64PIC
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RF64MB biu (4,4)
/// ###
/// * RF64 macroblock-level information for ALU64 extensions; padded to 64b
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// ###
/// * [0:15] casted from MBPROP[0:15] in decHal_mbLvl.sxw.txt.txt
/// ###
/// %unsigned 3 BANK
/// ###
/// * Bank[0] indicates whether current MB is even or odd in an MB pair.
/// ###
/// %unsigned 1 Inter
/// ###
/// * Intra (0) or inter (1) macroblock, for DQmatrix selection in dQuant only
/// ###
/// %unsigned 1 lastMbRow
/// ###
/// * Current MB row is the last in slice; for VC-1 FOP
/// ###
/// %unsigned 1 lastMbRowPic
/// ###
/// * Current MB row is the last in picture; for VC-1 FOP
/// ###
/// %unsigned 1 RSVD
/// ###
/// * reserved for bitfield alignment. Removed RF64MB.Mbaff.
/// ###
/// %unsigned 1 FLD
/// ###
/// * - if current MB is MBAFF field MB. Only valid when RF64PIC.MbaffPic = 1.
/// ###
/// %unsigned 1 FLDNeighborA
/// ###
/// * - if left MB is MBAFF field MB. Only valid when RF64PIC.MbaffPic = 1.
/// ###
/// %unsigned 1 FLDNeighborB
/// ###
/// * - if upper MB is MBAFF field MB. Only valid when RF64PIC.MbaffPic = 1.
/// ###
/// %unsigned 1 FLDNeighborC
/// ###
/// * - if upper-right MB is MBAFF field MB. Only valid when RF64PIC.MbaffPic = 1.
/// ###
/// %unsigned 1 FLDNeighborD
/// ###
/// * - if upper-left MB is MBAFF field MB. Only valid when RF64PIC.MbaffPic = 1.
/// ###
/// %unsigned 1 NeighborA
/// ###
/// * From stream-parser to syntax-processor:
/// * - if left MB is available
/// * From vScope to PCube:
/// * - if left MB is available as intra predictor
/// ###
/// %unsigned 1 NeighborB
/// ###
/// * From stream-parser to syntax-processor:
/// * - if upper MB is available
/// * From vScope to PCube:
/// * - if upper MB is available as intra predictor
/// ###
/// %unsigned 1 NeighborC
/// ###
/// * From stream-parser to syntax-processor:
/// * - if upper-right MB is available
/// * From vScope to PCube:
/// * - if upper-right MB is available as intra predictor
/// ###
/// %unsigned 1 NeighborD
/// ###
/// * From stream-parser to syntax-processor:
/// * - if upper-left MB is available
/// * From vScope to PCube:
/// * - if upper-left MB is available as intra predictor
/// ###
/// %unsigned 8 FopAddr2
/// ###
/// * VC-1: base addr 2 for FOP output, 16-byte based
/// ###
/// %unsigned 8 FopAddr3
/// ###
/// * VC-1: base addr 3 for FOP output, 16-byte based
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// %unsigned 8 FopAddr
/// ###
/// * H.264: FOP output addr
/// * VC-1: base addr 0 for FOP output, 16-byte based
/// ###
/// %unsigned 8 FopAddr1
/// ###
/// * VC-1: base addr 1 for FOP output, 16-byte based
/// ###
/// %unsigned 8 MbX
/// ###
/// * Current MB index in X direction;
/// * from 0 up to ((picW+15)>>4) -1
/// ###
/// %unsigned 8 MbY
/// ###
/// * Current MB index in Y direction;
/// * from 0 up to ((picH+15)>>4) -1
/// * End of RF64MB
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RF64MB
#define h_RF64MB (){}
#define BA_RF64MB_BANK 0x0000
#define B16RF64MB_BANK 0x0000
#define LSb32RF64MB_BANK 0
#define LSb16RF64MB_BANK 0
#define bRF64MB_BANK 3
#define MSK32RF64MB_BANK 0x00000007
#define BA_RF64MB_Inter 0x0000
#define B16RF64MB_Inter 0x0000
#define LSb32RF64MB_Inter 3
#define LSb16RF64MB_Inter 3
#define bRF64MB_Inter 1
#define MSK32RF64MB_Inter 0x00000008
#define BA_RF64MB_lastMbRow 0x0000
#define B16RF64MB_lastMbRow 0x0000
#define LSb32RF64MB_lastMbRow 4
#define LSb16RF64MB_lastMbRow 4
#define bRF64MB_lastMbRow 1
#define MSK32RF64MB_lastMbRow 0x00000010
#define BA_RF64MB_lastMbRowPic 0x0000
#define B16RF64MB_lastMbRowPic 0x0000
#define LSb32RF64MB_lastMbRowPic 5
#define LSb16RF64MB_lastMbRowPic 5
#define bRF64MB_lastMbRowPic 1
#define MSK32RF64MB_lastMbRowPic 0x00000020
#define BA_RF64MB_RSVD 0x0000
#define B16RF64MB_RSVD 0x0000
#define LSb32RF64MB_RSVD 6
#define LSb16RF64MB_RSVD 6
#define bRF64MB_RSVD 1
#define MSK32RF64MB_RSVD 0x00000040
#define BA_RF64MB_FLD 0x0000
#define B16RF64MB_FLD 0x0000
#define LSb32RF64MB_FLD 7
#define LSb16RF64MB_FLD 7
#define bRF64MB_FLD 1
#define MSK32RF64MB_FLD 0x00000080
#define BA_RF64MB_FLDNeighborA 0x0001
#define B16RF64MB_FLDNeighborA 0x0000
#define LSb32RF64MB_FLDNeighborA 8
#define LSb16RF64MB_FLDNeighborA 8
#define bRF64MB_FLDNeighborA 1
#define MSK32RF64MB_FLDNeighborA 0x00000100
#define BA_RF64MB_FLDNeighborB 0x0001
#define B16RF64MB_FLDNeighborB 0x0000
#define LSb32RF64MB_FLDNeighborB 9
#define LSb16RF64MB_FLDNeighborB 9
#define bRF64MB_FLDNeighborB 1
#define MSK32RF64MB_FLDNeighborB 0x00000200
#define BA_RF64MB_FLDNeighborC 0x0001
#define B16RF64MB_FLDNeighborC 0x0000
#define LSb32RF64MB_FLDNeighborC 10
#define LSb16RF64MB_FLDNeighborC 10
#define bRF64MB_FLDNeighborC 1
#define MSK32RF64MB_FLDNeighborC 0x00000400
#define BA_RF64MB_FLDNeighborD 0x0001
#define B16RF64MB_FLDNeighborD 0x0000
#define LSb32RF64MB_FLDNeighborD 11
#define LSb16RF64MB_FLDNeighborD 11
#define bRF64MB_FLDNeighborD 1
#define MSK32RF64MB_FLDNeighborD 0x00000800
#define BA_RF64MB_NeighborA 0x0001
#define B16RF64MB_NeighborA 0x0000
#define LSb32RF64MB_NeighborA 12
#define LSb16RF64MB_NeighborA 12
#define bRF64MB_NeighborA 1
#define MSK32RF64MB_NeighborA 0x00001000
#define BA_RF64MB_NeighborB 0x0001
#define B16RF64MB_NeighborB 0x0000
#define LSb32RF64MB_NeighborB 13
#define LSb16RF64MB_NeighborB 13
#define bRF64MB_NeighborB 1
#define MSK32RF64MB_NeighborB 0x00002000
#define BA_RF64MB_NeighborC 0x0001
#define B16RF64MB_NeighborC 0x0000
#define LSb32RF64MB_NeighborC 14
#define LSb16RF64MB_NeighborC 14
#define bRF64MB_NeighborC 1
#define MSK32RF64MB_NeighborC 0x00004000
#define BA_RF64MB_NeighborD 0x0001
#define B16RF64MB_NeighborD 0x0000
#define LSb32RF64MB_NeighborD 15
#define LSb16RF64MB_NeighborD 15
#define bRF64MB_NeighborD 1
#define MSK32RF64MB_NeighborD 0x00008000
#define BA_RF64MB_FopAddr2 0x0002
#define B16RF64MB_FopAddr2 0x0002
#define LSb32RF64MB_FopAddr2 16
#define LSb16RF64MB_FopAddr2 0
#define bRF64MB_FopAddr2 8
#define MSK32RF64MB_FopAddr2 0x00FF0000
#define BA_RF64MB_FopAddr3 0x0003
#define B16RF64MB_FopAddr3 0x0002
#define LSb32RF64MB_FopAddr3 24
#define LSb16RF64MB_FopAddr3 8
#define bRF64MB_FopAddr3 8
#define MSK32RF64MB_FopAddr3 0xFF000000
///////////////////////////////////////////////////////////
#define BA_RF64MB_FopAddr 0x0004
#define B16RF64MB_FopAddr 0x0004
#define LSb32RF64MB_FopAddr 0
#define LSb16RF64MB_FopAddr 0
#define bRF64MB_FopAddr 8
#define MSK32RF64MB_FopAddr 0x000000FF
#define BA_RF64MB_FopAddr1 0x0005
#define B16RF64MB_FopAddr1 0x0004
#define LSb32RF64MB_FopAddr1 8
#define LSb16RF64MB_FopAddr1 8
#define bRF64MB_FopAddr1 8
#define MSK32RF64MB_FopAddr1 0x0000FF00
#define BA_RF64MB_MbX 0x0006
#define B16RF64MB_MbX 0x0006
#define LSb32RF64MB_MbX 16
#define LSb16RF64MB_MbX 0
#define bRF64MB_MbX 8
#define MSK32RF64MB_MbX 0x00FF0000
#define BA_RF64MB_MbY 0x0007
#define B16RF64MB_MbY 0x0006
#define LSb32RF64MB_MbY 24
#define LSb16RF64MB_MbY 8
#define bRF64MB_MbY 8
#define MSK32RF64MB_MbY 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_RF64MB {
///////////////////////////////////////////////////////////
#define GET32RF64MB_BANK(r32) _BFGET_(r32, 2, 0)
#define SET32RF64MB_BANK(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16RF64MB_BANK(r16) _BFGET_(r16, 2, 0)
#define SET16RF64MB_BANK(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32RF64MB_Inter(r32) _BFGET_(r32, 3, 3)
#define SET32RF64MB_Inter(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16RF64MB_Inter(r16) _BFGET_(r16, 3, 3)
#define SET16RF64MB_Inter(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32RF64MB_lastMbRow(r32) _BFGET_(r32, 4, 4)
#define SET32RF64MB_lastMbRow(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16RF64MB_lastMbRow(r16) _BFGET_(r16, 4, 4)
#define SET16RF64MB_lastMbRow(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32RF64MB_lastMbRowPic(r32) _BFGET_(r32, 5, 5)
#define SET32RF64MB_lastMbRowPic(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16RF64MB_lastMbRowPic(r16) _BFGET_(r16, 5, 5)
#define SET16RF64MB_lastMbRowPic(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32RF64MB_RSVD(r32) _BFGET_(r32, 6, 6)
#define SET32RF64MB_RSVD(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16RF64MB_RSVD(r16) _BFGET_(r16, 6, 6)
#define SET16RF64MB_RSVD(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32RF64MB_FLD(r32) _BFGET_(r32, 7, 7)
#define SET32RF64MB_FLD(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16RF64MB_FLD(r16) _BFGET_(r16, 7, 7)
#define SET16RF64MB_FLD(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32RF64MB_FLDNeighborA(r32) _BFGET_(r32, 8, 8)
#define SET32RF64MB_FLDNeighborA(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16RF64MB_FLDNeighborA(r16) _BFGET_(r16, 8, 8)
#define SET16RF64MB_FLDNeighborA(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32RF64MB_FLDNeighborB(r32) _BFGET_(r32, 9, 9)
#define SET32RF64MB_FLDNeighborB(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16RF64MB_FLDNeighborB(r16) _BFGET_(r16, 9, 9)
#define SET16RF64MB_FLDNeighborB(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32RF64MB_FLDNeighborC(r32) _BFGET_(r32,10,10)
#define SET32RF64MB_FLDNeighborC(r32,v) _BFSET_(r32,10,10,v)
#define GET16RF64MB_FLDNeighborC(r16) _BFGET_(r16,10,10)
#define SET16RF64MB_FLDNeighborC(r16,v) _BFSET_(r16,10,10,v)
#define GET32RF64MB_FLDNeighborD(r32) _BFGET_(r32,11,11)
#define SET32RF64MB_FLDNeighborD(r32,v) _BFSET_(r32,11,11,v)
#define GET16RF64MB_FLDNeighborD(r16) _BFGET_(r16,11,11)
#define SET16RF64MB_FLDNeighborD(r16,v) _BFSET_(r16,11,11,v)
#define GET32RF64MB_NeighborA(r32) _BFGET_(r32,12,12)
#define SET32RF64MB_NeighborA(r32,v) _BFSET_(r32,12,12,v)
#define GET16RF64MB_NeighborA(r16) _BFGET_(r16,12,12)
#define SET16RF64MB_NeighborA(r16,v) _BFSET_(r16,12,12,v)
#define GET32RF64MB_NeighborB(r32) _BFGET_(r32,13,13)
#define SET32RF64MB_NeighborB(r32,v) _BFSET_(r32,13,13,v)
#define GET16RF64MB_NeighborB(r16) _BFGET_(r16,13,13)
#define SET16RF64MB_NeighborB(r16,v) _BFSET_(r16,13,13,v)
#define GET32RF64MB_NeighborC(r32) _BFGET_(r32,14,14)
#define SET32RF64MB_NeighborC(r32,v) _BFSET_(r32,14,14,v)
#define GET16RF64MB_NeighborC(r16) _BFGET_(r16,14,14)
#define SET16RF64MB_NeighborC(r16,v) _BFSET_(r16,14,14,v)
#define GET32RF64MB_NeighborD(r32) _BFGET_(r32,15,15)
#define SET32RF64MB_NeighborD(r32,v) _BFSET_(r32,15,15,v)
#define GET16RF64MB_NeighborD(r16) _BFGET_(r16,15,15)
#define SET16RF64MB_NeighborD(r16,v) _BFSET_(r16,15,15,v)
#define GET32RF64MB_FopAddr2(r32) _BFGET_(r32,23,16)
#define SET32RF64MB_FopAddr2(r32,v) _BFSET_(r32,23,16,v)
#define GET16RF64MB_FopAddr2(r16) _BFGET_(r16, 7, 0)
#define SET16RF64MB_FopAddr2(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64MB_FopAddr3(r32) _BFGET_(r32,31,24)
#define SET32RF64MB_FopAddr3(r32,v) _BFSET_(r32,31,24,v)
#define GET16RF64MB_FopAddr3(r16) _BFGET_(r16,15, 8)
#define SET16RF64MB_FopAddr3(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_BANK : 3;
UNSG32 u_Inter : 1;
UNSG32 u_lastMbRow : 1;
UNSG32 u_lastMbRowPic : 1;
UNSG32 u_RSVD : 1;
UNSG32 u_FLD : 1;
UNSG32 u_FLDNeighborA : 1;
UNSG32 u_FLDNeighborB : 1;
UNSG32 u_FLDNeighborC : 1;
UNSG32 u_FLDNeighborD : 1;
UNSG32 u_NeighborA : 1;
UNSG32 u_NeighborB : 1;
UNSG32 u_NeighborC : 1;
UNSG32 u_NeighborD : 1;
UNSG32 u_FopAddr2 : 8;
UNSG32 u_FopAddr3 : 8;
///////////////////////////////////////////////////////////
#define GET32RF64MB_FopAddr(r32) _BFGET_(r32, 7, 0)
#define SET32RF64MB_FopAddr(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16RF64MB_FopAddr(r16) _BFGET_(r16, 7, 0)
#define SET16RF64MB_FopAddr(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64MB_FopAddr1(r32) _BFGET_(r32,15, 8)
#define SET32RF64MB_FopAddr1(r32,v) _BFSET_(r32,15, 8,v)
#define GET16RF64MB_FopAddr1(r16) _BFGET_(r16,15, 8)
#define SET16RF64MB_FopAddr1(r16,v) _BFSET_(r16,15, 8,v)
#define GET32RF64MB_MbX(r32) _BFGET_(r32,23,16)
#define SET32RF64MB_MbX(r32,v) _BFSET_(r32,23,16,v)
#define GET16RF64MB_MbX(r16) _BFGET_(r16, 7, 0)
#define SET16RF64MB_MbX(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64MB_MbY(r32) _BFGET_(r32,31,24)
#define SET32RF64MB_MbY(r32,v) _BFSET_(r32,31,24,v)
#define GET16RF64MB_MbY(r16) _BFGET_(r16,15, 8)
#define SET16RF64MB_MbY(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_FopAddr : 8;
UNSG32 u_FopAddr1 : 8;
UNSG32 u_MbX : 8;
UNSG32 u_MbY : 8;
///////////////////////////////////////////////////////////
} SIE_RF64MB;
///////////////////////////////////////////////////////////
SIGN32 RF64MB_drvrd(SIE_RF64MB *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RF64MB_drvwr(SIE_RF64MB *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RF64MB_reset(SIE_RF64MB *p);
SIGN32 RF64MB_cmp (SIE_RF64MB *p, SIE_RF64MB *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RF64MB_check(p,pie,pfx,hLOG) RF64MB_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RF64MB_print(p, pfx,hLOG) RF64MB_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RF64MB
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RF64QP biu (4,4)
/// ###
/// * QP for neighboring macroblocks; used by FOP only. Padded to 64b
/// * Same as {BLK,chroma,RSVD,QP,Qu,Qv} in MBPROP in decHal_mbLvl.sxw.txt.txt
/// * Also added DC/ACstep_* for coefficient scaling for DC/AC prediction for MPEG-4/VC-1
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 DCstep_Y
/// ###
/// * VC-1: DCSTEP for coeff scaling in DC prediction (only 6 bits are used)
/// * MPEG-4: qstep luma coeff scaling in DC prediction
/// ###
/// %unsigned 8 ACstep_Y
/// ###
/// * VC-1: DCSTEP for coeff scaling in AC prediction (only 6 bits are used)
/// * MPEG-4: qstep luma coeff scaling in AC prediction
/// ###
/// %unsigned 8 DCstep_C
/// ###
/// * VC-1: not used
/// * MPEG-4: qstep chroma coeff scaling in DC prediction
/// ###
/// %unsigned 8 ACstep_C
/// ###
/// * VC-1: not used
/// * MPEG-4: qstep chroma coeff scaling in AC prediction
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// %unsigned 8 RSVD8
/// %unsigned 8 QPY
/// ###
/// * H.264: QP for Luma; 0~51 inclusive
/// * MPEG-4: QP_AC (used to determine if coeff scaling is required for AC prediction)
/// ###
/// %unsigned 8 QPU
/// ###
/// * H.264: QP fo Cb; 0~51 inclusive
/// ###
/// %unsigned 8 QPV
/// ###
/// * H.264: QP for Cr; 0~51 inclusive
/// * End of RF64QP
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RF64QP
#define h_RF64QP (){}
#define BA_RF64QP_DCstep_Y 0x0000
#define B16RF64QP_DCstep_Y 0x0000
#define LSb32RF64QP_DCstep_Y 0
#define LSb16RF64QP_DCstep_Y 0
#define bRF64QP_DCstep_Y 8
#define MSK32RF64QP_DCstep_Y 0x000000FF
#define BA_RF64QP_ACstep_Y 0x0001
#define B16RF64QP_ACstep_Y 0x0000
#define LSb32RF64QP_ACstep_Y 8
#define LSb16RF64QP_ACstep_Y 8
#define bRF64QP_ACstep_Y 8
#define MSK32RF64QP_ACstep_Y 0x0000FF00
#define BA_RF64QP_DCstep_C 0x0002
#define B16RF64QP_DCstep_C 0x0002
#define LSb32RF64QP_DCstep_C 16
#define LSb16RF64QP_DCstep_C 0
#define bRF64QP_DCstep_C 8
#define MSK32RF64QP_DCstep_C 0x00FF0000
#define BA_RF64QP_ACstep_C 0x0003
#define B16RF64QP_ACstep_C 0x0002
#define LSb32RF64QP_ACstep_C 24
#define LSb16RF64QP_ACstep_C 8
#define bRF64QP_ACstep_C 8
#define MSK32RF64QP_ACstep_C 0xFF000000
///////////////////////////////////////////////////////////
#define BA_RF64QP_RSVD8 0x0004
#define B16RF64QP_RSVD8 0x0004
#define LSb32RF64QP_RSVD8 0
#define LSb16RF64QP_RSVD8 0
#define bRF64QP_RSVD8 8
#define MSK32RF64QP_RSVD8 0x000000FF
#define BA_RF64QP_QPY 0x0005
#define B16RF64QP_QPY 0x0004
#define LSb32RF64QP_QPY 8
#define LSb16RF64QP_QPY 8
#define bRF64QP_QPY 8
#define MSK32RF64QP_QPY 0x0000FF00
#define BA_RF64QP_QPU 0x0006
#define B16RF64QP_QPU 0x0006
#define LSb32RF64QP_QPU 16
#define LSb16RF64QP_QPU 0
#define bRF64QP_QPU 8
#define MSK32RF64QP_QPU 0x00FF0000
#define BA_RF64QP_QPV 0x0007
#define B16RF64QP_QPV 0x0006
#define LSb32RF64QP_QPV 24
#define LSb16RF64QP_QPV 8
#define bRF64QP_QPV 8
#define MSK32RF64QP_QPV 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_RF64QP {
///////////////////////////////////////////////////////////
#define GET32RF64QP_DCstep_Y(r32) _BFGET_(r32, 7, 0)
#define SET32RF64QP_DCstep_Y(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16RF64QP_DCstep_Y(r16) _BFGET_(r16, 7, 0)
#define SET16RF64QP_DCstep_Y(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64QP_ACstep_Y(r32) _BFGET_(r32,15, 8)
#define SET32RF64QP_ACstep_Y(r32,v) _BFSET_(r32,15, 8,v)
#define GET16RF64QP_ACstep_Y(r16) _BFGET_(r16,15, 8)
#define SET16RF64QP_ACstep_Y(r16,v) _BFSET_(r16,15, 8,v)
#define GET32RF64QP_DCstep_C(r32) _BFGET_(r32,23,16)
#define SET32RF64QP_DCstep_C(r32,v) _BFSET_(r32,23,16,v)
#define GET16RF64QP_DCstep_C(r16) _BFGET_(r16, 7, 0)
#define SET16RF64QP_DCstep_C(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64QP_ACstep_C(r32) _BFGET_(r32,31,24)
#define SET32RF64QP_ACstep_C(r32,v) _BFSET_(r32,31,24,v)
#define GET16RF64QP_ACstep_C(r16) _BFGET_(r16,15, 8)
#define SET16RF64QP_ACstep_C(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_DCstep_Y : 8;
UNSG32 u_ACstep_Y : 8;
UNSG32 u_DCstep_C : 8;
UNSG32 u_ACstep_C : 8;
///////////////////////////////////////////////////////////
#define GET32RF64QP_RSVD8(r32) _BFGET_(r32, 7, 0)
#define SET32RF64QP_RSVD8(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16RF64QP_RSVD8(r16) _BFGET_(r16, 7, 0)
#define SET16RF64QP_RSVD8(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64QP_QPY(r32) _BFGET_(r32,15, 8)
#define SET32RF64QP_QPY(r32,v) _BFSET_(r32,15, 8,v)
#define GET16RF64QP_QPY(r16) _BFGET_(r16,15, 8)
#define SET16RF64QP_QPY(r16,v) _BFSET_(r16,15, 8,v)
#define GET32RF64QP_QPU(r32) _BFGET_(r32,23,16)
#define SET32RF64QP_QPU(r32,v) _BFSET_(r32,23,16,v)
#define GET16RF64QP_QPU(r16) _BFGET_(r16, 7, 0)
#define SET16RF64QP_QPU(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64QP_QPV(r32) _BFGET_(r32,31,24)
#define SET32RF64QP_QPV(r32,v) _BFSET_(r32,31,24,v)
#define GET16RF64QP_QPV(r16) _BFGET_(r16,15, 8)
#define SET16RF64QP_QPV(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_RSVD8 : 8;
UNSG32 u_QPY : 8;
UNSG32 u_QPU : 8;
UNSG32 u_QPV : 8;
///////////////////////////////////////////////////////////
} SIE_RF64QP;
///////////////////////////////////////////////////////////
SIGN32 RF64QP_drvrd(SIE_RF64QP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RF64QP_drvwr(SIE_RF64QP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RF64QP_reset(SIE_RF64QP *p);
SIGN32 RF64QP_cmp (SIE_RF64QP *p, SIE_RF64QP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RF64QP_check(p,pie,pfx,hLOG) RF64QP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RF64QP_print(p, pfx,hLOG) RF64QP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RF64QP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE NLUTCTX biu (4,4)
/// ###
/// * RF64 context for nLut
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Macroblock-level information; reprogrammed by FIGO at the start of every macroblock
/// * [64:2047]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD
/// $LUT64b RSVD REG [31]
/// ###
/// * padding to 2048-bit boundary
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End NLUTCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_NLUTCTX
#define h_NLUTCTX (){}
#define RA_NLUTCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_NLUTCTX_RSVD 0x0008
///////////////////////////////////////////////////////////
#define RA_NLUTCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_NLUTCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[31];
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_NLUTCTX;
///////////////////////////////////////////////////////////
SIGN32 NLUTCTX_drvrd(SIE_NLUTCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 NLUTCTX_drvwr(SIE_NLUTCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void NLUTCTX_reset(SIE_NLUTCTX *p);
SIGN32 NLUTCTX_cmp (SIE_NLUTCTX *p, SIE_NLUTCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define NLUTCTX_check(p,pie,pfx,hLOG) NLUTCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define NLUTCTX_print(p, pfx,hLOG) NLUTCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: NLUTCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BITOPCTX biu (4,4)
/// ###
/// * Operator format for BitOp extension
/// * [0:3583]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 RSVD
/// $LUT64b RSVD REG [56]
/// ###
/// * padding to 3583
/// * [3584:3711]
/// ###
/// @ 0x001C0 (P)
/// # 0x001C0 CTX
/// $BITOPRF64 CTX REG
/// ###
/// * Four BitOp commands, selected by extension ID
/// * End BitOpCtx
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BITOPCTX
#define h_BITOPCTX (){}
#define RA_BITOPCTX_RSVD 0x0000
///////////////////////////////////////////////////////////
#define RA_BITOPCTX_CTX 0x01C0
///////////////////////////////////////////////////////////
typedef struct SIE_BITOPCTX {
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[56];
///////////////////////////////////////////////////////////
SIE_BITOPRF64 ie_CTX;
///////////////////////////////////////////////////////////
} SIE_BITOPCTX;
///////////////////////////////////////////////////////////
SIGN32 BITOPCTX_drvrd(SIE_BITOPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BITOPCTX_drvwr(SIE_BITOPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BITOPCTX_reset(SIE_BITOPCTX *p);
SIGN32 BITOPCTX_cmp (SIE_BITOPCTX *p, SIE_BITOPCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BITOPCTX_check(p,pie,pfx,hLOG) BITOPCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BITOPCTX_print(p, pfx,hLOG) BITOPCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BITOPCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE DQCTX biu (4,4)
/// ###
/// * RF64 context for dQuant
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Reserved for RF64MB
/// * [64:191]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 QPX
/// $RF64QP QPX REG
/// ###
/// * QP of current block
/// ###
/// @ 0x00010 (P)
/// # 0x00010 QPN
/// $RF64QP QPN REG
/// ###
/// * QP of neighboring block
/// * Used for VC-1/MPEG-4 DC/AC prediction
/// * [192:2047]
/// ###
/// @ 0x00018 (P)
/// # 0x00018 RSVD
/// $LUT64b RSVD REG [29]
/// ###
/// * padding to 2048-bit boundary
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End DQCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_DQCTX
#define h_DQCTX (){}
#define RA_DQCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_DQCTX_QPX 0x0008
///////////////////////////////////////////////////////////
#define RA_DQCTX_QPN 0x0010
///////////////////////////////////////////////////////////
#define RA_DQCTX_RSVD 0x0018
///////////////////////////////////////////////////////////
#define RA_DQCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_DQCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPX;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPN;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[29];
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_DQCTX;
///////////////////////////////////////////////////////////
SIGN32 DQCTX_drvrd(SIE_DQCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 DQCTX_drvwr(SIE_DQCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void DQCTX_reset(SIE_DQCTX *p);
SIGN32 DQCTX_cmp (SIE_DQCTX *p, SIE_DQCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define DQCTX_check(p,pie,pfx,hLOG) DQCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define DQCTX_print(p, pfx,hLOG) DQCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: DQCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ASPCTX biu (4,4)
/// ###
/// * RF64 context for ASP
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Reserved for RF64MB
/// * [64:255]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD
/// $LUT64b RSVD REG [3]
/// ###
/// * padding to 2048-bit boundary
/// ###
/// @ 0x00020 (P)
/// # 0x00020 D33
/// $HCTX4x4 D33 REG
/// ###
/// * Y(-1,-1)
/// ###
/// @ 0x00030 (P)
/// # 0x00030 B30
/// $HCTX4x4 B30 REG
/// ###
/// * Y(0,-1) or U(0,-1) or DCU(0,-1)
/// ###
/// @ 0x00040 (P)
/// # 0x00040 B31
/// $HCTX4x4 B31 REG
/// ###
/// * Y(1,-1) or V(0,-1) or DCV(0,-1)
/// ###
/// @ 0x00050 (P)
/// # 0x00050 B32
/// $HCTX4x4 B32 REG
/// ###
/// * Y(2,-1) or U(1,-1)
/// ###
/// @ 0x00060 (P)
/// # 0x00060 B33
/// $HCTX4x4 B33 REG
/// ###
/// * Y(3,-1) or V(1,-1) or DCY(0,-1)
/// ###
/// @ 0x00070 (P)
/// # 0x00070 C30
/// $HCTX4x4 C30 REG
/// ###
/// * Y(4,-1)
/// ###
/// @ 0x00080 (P)
/// # 0x00080 A03
/// $HCTX4x4 A03 REG
/// ###
/// * Y(-1,0)
/// ###
/// @ 0x00090 (P)
/// # 0x00090 A12
/// $HCTX4x4 A12 REG
/// ###
/// * U(-1,0) & V(-1,0)
/// ###
/// @ 0x000A0 (P)
/// # 0x000A0 A13
/// $HCTX4x4 A13 REG
/// ###
/// * Y(-1,1)
/// ###
/// @ 0x000B0 (P)
/// # 0x000B0 A23
/// $HCTX4x4 A23 REG
/// ###
/// * Y(-1,2)
/// ###
/// @ 0x000C0 (P)
/// # 0x000C0 A30
/// $HCTX4x4 A30 REG
/// ###
/// * DCU(-1,0) & DCV(-1,0)
/// ###
/// @ 0x000D0 (P)
/// # 0x000D0 A31
/// $HCTX4x4 A31 REG
/// ###
/// * DCI(-1,0) & DCY(-1,0)
/// ###
/// @ 0x000E0 (P)
/// # 0x000E0 A32
/// $HCTX4x4 A32 REG
/// ###
/// * U(-1,1) & V(-1,1)
/// ###
/// @ 0x000F0 (P)
/// # 0x000F0 A33
/// $HCTX4x4 A33 REG
/// ###
/// * Y(-1,3)
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End ASPCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ASPCTX
#define h_ASPCTX (){}
#define RA_ASPCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_ASPCTX_RSVD 0x0008
///////////////////////////////////////////////////////////
#define RA_ASPCTX_D33 0x0020
///////////////////////////////////////////////////////////
#define RA_ASPCTX_B30 0x0030
///////////////////////////////////////////////////////////
#define RA_ASPCTX_B31 0x0040
///////////////////////////////////////////////////////////
#define RA_ASPCTX_B32 0x0050
///////////////////////////////////////////////////////////
#define RA_ASPCTX_B33 0x0060
///////////////////////////////////////////////////////////
#define RA_ASPCTX_C30 0x0070
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A03 0x0080
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A12 0x0090
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A13 0x00A0
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A23 0x00B0
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A30 0x00C0
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A31 0x00D0
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A32 0x00E0
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A33 0x00F0
///////////////////////////////////////////////////////////
#define RA_ASPCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_ASPCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[3];
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_D33;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B30;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B31;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B32;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B33;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_C30;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A03;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A12;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A13;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A23;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A30;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A31;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A32;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A33;
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_ASPCTX;
///////////////////////////////////////////////////////////
SIGN32 ASPCTX_drvrd(SIE_ASPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ASPCTX_drvwr(SIE_ASPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ASPCTX_reset(SIE_ASPCTX *p);
SIGN32 ASPCTX_cmp (SIE_ASPCTX *p, SIE_ASPCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ASPCTX_check(p,pie,pfx,hLOG) ASPCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ASPCTX_print(p, pfx,hLOG) ASPCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ASPCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HCTX_ARR biu (4,4)
/// ###
/// * 16 * HCTX4x4 for ASP
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 CTX
/// $HCTX4x4 CTX REG [16]
/// ###
/// * HCTX4x4
/// * End HCTX_ARR
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 256B, bits: 2048b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HCTX_ARR
#define h_HCTX_ARR (){}
#define RA_HCTX_ARR_CTX 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_HCTX_ARR {
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_CTX[16];
///////////////////////////////////////////////////////////
} SIE_HCTX_ARR;
///////////////////////////////////////////////////////////
SIGN32 HCTX_ARR_drvrd(SIE_HCTX_ARR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HCTX_ARR_drvwr(SIE_HCTX_ARR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HCTX_ARR_reset(SIE_HCTX_ARR *p);
SIGN32 HCTX_ARR_cmp (SIE_HCTX_ARR *p, SIE_HCTX_ARR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HCTX_ARR_check(p,pie,pfx,hLOG) HCTX_ARR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HCTX_ARR_print(p, pfx,hLOG) HCTX_ARR_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HCTX_ARR
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ASECTX biu (4,4)
/// ###
/// * RF64 context for ASE
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Reserved for RF64MB
/// * [64:255]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD
/// $LUT64b RSVD REG [3]
/// ###
/// * padding to 2048-bit boundary
/// ###
/// @ 0x00020 (P)
/// # 0x00020 D33
/// $HCTX4x4 D33 REG
/// ###
/// * Y(-1,-1)
/// ###
/// @ 0x00030 (P)
/// # 0x00030 B30
/// $HCTX4x4 B30 REG
/// ###
/// * Y(0,-1) or U(0,-1) or DCU(0,-1)
/// ###
/// @ 0x00040 (P)
/// # 0x00040 B31
/// $HCTX4x4 B31 REG
/// ###
/// * Y(1,-1) or V(0,-1) or DCV(0,-1)
/// ###
/// @ 0x00050 (P)
/// # 0x00050 B32
/// $HCTX4x4 B32 REG
/// ###
/// * Y(2,-1) or U(1,-1)
/// ###
/// @ 0x00060 (P)
/// # 0x00060 B33
/// $HCTX4x4 B33 REG
/// ###
/// * Y(3,-1) or V(1,-1) or DCY(0,-1)
/// ###
/// @ 0x00070 (P)
/// # 0x00070 C30
/// $HCTX4x4 C30 REG
/// ###
/// * Y(4,-1)
/// ###
/// @ 0x00080 (P)
/// # 0x00080 A03
/// $HCTX4x4 A03 REG
/// ###
/// * Y(-1,0)
/// ###
/// @ 0x00090 (P)
/// # 0x00090 A12
/// $HCTX4x4 A12 REG
/// ###
/// * U(-1,0) & V(-1,0)
/// ###
/// @ 0x000A0 (P)
/// # 0x000A0 A13
/// $HCTX4x4 A13 REG
/// ###
/// * Y(-1,1)
/// ###
/// @ 0x000B0 (P)
/// # 0x000B0 A23
/// $HCTX4x4 A23 REG
/// ###
/// * Y(-1,2)
/// ###
/// @ 0x000C0 (P)
/// # 0x000C0 A30
/// $HCTX4x4 A30 REG
/// ###
/// * DCU(-1,0) & DCV(-1,0)
/// ###
/// @ 0x000D0 (P)
/// # 0x000D0 A31
/// $HCTX4x4 A31 REG
/// ###
/// * DCI(-1,0) & DCY(-1,0)
/// ###
/// @ 0x000E0 (P)
/// # 0x000E0 A32
/// $HCTX4x4 A32 REG
/// ###
/// * U(-1,1) & V(-1,1)
/// ###
/// @ 0x000F0 (P)
/// # 0x000F0 A33
/// $HCTX4x4 A33 REG
/// ###
/// * Y(-1,3)
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End ASECTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ASECTX
#define h_ASECTX (){}
#define RA_ASECTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_ASECTX_RSVD 0x0008
///////////////////////////////////////////////////////////
#define RA_ASECTX_D33 0x0020
///////////////////////////////////////////////////////////
#define RA_ASECTX_B30 0x0030
///////////////////////////////////////////////////////////
#define RA_ASECTX_B31 0x0040
///////////////////////////////////////////////////////////
#define RA_ASECTX_B32 0x0050
///////////////////////////////////////////////////////////
#define RA_ASECTX_B33 0x0060
///////////////////////////////////////////////////////////
#define RA_ASECTX_C30 0x0070
///////////////////////////////////////////////////////////
#define RA_ASECTX_A03 0x0080
///////////////////////////////////////////////////////////
#define RA_ASECTX_A12 0x0090
///////////////////////////////////////////////////////////
#define RA_ASECTX_A13 0x00A0
///////////////////////////////////////////////////////////
#define RA_ASECTX_A23 0x00B0
///////////////////////////////////////////////////////////
#define RA_ASECTX_A30 0x00C0
///////////////////////////////////////////////////////////
#define RA_ASECTX_A31 0x00D0
///////////////////////////////////////////////////////////
#define RA_ASECTX_A32 0x00E0
///////////////////////////////////////////////////////////
#define RA_ASECTX_A33 0x00F0
///////////////////////////////////////////////////////////
#define RA_ASECTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_ASECTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[3];
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_D33;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B30;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B31;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B32;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B33;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_C30;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A03;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A12;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A13;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A23;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A30;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A31;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A32;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A33;
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_ASECTX;
///////////////////////////////////////////////////////////
SIGN32 ASECTX_drvrd(SIE_ASECTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ASECTX_drvwr(SIE_ASECTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ASECTX_reset(SIE_ASECTX *p);
SIGN32 ASECTX_cmp (SIE_ASECTX *p, SIE_ASECTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ASECTX_check(p,pie,pfx,hLOG) ASECTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ASECTX_print(p, pfx,hLOG) ASECTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ASECTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ASE_ND_CTX biu (4,4)
/// ###
/// * RF64 context for ASE (to store Neighbor D in MBAFF mode)
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 RSVD
/// $LUT64b RSVD REG
/// ###
/// * Reserved for RF64MB
/// * [64:191]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 A03m
/// $HCTX4x4 A03m REG
/// ###
/// * Neighbor D for when locating at A03 in MBAFF mode
/// * [192:255]
/// ###
/// @ 0x00018 (P)
/// # 0x00018 RSVD1
/// $LUT64b RSVD1 REG [32]
/// ###
/// * [2240:2367]
/// ###
/// @ 0x00118 (P)
/// # 0x00118 A13m
/// $HCTX4x4 A13m REG
/// ###
/// * Neighbor D for when locating at A13 in MBAFF mode
/// * [2368:2495]
/// ###
/// @ 0x00128 (P)
/// # 0x00128 A23m
/// $HCTX4x4 A23m REG
/// ###
/// * Neighbor D for when locating at A23 in MBAFF mode
/// * [2496:4097]
/// ###
/// @ 0x00138 (P)
/// # 0x00138 RSVD2
/// $LUT64b RSVD2 REG [25]
/// ###
/// * Padding to the end
/// * End ASE_ND_CTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ASE_ND_CTX
#define h_ASE_ND_CTX (){}
#define RA_ASE_ND_CTX_RSVD 0x0000
///////////////////////////////////////////////////////////
#define RA_ASE_ND_CTX_A03m 0x0008
///////////////////////////////////////////////////////////
#define RA_ASE_ND_CTX_RSVD1 0x0018
///////////////////////////////////////////////////////////
#define RA_ASE_ND_CTX_A13m 0x0118
///////////////////////////////////////////////////////////
#define RA_ASE_ND_CTX_A23m 0x0128
///////////////////////////////////////////////////////////
#define RA_ASE_ND_CTX_RSVD2 0x0138
///////////////////////////////////////////////////////////
typedef struct SIE_ASE_ND_CTX {
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A03m;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD1[32];
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A13m;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A23m;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD2[25];
///////////////////////////////////////////////////////////
} SIE_ASE_ND_CTX;
///////////////////////////////////////////////////////////
SIGN32 ASE_ND_CTX_drvrd(SIE_ASE_ND_CTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ASE_ND_CTX_drvwr(SIE_ASE_ND_CTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ASE_ND_CTX_reset(SIE_ASE_ND_CTX *p);
SIGN32 ASE_ND_CTX_cmp (SIE_ASE_ND_CTX *p, SIE_ASE_ND_CTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ASE_ND_CTX_check(p,pie,pfx,hLOG) ASE_ND_CTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ASE_ND_CTX_print(p, pfx,hLOG) ASE_ND_CTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ASE_ND_CTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FOPCTX biu (4,4)
/// ###
/// * RF64 context for FOP
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Macroblock-level information; reprogrammed by FIGO at the start of every macroblock
/// * [64:447]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 QPX0
/// $RF64QP QPX0 REG
/// ###
/// * QP of current MB
/// ###
/// @ 0x00010 (P)
/// # 0x00010 QPX1
/// $RF64QP QPX1 REG
/// ###
/// * QP of current MB
/// ###
/// @ 0x00018 (P)
/// # 0x00018 QPA0
/// $RF64QP QPA0 REG
/// ###
/// * QP of even MB of left MB pair
/// ###
/// @ 0x00020 (P)
/// # 0x00020 QPA1
/// $RF64QP QPA1 REG
/// ###
/// * QP of odd MB of left MB pair
/// ###
/// @ 0x00028 (P)
/// # 0x00028 QPB0
/// $RF64QP QPB0 REG
/// ###
/// * QP of even MB of top MB pair
/// ###
/// @ 0x00030 (P)
/// # 0x00030 QPB1
/// $RF64QP QPB1 REG
/// ###
/// * QP of odd MB of top MB pair
/// * [448:831]
/// ###
/// @ 0x00038 (P)
/// # 0x00038 BlkX
/// $HCTX4x4 BlkX REG
/// ###
/// * Context for current block
/// ###
/// @ 0x00048 (P)
/// # 0x00048 BlkA
/// $HCTX4x4 BlkA REG
/// ###
/// * Context for left neighbor
/// ###
/// @ 0x00058 (P)
/// # 0x00058 BlkB
/// $HCTX4x4 BlkB REG
/// ###
/// * Context for top block
/// ###
/// @ 0x00068 (P)
/// # 0x00068 BlkC
/// $HCTX4x4 BlkC REG
/// ###
/// * Block context used in VC-1 main profile P exception 2.
/// * [960:2047]
/// ###
/// @ 0x00078 (P)
/// # 0x00078 RSVD
/// $LUT64b RSVD REG [17]
/// ###
/// * padding to 2048-bit boundary
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End RF64CTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FOPCTX
#define h_FOPCTX (){}
#define RA_FOPCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_FOPCTX_QPX0 0x0008
///////////////////////////////////////////////////////////
#define RA_FOPCTX_QPX1 0x0010
///////////////////////////////////////////////////////////
#define RA_FOPCTX_QPA0 0x0018
///////////////////////////////////////////////////////////
#define RA_FOPCTX_QPA1 0x0020
///////////////////////////////////////////////////////////
#define RA_FOPCTX_QPB0 0x0028
///////////////////////////////////////////////////////////
#define RA_FOPCTX_QPB1 0x0030
///////////////////////////////////////////////////////////
#define RA_FOPCTX_BlkX 0x0038
///////////////////////////////////////////////////////////
#define RA_FOPCTX_BlkA 0x0048
///////////////////////////////////////////////////////////
#define RA_FOPCTX_BlkB 0x0058
///////////////////////////////////////////////////////////
#define RA_FOPCTX_BlkC 0x0068
///////////////////////////////////////////////////////////
#define RA_FOPCTX_RSVD 0x0078
///////////////////////////////////////////////////////////
#define RA_FOPCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_FOPCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPX0;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPX1;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPA0;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPA1;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPB0;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPB1;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_BlkX;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_BlkA;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_BlkB;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_BlkC;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[17];
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_FOPCTX;
///////////////////////////////////////////////////////////
SIGN32 FOPCTX_drvrd(SIE_FOPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FOPCTX_drvwr(SIE_FOPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FOPCTX_reset(SIE_FOPCTX *p);
SIGN32 FOPCTX_cmp (SIE_FOPCTX *p, SIE_FOPCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FOPCTX_check(p,pie,pfx,hLOG) FOPCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FOPCTX_print(p, pfx,hLOG) FOPCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FOPCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE pmvScale biu (4,4)
/// ###
/// * Scaling factors for PMV calculation (for AVS)
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 scaleA
/// ###
/// * Scaling factor for MVs of block A
/// ###
/// @ 0x00004 (P)
/// %unsigned 32 scaleB
/// ###
/// * Scaling factor for MVs of block B
/// * [64:127]
/// ###
/// @ 0x00008 (P)
/// %unsigned 32 scaleC
/// ###
/// * Scaling factor for MVs of block C
/// ###
/// @ 0x0000C (P)
/// %unsigned 32 scaleD
/// ###
/// * Scaling factor for MVs of block D
/// * End pmvScale
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_pmvScale
#define h_pmvScale (){}
#define BA_pmvScale_scaleA 0x0000
#define B16pmvScale_scaleA 0x0000
#define LSb32pmvScale_scaleA 0
#define LSb16pmvScale_scaleA 0
#define bpmvScale_scaleA 32
#define MSK32pmvScale_scaleA 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_pmvScale_scaleB 0x0004
#define B16pmvScale_scaleB 0x0004
#define LSb32pmvScale_scaleB 0
#define LSb16pmvScale_scaleB 0
#define bpmvScale_scaleB 32
#define MSK32pmvScale_scaleB 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_pmvScale_scaleC 0x0008
#define B16pmvScale_scaleC 0x0008
#define LSb32pmvScale_scaleC 0
#define LSb16pmvScale_scaleC 0
#define bpmvScale_scaleC 32
#define MSK32pmvScale_scaleC 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_pmvScale_scaleD 0x000C
#define B16pmvScale_scaleD 0x000C
#define LSb32pmvScale_scaleD 0
#define LSb16pmvScale_scaleD 0
#define bpmvScale_scaleD 32
#define MSK32pmvScale_scaleD 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_pmvScale {
///////////////////////////////////////////////////////////
#define GET32pmvScale_scaleA(r32) _BFGET_(r32,31, 0)
#define SET32pmvScale_scaleA(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_scaleA : 32;
///////////////////////////////////////////////////////////
#define GET32pmvScale_scaleB(r32) _BFGET_(r32,31, 0)
#define SET32pmvScale_scaleB(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_scaleB : 32;
///////////////////////////////////////////////////////////
#define GET32pmvScale_scaleC(r32) _BFGET_(r32,31, 0)
#define SET32pmvScale_scaleC(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_scaleC : 32;
///////////////////////////////////////////////////////////
#define GET32pmvScale_scaleD(r32) _BFGET_(r32,31, 0)
#define SET32pmvScale_scaleD(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_scaleD : 32;
///////////////////////////////////////////////////////////
} SIE_pmvScale;
///////////////////////////////////////////////////////////
SIGN32 pmvScale_drvrd(SIE_pmvScale *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 pmvScale_drvwr(SIE_pmvScale *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void pmvScale_reset(SIE_pmvScale *p);
SIGN32 pmvScale_cmp (SIE_pmvScale *p, SIE_pmvScale *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define pmvScale_check(p,pie,pfx,hLOG) pmvScale_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define pmvScale_print(p, pfx,hLOG) pmvScale_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: pmvScale
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE PMVCTX biu (4,4)
/// ###
/// * RF64 context for PMV
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Macroblock-level information; reprogrammed by FIGO at the start of every macroblock
/// * [64:447]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD0
/// $LUT64b RSVD0 REG [6]
/// ###
/// * padding to align block-level context
/// * [448:1087]
/// ###
/// @ 0x00038 (P)
/// # 0x00038 BlkX
/// $FCTX BlkX REG
/// ###
/// * Context for current block
/// ###
/// @ 0x00040 (P)
/// # 0x00040 ChromaMV
/// $MV ChromaMV REG
/// ###
/// * MPEG-4 chroma MV
/// ###
/// @ 0x00044 (P)
/// %unsigned 32 RSVDX
/// ###
/// * padding to 128-bit
/// ###
/// @ 0x00048 (P)
/// # 0x00048 BlkA
/// $FCTX BlkA REG
/// ###
/// * Context for left neighbor
/// ###
/// @ 0x00050 (P)
/// # 0x00050 BlkD
/// $FCTX BlkD REG
/// ###
/// * Context for upper-left neighbor
/// ###
/// @ 0x00058 (P)
/// # 0x00058 BlkB
/// $FCTX BlkB REG
/// ###
/// * Context for top neighbor
/// ###
/// @ 0x00060 (P)
/// # 0x00060 BlkC
/// $FCTX BlkC REG
/// ###
/// * Context for upper-right neighbor
/// ###
/// @ 0x00068 (P)
/// # 0x00068 BlkA1
/// $FCTX BlkA1 REG
/// ###
/// * Context for 2nd left neighbor, interlace frame
/// ###
/// @ 0x00070 (P)
/// # 0x00070 BlkD1
/// $FCTX BlkD1 REG
/// ###
/// * Context for 2nd upper-left neighbor, interlace frame
/// ###
/// @ 0x00078 (P)
/// # 0x00078 BlkB1
/// $FCTX BlkB1 REG
/// ###
/// * Context for 2nd top neighbor, interlace frame
/// ###
/// @ 0x00080 (P)
/// # 0x00080 BlkC1
/// $FCTX BlkC1 REG
/// ###
/// * Context for 2nd up-right neighbor, interlace frame only
/// * [1088:1727]
/// ###
/// @ 0x00088 (P)
/// %unsigned 32 pmvScale_0i
/// %unsigned 32 pmvScale_1i
/// %unsigned 32 pmvScale_2i
/// %unsigned 32 pmvScale_3i
/// %unsigned 32 pmvScale_4i
/// %unsigned 32 pmvScale_5i
/// %unsigned 32 pmvScale_6i
/// %unsigned 32 pmvScale_7i
/// %unsigned 32 pmvScale_8i
/// %unsigned 32 pmvScale_9i
/// %unsigned 32 pmvScale_10i
/// %unsigned 32 pmvScale_11i
/// %unsigned 32 pmvScale_12i
/// %unsigned 32 pmvScale_13i
/// %unsigned 32 pmvScale_14i
/// %unsigned 32 pmvScale_15i
/// %unsigned 32 pmvScale_16i
/// %unsigned 32 pmvScale_17i
/// %unsigned 32 pmvScale_18i
/// %unsigned 32 pmvScale_19i
/// ###
/// * Scale candidates for PMV.
/// * [1727:2047]
/// ###
/// @ 0x000D8 (P)
/// # 0x000D8 RSVD
/// $LUT64b RSVD REG [5]
/// ###
/// * padding to 2048-bit boundary
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End PMVCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_PMVCTX
#define h_PMVCTX (){}
#define RA_PMVCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_PMVCTX_RSVD0 0x0008
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkX 0x0038
///////////////////////////////////////////////////////////
#define RA_PMVCTX_ChromaMV 0x0040
///////////////////////////////////////////////////////////
#define BA_PMVCTX_RSVDX 0x0044
#define B16PMVCTX_RSVDX 0x0044
#define LSb32PMVCTX_RSVDX 0
#define LSb16PMVCTX_RSVDX 0
#define bPMVCTX_RSVDX 32
#define MSK32PMVCTX_RSVDX 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkA 0x0048
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkD 0x0050
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkB 0x0058
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkC 0x0060
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkA1 0x0068
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkD1 0x0070
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkB1 0x0078
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkC1 0x0080
///////////////////////////////////////////////////////////
#define BA_PMVCTX_pmvScale_0i 0x0088
#define B16PMVCTX_pmvScale_0i 0x0088
#define LSb32PMVCTX_pmvScale_0i 0
#define LSb16PMVCTX_pmvScale_0i 0
#define bPMVCTX_pmvScale_0i 32
#define MSK32PMVCTX_pmvScale_0i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_1i 0x008C
#define B16PMVCTX_pmvScale_1i 0x008C
#define LSb32PMVCTX_pmvScale_1i 0
#define LSb16PMVCTX_pmvScale_1i 0
#define bPMVCTX_pmvScale_1i 32
#define MSK32PMVCTX_pmvScale_1i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_2i 0x0090
#define B16PMVCTX_pmvScale_2i 0x0090
#define LSb32PMVCTX_pmvScale_2i 0
#define LSb16PMVCTX_pmvScale_2i 0
#define bPMVCTX_pmvScale_2i 32
#define MSK32PMVCTX_pmvScale_2i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_3i 0x0094
#define B16PMVCTX_pmvScale_3i 0x0094
#define LSb32PMVCTX_pmvScale_3i 0
#define LSb16PMVCTX_pmvScale_3i 0
#define bPMVCTX_pmvScale_3i 32
#define MSK32PMVCTX_pmvScale_3i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_4i 0x0098
#define B16PMVCTX_pmvScale_4i 0x0098
#define LSb32PMVCTX_pmvScale_4i 0
#define LSb16PMVCTX_pmvScale_4i 0
#define bPMVCTX_pmvScale_4i 32
#define MSK32PMVCTX_pmvScale_4i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_5i 0x009C
#define B16PMVCTX_pmvScale_5i 0x009C
#define LSb32PMVCTX_pmvScale_5i 0
#define LSb16PMVCTX_pmvScale_5i 0
#define bPMVCTX_pmvScale_5i 32
#define MSK32PMVCTX_pmvScale_5i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_6i 0x00A0
#define B16PMVCTX_pmvScale_6i 0x00A0
#define LSb32PMVCTX_pmvScale_6i 0
#define LSb16PMVCTX_pmvScale_6i 0
#define bPMVCTX_pmvScale_6i 32
#define MSK32PMVCTX_pmvScale_6i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_7i 0x00A4
#define B16PMVCTX_pmvScale_7i 0x00A4
#define LSb32PMVCTX_pmvScale_7i 0
#define LSb16PMVCTX_pmvScale_7i 0
#define bPMVCTX_pmvScale_7i 32
#define MSK32PMVCTX_pmvScale_7i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_8i 0x00A8
#define B16PMVCTX_pmvScale_8i 0x00A8
#define LSb32PMVCTX_pmvScale_8i 0
#define LSb16PMVCTX_pmvScale_8i 0
#define bPMVCTX_pmvScale_8i 32
#define MSK32PMVCTX_pmvScale_8i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_9i 0x00AC
#define B16PMVCTX_pmvScale_9i 0x00AC
#define LSb32PMVCTX_pmvScale_9i 0
#define LSb16PMVCTX_pmvScale_9i 0
#define bPMVCTX_pmvScale_9i 32
#define MSK32PMVCTX_pmvScale_9i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_10i 0x00B0
#define B16PMVCTX_pmvScale_10i 0x00B0
#define LSb32PMVCTX_pmvScale_10i 0
#define LSb16PMVCTX_pmvScale_10i 0
#define bPMVCTX_pmvScale_10i 32
#define MSK32PMVCTX_pmvScale_10i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_11i 0x00B4
#define B16PMVCTX_pmvScale_11i 0x00B4
#define LSb32PMVCTX_pmvScale_11i 0
#define LSb16PMVCTX_pmvScale_11i 0
#define bPMVCTX_pmvScale_11i 32
#define MSK32PMVCTX_pmvScale_11i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_12i 0x00B8
#define B16PMVCTX_pmvScale_12i 0x00B8
#define LSb32PMVCTX_pmvScale_12i 0
#define LSb16PMVCTX_pmvScale_12i 0
#define bPMVCTX_pmvScale_12i 32
#define MSK32PMVCTX_pmvScale_12i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_13i 0x00BC
#define B16PMVCTX_pmvScale_13i 0x00BC
#define LSb32PMVCTX_pmvScale_13i 0
#define LSb16PMVCTX_pmvScale_13i 0
#define bPMVCTX_pmvScale_13i 32
#define MSK32PMVCTX_pmvScale_13i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_14i 0x00C0
#define B16PMVCTX_pmvScale_14i 0x00C0
#define LSb32PMVCTX_pmvScale_14i 0
#define LSb16PMVCTX_pmvScale_14i 0
#define bPMVCTX_pmvScale_14i 32
#define MSK32PMVCTX_pmvScale_14i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_15i 0x00C4
#define B16PMVCTX_pmvScale_15i 0x00C4
#define LSb32PMVCTX_pmvScale_15i 0
#define LSb16PMVCTX_pmvScale_15i 0
#define bPMVCTX_pmvScale_15i 32
#define MSK32PMVCTX_pmvScale_15i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_16i 0x00C8
#define B16PMVCTX_pmvScale_16i 0x00C8
#define LSb32PMVCTX_pmvScale_16i 0
#define LSb16PMVCTX_pmvScale_16i 0
#define bPMVCTX_pmvScale_16i 32
#define MSK32PMVCTX_pmvScale_16i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_17i 0x00CC
#define B16PMVCTX_pmvScale_17i 0x00CC
#define LSb32PMVCTX_pmvScale_17i 0
#define LSb16PMVCTX_pmvScale_17i 0
#define bPMVCTX_pmvScale_17i 32
#define MSK32PMVCTX_pmvScale_17i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_18i 0x00D0
#define B16PMVCTX_pmvScale_18i 0x00D0
#define LSb32PMVCTX_pmvScale_18i 0
#define LSb16PMVCTX_pmvScale_18i 0
#define bPMVCTX_pmvScale_18i 32
#define MSK32PMVCTX_pmvScale_18i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_19i 0x00D4
#define B16PMVCTX_pmvScale_19i 0x00D4
#define LSb32PMVCTX_pmvScale_19i 0
#define LSb16PMVCTX_pmvScale_19i 0
#define bPMVCTX_pmvScale_19i 32
#define MSK32PMVCTX_pmvScale_19i 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_PMVCTX_RSVD 0x00D8
///////////////////////////////////////////////////////////
#define RA_PMVCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_PMVCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD0[6];
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkX;
///////////////////////////////////////////////////////////
SIE_MV ie_ChromaMV;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_RSVDX(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_RSVDX(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_RSVDX : 32;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkA;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkD;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkB;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkC;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkA1;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkD1;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkB1;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkC1;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_0i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_0i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_0i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_1i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_1i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_1i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_2i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_2i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_2i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_3i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_3i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_3i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_4i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_4i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_4i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_5i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_5i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_5i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_6i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_6i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_6i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_7i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_7i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_7i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_8i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_8i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_8i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_9i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_9i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_9i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_10i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_10i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_10i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_11i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_11i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_11i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_12i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_12i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_12i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_13i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_13i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_13i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_14i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_14i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_14i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_15i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_15i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_15i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_16i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_16i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_16i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_17i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_17i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_17i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_18i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_18i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_18i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_19i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_19i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_19i : 32;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[5];
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_PMVCTX;
///////////////////////////////////////////////////////////
SIGN32 PMVCTX_drvrd(SIE_PMVCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 PMVCTX_drvwr(SIE_PMVCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void PMVCTX_reset(SIE_PMVCTX *p);
SIGN32 PMVCTX_cmp (SIE_PMVCTX *p, SIE_PMVCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define PMVCTX_check(p,pie,pfx,hLOG) PMVCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define PMVCTX_print(p, pfx,hLOG) PMVCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: PMVCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dirMvCTX biu (4,4)
/// ###
/// * RF64 context for direct mode MV calculation
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Reserved for RF64MB
/// * [64:447]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD0
/// $LUT64b RSVD0 REG [6]
/// ###
/// * padding to align block-level context
/// * [448:575]
/// ###
/// @ 0x00038 (P)
/// # 0x00038 BlkX
/// $HCTX4x4 BlkX REG
/// ###
/// * Context of the current block; 128-bit.
/// * [576:639]
/// ###
/// @ 0x00048 (P)
/// # 0x00048 BlkCol
/// $FCTX BlkCol REG
/// ###
/// * Context of co-located block; 64-bit.
/// * [640:703]
/// ###
/// @ 0x00050 (P)
/// # 0x00050 mvScale
/// $dirMvScale mvScale REG
/// ###
/// * MV scaling factor for temporal direct mode; 64 bits
/// * [704:1919]
/// ###
/// @ 0x00058 (P)
/// # 0x00058 RSVD
/// $LUT64b RSVD REG [19]
/// ###
/// * padding to 2048-bit boundary
/// * [1920:2047]
/// ###
/// @ 0x000F0 (P)
/// # 0x000F0 MbPMV
/// $HCTX4x4 MbPMV REG
/// ###
/// * Macroblock PMV, for spatial direct mode only
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End dirMvCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dirMvCTX
#define h_dirMvCTX (){}
#define RA_dirMvCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_RSVD0 0x0008
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_BlkX 0x0038
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_BlkCol 0x0048
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_mvScale 0x0050
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_RSVD 0x0058
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_MbPMV 0x00F0
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_dirMvCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD0[6];
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_BlkX;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkCol;
///////////////////////////////////////////////////////////
SIE_dirMvScale ie_mvScale;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[19];
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_MbPMV;
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_dirMvCTX;
///////////////////////////////////////////////////////////
SIGN32 dirMvCTX_drvrd(SIE_dirMvCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dirMvCTX_drvwr(SIE_dirMvCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dirMvCTX_reset(SIE_dirMvCTX *p);
SIGN32 dirMvCTX_cmp (SIE_dirMvCTX *p, SIE_dirMvCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dirMvCTX_check(p,pie,pfx,hLOG) dirMvCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dirMvCTX_print(p, pfx,hLOG) dirMvCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dirMvCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vcMsgCTX biu (4,4)
/// ###
/// * RF64 context for the vcMsg extension
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * 64b macroblock-level parameter
/// * [64:447]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD0
/// $LUT64b RSVD0 REG [6]
/// ###
/// * padding to align block-level context
/// * [448:511]
/// ###
/// @ 0x00038 (P)
/// # 0x00038 blkX
/// $FCTX blkX REG
/// ###
/// * Motion information context of current partition
/// * [512:2047]
/// ###
/// @ 0x00040 (P)
/// # 0x00040 RSVD
/// $LUT64b RSVD REG [24]
/// ###
/// * padding to 2048-bit boundary
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End vcMsgCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vcMsgCTX
#define h_vcMsgCTX (){}
#define RA_vcMsgCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_vcMsgCTX_RSVD0 0x0008
///////////////////////////////////////////////////////////
#define RA_vcMsgCTX_blkX 0x0038
///////////////////////////////////////////////////////////
#define RA_vcMsgCTX_RSVD 0x0040
///////////////////////////////////////////////////////////
#define RA_vcMsgCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_vcMsgCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD0[6];
///////////////////////////////////////////////////////////
SIE_FCTX ie_blkX;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[24];
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_vcMsgCTX;
///////////////////////////////////////////////////////////
SIGN32 vcMsgCTX_drvrd(SIE_vcMsgCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vcMsgCTX_drvwr(SIE_vcMsgCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vcMsgCTX_reset(SIE_vcMsgCTX *p);
SIGN32 vcMsgCTX_cmp (SIE_vcMsgCTX *p, SIE_vcMsgCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vcMsgCTX_check(p,pie,pfx,hLOG) vcMsgCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vcMsgCTX_print(p, pfx,hLOG) vcMsgCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vcMsgCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vldCTX biu (4,4)
/// ###
/// * RF64 context for vld
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Macroblock-level information; reprogrammed by FIGO at the start of every macroblock
/// * [64:2047]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD
/// $LUT64b RSVD REG [31]
/// ###
/// * padding to 2048-bit boundary
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End vldCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vldCTX
#define h_vldCTX (){}
#define RA_vldCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_vldCTX_RSVD 0x0008
///////////////////////////////////////////////////////////
#define RA_vldCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_vldCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[31];
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_vldCTX;
///////////////////////////////////////////////////////////
SIGN32 vldCTX_drvrd(SIE_vldCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vldCTX_drvwr(SIE_vldCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vldCTX_reset(SIE_vldCTX *p);
SIGN32 vldCTX_cmp (SIE_vldCTX *p, SIE_vldCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vldCTX_check(p,pie,pfx,hLOG) vldCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vldCTX_print(p, pfx,hLOG) vldCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vldCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ClkRstBiu biu (4,4)
/// ###
/// * Common Biu Unit used for block level reset and clock gating control
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 CRCtl (P)
/// ###
/// * Clock Reset Control Register
/// ###
/// %unsigned 1 rst 0x1
/// ###
/// * Software reset. The reset signal is active low.
/// * 0 -> the block will be under reset.
/// * 1-> the block will be out of reset.
/// ###
/// %unsigned 1 swClk_en 0x1
/// ###
/// * Software controlled clock enable.
/// * 0 -> The corresponding block will be disabled (gated)
/// * 1 -> The corresponding clock will be enabled (ungated)
/// ###
/// %unsigned 1 dyCG_en 0x1
/// ###
/// * This is used to control (enalbe/disable) the HW self dynamic clock gating unit.
/// * 0 -> the dynamic clock gating will be disabled (the clock can not be turned off by dynamic clock gating unit).
/// * 1 -> the dynamic clock gating will be enabled (the clock can be dynamically turned on/off by the dynamic clock control unit).
/// * Here is the glue logic to generate the block level clock enable signal.
/// * ClkEn = swClk_en & (~dyCG_en | dyClk_en).
/// * swClk_en and dyCG_en are from this biu, and dyClk_en is the signal generated by the dynamic clock control unit.
/// * End of ClkRstBiu
/// ###
/// %% 29 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 3b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ClkRstBiu
#define h_ClkRstBiu (){}
#define RA_ClkRstBiu_CRCtl 0x0000
#define BA_ClkRstBiu_CRCtl_rst 0x0000
#define B16ClkRstBiu_CRCtl_rst 0x0000
#define LSb32ClkRstBiu_CRCtl_rst 0
#define LSb16ClkRstBiu_CRCtl_rst 0
#define bClkRstBiu_CRCtl_rst 1
#define MSK32ClkRstBiu_CRCtl_rst 0x00000001
#define BA_ClkRstBiu_CRCtl_swClk_en 0x0000
#define B16ClkRstBiu_CRCtl_swClk_en 0x0000
#define LSb32ClkRstBiu_CRCtl_swClk_en 1
#define LSb16ClkRstBiu_CRCtl_swClk_en 1
#define bClkRstBiu_CRCtl_swClk_en 1
#define MSK32ClkRstBiu_CRCtl_swClk_en 0x00000002
#define BA_ClkRstBiu_CRCtl_dyCG_en 0x0000
#define B16ClkRstBiu_CRCtl_dyCG_en 0x0000
#define LSb32ClkRstBiu_CRCtl_dyCG_en 2
#define LSb16ClkRstBiu_CRCtl_dyCG_en 2
#define bClkRstBiu_CRCtl_dyCG_en 1
#define MSK32ClkRstBiu_CRCtl_dyCG_en 0x00000004
///////////////////////////////////////////////////////////
typedef struct SIE_ClkRstBiu {
///////////////////////////////////////////////////////////
#define GET32ClkRstBiu_CRCtl_rst(r32) _BFGET_(r32, 0, 0)
#define SET32ClkRstBiu_CRCtl_rst(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16ClkRstBiu_CRCtl_rst(r16) _BFGET_(r16, 0, 0)
#define SET16ClkRstBiu_CRCtl_rst(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32ClkRstBiu_CRCtl_swClk_en(r32) _BFGET_(r32, 1, 1)
#define SET32ClkRstBiu_CRCtl_swClk_en(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16ClkRstBiu_CRCtl_swClk_en(r16) _BFGET_(r16, 1, 1)
#define SET16ClkRstBiu_CRCtl_swClk_en(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32ClkRstBiu_CRCtl_dyCG_en(r32) _BFGET_(r32, 2, 2)
#define SET32ClkRstBiu_CRCtl_dyCG_en(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16ClkRstBiu_CRCtl_dyCG_en(r16) _BFGET_(r16, 2, 2)
#define SET16ClkRstBiu_CRCtl_dyCG_en(r16,v) _BFSET_(r16, 2, 2,v)
#define w32ClkRstBiu_CRCtl {\
UNSG32 uCRCtl_rst : 1;\
UNSG32 uCRCtl_swClk_en : 1;\
UNSG32 uCRCtl_dyCG_en : 1;\
UNSG32 RSVDx0_b3 : 29;\
}
union { UNSG32 u32ClkRstBiu_CRCtl;
struct w32ClkRstBiu_CRCtl;
};
///////////////////////////////////////////////////////////
} SIE_ClkRstBiu;
typedef union T32ClkRstBiu_CRCtl
{ UNSG32 u32;
struct w32ClkRstBiu_CRCtl;
} T32ClkRstBiu_CRCtl;
///////////////////////////////////////////////////////////
typedef union TClkRstBiu_CRCtl
{ UNSG32 u32[1];
struct {
struct w32ClkRstBiu_CRCtl;
};
} TClkRstBiu_CRCtl;
///////////////////////////////////////////////////////////
SIGN32 ClkRstBiu_drvrd(SIE_ClkRstBiu *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ClkRstBiu_drvwr(SIE_ClkRstBiu *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ClkRstBiu_reset(SIE_ClkRstBiu *p);
SIGN32 ClkRstBiu_cmp (SIE_ClkRstBiu *p, SIE_ClkRstBiu *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ClkRstBiu_check(p,pie,pfx,hLOG) ClkRstBiu_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ClkRstBiu_print(p, pfx,hLOG) ClkRstBiu_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ClkRstBiu
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE PA_wCh (4,4)
/// ###
/// * Write channel definition for the premium access BIU
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 WAdr (RW-)
/// %unsigned 32 val
/// @ 0x00004 W8b (W-)
/// %unsigned 8 val
/// ###
/// * write one byte to the write channel
/// ###
/// %% 24 # Stuffing bits...
/// @ 0x00008 W16b (W-)
/// %unsigned 16 val
/// ###
/// * write two bytes to the write channel
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x0000C W32b (W-)
/// %unsigned 32 val
/// ###
/// * write four bytes to the write channel
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 88b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_PA_wCh
#define h_PA_wCh (){}
#define RA_PA_wCh_WAdr 0x0000
#define BA_PA_wCh_WAdr_val 0x0000
#define B16PA_wCh_WAdr_val 0x0000
#define LSb32PA_wCh_WAdr_val 0
#define LSb16PA_wCh_WAdr_val 0
#define bPA_wCh_WAdr_val 32
#define MSK32PA_wCh_WAdr_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_PA_wCh_W8b 0x0004
#define BA_PA_wCh_W8b_val 0x0004
#define B16PA_wCh_W8b_val 0x0004
#define LSb32PA_wCh_W8b_val 0
#define LSb16PA_wCh_W8b_val 0
#define bPA_wCh_W8b_val 8
#define MSK32PA_wCh_W8b_val 0x000000FF
///////////////////////////////////////////////////////////
#define RA_PA_wCh_W16b 0x0008
#define BA_PA_wCh_W16b_val 0x0008
#define B16PA_wCh_W16b_val 0x0008
#define LSb32PA_wCh_W16b_val 0
#define LSb16PA_wCh_W16b_val 0
#define bPA_wCh_W16b_val 16
#define MSK32PA_wCh_W16b_val 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_PA_wCh_W32b 0x000C
#define BA_PA_wCh_W32b_val 0x000C
#define B16PA_wCh_W32b_val 0x000C
#define LSb32PA_wCh_W32b_val 0
#define LSb16PA_wCh_W32b_val 0
#define bPA_wCh_W32b_val 32
#define MSK32PA_wCh_W32b_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_PA_wCh {
///////////////////////////////////////////////////////////
#define GET32PA_wCh_WAdr_val(r32) _BFGET_(r32,31, 0)
#define SET32PA_wCh_WAdr_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32PA_wCh_WAdr {\
UNSG32 uWAdr_val : 32;\
}
union { UNSG32 u32PA_wCh_WAdr;
struct w32PA_wCh_WAdr;
};
///////////////////////////////////////////////////////////
#define GET32PA_wCh_W8b_val(r32) _BFGET_(r32, 7, 0)
#define SET32PA_wCh_W8b_val(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16PA_wCh_W8b_val(r16) _BFGET_(r16, 7, 0)
#define SET16PA_wCh_W8b_val(r16,v) _BFSET_(r16, 7, 0,v)
#define w32PA_wCh_W8b {\
UNSG32 uW8b_val : 8;\
UNSG32 RSVDx4_b8 : 24;\
}
union { UNSG32 u32PA_wCh_W8b;
struct w32PA_wCh_W8b;
};
///////////////////////////////////////////////////////////
#define GET32PA_wCh_W16b_val(r32) _BFGET_(r32,15, 0)
#define SET32PA_wCh_W16b_val(r32,v) _BFSET_(r32,15, 0,v)
#define GET16PA_wCh_W16b_val(r16) _BFGET_(r16,15, 0)
#define SET16PA_wCh_W16b_val(r16,v) _BFSET_(r16,15, 0,v)
#define w32PA_wCh_W16b {\
UNSG32 uW16b_val : 16;\
UNSG32 RSVDx8_b16 : 16;\
}
union { UNSG32 u32PA_wCh_W16b;
struct w32PA_wCh_W16b;
};
///////////////////////////////////////////////////////////
#define GET32PA_wCh_W32b_val(r32) _BFGET_(r32,31, 0)
#define SET32PA_wCh_W32b_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32PA_wCh_W32b {\
UNSG32 uW32b_val : 32;\
}
union { UNSG32 u32PA_wCh_W32b;
struct w32PA_wCh_W32b;
};
///////////////////////////////////////////////////////////
} SIE_PA_wCh;
typedef union T32PA_wCh_WAdr
{ UNSG32 u32;
struct w32PA_wCh_WAdr;
} T32PA_wCh_WAdr;
typedef union T32PA_wCh_W8b
{ UNSG32 u32;
struct w32PA_wCh_W8b;
} T32PA_wCh_W8b;
typedef union T32PA_wCh_W16b
{ UNSG32 u32;
struct w32PA_wCh_W16b;
} T32PA_wCh_W16b;
typedef union T32PA_wCh_W32b
{ UNSG32 u32;
struct w32PA_wCh_W32b;
} T32PA_wCh_W32b;
///////////////////////////////////////////////////////////
typedef union TPA_wCh_WAdr
{ UNSG32 u32[1];
struct {
struct w32PA_wCh_WAdr;
};
} TPA_wCh_WAdr;
typedef union TPA_wCh_W8b
{ UNSG32 u32[1];
struct {
struct w32PA_wCh_W8b;
};
} TPA_wCh_W8b;
typedef union TPA_wCh_W16b
{ UNSG32 u32[1];
struct {
struct w32PA_wCh_W16b;
};
} TPA_wCh_W16b;
typedef union TPA_wCh_W32b
{ UNSG32 u32[1];
struct {
struct w32PA_wCh_W32b;
};
} TPA_wCh_W32b;
///////////////////////////////////////////////////////////
SIGN32 PA_wCh_drvrd(SIE_PA_wCh *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 PA_wCh_drvwr(SIE_PA_wCh *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void PA_wCh_reset(SIE_PA_wCh *p);
SIGN32 PA_wCh_cmp (SIE_PA_wCh *p, SIE_PA_wCh *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define PA_wCh_check(p,pie,pfx,hLOG) PA_wCh_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define PA_wCh_print(p, pfx,hLOG) PA_wCh_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: PA_wCh
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE PA_rCh (4,4)
/// ###
/// * Read channel definition for the premium access BIU
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 RAdr (RW-)
/// %unsigned 32 val
/// @ 0x00004 R32b (R-)
/// %unsigned 32 val
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_PA_rCh
#define h_PA_rCh (){}
#define RA_PA_rCh_RAdr 0x0000
#define BA_PA_rCh_RAdr_val 0x0000
#define B16PA_rCh_RAdr_val 0x0000
#define LSb32PA_rCh_RAdr_val 0
#define LSb16PA_rCh_RAdr_val 0
#define bPA_rCh_RAdr_val 32
#define MSK32PA_rCh_RAdr_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_PA_rCh_R32b 0x0004
#define BA_PA_rCh_R32b_val 0x0004
#define B16PA_rCh_R32b_val 0x0004
#define LSb32PA_rCh_R32b_val 0
#define LSb16PA_rCh_R32b_val 0
#define bPA_rCh_R32b_val 32
#define MSK32PA_rCh_R32b_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_PA_rCh {
///////////////////////////////////////////////////////////
#define GET32PA_rCh_RAdr_val(r32) _BFGET_(r32,31, 0)
#define SET32PA_rCh_RAdr_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32PA_rCh_RAdr {\
UNSG32 uRAdr_val : 32;\
}
union { UNSG32 u32PA_rCh_RAdr;
struct w32PA_rCh_RAdr;
};
///////////////////////////////////////////////////////////
#define GET32PA_rCh_R32b_val(r32) _BFGET_(r32,31, 0)
#define SET32PA_rCh_R32b_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32PA_rCh_R32b {\
UNSG32 uR32b_val : 32;\
}
union { UNSG32 u32PA_rCh_R32b;
struct w32PA_rCh_R32b;
};
///////////////////////////////////////////////////////////
} SIE_PA_rCh;
typedef union T32PA_rCh_RAdr
{ UNSG32 u32;
struct w32PA_rCh_RAdr;
} T32PA_rCh_RAdr;
typedef union T32PA_rCh_R32b
{ UNSG32 u32;
struct w32PA_rCh_R32b;
} T32PA_rCh_R32b;
///////////////////////////////////////////////////////////
typedef union TPA_rCh_RAdr
{ UNSG32 u32[1];
struct {
struct w32PA_rCh_RAdr;
};
} TPA_rCh_RAdr;
typedef union TPA_rCh_R32b
{ UNSG32 u32[1];
struct {
struct w32PA_rCh_R32b;
};
} TPA_rCh_R32b;
///////////////////////////////////////////////////////////
SIGN32 PA_rCh_drvrd(SIE_PA_rCh *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 PA_rCh_drvwr(SIE_PA_rCh *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void PA_rCh_reset(SIE_PA_rCh *p);
SIGN32 PA_rCh_cmp (SIE_PA_rCh *p, SIE_PA_rCh *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define PA_rCh_check(p,pie,pfx,hLOG) PA_rCh_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define PA_rCh_print(p, pfx,hLOG) PA_rCh_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: PA_rCh
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoDataNT (4,4)
/// ###
/// * 64-bit entry for FIGO DTCM; 'NT' == no-test
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (RW-)
/// ###
/// * 32-bit data
/// ###
/// %unsigned 32 data_0i
/// %unsigned 32 data_1i
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoDataNT
#define h_FigoDataNT (){}
#define BA_FigoDataNT_data_0i 0x0000
#define B16FigoDataNT_data_0i 0x0000
#define LSb32FigoDataNT_data_0i 0
#define LSb16FigoDataNT_data_0i 0
#define bFigoDataNT_data_0i 32
#define MSK32FigoDataNT_data_0i 0xFFFFFFFF
#define BA_FigoDataNT_data_1i 0x0004
#define B16FigoDataNT_data_1i 0x0004
#define LSb32FigoDataNT_data_1i 0
#define LSb16FigoDataNT_data_1i 0
#define bFigoDataNT_data_1i 32
#define MSK32FigoDataNT_data_1i 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoDataNT {
///////////////////////////////////////////////////////////
#define GET32FigoDataNT_data_0i(r32) _BFGET_(r32,31, 0)
#define SET32FigoDataNT_data_0i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data_0i : 32;
///////////////////////////////////////////////////////////
#define GET32FigoDataNT_data_1i(r32) _BFGET_(r32,31, 0)
#define SET32FigoDataNT_data_1i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data_1i : 32;
///////////////////////////////////////////////////////////
} SIE_FigoDataNT;
///////////////////////////////////////////////////////////
SIGN32 FigoDataNT_drvrd(SIE_FigoDataNT *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoDataNT_drvwr(SIE_FigoDataNT *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoDataNT_reset(SIE_FigoDataNT *p);
SIGN32 FigoDataNT_cmp (SIE_FigoDataNT *p, SIE_FigoDataNT *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoDataNT_check(p,pie,pfx,hLOG) FigoDataNT_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoDataNT_print(p, pfx,hLOG) FigoDataNT_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoDataNT
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vProFast biu (4,4)
/// ###
/// * vScope DTCM, occupying 32KB address space
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 DTCM0 (P)
/// # 0x00000 dtcm0
/// $FigoData dtcm0 MEM [1536]
/// ###
/// * vScope registers
/// ###
/// @ 0x04000 F0A64 (P)
/// # 0x04000 F0A64
/// $ALU64 F0A64 REG
/// @ 0x05000 F1A64 (P)
/// # 0x05000 F1A64
/// $ALU64 F1A64 REG
/// @ 0x06000 rCh (P)
/// # 0x06000 rCh
/// $PA_rCh rCh MEM
/// @ 0x06008 rChClear (W-)
/// %unsigned 1 en
/// ###
/// * write anything to reset read channel
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x0600C (W-)
/// # # Stuffing bytes...
/// %% 928
/// @ 0x06080 wCh (P)
/// # 0x06080 wCh
/// $PA_wCh wCh MEM [8]
/// @ 0x06100 wChFlush (W-)
/// %unsigned 1 en
/// ###
/// * write anything to flush write channel
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x06104 (W-)
/// # # Stuffing bytes...
/// %% 63456
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32768B, bits: 398b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vProFast
#define h_vProFast (){}
#define RA_vProFast_DTCM0 0x0000
#define RA_vProFast_dtcm0 0x0000
///////////////////////////////////////////////////////////
#define RA_vProFast_F0A64 0x4000
///////////////////////////////////////////////////////////
#define RA_vProFast_F1A64 0x5000
///////////////////////////////////////////////////////////
#define RA_vProFast_rCh 0x6000
///////////////////////////////////////////////////////////
#define RA_vProFast_rChClear 0x6008
#define BA_vProFast_rChClear_en 0x6008
#define B16vProFast_rChClear_en 0x6008
#define LSb32vProFast_rChClear_en 0
#define LSb16vProFast_rChClear_en 0
#define bvProFast_rChClear_en 1
#define MSK32vProFast_rChClear_en 0x00000001
///////////////////////////////////////////////////////////
#define RA_vProFast_wCh 0x6080
///////////////////////////////////////////////////////////
#define RA_vProFast_wChFlush 0x6100
#define BA_vProFast_wChFlush_en 0x6100
#define B16vProFast_wChFlush_en 0x6100
#define LSb32vProFast_wChFlush_en 0
#define LSb16vProFast_wChFlush_en 0
#define bvProFast_wChFlush_en 1
#define MSK32vProFast_wChFlush_en 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_vProFast {
///////////////////////////////////////////////////////////
SIE_FigoData ie_dtcm0[1536];
UNSG8 RSVD_dtcm0 [4096];
///////////////////////////////////////////////////////////
SIE_ALU64 ie_F0A64;
///////////////////////////////////////////////////////////
SIE_ALU64 ie_F1A64;
///////////////////////////////////////////////////////////
SIE_PA_rCh ie_rCh;
///////////////////////////////////////////////////////////
#define GET32vProFast_rChClear_en(r32) _BFGET_(r32, 0, 0)
#define SET32vProFast_rChClear_en(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16vProFast_rChClear_en(r16) _BFGET_(r16, 0, 0)
#define SET16vProFast_rChClear_en(r16,v) _BFSET_(r16, 0, 0,v)
#define w32vProFast_rChClear {\
UNSG32 urChClear_en : 1;\
UNSG32 RSVDx6008_b1 : 31;\
}
union { UNSG32 u32vProFast_rChClear;
struct w32vProFast_rChClear;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx600C [116];
///////////////////////////////////////////////////////////
SIE_PA_wCh ie_wCh[8];
///////////////////////////////////////////////////////////
#define GET32vProFast_wChFlush_en(r32) _BFGET_(r32, 0, 0)
#define SET32vProFast_wChFlush_en(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16vProFast_wChFlush_en(r16) _BFGET_(r16, 0, 0)
#define SET16vProFast_wChFlush_en(r16,v) _BFSET_(r16, 0, 0,v)
#define w32vProFast_wChFlush {\
UNSG32 uwChFlush_en : 1;\
UNSG32 RSVDx6100_b1 : 31;\
}
union { UNSG32 u32vProFast_wChFlush;
struct w32vProFast_wChFlush;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx6104 [7932];
///////////////////////////////////////////////////////////
} SIE_vProFast;
typedef union T32vProFast_rChClear
{ UNSG32 u32;
struct w32vProFast_rChClear;
} T32vProFast_rChClear;
typedef union T32vProFast_wChFlush
{ UNSG32 u32;
struct w32vProFast_wChFlush;
} T32vProFast_wChFlush;
///////////////////////////////////////////////////////////
typedef union TvProFast_rChClear
{ UNSG32 u32[1];
struct {
struct w32vProFast_rChClear;
};
} TvProFast_rChClear;
typedef union TvProFast_wChFlush
{ UNSG32 u32[1];
struct {
struct w32vProFast_wChFlush;
};
} TvProFast_wChFlush;
///////////////////////////////////////////////////////////
SIGN32 vProFast_drvrd(SIE_vProFast *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vProFast_drvwr(SIE_vProFast *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vProFast_reset(SIE_vProFast *p);
SIGN32 vProFast_cmp (SIE_vProFast *p, SIE_vProFast *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vProFast_check(p,pie,pfx,hLOG) vProFast_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vProFast_print(p, pfx,hLOG) vProFast_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vProFast
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vScope biu (4,4)
/// ###
/// * Address bases for different vScope components
/// ###
/// # # ----------------------------------------------------------
/// : DTCM0_base 0x0
/// ###
/// * DTCM base address shared by Figo0 & Figo1
/// ###
/// : DTCM1_base 0x2000
/// ###
/// * DTCM0 has 8KB; DTCm1 has 2KB
/// ###
/// : vScope_base 0x8000
/// ###
/// * 1K for the configuration of FIGOs
/// ###
/// : ITCM0_base 0x10000
/// ###
/// * Up to 8K instructions for FIGO0
/// ###
/// : ITCM1_base 0x12000
/// ###
/// * Up to 8K instructions for FIGO0
/// * FIGO 0 ALU64 extension ID; used to match the 8-bit constant in ALU64 commands
/// ###
/// : F0A64_neighbor 0x0
/// : F0A64_neighborAB 0x1
/// : F0A64_neighborCD 0x2
/// : F0A64_Fop 0x3
/// : F0A64_vldX 0x4
/// : F0A64_vcMsgMV 0x5
/// : F0A64_vcMsgY 0x6
/// : F0A64_vcMsgC 0x7
/// : F0A64_vld0 0x8
/// : F0A64_directMvL 0x9
/// : F0A64_directMvH 0xA
/// : F0A64_dbgSingle 0xB
/// : F0A64_dbgQueue 0xC
/// : F0A64_rsvdD 0xD
/// : F0A64_BwPmv 0xE
/// : F0A64_FwPmv 0xF
/// : F0A64_directMvL_uv 0x10
/// : F0A64_directMvH_uv 0x11
/// : F0A64_vcMsgLocBaseCfg 0x12
/// ###
/// * Cfg msg for vCache Xloc/Yloc base register (to support large pict size)
/// * Bit field operations
/// ###
/// : F0A64_BitOp0 0x20
/// : F0A64_BitOp1 0x21
/// : F0A64_BitOp2 0x22
/// : F0A64_BitOp3 0x23
/// : F0A64_SemChk 0x28
/// : F0A64_SemUpdf 0x29
/// ###
/// * FIGO 1 ALU64 extension ID; used to match the 8-bit constant in ALU64 commands
/// ###
/// : F1A64_neighbor 0x0
/// : F1A64_neighborAB 0x1
/// : F1A64_neighborCD 0x2
/// : F1A64_vlcX 0x3
/// : F1A64_vld0 0x4
/// : F1A64_vlcX1 0x5
/// : F1A64_rsvd06 0x6
/// : F1A64_rsvd07 0x7
/// : F1A64_vldX 0x8
/// : F1A64_MbCtx 0x9
/// : F1A64_AspInit 0xA
/// : F1A64_MbPred 0xB
/// : F1A64_SubMbPred 0xC
/// : F1A64_Residual 0xD
/// : F1A64_cbp 0xE
/// : F1A64_FwPmv 0xF
/// : F1A64_BwPmv 0x10
/// : F1A64_rsvd11 0x11
/// : F1A64_dqPred 0x12
/// ###
/// * For coefficient scaling for VC-1 DC/AC prediction
/// ###
/// : F1A64_dqAcEob 0x13
/// : F1A64_dqDc 0x14
/// : F1A64_dqAc 0x15
/// : F1A64_dqH264 0x16
/// : F1A64_dqBypass 0x17
/// ###
/// * Bit field operations
/// ###
/// : F1A64_BitOp0 0x20
/// : F1A64_BitOp1 0x21
/// : F1A64_BitOp2 0x22
/// : F1A64_BitOp3 0x23
/// : F1A64_SemChk 0x28
/// : F1A64_SemUpdf 0x29
/// ###
/// * ASE extension IDs
/// ###
/// : F1A64_AseInit 0x30
/// : F1A64_AsePushMbCtx 0x31
/// : F1A64_AseCbp 0x32
/// : F1A64_AseMbPred 0x33
/// : F1A64_AseSubMbPred 0x34
/// : F1A64_AseResidual 0x35
/// : F1A64_AsePushQTC 0x36
/// : F1A64_AseBlkStat 0x37
/// : F1A64_AsePopMbCtx 0x38
/// ###
/// * vScope DTCM, occupying 32KB address space
/// ###
/// @ 0x00000 DTCM0 (P)
/// # 0x00000 dtcm0
/// $FigoDataNT dtcm0 MEM [1536]
/// ###
/// * vScope registers
/// ###
/// @ 0x04000 (W-)
/// # # Stuffing bytes...
/// %% 131072
/// @ 0x08000 HBO0 (P)
/// # 0x08000 hbo0
/// $HBO hbo0 REG
/// ###
/// * HBO1
/// ###
/// @ 0x08700 (P)
/// # 0x08700 hbo1
/// $HBO hbo1 REG
/// @ 0x08E00 (W-)
/// # # Stuffing bytes...
/// %% 4096
/// @ 0x09000 FIGO0 (P)
/// # 0x09000 figo0
/// $FigoReg figo0 REG
/// @ 0x0B000 FIGO1 (P)
/// # 0x0B000 figo1
/// $FigoReg figo1 REG
/// @ 0x0D000 DS (P)
/// # 0x0D000 ds
/// $DataStreamer ds REG
/// @ 0x0D024 (W-)
/// # # Stuffing bytes...
/// %% 16096
/// @ 0x0D800 VLD0 (P)
/// # 0x0D800 vld0
/// $VldReg vld0 REG
/// @ 0x0E800 VLDX (P)
/// # 0x0E800 vldx
/// $VldReg vldx REG
/// @ 0x0F800 (W-)
/// # # Stuffing bytes...
/// %% 16384
/// @ 0x10000 DQ (P)
/// # 0x10000 dq
/// $dQuant dq MEM
/// ###
/// * Need 40K bytes for ITCM0 & 1
/// ###
/// @ 0x12000 (W-)
/// # # Stuffing bytes...
/// %% 196608
/// @ 0x18000 ITCM0 (P)
/// # 0x18000 itcm0
/// $ITCM itcm0 MEM
/// ###
/// * 2K instructions, or 8K byte address space, for ITCM0. Physically only 6KB.
/// ###
/// @ 0x1A000 ITCM1 (P)
/// # 0x1A000 itcm1
/// $ITCM itcm1 MEM
/// ###
/// * 2K instructions, or 8K byte address space, for ITCM1. Physically only 6KB.
/// ###
/// @ 0x1C000 F0RF64 (P)
/// # 0x1C000 f0rf64
/// $FigoDataNT f0rf64 MEM [64]
/// @ 0x1C200 F1RF64 (P)
/// # 0x1C200 f1rf64
/// $FigoDataNT f1rf64 MEM [64]
/// @ 0x1C400 CRCHUB (P)
/// # 0x1C400 crcHub
/// $crcHub crcHub REG
/// ###
/// * RF64 read port; for FPGA only
/// ###
/// @ 0x1C600 (W-)
/// # # Stuffing bytes...
/// %% 118784
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 131072B, bits: 6760b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vScope
#define h_vScope (){}
#define vScope_DTCM0_base 0x0
#define vScope_DTCM1_base 0x2000
#define vScope_vScope_base 0x8000
#define vScope_ITCM0_base 0x10000
#define vScope_ITCM1_base 0x12000
#define vScope_F0A64_neighbor 0x0
#define vScope_F0A64_neighborAB 0x1
#define vScope_F0A64_neighborCD 0x2
#define vScope_F0A64_Fop 0x3
#define vScope_F0A64_vldX 0x4
#define vScope_F0A64_vcMsgMV 0x5
#define vScope_F0A64_vcMsgY 0x6
#define vScope_F0A64_vcMsgC 0x7
#define vScope_F0A64_vld0 0x8
#define vScope_F0A64_directMvL 0x9
#define vScope_F0A64_directMvH 0xA
#define vScope_F0A64_dbgSingle 0xB
#define vScope_F0A64_dbgQueue 0xC
#define vScope_F0A64_rsvdD 0xD
#define vScope_F0A64_BwPmv 0xE
#define vScope_F0A64_FwPmv 0xF
#define vScope_F0A64_directMvL_uv 0x10
#define vScope_F0A64_directMvH_uv 0x11
#define vScope_F0A64_vcMsgLocBaseCfg 0x12
#define vScope_F0A64_BitOp0 0x20
#define vScope_F0A64_BitOp1 0x21
#define vScope_F0A64_BitOp2 0x22
#define vScope_F0A64_BitOp3 0x23
#define vScope_F0A64_SemChk 0x28
#define vScope_F0A64_SemUpdf 0x29
#define vScope_F1A64_neighbor 0x0
#define vScope_F1A64_neighborAB 0x1
#define vScope_F1A64_neighborCD 0x2
#define vScope_F1A64_vlcX 0x3
#define vScope_F1A64_vld0 0x4
#define vScope_F1A64_vlcX1 0x5
#define vScope_F1A64_rsvd06 0x6
#define vScope_F1A64_rsvd07 0x7
#define vScope_F1A64_vldX 0x8
#define vScope_F1A64_MbCtx 0x9
#define vScope_F1A64_AspInit 0xA
#define vScope_F1A64_MbPred 0xB
#define vScope_F1A64_SubMbPred 0xC
#define vScope_F1A64_Residual 0xD
#define vScope_F1A64_cbp 0xE
#define vScope_F1A64_FwPmv 0xF
#define vScope_F1A64_BwPmv 0x10
#define vScope_F1A64_rsvd11 0x11
#define vScope_F1A64_dqPred 0x12
#define vScope_F1A64_dqAcEob 0x13
#define vScope_F1A64_dqDc 0x14
#define vScope_F1A64_dqAc 0x15
#define vScope_F1A64_dqH264 0x16
#define vScope_F1A64_dqBypass 0x17
#define vScope_F1A64_BitOp0 0x20
#define vScope_F1A64_BitOp1 0x21
#define vScope_F1A64_BitOp2 0x22
#define vScope_F1A64_BitOp3 0x23
#define vScope_F1A64_SemChk 0x28
#define vScope_F1A64_SemUpdf 0x29
#define vScope_F1A64_AseInit 0x30
#define vScope_F1A64_AsePushMbCtx 0x31
#define vScope_F1A64_AseCbp 0x32
#define vScope_F1A64_AseMbPred 0x33
#define vScope_F1A64_AseSubMbPred 0x34
#define vScope_F1A64_AseResidual 0x35
#define vScope_F1A64_AsePushQTC 0x36
#define vScope_F1A64_AseBlkStat 0x37
#define vScope_F1A64_AsePopMbCtx 0x38
///////////////////////////////////////////////////////////
#define RA_vScope_DTCM0 0x0000
#define RA_vScope_dtcm0 0x0000
///////////////////////////////////////////////////////////
#define RA_vScope_HBO0 0x8000
#define RA_vScope_hbo0 0x8000
///////////////////////////////////////////////////////////
#define RA_vScope_hbo1 0x8700
///////////////////////////////////////////////////////////
#define RA_vScope_FIGO0 0x9000
#define RA_vScope_figo0 0x9000
///////////////////////////////////////////////////////////
#define RA_vScope_FIGO1 0xB000
#define RA_vScope_figo1 0xB000
///////////////////////////////////////////////////////////
#define RA_vScope_DS 0xD000
#define RA_vScope_ds 0xD000
///////////////////////////////////////////////////////////
#define RA_vScope_VLD0 0xD800
#define RA_vScope_vld0 0xD800
///////////////////////////////////////////////////////////
#define RA_vScope_VLDX 0xE800
#define RA_vScope_vldx 0xE800
///////////////////////////////////////////////////////////
#define RA_vScope_DQ 0x10000
#define RA_vScope_dq 0x10000
///////////////////////////////////////////////////////////
#define RA_vScope_ITCM0 0x18000
#define RA_vScope_itcm0 0x18000
///////////////////////////////////////////////////////////
#define RA_vScope_ITCM1 0x1A000
#define RA_vScope_itcm1 0x1A000
///////////////////////////////////////////////////////////
#define RA_vScope_F0RF64 0x1C000
#define RA_vScope_f0rf64 0x1C000
///////////////////////////////////////////////////////////
#define RA_vScope_F1RF64 0x1C200
#define RA_vScope_f1rf64 0x1C200
///////////////////////////////////////////////////////////
#define RA_vScope_CRCHUB 0x1C400
#define RA_vScope_crcHub 0x1C400
///////////////////////////////////////////////////////////
typedef struct SIE_vScope {
///////////////////////////////////////////////////////////
SIE_FigoDataNT ie_dtcm0[1536];
UNSG8 RSVD_dtcm0 [4096];
///////////////////////////////////////////////////////////
UNSG8 RSVDx4000 [16384];
///////////////////////////////////////////////////////////
SIE_HBO ie_hbo0;
///////////////////////////////////////////////////////////
SIE_HBO ie_hbo1;
///////////////////////////////////////////////////////////
UNSG8 RSVDx8E00 [512];
///////////////////////////////////////////////////////////
SIE_FigoReg ie_figo0;
///////////////////////////////////////////////////////////
SIE_FigoReg ie_figo1;
///////////////////////////////////////////////////////////
SIE_DataStreamer ie_ds;
///////////////////////////////////////////////////////////
UNSG8 RSVDxD024 [2012];
///////////////////////////////////////////////////////////
SIE_VldReg ie_vld0;
///////////////////////////////////////////////////////////
SIE_VldReg ie_vldx;
///////////////////////////////////////////////////////////
UNSG8 RSVDxF800 [2048];
///////////////////////////////////////////////////////////
SIE_dQuant ie_dq;
UNSG8 RSVD_dq [2816];
///////////////////////////////////////////////////////////
UNSG8 RSVDx12000 [24576];
///////////////////////////////////////////////////////////
SIE_ITCM ie_itcm0;
///////////////////////////////////////////////////////////
SIE_ITCM ie_itcm1;
///////////////////////////////////////////////////////////
SIE_FigoDataNT ie_f0rf64[64];
///////////////////////////////////////////////////////////
SIE_FigoDataNT ie_f1rf64[64];
///////////////////////////////////////////////////////////
SIE_crcHub ie_crcHub;
///////////////////////////////////////////////////////////
UNSG8 RSVDx1C600 [14848];
///////////////////////////////////////////////////////////
} SIE_vScope;
///////////////////////////////////////////////////////////
SIGN32 vScope_drvrd(SIE_vScope *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vScope_drvwr(SIE_vScope *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vScope_reset(SIE_vScope *p);
SIGN32 vScope_cmp (SIE_vScope *p, SIE_vScope *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vScope_check(p,pie,pfx,hLOG) vScope_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vScope_print(p, pfx,hLOG) vScope_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vScope
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vScopeBIU (4,4)
/// ###
/// * Constants for vScope submodule hSel decoding
/// ###
/// # # ----------------------------------------------------------
/// : SIZE 0x100000
/// : DEC_BIT 0x14
/// ###
/// * VSCOPE
/// ###
/// : VX_OFST 0x0
/// : VX_SIZE 0x80000
/// : VX_DEC_BIT 0x13
/// ###
/// * VFAST
/// ###
/// : VF_OFST 0x80000
/// : VF_SIZE 0x80000
/// : VF_DEC_BIT 0x13
/// ###
/// * VXCR (vx clock reset)
/// * Last 64KB used as the clock reset control.
/// ###
/// : VXCR_OFST 0xF0000
/// : VXCR_SIZE 0x10000
/// : VXCR_DEC_BIT 0x10
/// @ 0x00000 Dummy (P)
/// %unsigned 1 xxx 0x0
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 1b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vScopeBIU
#define h_vScopeBIU (){}
#define vScopeBIU_SIZE 0x100000
#define vScopeBIU_DEC_BIT 0x14
#define vScopeBIU_VX_OFST 0x0
#define vScopeBIU_VX_SIZE 0x80000
#define vScopeBIU_VX_DEC_BIT 0x13
#define vScopeBIU_VF_OFST 0x80000
#define vScopeBIU_VF_SIZE 0x80000
#define vScopeBIU_VF_DEC_BIT 0x13
#define vScopeBIU_VXCR_OFST 0xF0000
#define vScopeBIU_VXCR_SIZE 0x10000
#define vScopeBIU_VXCR_DEC_BIT 0x10
///////////////////////////////////////////////////////////
#define RA_vScopeBIU_Dummy 0x0000
#define BA_vScopeBIU_Dummy_xxx 0x0000
#define B16vScopeBIU_Dummy_xxx 0x0000
#define LSb32vScopeBIU_Dummy_xxx 0
#define LSb16vScopeBIU_Dummy_xxx 0
#define bvScopeBIU_Dummy_xxx 1
#define MSK32vScopeBIU_Dummy_xxx 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_vScopeBIU {
///////////////////////////////////////////////////////////
#define GET32vScopeBIU_Dummy_xxx(r32) _BFGET_(r32, 0, 0)
#define SET32vScopeBIU_Dummy_xxx(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16vScopeBIU_Dummy_xxx(r16) _BFGET_(r16, 0, 0)
#define SET16vScopeBIU_Dummy_xxx(r16,v) _BFSET_(r16, 0, 0,v)
#define w32vScopeBIU_Dummy {\
UNSG32 uDummy_xxx : 1;\
UNSG32 RSVDx0_b1 : 31;\
}
union { UNSG32 u32vScopeBIU_Dummy;
struct w32vScopeBIU_Dummy;
};
///////////////////////////////////////////////////////////
} SIE_vScopeBIU;
typedef union T32vScopeBIU_Dummy
{ UNSG32 u32;
struct w32vScopeBIU_Dummy;
} T32vScopeBIU_Dummy;
///////////////////////////////////////////////////////////
typedef union TvScopeBIU_Dummy
{ UNSG32 u32[1];
struct {
struct w32vScopeBIU_Dummy;
};
} TvScopeBIU_Dummy;
///////////////////////////////////////////////////////////
SIGN32 vScopeBIU_drvrd(SIE_vScopeBIU *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vScopeBIU_drvwr(SIE_vScopeBIU *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vScopeBIU_reset(SIE_vScopeBIU *p);
SIGN32 vScopeBIU_cmp (SIE_vScopeBIU *p, SIE_vScopeBIU *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vScopeBIU_check(p,pie,pfx,hLOG) vScopeBIU_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vScopeBIU_print(p, pfx,hLOG) vScopeBIU_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vScopeBIU
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vxClkRst biu (4,4)
/// ###
/// * vScope level clock reset control unit
/// * For all reset control bit, 0-- reset, 1-- release.
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 global
/// $ClkRstBiu global REG
/// ###
/// * Global control register for vScope
/// ###
/// @ 0x00004 (P)
/// # 0x00004 ase
/// $ClkRstBiu ase REG
/// @ 0x00008 (P)
/// # 0x00008 asp
/// $ClkRstBiu asp REG
/// @ 0x0000C (P)
/// # 0x0000C vlc
/// $ClkRstBiu vlc REG
/// @ 0x00010 (P)
/// # 0x00010 vld
/// $ClkRstBiu vld REG
/// @ 0x00014 (P)
/// # 0x00014 vld_0
/// $ClkRstBiu vld_0 REG
/// @ 0x00018 (P)
/// # 0x00018 pmv_0
/// $ClkRstBiu pmv_0 REG
/// @ 0x0001C (P)
/// # 0x0001C pmv_1
/// $ClkRstBiu pmv_1 REG
/// @ 0x00020 (P)
/// # 0x00020 nbr_0
/// $ClkRstBiu nbr_0 REG
/// @ 0x00024 (P)
/// # 0x00024 nbr_1
/// $ClkRstBiu nbr_1 REG
/// @ 0x00028 (P)
/// # 0x00028 dmv
/// $ClkRstBiu dmv REG
/// @ 0x0002C (P)
/// # 0x0002C fop
/// $ClkRstBiu fop REG
/// @ 0x00030 (P)
/// # 0x00030 vcMsg
/// $ClkRstBiu vcMsg REG
/// @ 0x00034 (P)
/// # 0x00034 dQuant
/// $ClkRstBiu dQuant REG
/// @ 0x00038 (P)
/// # 0x00038 bitOp_0
/// $ClkRstBiu bitOp_0 REG
/// @ 0x0003C (P)
/// # 0x0003C bitOp_1
/// $ClkRstBiu bitOp_1 REG
/// @ 0x00040 (P)
/// # 0x00040 semaExt_0
/// $ClkRstBiu semaExt_0 REG
/// @ 0x00044 (P)
/// # 0x00044 semaExt_1
/// $ClkRstBiu semaExt_1 REG
/// @ 0x00048 (P)
/// # 0x00048 vxRF64_0
/// $ClkRstBiu vxRF64_0 REG
/// @ 0x0004C (P)
/// # 0x0004C vxRF64_1
/// $ClkRstBiu vxRF64_1 REG
/// @ 0x00050 (P)
/// # 0x00050 vxBiu
/// $ClkRstBiu vxBiu REG
/// @ 0x00054 (P)
/// # 0x00054 vxF0Itcm
/// $ClkRstBiu vxF0Itcm REG
/// @ 0x00058 (P)
/// # 0x00058 vxF1Itcm
/// $ClkRstBiu vxF1Itcm REG
/// @ 0x0005C (P)
/// # 0x0005C vxDtcm
/// $ClkRstBiu vxDtcm REG
/// @ 0x00060 (P)
/// # 0x00060 vxFigo0
/// $ClkRstBiu vxFigo0 REG
/// @ 0x00064 (P)
/// # 0x00064 vxFigo1
/// $ClkRstBiu vxFigo1 REG
/// ###
/// * For vxFigo0/1, only sw clock enable is used and dynamic clock control will not be applied,.
/// ###
/// @ 0x00068 (P)
/// # 0x00068 misc
/// $ClkRstBiu misc REG
/// ###
/// * For all other small modules
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 108B, bits: 81b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vxClkRst
#define h_vxClkRst (){}
#define RA_vxClkRst_global 0x0000
///////////////////////////////////////////////////////////
#define RA_vxClkRst_ase 0x0004
///////////////////////////////////////////////////////////
#define RA_vxClkRst_asp 0x0008
///////////////////////////////////////////////////////////
#define RA_vxClkRst_vlc 0x000C
///////////////////////////////////////////////////////////
#define RA_vxClkRst_vld 0x0010
///////////////////////////////////////////////////////////
#define RA_vxClkRst_vld_0 0x0014
///////////////////////////////////////////////////////////
#define RA_vxClkRst_pmv_0 0x0018
///////////////////////////////////////////////////////////
#define RA_vxClkRst_pmv_1 0x001C
///////////////////////////////////////////////////////////
#define RA_vxClkRst_nbr_0 0x0020
///////////////////////////////////////////////////////////
#define RA_vxClkRst_nbr_1 0x0024
///////////////////////////////////////////////////////////
#define RA_vxClkRst_dmv 0x0028
///////////////////////////////////////////////////////////
#define RA_vxClkRst_fop 0x002C
///////////////////////////////////////////////////////////
#define RA_vxClkRst_vcMsg 0x0030
///////////////////////////////////////////////////////////
#define RA_vxClkRst_dQuant 0x0034
///////////////////////////////////////////////////////////
#define RA_vxClkRst_bitOp_0 0x0038
///////////////////////////////////////////////////////////
#define RA_vxClkRst_bitOp_1 0x003C
///////////////////////////////////////////////////////////
#define RA_vxClkRst_semaExt_0 0x0040
///////////////////////////////////////////////////////////
#define RA_vxClkRst_semaExt_1 0x0044
///////////////////////////////////////////////////////////
#define RA_vxClkRst_vxRF64_0 0x0048
///////////////////////////////////////////////////////////
#define RA_vxClkRst_vxRF64_1 0x004C
///////////////////////////////////////////////////////////
#define RA_vxClkRst_vxBiu 0x0050
///////////////////////////////////////////////////////////
#define RA_vxClkRst_vxF0Itcm 0x0054
///////////////////////////////////////////////////////////
#define RA_vxClkRst_vxF1Itcm 0x0058
///////////////////////////////////////////////////////////
#define RA_vxClkRst_vxDtcm 0x005C
///////////////////////////////////////////////////////////
#define RA_vxClkRst_vxFigo0 0x0060
///////////////////////////////////////////////////////////
#define RA_vxClkRst_vxFigo1 0x0064
///////////////////////////////////////////////////////////
#define RA_vxClkRst_misc 0x0068
///////////////////////////////////////////////////////////
typedef struct SIE_vxClkRst {
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_global;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_ase;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_asp;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vlc;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vld;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vld_0;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_pmv_0;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_pmv_1;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_nbr_0;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_nbr_1;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_dmv;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_fop;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vcMsg;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_dQuant;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_bitOp_0;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_bitOp_1;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_semaExt_0;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_semaExt_1;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vxRF64_0;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vxRF64_1;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vxBiu;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vxF0Itcm;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vxF1Itcm;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vxDtcm;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vxFigo0;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vxFigo1;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_misc;
///////////////////////////////////////////////////////////
} SIE_vxClkRst;
///////////////////////////////////////////////////////////
SIGN32 vxClkRst_drvrd(SIE_vxClkRst *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vxClkRst_drvwr(SIE_vxClkRst *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vxClkRst_reset(SIE_vxClkRst *p);
SIGN32 vxClkRst_cmp (SIE_vxClkRst *p, SIE_vxClkRst *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vxClkRst_check(p,pie,pfx,hLOG) vxClkRst_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vxClkRst_print(p, pfx,hLOG) vxClkRst_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vxClkRst
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VSCOPE_CONST (4,4)
/// # # ----------------------------------------------------------
/// : PARSER 0x1
/// : SYNPRO 0x0
/// @ 0x00000 (P)
/// %unsigned 1 dummy
/// ###
/// * Dummy sample
/// ###
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 1b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VSCOPE_CONST
#define h_VSCOPE_CONST (){}
#define VSCOPE_CONST_PARSER 0x1
#define VSCOPE_CONST_SYNPRO 0x0
///////////////////////////////////////////////////////////
#define BA_VSCOPE_CONST_dummy 0x0000
#define B16VSCOPE_CONST_dummy 0x0000
#define LSb32VSCOPE_CONST_dummy 0
#define LSb16VSCOPE_CONST_dummy 0
#define bVSCOPE_CONST_dummy 1
#define MSK32VSCOPE_CONST_dummy 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_VSCOPE_CONST {
///////////////////////////////////////////////////////////
#define GET32VSCOPE_CONST_dummy(r32) _BFGET_(r32, 0, 0)
#define SET32VSCOPE_CONST_dummy(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16VSCOPE_CONST_dummy(r16) _BFGET_(r16, 0, 0)
#define SET16VSCOPE_CONST_dummy(r16,v) _BFSET_(r16, 0, 0,v)
UNSG32 u_dummy : 1;
UNSG32 RSVDx0_b1 : 31;
///////////////////////////////////////////////////////////
} SIE_VSCOPE_CONST;
///////////////////////////////////////////////////////////
SIGN32 VSCOPE_CONST_drvrd(SIE_VSCOPE_CONST *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VSCOPE_CONST_drvwr(SIE_VSCOPE_CONST *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VSCOPE_CONST_reset(SIE_VSCOPE_CONST *p);
SIGN32 VSCOPE_CONST_cmp (SIE_VSCOPE_CONST *p, SIE_VSCOPE_CONST *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VSCOPE_CONST_check(p,pie,pfx,hLOG) VSCOPE_CONST_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VSCOPE_CONST_print(p, pfx,hLOG) VSCOPE_CONST_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VSCOPE_CONST
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VXCommon (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 16 timeout_0i
/// %unsigned 16 timeout_1i
/// %unsigned 16 timeout_2i
/// %unsigned 16 timeout_3i
/// %unsigned 16 timeout_4i
/// %unsigned 16 timeout_5i
/// %unsigned 16 timeout_6i
/// %unsigned 16 timeout_7i
/// ###
/// * Reserved For software watch dog
/// ###
/// @ 0x00010 (P)
/// %unsigned 16 figo0_init
/// ###
/// * Flag to kick off syntax processor, figo0
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00014 (P)
/// %unsigned 16 figo1_init
/// ###
/// * Flag to kick off parser, figo1
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 24B, bits: 160b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VXCommon
#define h_VXCommon (){}
#define BA_VXCommon_timeout_0i 0x0000
#define B16VXCommon_timeout_0i 0x0000
#define LSb32VXCommon_timeout_0i 0
#define LSb16VXCommon_timeout_0i 0
#define bVXCommon_timeout_0i 16
#define MSK32VXCommon_timeout_0i 0x0000FFFF
#define BA_VXCommon_timeout_1i 0x0002
#define B16VXCommon_timeout_1i 0x0002
#define LSb32VXCommon_timeout_1i 16
#define LSb16VXCommon_timeout_1i 0
#define bVXCommon_timeout_1i 16
#define MSK32VXCommon_timeout_1i 0xFFFF0000
#define BA_VXCommon_timeout_2i 0x0004
#define B16VXCommon_timeout_2i 0x0004
#define LSb32VXCommon_timeout_2i 0
#define LSb16VXCommon_timeout_2i 0
#define bVXCommon_timeout_2i 16
#define MSK32VXCommon_timeout_2i 0x0000FFFF
#define BA_VXCommon_timeout_3i 0x0006
#define B16VXCommon_timeout_3i 0x0006
#define LSb32VXCommon_timeout_3i 16
#define LSb16VXCommon_timeout_3i 0
#define bVXCommon_timeout_3i 16
#define MSK32VXCommon_timeout_3i 0xFFFF0000
#define BA_VXCommon_timeout_4i 0x0008
#define B16VXCommon_timeout_4i 0x0008
#define LSb32VXCommon_timeout_4i 0
#define LSb16VXCommon_timeout_4i 0
#define bVXCommon_timeout_4i 16
#define MSK32VXCommon_timeout_4i 0x0000FFFF
#define BA_VXCommon_timeout_5i 0x000A
#define B16VXCommon_timeout_5i 0x000A
#define LSb32VXCommon_timeout_5i 16
#define LSb16VXCommon_timeout_5i 0
#define bVXCommon_timeout_5i 16
#define MSK32VXCommon_timeout_5i 0xFFFF0000
#define BA_VXCommon_timeout_6i 0x000C
#define B16VXCommon_timeout_6i 0x000C
#define LSb32VXCommon_timeout_6i 0
#define LSb16VXCommon_timeout_6i 0
#define bVXCommon_timeout_6i 16
#define MSK32VXCommon_timeout_6i 0x0000FFFF
#define BA_VXCommon_timeout_7i 0x000E
#define B16VXCommon_timeout_7i 0x000E
#define LSb32VXCommon_timeout_7i 16
#define LSb16VXCommon_timeout_7i 0
#define bVXCommon_timeout_7i 16
#define MSK32VXCommon_timeout_7i 0xFFFF0000
///////////////////////////////////////////////////////////
#define BA_VXCommon_figo0_init 0x0010
#define B16VXCommon_figo0_init 0x0010
#define LSb32VXCommon_figo0_init 0
#define LSb16VXCommon_figo0_init 0
#define bVXCommon_figo0_init 16
#define MSK32VXCommon_figo0_init 0x0000FFFF
///////////////////////////////////////////////////////////
#define BA_VXCommon_figo1_init 0x0014
#define B16VXCommon_figo1_init 0x0014
#define LSb32VXCommon_figo1_init 0
#define LSb16VXCommon_figo1_init 0
#define bVXCommon_figo1_init 16
#define MSK32VXCommon_figo1_init 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_VXCommon {
///////////////////////////////////////////////////////////
#define GET32VXCommon_timeout_0i(r32) _BFGET_(r32,15, 0)
#define SET32VXCommon_timeout_0i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VXCommon_timeout_0i(r16) _BFGET_(r16,15, 0)
#define SET16VXCommon_timeout_0i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VXCommon_timeout_1i(r32) _BFGET_(r32,31,16)
#define SET32VXCommon_timeout_1i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VXCommon_timeout_1i(r16) _BFGET_(r16,15, 0)
#define SET16VXCommon_timeout_1i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_timeout_0i : 16;
UNSG32 u_timeout_1i : 16;
///////////////////////////////////////////////////////////
#define GET32VXCommon_timeout_2i(r32) _BFGET_(r32,15, 0)
#define SET32VXCommon_timeout_2i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VXCommon_timeout_2i(r16) _BFGET_(r16,15, 0)
#define SET16VXCommon_timeout_2i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VXCommon_timeout_3i(r32) _BFGET_(r32,31,16)
#define SET32VXCommon_timeout_3i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VXCommon_timeout_3i(r16) _BFGET_(r16,15, 0)
#define SET16VXCommon_timeout_3i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_timeout_2i : 16;
UNSG32 u_timeout_3i : 16;
///////////////////////////////////////////////////////////
#define GET32VXCommon_timeout_4i(r32) _BFGET_(r32,15, 0)
#define SET32VXCommon_timeout_4i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VXCommon_timeout_4i(r16) _BFGET_(r16,15, 0)
#define SET16VXCommon_timeout_4i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VXCommon_timeout_5i(r32) _BFGET_(r32,31,16)
#define SET32VXCommon_timeout_5i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VXCommon_timeout_5i(r16) _BFGET_(r16,15, 0)
#define SET16VXCommon_timeout_5i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_timeout_4i : 16;
UNSG32 u_timeout_5i : 16;
///////////////////////////////////////////////////////////
#define GET32VXCommon_timeout_6i(r32) _BFGET_(r32,15, 0)
#define SET32VXCommon_timeout_6i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VXCommon_timeout_6i(r16) _BFGET_(r16,15, 0)
#define SET16VXCommon_timeout_6i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VXCommon_timeout_7i(r32) _BFGET_(r32,31,16)
#define SET32VXCommon_timeout_7i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VXCommon_timeout_7i(r16) _BFGET_(r16,15, 0)
#define SET16VXCommon_timeout_7i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_timeout_6i : 16;
UNSG32 u_timeout_7i : 16;
///////////////////////////////////////////////////////////
#define GET32VXCommon_figo0_init(r32) _BFGET_(r32,15, 0)
#define SET32VXCommon_figo0_init(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VXCommon_figo0_init(r16) _BFGET_(r16,15, 0)
#define SET16VXCommon_figo0_init(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_figo0_init : 16;
UNSG32 RSVDx10_b16 : 16;
///////////////////////////////////////////////////////////
#define GET32VXCommon_figo1_init(r32) _BFGET_(r32,15, 0)
#define SET32VXCommon_figo1_init(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VXCommon_figo1_init(r16) _BFGET_(r16,15, 0)
#define SET16VXCommon_figo1_init(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_figo1_init : 16;
UNSG32 RSVDx14_b16 : 16;
///////////////////////////////////////////////////////////
} SIE_VXCommon;
///////////////////////////////////////////////////////////
SIGN32 VXCommon_drvrd(SIE_VXCommon *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VXCommon_drvwr(SIE_VXCommon *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VXCommon_reset(SIE_VXCommon *p);
SIGN32 VXCommon_cmp (SIE_VXCommon *p, SIE_VXCommon *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VXCommon_check(p,pie,pfx,hLOG) VXCommon_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VXCommon_print(p, pfx,hLOG) VXCommon_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VXCommon
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE QMV (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 4 X
/// ###
/// * MV.x[3:0] of horizontal motion vector (Q-pel)
/// ###
/// %unsigned 4 Y
/// ###
/// * MV.y[3:0] of vertical motion vector (Q-pel)
/// ###
/// %unsigned 4 X1
/// %unsigned 4 Y1
/// %unsigned 4 X2
/// %unsigned 4 Y2
/// %unsigned 4 X3
/// %unsigned 4 Y3
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_QMV
#define h_QMV (){}
#define BA_QMV_X 0x0000
#define B16QMV_X 0x0000
#define LSb32QMV_X 0
#define LSb16QMV_X 0
#define bQMV_X 4
#define MSK32QMV_X 0x0000000F
#define BA_QMV_Y 0x0000
#define B16QMV_Y 0x0000
#define LSb32QMV_Y 4
#define LSb16QMV_Y 4
#define bQMV_Y 4
#define MSK32QMV_Y 0x000000F0
#define BA_QMV_X1 0x0001
#define B16QMV_X1 0x0000
#define LSb32QMV_X1 8
#define LSb16QMV_X1 8
#define bQMV_X1 4
#define MSK32QMV_X1 0x00000F00
#define BA_QMV_Y1 0x0001
#define B16QMV_Y1 0x0000
#define LSb32QMV_Y1 12
#define LSb16QMV_Y1 12
#define bQMV_Y1 4
#define MSK32QMV_Y1 0x0000F000
#define BA_QMV_X2 0x0002
#define B16QMV_X2 0x0002
#define LSb32QMV_X2 16
#define LSb16QMV_X2 0
#define bQMV_X2 4
#define MSK32QMV_X2 0x000F0000
#define BA_QMV_Y2 0x0002
#define B16QMV_Y2 0x0002
#define LSb32QMV_Y2 20
#define LSb16QMV_Y2 4
#define bQMV_Y2 4
#define MSK32QMV_Y2 0x00F00000
#define BA_QMV_X3 0x0003
#define B16QMV_X3 0x0002
#define LSb32QMV_X3 24
#define LSb16QMV_X3 8
#define bQMV_X3 4
#define MSK32QMV_X3 0x0F000000
#define BA_QMV_Y3 0x0003
#define B16QMV_Y3 0x0002
#define LSb32QMV_Y3 28
#define LSb16QMV_Y3 12
#define bQMV_Y3 4
#define MSK32QMV_Y3 0xF0000000
///////////////////////////////////////////////////////////
typedef struct SIE_QMV {
///////////////////////////////////////////////////////////
#define GET32QMV_X(r32) _BFGET_(r32, 3, 0)
#define SET32QMV_X(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16QMV_X(r16) _BFGET_(r16, 3, 0)
#define SET16QMV_X(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32QMV_Y(r32) _BFGET_(r32, 7, 4)
#define SET32QMV_Y(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16QMV_Y(r16) _BFGET_(r16, 7, 4)
#define SET16QMV_Y(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32QMV_X1(r32) _BFGET_(r32,11, 8)
#define SET32QMV_X1(r32,v) _BFSET_(r32,11, 8,v)
#define GET16QMV_X1(r16) _BFGET_(r16,11, 8)
#define SET16QMV_X1(r16,v) _BFSET_(r16,11, 8,v)
#define GET32QMV_Y1(r32) _BFGET_(r32,15,12)
#define SET32QMV_Y1(r32,v) _BFSET_(r32,15,12,v)
#define GET16QMV_Y1(r16) _BFGET_(r16,15,12)
#define SET16QMV_Y1(r16,v) _BFSET_(r16,15,12,v)
#define GET32QMV_X2(r32) _BFGET_(r32,19,16)
#define SET32QMV_X2(r32,v) _BFSET_(r32,19,16,v)
#define GET16QMV_X2(r16) _BFGET_(r16, 3, 0)
#define SET16QMV_X2(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32QMV_Y2(r32) _BFGET_(r32,23,20)
#define SET32QMV_Y2(r32,v) _BFSET_(r32,23,20,v)
#define GET16QMV_Y2(r16) _BFGET_(r16, 7, 4)
#define SET16QMV_Y2(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32QMV_X3(r32) _BFGET_(r32,27,24)
#define SET32QMV_X3(r32,v) _BFSET_(r32,27,24,v)
#define GET16QMV_X3(r16) _BFGET_(r16,11, 8)
#define SET16QMV_X3(r16,v) _BFSET_(r16,11, 8,v)
#define GET32QMV_Y3(r32) _BFGET_(r32,31,28)
#define SET32QMV_Y3(r32,v) _BFSET_(r32,31,28,v)
#define GET16QMV_Y3(r16) _BFGET_(r16,15,12)
#define SET16QMV_Y3(r16,v) _BFSET_(r16,15,12,v)
UNSG32 u_X : 4;
UNSG32 u_Y : 4;
UNSG32 u_X1 : 4;
UNSG32 u_Y1 : 4;
UNSG32 u_X2 : 4;
UNSG32 u_Y2 : 4;
UNSG32 u_X3 : 4;
UNSG32 u_Y3 : 4;
///////////////////////////////////////////////////////////
} SIE_QMV;
///////////////////////////////////////////////////////////
SIGN32 QMV_drvrd(SIE_QMV *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 QMV_drvwr(SIE_QMV *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void QMV_reset(SIE_QMV *p);
SIGN32 QMV_cmp (SIE_QMV *p, SIE_QMV *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define QMV_check(p,pie,pfx,hLOG) QMV_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define QMV_print(p, pfx,hLOG) QMV_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: QMV
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE IntraLuma (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 mode
/// : Vertical 0x0
/// : Horizontal 0x1
/// : DC 0x2
/// : DiagonalDownLeft 0x3
/// : DiagonalDownRight 0x4
/// : VerticalRight 0x5
/// : HorizontalDown 0x6
/// : VerticalLeft 0x7
/// : HorizontalUp 0x8
/// ###
/// * Intra NxN prediction mode for luma blocks
/// ###
/// : Vertical16x16 0x0
/// : Horizontal16x16 0x1
/// : DC16x16 0x2
/// : Plane16x16 0x3
/// ###
/// * Intra 16x16 prediction mode for luma blocks
/// ###
/// %unsigned 8 mode1
/// %unsigned 8 mode2
/// %unsigned 8 mode3
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_IntraLuma
#define h_IntraLuma (){}
#define BA_IntraLuma_mode 0x0000
#define B16IntraLuma_mode 0x0000
#define LSb32IntraLuma_mode 0
#define LSb16IntraLuma_mode 0
#define bIntraLuma_mode 8
#define MSK32IntraLuma_mode 0x000000FF
#define IntraLuma_mode_Vertical 0x0
#define IntraLuma_mode_Horizontal 0x1
#define IntraLuma_mode_DC 0x2
#define IntraLuma_mode_DiagonalDownLeft 0x3
#define IntraLuma_mode_DiagonalDownRight 0x4
#define IntraLuma_mode_VerticalRight 0x5
#define IntraLuma_mode_HorizontalDown 0x6
#define IntraLuma_mode_VerticalLeft 0x7
#define IntraLuma_mode_HorizontalUp 0x8
#define IntraLuma_mode_Vertical16x16 0x0
#define IntraLuma_mode_Horizontal16x16 0x1
#define IntraLuma_mode_DC16x16 0x2
#define IntraLuma_mode_Plane16x16 0x3
#define BA_IntraLuma_mode1 0x0001
#define B16IntraLuma_mode1 0x0000
#define LSb32IntraLuma_mode1 8
#define LSb16IntraLuma_mode1 8
#define bIntraLuma_mode1 8
#define MSK32IntraLuma_mode1 0x0000FF00
#define BA_IntraLuma_mode2 0x0002
#define B16IntraLuma_mode2 0x0002
#define LSb32IntraLuma_mode2 16
#define LSb16IntraLuma_mode2 0
#define bIntraLuma_mode2 8
#define MSK32IntraLuma_mode2 0x00FF0000
#define BA_IntraLuma_mode3 0x0003
#define B16IntraLuma_mode3 0x0002
#define LSb32IntraLuma_mode3 24
#define LSb16IntraLuma_mode3 8
#define bIntraLuma_mode3 8
#define MSK32IntraLuma_mode3 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_IntraLuma {
///////////////////////////////////////////////////////////
#define GET32IntraLuma_mode(r32) _BFGET_(r32, 7, 0)
#define SET32IntraLuma_mode(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16IntraLuma_mode(r16) _BFGET_(r16, 7, 0)
#define SET16IntraLuma_mode(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32IntraLuma_mode1(r32) _BFGET_(r32,15, 8)
#define SET32IntraLuma_mode1(r32,v) _BFSET_(r32,15, 8,v)
#define GET16IntraLuma_mode1(r16) _BFGET_(r16,15, 8)
#define SET16IntraLuma_mode1(r16,v) _BFSET_(r16,15, 8,v)
#define GET32IntraLuma_mode2(r32) _BFGET_(r32,23,16)
#define SET32IntraLuma_mode2(r32,v) _BFSET_(r32,23,16,v)
#define GET16IntraLuma_mode2(r16) _BFGET_(r16, 7, 0)
#define SET16IntraLuma_mode2(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32IntraLuma_mode3(r32) _BFGET_(r32,31,24)
#define SET32IntraLuma_mode3(r32,v) _BFSET_(r32,31,24,v)
#define GET16IntraLuma_mode3(r16) _BFGET_(r16,15, 8)
#define SET16IntraLuma_mode3(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_mode : 8;
UNSG32 u_mode1 : 8;
UNSG32 u_mode2 : 8;
UNSG32 u_mode3 : 8;
///////////////////////////////////////////////////////////
} SIE_IntraLuma;
///////////////////////////////////////////////////////////
SIGN32 IntraLuma_drvrd(SIE_IntraLuma *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 IntraLuma_drvwr(SIE_IntraLuma *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void IntraLuma_reset(SIE_IntraLuma *p);
SIGN32 IntraLuma_cmp (SIE_IntraLuma *p, SIE_IntraLuma *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define IntraLuma_check(p,pie,pfx,hLOG) IntraLuma_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define IntraLuma_print(p, pfx,hLOG) IntraLuma_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: IntraLuma
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE MBPROP (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 type
/// ###
/// * Refer to BLK_xxx in decHal_mbLvl.sxw.txt
/// ###
/// %unsigned 2 partition
/// ###
/// * See BLK.partition
/// ###
/// %unsigned 1 t8x8
/// ###
/// * 0/1 as 4x4/8x8 transform
/// * IntraPROP.t8x8I & Parse( transform_8x8_flag )
/// * InterPROP.t8x8PB & cbpLuma & !flat4x4 &
/// * Parse( transform_8x8_flag )
/// * for vc1: OVERFLAGMB from stream-parser to
/// * syntax-processor in raw mode
/// ###
/// %unsigned 1 MBAFF
/// ###
/// * H.264 MBAFF picture
/// * MPEG2/4/VC1: use for frame or field DCT
/// ###
/// %unsigned 1 FLD
/// ###
/// * - if current MB is MBAFF field MB
/// * MPEG2: use for frame or field MV
/// * MPEG4: field_prediction
/// * (information of field_reference also decoded, not decide whether need to transfer,maybe slice level info)
/// ###
/// %unsigned 1 FLDNeighborA
/// ###
/// * - if left MB is MBAFF field MB
/// ###
/// %unsigned 1 FLDNeighborB
/// ###
/// * - if upper MB is MBAFF field MB
/// ###
/// %unsigned 1 FLDNeighborC
/// ###
/// * - if upper-right MB is MBAFF field MB
/// ###
/// %unsigned 1 FLDNeighborD
/// ###
/// * - if upper-left MB is MBAFF field MB
/// ###
/// %unsigned 1 NeighborA
/// ###
/// * From stream-parser to syntax-processor:
/// * - if left MB is available
/// * From vScope to PCube:
/// * - if left MB is available as intra predictor
/// ###
/// %unsigned 1 NeighborB
/// ###
/// * From stream-parser to syntax-processor:
/// * - if upper MB is available
/// * From vScope to PCube:
/// * - if upper MB is available as intra predictor
/// ###
/// %unsigned 1 NeighborC
/// ###
/// * From stream-parser to syntax-processor:
/// * - if upper-right MB is available
/// * From vScope to PCube:
/// * - if upper-right MB is available as intra predictor
/// ###
/// %unsigned 1 NeighborD
/// ###
/// * From stream-parser to syntax-processor:
/// * - if upper-left MB is available
/// * From vScope to PCube:
/// * - if upper-left MB is available as intra predictor
/// ###
/// %unsigned 1 LastInSeq
/// ###
/// * If last MB in sequence
/// ###
/// %unsigned 3 NumBLK
/// ###
/// * Number of non-zero blocks (0~6) associated with CBP below
/// ###
/// %unsigned 2 vc1ITtype_0i
/// %unsigned 2 vc1ITtype_1i
/// %unsigned 2 vc1ITtype_2i
/// %unsigned 2 vc1ITtype_3i
/// %unsigned 2 vc1ITtype_4i
/// %unsigned 2 vc1ITtype_5i
/// : vc1_t4x4 0x0
/// : vc1_t8x8 0x1
/// : vc1_t4x8 0x2
/// : vc1_t8x4 0x3
/// ###
/// * Vc1 Inverse transform type
/// ###
/// : vp6_unknown 0x0
/// : vp6_bilinear 0x1
/// : vp6_bicubic 0x2
/// ###
/// * VP6 interpolation mode for each 8x8 block
/// ###
/// @ 0x00004 (P)
/// %unsigned 8 MBX
/// ###
/// * X-location of current MB
/// ###
/// %unsigned 8 MBY
/// ###
/// * Y-location of current MB
/// ###
/// %unsigned 8 CBP
/// ###
/// * All zero flags for 8x8 blocks
/// * - H264 luma (intra 16x16): all 4 CBP bits are 1
/// * - H264 luma (others): same as decoded CBP bit
/// * - H264 chroma: U/V use same (=0 if CBPUV=0)
/// ###
/// %unsigned 8 CBPDC
/// ###
/// * DC-only flags for 8x8 (4 of 4x4) blocks
/// * - H264 luma (intra 16x16): not decoded CBP
/// * - H264 luma (8x8): CBP=1 && only (0,0) is none-zero
/// * - H264 luma (4x4): CBP=1 && all-zero or only (0,0) is non-zero for each 4x4 block in 8x8
/// * - H264 chroma: U/V use same (=1 if CBPUV=1)
/// ###
/// @ 0x00008 (P)
/// # 0x00008 BLK
/// $BLK BLK REG
/// ###
/// * Cast to 8b BLK[4] (flatten for each 8x8)
/// * - 1mv: BLK[0]=BLK[1]=BLK[2]=BLK[3]
/// * - 2mvLR: BLK[0]=BLK[2], BLK[1]=BLK[3]
/// * - 2mvTB: BLK[0]=BLK[1], BLK[2]=BLK[3]
/// ###
/// @ 0x0000C (P)
/// %unsigned 2 chroma
/// : DC 0x0
/// : Horizontal 0x1
/// : Vertical 0x2
/// : Plane 0x3
/// ###
/// * Intra prediction mode for chroma blocks
/// ###
/// : ACP_OFF 0x0
/// : ACP_ON 0x1
/// ###
/// * MPEG4/VC1: 1 bit to identify AC_Pred
/// ###
/// %unsigned 2 first_rnd
/// ###
/// * Reserved
/// ###
/// %unsigned 1 vLumaDB
/// ###
/// * If luma vertical edges to be filtered
/// ###
/// %unsigned 1 vChromaDB
/// ###
/// * If chroma vertical edges to be filtered
/// ###
/// %unsigned 1 hLumaDB
/// ###
/// * If luma horizontal edges to be filtered
/// ###
/// %unsigned 1 hChromaDB
/// ###
/// * If chroma horizontal edges to be filtered
/// ###
/// %unsigned 8 QP
/// ###
/// * MB QP for luma
/// * VP6: 6-bit flag to indicate loop-filtering of vertical edges for each 8x8 block
/// ###
/// %unsigned 8 Qu
/// ###
/// * MB QP for Cb
/// * VP6: 6-bit flag to indicate loop-filtering of horizontal edges for each 8x8 block
/// ###
/// %unsigned 8 Qv
/// ###
/// * MB QP for Cr
/// ###
/// @ 0x00010 (P)
/// # 0x00010 pred
/// $IntraLuma pred REG [4]
/// ###
/// * - Intra16x16: 8b IntraLuma[1]
/// * - Intra8x8: 8b IntraLuma[4:idx8x8]
/// * - Intra4x4: 8b IntraLuma[4:idx8x8][4:idx4x4]
/// * NOTE: IntraNxN use {1b-prev,3b-rem} (before prediction) between parser & syntax processor
/// * Inter: cast to 16b rIDX[4:BLK][2:L0/L1] (flatten for all 8x8)
/// * - 1mv: pred[0]=pred[1]=pred[2]=pred[3]
/// * - 2mvLR: pred[0]=pred[2], pred[1]=pred[3]
/// * - 2mvTB: pred[0]=pred[1], pred[2]=pred[3]
/// * 1`
/// ###
/// @ 0x00020 (P)
/// # 0x00020 qmv
/// $vcMsgMV qmv REG [8]
/// ###
/// * Cast to 8b QMV[2:L0/L1][4:BLK][4:Sub-BLK]
/// * Don't care between parser to syntax processor
/// * End of MBPROP
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 512b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_MBPROP
#define h_MBPROP (){}
#define BA_MBPROP_type 0x0000
#define B16MBPROP_type 0x0000
#define LSb32MBPROP_type 0
#define LSb16MBPROP_type 0
#define bMBPROP_type 3
#define MSK32MBPROP_type 0x00000007
#define BA_MBPROP_partition 0x0000
#define B16MBPROP_partition 0x0000
#define LSb32MBPROP_partition 3
#define LSb16MBPROP_partition 3
#define bMBPROP_partition 2
#define MSK32MBPROP_partition 0x00000018
#define BA_MBPROP_t8x8 0x0000
#define B16MBPROP_t8x8 0x0000
#define LSb32MBPROP_t8x8 5
#define LSb16MBPROP_t8x8 5
#define bMBPROP_t8x8 1
#define MSK32MBPROP_t8x8 0x00000020
#define BA_MBPROP_MBAFF 0x0000
#define B16MBPROP_MBAFF 0x0000
#define LSb32MBPROP_MBAFF 6
#define LSb16MBPROP_MBAFF 6
#define bMBPROP_MBAFF 1
#define MSK32MBPROP_MBAFF 0x00000040
#define BA_MBPROP_FLD 0x0000
#define B16MBPROP_FLD 0x0000
#define LSb32MBPROP_FLD 7
#define LSb16MBPROP_FLD 7
#define bMBPROP_FLD 1
#define MSK32MBPROP_FLD 0x00000080
#define BA_MBPROP_FLDNeighborA 0x0001
#define B16MBPROP_FLDNeighborA 0x0000
#define LSb32MBPROP_FLDNeighborA 8
#define LSb16MBPROP_FLDNeighborA 8
#define bMBPROP_FLDNeighborA 1
#define MSK32MBPROP_FLDNeighborA 0x00000100
#define BA_MBPROP_FLDNeighborB 0x0001
#define B16MBPROP_FLDNeighborB 0x0000
#define LSb32MBPROP_FLDNeighborB 9
#define LSb16MBPROP_FLDNeighborB 9
#define bMBPROP_FLDNeighborB 1
#define MSK32MBPROP_FLDNeighborB 0x00000200
#define BA_MBPROP_FLDNeighborC 0x0001
#define B16MBPROP_FLDNeighborC 0x0000
#define LSb32MBPROP_FLDNeighborC 10
#define LSb16MBPROP_FLDNeighborC 10
#define bMBPROP_FLDNeighborC 1
#define MSK32MBPROP_FLDNeighborC 0x00000400
#define BA_MBPROP_FLDNeighborD 0x0001
#define B16MBPROP_FLDNeighborD 0x0000
#define LSb32MBPROP_FLDNeighborD 11
#define LSb16MBPROP_FLDNeighborD 11
#define bMBPROP_FLDNeighborD 1
#define MSK32MBPROP_FLDNeighborD 0x00000800
#define BA_MBPROP_NeighborA 0x0001
#define B16MBPROP_NeighborA 0x0000
#define LSb32MBPROP_NeighborA 12
#define LSb16MBPROP_NeighborA 12
#define bMBPROP_NeighborA 1
#define MSK32MBPROP_NeighborA 0x00001000
#define BA_MBPROP_NeighborB 0x0001
#define B16MBPROP_NeighborB 0x0000
#define LSb32MBPROP_NeighborB 13
#define LSb16MBPROP_NeighborB 13
#define bMBPROP_NeighborB 1
#define MSK32MBPROP_NeighborB 0x00002000
#define BA_MBPROP_NeighborC 0x0001
#define B16MBPROP_NeighborC 0x0000
#define LSb32MBPROP_NeighborC 14
#define LSb16MBPROP_NeighborC 14
#define bMBPROP_NeighborC 1
#define MSK32MBPROP_NeighborC 0x00004000
#define BA_MBPROP_NeighborD 0x0001
#define B16MBPROP_NeighborD 0x0000
#define LSb32MBPROP_NeighborD 15
#define LSb16MBPROP_NeighborD 15
#define bMBPROP_NeighborD 1
#define MSK32MBPROP_NeighborD 0x00008000
#define BA_MBPROP_LastInSeq 0x0002
#define B16MBPROP_LastInSeq 0x0002
#define LSb32MBPROP_LastInSeq 16
#define LSb16MBPROP_LastInSeq 0
#define bMBPROP_LastInSeq 1
#define MSK32MBPROP_LastInSeq 0x00010000
#define BA_MBPROP_NumBLK 0x0002
#define B16MBPROP_NumBLK 0x0002
#define LSb32MBPROP_NumBLK 17
#define LSb16MBPROP_NumBLK 1
#define bMBPROP_NumBLK 3
#define MSK32MBPROP_NumBLK 0x000E0000
#define BA_MBPROP_vc1ITtype_0i 0x0002
#define B16MBPROP_vc1ITtype_0i 0x0002
#define LSb32MBPROP_vc1ITtype_0i 20
#define LSb16MBPROP_vc1ITtype_0i 4
#define bMBPROP_vc1ITtype_0i 2
#define MSK32MBPROP_vc1ITtype_0i 0x00300000
#define BA_MBPROP_vc1ITtype_1i 0x0002
#define B16MBPROP_vc1ITtype_1i 0x0002
#define LSb32MBPROP_vc1ITtype_1i 22
#define LSb16MBPROP_vc1ITtype_1i 6
#define bMBPROP_vc1ITtype_1i 2
#define MSK32MBPROP_vc1ITtype_1i 0x00C00000
#define BA_MBPROP_vc1ITtype_2i 0x0003
#define B16MBPROP_vc1ITtype_2i 0x0002
#define LSb32MBPROP_vc1ITtype_2i 24
#define LSb16MBPROP_vc1ITtype_2i 8
#define bMBPROP_vc1ITtype_2i 2
#define MSK32MBPROP_vc1ITtype_2i 0x03000000
#define BA_MBPROP_vc1ITtype_3i 0x0003
#define B16MBPROP_vc1ITtype_3i 0x0002
#define LSb32MBPROP_vc1ITtype_3i 26
#define LSb16MBPROP_vc1ITtype_3i 10
#define bMBPROP_vc1ITtype_3i 2
#define MSK32MBPROP_vc1ITtype_3i 0x0C000000
#define BA_MBPROP_vc1ITtype_4i 0x0003
#define B16MBPROP_vc1ITtype_4i 0x0002
#define LSb32MBPROP_vc1ITtype_4i 28
#define LSb16MBPROP_vc1ITtype_4i 12
#define bMBPROP_vc1ITtype_4i 2
#define MSK32MBPROP_vc1ITtype_4i 0x30000000
#define BA_MBPROP_vc1ITtype_5i 0x0003
#define B16MBPROP_vc1ITtype_5i 0x0002
#define LSb32MBPROP_vc1ITtype_5i 30
#define LSb16MBPROP_vc1ITtype_5i 14
#define bMBPROP_vc1ITtype_5i 2
#define MSK32MBPROP_vc1ITtype_5i 0xC0000000
#define MBPROP_vc1ITtype_vc1_t4x4 0x0
#define MBPROP_vc1ITtype_vc1_t8x8 0x1
#define MBPROP_vc1ITtype_vc1_t4x8 0x2
#define MBPROP_vc1ITtype_vc1_t8x4 0x3
#define MBPROP_vc1ITtype_vp6_unknown 0x0
#define MBPROP_vc1ITtype_vp6_bilinear 0x1
#define MBPROP_vc1ITtype_vp6_bicubic 0x2
///////////////////////////////////////////////////////////
#define BA_MBPROP_MBX 0x0004
#define B16MBPROP_MBX 0x0004
#define LSb32MBPROP_MBX 0
#define LSb16MBPROP_MBX 0
#define bMBPROP_MBX 8
#define MSK32MBPROP_MBX 0x000000FF
#define BA_MBPROP_MBY 0x0005
#define B16MBPROP_MBY 0x0004
#define LSb32MBPROP_MBY 8
#define LSb16MBPROP_MBY 8
#define bMBPROP_MBY 8
#define MSK32MBPROP_MBY 0x0000FF00
#define BA_MBPROP_CBP 0x0006
#define B16MBPROP_CBP 0x0006
#define LSb32MBPROP_CBP 16
#define LSb16MBPROP_CBP 0
#define bMBPROP_CBP 8
#define MSK32MBPROP_CBP 0x00FF0000
#define BA_MBPROP_CBPDC 0x0007
#define B16MBPROP_CBPDC 0x0006
#define LSb32MBPROP_CBPDC 24
#define LSb16MBPROP_CBPDC 8
#define bMBPROP_CBPDC 8
#define MSK32MBPROP_CBPDC 0xFF000000
///////////////////////////////////////////////////////////
#define RA_MBPROP_BLK 0x0008
///////////////////////////////////////////////////////////
#define BA_MBPROP_chroma 0x000C
#define B16MBPROP_chroma 0x000C
#define LSb32MBPROP_chroma 0
#define LSb16MBPROP_chroma 0
#define bMBPROP_chroma 2
#define MSK32MBPROP_chroma 0x00000003
#define MBPROP_chroma_DC 0x0
#define MBPROP_chroma_Horizontal 0x1
#define MBPROP_chroma_Vertical 0x2
#define MBPROP_chroma_Plane 0x3
#define MBPROP_chroma_ACP_OFF 0x0
#define MBPROP_chroma_ACP_ON 0x1
#define BA_MBPROP_first_rnd 0x000C
#define B16MBPROP_first_rnd 0x000C
#define LSb32MBPROP_first_rnd 2
#define LSb16MBPROP_first_rnd 2
#define bMBPROP_first_rnd 2
#define MSK32MBPROP_first_rnd 0x0000000C
#define BA_MBPROP_vLumaDB 0x000C
#define B16MBPROP_vLumaDB 0x000C
#define LSb32MBPROP_vLumaDB 4
#define LSb16MBPROP_vLumaDB 4
#define bMBPROP_vLumaDB 1
#define MSK32MBPROP_vLumaDB 0x00000010
#define BA_MBPROP_vChromaDB 0x000C
#define B16MBPROP_vChromaDB 0x000C
#define LSb32MBPROP_vChromaDB 5
#define LSb16MBPROP_vChromaDB 5
#define bMBPROP_vChromaDB 1
#define MSK32MBPROP_vChromaDB 0x00000020
#define BA_MBPROP_hLumaDB 0x000C
#define B16MBPROP_hLumaDB 0x000C
#define LSb32MBPROP_hLumaDB 6
#define LSb16MBPROP_hLumaDB 6
#define bMBPROP_hLumaDB 1
#define MSK32MBPROP_hLumaDB 0x00000040
#define BA_MBPROP_hChromaDB 0x000C
#define B16MBPROP_hChromaDB 0x000C
#define LSb32MBPROP_hChromaDB 7
#define LSb16MBPROP_hChromaDB 7
#define bMBPROP_hChromaDB 1
#define MSK32MBPROP_hChromaDB 0x00000080
#define BA_MBPROP_QP 0x000D
#define B16MBPROP_QP 0x000C
#define LSb32MBPROP_QP 8
#define LSb16MBPROP_QP 8
#define bMBPROP_QP 8
#define MSK32MBPROP_QP 0x0000FF00
#define BA_MBPROP_Qu 0x000E
#define B16MBPROP_Qu 0x000E
#define LSb32MBPROP_Qu 16
#define LSb16MBPROP_Qu 0
#define bMBPROP_Qu 8
#define MSK32MBPROP_Qu 0x00FF0000
#define BA_MBPROP_Qv 0x000F
#define B16MBPROP_Qv 0x000E
#define LSb32MBPROP_Qv 24
#define LSb16MBPROP_Qv 8
#define bMBPROP_Qv 8
#define MSK32MBPROP_Qv 0xFF000000
///////////////////////////////////////////////////////////
#define RA_MBPROP_pred 0x0010
///////////////////////////////////////////////////////////
#define RA_MBPROP_qmv 0x0020
///////////////////////////////////////////////////////////
typedef struct SIE_MBPROP {
///////////////////////////////////////////////////////////
#define GET32MBPROP_type(r32) _BFGET_(r32, 2, 0)
#define SET32MBPROP_type(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16MBPROP_type(r16) _BFGET_(r16, 2, 0)
#define SET16MBPROP_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32MBPROP_partition(r32) _BFGET_(r32, 4, 3)
#define SET32MBPROP_partition(r32,v) _BFSET_(r32, 4, 3,v)
#define GET16MBPROP_partition(r16) _BFGET_(r16, 4, 3)
#define SET16MBPROP_partition(r16,v) _BFSET_(r16, 4, 3,v)
#define GET32MBPROP_t8x8(r32) _BFGET_(r32, 5, 5)
#define SET32MBPROP_t8x8(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16MBPROP_t8x8(r16) _BFGET_(r16, 5, 5)
#define SET16MBPROP_t8x8(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32MBPROP_MBAFF(r32) _BFGET_(r32, 6, 6)
#define SET32MBPROP_MBAFF(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16MBPROP_MBAFF(r16) _BFGET_(r16, 6, 6)
#define SET16MBPROP_MBAFF(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32MBPROP_FLD(r32) _BFGET_(r32, 7, 7)
#define SET32MBPROP_FLD(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16MBPROP_FLD(r16) _BFGET_(r16, 7, 7)
#define SET16MBPROP_FLD(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32MBPROP_FLDNeighborA(r32) _BFGET_(r32, 8, 8)
#define SET32MBPROP_FLDNeighborA(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16MBPROP_FLDNeighborA(r16) _BFGET_(r16, 8, 8)
#define SET16MBPROP_FLDNeighborA(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32MBPROP_FLDNeighborB(r32) _BFGET_(r32, 9, 9)
#define SET32MBPROP_FLDNeighborB(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16MBPROP_FLDNeighborB(r16) _BFGET_(r16, 9, 9)
#define SET16MBPROP_FLDNeighborB(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32MBPROP_FLDNeighborC(r32) _BFGET_(r32,10,10)
#define SET32MBPROP_FLDNeighborC(r32,v) _BFSET_(r32,10,10,v)
#define GET16MBPROP_FLDNeighborC(r16) _BFGET_(r16,10,10)
#define SET16MBPROP_FLDNeighborC(r16,v) _BFSET_(r16,10,10,v)
#define GET32MBPROP_FLDNeighborD(r32) _BFGET_(r32,11,11)
#define SET32MBPROP_FLDNeighborD(r32,v) _BFSET_(r32,11,11,v)
#define GET16MBPROP_FLDNeighborD(r16) _BFGET_(r16,11,11)
#define SET16MBPROP_FLDNeighborD(r16,v) _BFSET_(r16,11,11,v)
#define GET32MBPROP_NeighborA(r32) _BFGET_(r32,12,12)
#define SET32MBPROP_NeighborA(r32,v) _BFSET_(r32,12,12,v)
#define GET16MBPROP_NeighborA(r16) _BFGET_(r16,12,12)
#define SET16MBPROP_NeighborA(r16,v) _BFSET_(r16,12,12,v)
#define GET32MBPROP_NeighborB(r32) _BFGET_(r32,13,13)
#define SET32MBPROP_NeighborB(r32,v) _BFSET_(r32,13,13,v)
#define GET16MBPROP_NeighborB(r16) _BFGET_(r16,13,13)
#define SET16MBPROP_NeighborB(r16,v) _BFSET_(r16,13,13,v)
#define GET32MBPROP_NeighborC(r32) _BFGET_(r32,14,14)
#define SET32MBPROP_NeighborC(r32,v) _BFSET_(r32,14,14,v)
#define GET16MBPROP_NeighborC(r16) _BFGET_(r16,14,14)
#define SET16MBPROP_NeighborC(r16,v) _BFSET_(r16,14,14,v)
#define GET32MBPROP_NeighborD(r32) _BFGET_(r32,15,15)
#define SET32MBPROP_NeighborD(r32,v) _BFSET_(r32,15,15,v)
#define GET16MBPROP_NeighborD(r16) _BFGET_(r16,15,15)
#define SET16MBPROP_NeighborD(r16,v) _BFSET_(r16,15,15,v)
#define GET32MBPROP_LastInSeq(r32) _BFGET_(r32,16,16)
#define SET32MBPROP_LastInSeq(r32,v) _BFSET_(r32,16,16,v)
#define GET16MBPROP_LastInSeq(r16) _BFGET_(r16, 0, 0)
#define SET16MBPROP_LastInSeq(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32MBPROP_NumBLK(r32) _BFGET_(r32,19,17)
#define SET32MBPROP_NumBLK(r32,v) _BFSET_(r32,19,17,v)
#define GET16MBPROP_NumBLK(r16) _BFGET_(r16, 3, 1)
#define SET16MBPROP_NumBLK(r16,v) _BFSET_(r16, 3, 1,v)
#define GET32MBPROP_vc1ITtype_0i(r32) _BFGET_(r32,21,20)
#define SET32MBPROP_vc1ITtype_0i(r32,v) _BFSET_(r32,21,20,v)
#define GET16MBPROP_vc1ITtype_0i(r16) _BFGET_(r16, 5, 4)
#define SET16MBPROP_vc1ITtype_0i(r16,v) _BFSET_(r16, 5, 4,v)
#define GET32MBPROP_vc1ITtype_1i(r32) _BFGET_(r32,23,22)
#define SET32MBPROP_vc1ITtype_1i(r32,v) _BFSET_(r32,23,22,v)
#define GET16MBPROP_vc1ITtype_1i(r16) _BFGET_(r16, 7, 6)
#define SET16MBPROP_vc1ITtype_1i(r16,v) _BFSET_(r16, 7, 6,v)
#define GET32MBPROP_vc1ITtype_2i(r32) _BFGET_(r32,25,24)
#define SET32MBPROP_vc1ITtype_2i(r32,v) _BFSET_(r32,25,24,v)
#define GET16MBPROP_vc1ITtype_2i(r16) _BFGET_(r16, 9, 8)
#define SET16MBPROP_vc1ITtype_2i(r16,v) _BFSET_(r16, 9, 8,v)
#define GET32MBPROP_vc1ITtype_3i(r32) _BFGET_(r32,27,26)
#define SET32MBPROP_vc1ITtype_3i(r32,v) _BFSET_(r32,27,26,v)
#define GET16MBPROP_vc1ITtype_3i(r16) _BFGET_(r16,11,10)
#define SET16MBPROP_vc1ITtype_3i(r16,v) _BFSET_(r16,11,10,v)
#define GET32MBPROP_vc1ITtype_4i(r32) _BFGET_(r32,29,28)
#define SET32MBPROP_vc1ITtype_4i(r32,v) _BFSET_(r32,29,28,v)
#define GET16MBPROP_vc1ITtype_4i(r16) _BFGET_(r16,13,12)
#define SET16MBPROP_vc1ITtype_4i(r16,v) _BFSET_(r16,13,12,v)
#define GET32MBPROP_vc1ITtype_5i(r32) _BFGET_(r32,31,30)
#define SET32MBPROP_vc1ITtype_5i(r32,v) _BFSET_(r32,31,30,v)
#define GET16MBPROP_vc1ITtype_5i(r16) _BFGET_(r16,15,14)
#define SET16MBPROP_vc1ITtype_5i(r16,v) _BFSET_(r16,15,14,v)
UNSG32 u_type : 3;
UNSG32 u_partition : 2;
UNSG32 u_t8x8 : 1;
UNSG32 u_MBAFF : 1;
UNSG32 u_FLD : 1;
UNSG32 u_FLDNeighborA : 1;
UNSG32 u_FLDNeighborB : 1;
UNSG32 u_FLDNeighborC : 1;
UNSG32 u_FLDNeighborD : 1;
UNSG32 u_NeighborA : 1;
UNSG32 u_NeighborB : 1;
UNSG32 u_NeighborC : 1;
UNSG32 u_NeighborD : 1;
UNSG32 u_LastInSeq : 1;
UNSG32 u_NumBLK : 3;
UNSG32 u_vc1ITtype_0i : 2;
UNSG32 u_vc1ITtype_1i : 2;
UNSG32 u_vc1ITtype_2i : 2;
UNSG32 u_vc1ITtype_3i : 2;
UNSG32 u_vc1ITtype_4i : 2;
UNSG32 u_vc1ITtype_5i : 2;
///////////////////////////////////////////////////////////
#define GET32MBPROP_MBX(r32) _BFGET_(r32, 7, 0)
#define SET32MBPROP_MBX(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16MBPROP_MBX(r16) _BFGET_(r16, 7, 0)
#define SET16MBPROP_MBX(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32MBPROP_MBY(r32) _BFGET_(r32,15, 8)
#define SET32MBPROP_MBY(r32,v) _BFSET_(r32,15, 8,v)
#define GET16MBPROP_MBY(r16) _BFGET_(r16,15, 8)
#define SET16MBPROP_MBY(r16,v) _BFSET_(r16,15, 8,v)
#define GET32MBPROP_CBP(r32) _BFGET_(r32,23,16)
#define SET32MBPROP_CBP(r32,v) _BFSET_(r32,23,16,v)
#define GET16MBPROP_CBP(r16) _BFGET_(r16, 7, 0)
#define SET16MBPROP_CBP(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32MBPROP_CBPDC(r32) _BFGET_(r32,31,24)
#define SET32MBPROP_CBPDC(r32,v) _BFSET_(r32,31,24,v)
#define GET16MBPROP_CBPDC(r16) _BFGET_(r16,15, 8)
#define SET16MBPROP_CBPDC(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_MBX : 8;
UNSG32 u_MBY : 8;
UNSG32 u_CBP : 8;
UNSG32 u_CBPDC : 8;
///////////////////////////////////////////////////////////
SIE_BLK ie_BLK;
///////////////////////////////////////////////////////////
#define GET32MBPROP_chroma(r32) _BFGET_(r32, 1, 0)
#define SET32MBPROP_chroma(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16MBPROP_chroma(r16) _BFGET_(r16, 1, 0)
#define SET16MBPROP_chroma(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32MBPROP_first_rnd(r32) _BFGET_(r32, 3, 2)
#define SET32MBPROP_first_rnd(r32,v) _BFSET_(r32, 3, 2,v)
#define GET16MBPROP_first_rnd(r16) _BFGET_(r16, 3, 2)
#define SET16MBPROP_first_rnd(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32MBPROP_vLumaDB(r32) _BFGET_(r32, 4, 4)
#define SET32MBPROP_vLumaDB(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16MBPROP_vLumaDB(r16) _BFGET_(r16, 4, 4)
#define SET16MBPROP_vLumaDB(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32MBPROP_vChromaDB(r32) _BFGET_(r32, 5, 5)
#define SET32MBPROP_vChromaDB(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16MBPROP_vChromaDB(r16) _BFGET_(r16, 5, 5)
#define SET16MBPROP_vChromaDB(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32MBPROP_hLumaDB(r32) _BFGET_(r32, 6, 6)
#define SET32MBPROP_hLumaDB(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16MBPROP_hLumaDB(r16) _BFGET_(r16, 6, 6)
#define SET16MBPROP_hLumaDB(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32MBPROP_hChromaDB(r32) _BFGET_(r32, 7, 7)
#define SET32MBPROP_hChromaDB(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16MBPROP_hChromaDB(r16) _BFGET_(r16, 7, 7)
#define SET16MBPROP_hChromaDB(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32MBPROP_QP(r32) _BFGET_(r32,15, 8)
#define SET32MBPROP_QP(r32,v) _BFSET_(r32,15, 8,v)
#define GET16MBPROP_QP(r16) _BFGET_(r16,15, 8)
#define SET16MBPROP_QP(r16,v) _BFSET_(r16,15, 8,v)
#define GET32MBPROP_Qu(r32) _BFGET_(r32,23,16)
#define SET32MBPROP_Qu(r32,v) _BFSET_(r32,23,16,v)
#define GET16MBPROP_Qu(r16) _BFGET_(r16, 7, 0)
#define SET16MBPROP_Qu(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32MBPROP_Qv(r32) _BFGET_(r32,31,24)
#define SET32MBPROP_Qv(r32,v) _BFSET_(r32,31,24,v)
#define GET16MBPROP_Qv(r16) _BFGET_(r16,15, 8)
#define SET16MBPROP_Qv(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_chroma : 2;
UNSG32 u_first_rnd : 2;
UNSG32 u_vLumaDB : 1;
UNSG32 u_vChromaDB : 1;
UNSG32 u_hLumaDB : 1;
UNSG32 u_hChromaDB : 1;
UNSG32 u_QP : 8;
UNSG32 u_Qu : 8;
UNSG32 u_Qv : 8;
///////////////////////////////////////////////////////////
SIE_IntraLuma ie_pred[4];
///////////////////////////////////////////////////////////
SIE_vcMsgMV ie_qmv[8];
///////////////////////////////////////////////////////////
} SIE_MBPROP;
///////////////////////////////////////////////////////////
SIGN32 MBPROP_drvrd(SIE_MBPROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 MBPROP_drvwr(SIE_MBPROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void MBPROP_reset(SIE_MBPROP *p);
SIGN32 MBPROP_cmp (SIE_MBPROP *p, SIE_MBPROP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define MBPROP_check(p,pie,pfx,hLOG) MBPROP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define MBPROP_print(p, pfx,hLOG) MBPROP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: MBPROP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE MBPROPJPEG (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 16 MBX
/// ###
/// * X-location of current MB
/// ###
/// %unsigned 16 MBY
/// ###
/// * Y-location of current MB
/// ###
/// @ 0x00004 (P)
/// %unsigned 12 CBP
/// ###
/// * All zero flags for 8x8 blocks
/// ###
/// %unsigned 4 NumBLK
/// ###
/// * Number of non-zero blocks (0~12) associated with CBP above
/// ###
/// %unsigned 12 CBPDC
/// ###
/// * DC-only flags for 8x8 blocks
/// ###
/// %unsigned 1 LastInSeq
/// ###
/// * If last MB in sequence
/// ###
/// %unsigned 1 restart
/// ###
/// * If last MB of restart interval.
/// ###
/// %% 2 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 62b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_MBPROPJPEG
#define h_MBPROPJPEG (){}
#define BA_MBPROPJPEG_MBX 0x0000
#define B16MBPROPJPEG_MBX 0x0000
#define LSb32MBPROPJPEG_MBX 0
#define LSb16MBPROPJPEG_MBX 0
#define bMBPROPJPEG_MBX 16
#define MSK32MBPROPJPEG_MBX 0x0000FFFF
#define BA_MBPROPJPEG_MBY 0x0002
#define B16MBPROPJPEG_MBY 0x0002
#define LSb32MBPROPJPEG_MBY 16
#define LSb16MBPROPJPEG_MBY 0
#define bMBPROPJPEG_MBY 16
#define MSK32MBPROPJPEG_MBY 0xFFFF0000
///////////////////////////////////////////////////////////
#define BA_MBPROPJPEG_CBP 0x0004
#define B16MBPROPJPEG_CBP 0x0004
#define LSb32MBPROPJPEG_CBP 0
#define LSb16MBPROPJPEG_CBP 0
#define bMBPROPJPEG_CBP 12
#define MSK32MBPROPJPEG_CBP 0x00000FFF
#define BA_MBPROPJPEG_NumBLK 0x0005
#define B16MBPROPJPEG_NumBLK 0x0004
#define LSb32MBPROPJPEG_NumBLK 12
#define LSb16MBPROPJPEG_NumBLK 12
#define bMBPROPJPEG_NumBLK 4
#define MSK32MBPROPJPEG_NumBLK 0x0000F000
#define BA_MBPROPJPEG_CBPDC 0x0006
#define B16MBPROPJPEG_CBPDC 0x0006
#define LSb32MBPROPJPEG_CBPDC 16
#define LSb16MBPROPJPEG_CBPDC 0
#define bMBPROPJPEG_CBPDC 12
#define MSK32MBPROPJPEG_CBPDC 0x0FFF0000
#define BA_MBPROPJPEG_LastInSeq 0x0007
#define B16MBPROPJPEG_LastInSeq 0x0006
#define LSb32MBPROPJPEG_LastInSeq 28
#define LSb16MBPROPJPEG_LastInSeq 12
#define bMBPROPJPEG_LastInSeq 1
#define MSK32MBPROPJPEG_LastInSeq 0x10000000
#define BA_MBPROPJPEG_restart 0x0007
#define B16MBPROPJPEG_restart 0x0006
#define LSb32MBPROPJPEG_restart 29
#define LSb16MBPROPJPEG_restart 13
#define bMBPROPJPEG_restart 1
#define MSK32MBPROPJPEG_restart 0x20000000
///////////////////////////////////////////////////////////
typedef struct SIE_MBPROPJPEG {
///////////////////////////////////////////////////////////
#define GET32MBPROPJPEG_MBX(r32) _BFGET_(r32,15, 0)
#define SET32MBPROPJPEG_MBX(r32,v) _BFSET_(r32,15, 0,v)
#define GET16MBPROPJPEG_MBX(r16) _BFGET_(r16,15, 0)
#define SET16MBPROPJPEG_MBX(r16,v) _BFSET_(r16,15, 0,v)
#define GET32MBPROPJPEG_MBY(r32) _BFGET_(r32,31,16)
#define SET32MBPROPJPEG_MBY(r32,v) _BFSET_(r32,31,16,v)
#define GET16MBPROPJPEG_MBY(r16) _BFGET_(r16,15, 0)
#define SET16MBPROPJPEG_MBY(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_MBX : 16;
UNSG32 u_MBY : 16;
///////////////////////////////////////////////////////////
#define GET32MBPROPJPEG_CBP(r32) _BFGET_(r32,11, 0)
#define SET32MBPROPJPEG_CBP(r32,v) _BFSET_(r32,11, 0,v)
#define GET16MBPROPJPEG_CBP(r16) _BFGET_(r16,11, 0)
#define SET16MBPROPJPEG_CBP(r16,v) _BFSET_(r16,11, 0,v)
#define GET32MBPROPJPEG_NumBLK(r32) _BFGET_(r32,15,12)
#define SET32MBPROPJPEG_NumBLK(r32,v) _BFSET_(r32,15,12,v)
#define GET16MBPROPJPEG_NumBLK(r16) _BFGET_(r16,15,12)
#define SET16MBPROPJPEG_NumBLK(r16,v) _BFSET_(r16,15,12,v)
#define GET32MBPROPJPEG_CBPDC(r32) _BFGET_(r32,27,16)
#define SET32MBPROPJPEG_CBPDC(r32,v) _BFSET_(r32,27,16,v)
#define GET16MBPROPJPEG_CBPDC(r16) _BFGET_(r16,11, 0)
#define SET16MBPROPJPEG_CBPDC(r16,v) _BFSET_(r16,11, 0,v)
#define GET32MBPROPJPEG_LastInSeq(r32) _BFGET_(r32,28,28)
#define SET32MBPROPJPEG_LastInSeq(r32,v) _BFSET_(r32,28,28,v)
#define GET16MBPROPJPEG_LastInSeq(r16) _BFGET_(r16,12,12)
#define SET16MBPROPJPEG_LastInSeq(r16,v) _BFSET_(r16,12,12,v)
#define GET32MBPROPJPEG_restart(r32) _BFGET_(r32,29,29)
#define SET32MBPROPJPEG_restart(r32,v) _BFSET_(r32,29,29,v)
#define GET16MBPROPJPEG_restart(r16) _BFGET_(r16,13,13)
#define SET16MBPROPJPEG_restart(r16,v) _BFSET_(r16,13,13,v)
UNSG32 u_CBP : 12;
UNSG32 u_NumBLK : 4;
UNSG32 u_CBPDC : 12;
UNSG32 u_LastInSeq : 1;
UNSG32 u_restart : 1;
UNSG32 RSVDx4_b30 : 2;
///////////////////////////////////////////////////////////
} SIE_MBPROPJPEG;
///////////////////////////////////////////////////////////
SIGN32 MBPROPJPEG_drvrd(SIE_MBPROPJPEG *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 MBPROPJPEG_drvwr(SIE_MBPROPJPEG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void MBPROPJPEG_reset(SIE_MBPROPJPEG *p);
SIGN32 MBPROPJPEG_cmp (SIE_MBPROPJPEG *p, SIE_MBPROPJPEG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define MBPROPJPEG_check(p,pie,pfx,hLOG) MBPROPJPEG_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define MBPROPJPEG_print(p, pfx,hLOG) MBPROPJPEG_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: MBPROPJPEG
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE MBPAIR (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 FLD
/// ###
/// * 1 for MBAFF field MB, 0 for otherwise
/// ###
/// %unsigned 9 SID
/// ###
/// * Slice ID
/// ###
/// %unsigned 6 QP_0i
/// %unsigned 6 QP_1i
/// ###
/// * QP luma of both macroblocks in pair
/// ###
/// %signed 5 QuDlt
/// ###
/// * [-12,12] for Cb QP delta
/// ###
/// %signed 5 QvDlt
/// ###
/// * [-12,12] for Cr QP delta
/// * End of MBPAIR
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_MBPAIR
#define h_MBPAIR (){}
#define BA_MBPAIR_FLD 0x0000
#define B16MBPAIR_FLD 0x0000
#define LSb32MBPAIR_FLD 0
#define LSb16MBPAIR_FLD 0
#define bMBPAIR_FLD 1
#define MSK32MBPAIR_FLD 0x00000001
#define BA_MBPAIR_SID 0x0000
#define B16MBPAIR_SID 0x0000
#define LSb32MBPAIR_SID 1
#define LSb16MBPAIR_SID 1
#define bMBPAIR_SID 9
#define MSK32MBPAIR_SID 0x000003FE
#define BA_MBPAIR_QP_0i 0x0001
#define B16MBPAIR_QP_0i 0x0000
#define LSb32MBPAIR_QP_0i 10
#define LSb16MBPAIR_QP_0i 10
#define bMBPAIR_QP_0i 6
#define MSK32MBPAIR_QP_0i 0x0000FC00
#define BA_MBPAIR_QP_1i 0x0002
#define B16MBPAIR_QP_1i 0x0002
#define LSb32MBPAIR_QP_1i 16
#define LSb16MBPAIR_QP_1i 0
#define bMBPAIR_QP_1i 6
#define MSK32MBPAIR_QP_1i 0x003F0000
#define BA_MBPAIR_QuDlt 0x0002
#define B16MBPAIR_QuDlt 0x0002
#define LSb32MBPAIR_QuDlt 22
#define LSb16MBPAIR_QuDlt 6
#define bMBPAIR_QuDlt 5
#define MSK32MBPAIR_QuDlt 0x07C00000
#define BA_MBPAIR_QvDlt 0x0003
#define B16MBPAIR_QvDlt 0x0002
#define LSb32MBPAIR_QvDlt 27
#define LSb16MBPAIR_QvDlt 11
#define bMBPAIR_QvDlt 5
#define MSK32MBPAIR_QvDlt 0xF8000000
///////////////////////////////////////////////////////////
typedef struct SIE_MBPAIR {
///////////////////////////////////////////////////////////
#define GET32MBPAIR_FLD(r32) _BFGET_(r32, 0, 0)
#define SET32MBPAIR_FLD(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16MBPAIR_FLD(r16) _BFGET_(r16, 0, 0)
#define SET16MBPAIR_FLD(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32MBPAIR_SID(r32) _BFGET_(r32, 9, 1)
#define SET32MBPAIR_SID(r32,v) _BFSET_(r32, 9, 1,v)
#define GET16MBPAIR_SID(r16) _BFGET_(r16, 9, 1)
#define SET16MBPAIR_SID(r16,v) _BFSET_(r16, 9, 1,v)
#define GET32MBPAIR_QP_0i(r32) _BFGET_(r32,15,10)
#define SET32MBPAIR_QP_0i(r32,v) _BFSET_(r32,15,10,v)
#define GET16MBPAIR_QP_0i(r16) _BFGET_(r16,15,10)
#define SET16MBPAIR_QP_0i(r16,v) _BFSET_(r16,15,10,v)
#define GET32MBPAIR_QP_1i(r32) _BFGET_(r32,21,16)
#define SET32MBPAIR_QP_1i(r32,v) _BFSET_(r32,21,16,v)
#define GET16MBPAIR_QP_1i(r16) _BFGET_(r16, 5, 0)
#define SET16MBPAIR_QP_1i(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32MBPAIR_QuDlt(r32) _BFGET_(r32,26,22)
#define SET32MBPAIR_QuDlt(r32,v) _BFSET_(r32,26,22,v)
#define GET16MBPAIR_QuDlt(r16) _BFGET_(r16,10, 6)
#define SET16MBPAIR_QuDlt(r16,v) _BFSET_(r16,10, 6,v)
#define GET32MBPAIR_QvDlt(r32) _BFGET_(r32,31,27)
#define SET32MBPAIR_QvDlt(r32,v) _BFSET_(r32,31,27,v)
#define GET16MBPAIR_QvDlt(r16) _BFGET_(r16,15,11)
#define SET16MBPAIR_QvDlt(r16,v) _BFSET_(r16,15,11,v)
UNSG32 u_FLD : 1;
UNSG32 u_SID : 9;
UNSG32 u_QP_0i : 6;
UNSG32 u_QP_1i : 6;
UNSG32 s_QuDlt : 5;
UNSG32 s_QvDlt : 5;
///////////////////////////////////////////////////////////
} SIE_MBPAIR;
///////////////////////////////////////////////////////////
SIGN32 MBPAIR_drvrd(SIE_MBPAIR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 MBPAIR_drvwr(SIE_MBPAIR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void MBPAIR_reset(SIE_MBPAIR *p);
SIGN32 MBPAIR_cmp (SIE_MBPAIR *p, SIE_MBPAIR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define MBPAIR_check(p,pie,pfx,hLOG) MBPAIR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define MBPAIR_print(p, pfx,hLOG) MBPAIR_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: MBPAIR
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE PairRow (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 EVEN
/// $MBPAIR EVEN REG [164]
/// @ 0x00290 (P)
/// # 0x00290 ODD
/// $MBPAIR ODD REG [164]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 1312B, bits: 10496b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_PairRow
#define h_PairRow (){}
#define RA_PairRow_EVEN 0x0000
///////////////////////////////////////////////////////////
#define RA_PairRow_ODD 0x0290
///////////////////////////////////////////////////////////
typedef struct SIE_PairRow {
///////////////////////////////////////////////////////////
SIE_MBPAIR ie_EVEN[164];
///////////////////////////////////////////////////////////
SIE_MBPAIR ie_ODD[164];
///////////////////////////////////////////////////////////
} SIE_PairRow;
///////////////////////////////////////////////////////////
SIGN32 PairRow_drvrd(SIE_PairRow *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 PairRow_drvwr(SIE_PairRow *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void PairRow_reset(SIE_PairRow *p);
SIGN32 PairRow_cmp (SIE_PairRow *p, SIE_PairRow *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define PairRow_check(p,pie,pfx,hLOG) PairRow_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define PairRow_print(p, pfx,hLOG) PairRow_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: PairRow
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HCTXY (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 L4x4inL8x8
/// $HCTX4x4 L4x4inL8x8 REG
/// @ 0x00010 (P)
/// # 0x00010 R4x4inL8x8
/// $HCTX4x4 R4x4inL8x8 REG
/// @ 0x00020 (P)
/// # 0x00020 L4x4inR8x8
/// $HCTX4x4 L4x4inR8x8 REG
/// @ 0x00030 (P)
/// # 0x00030 R4x4inR8x8
/// $HCTX4x4 R4x4inR8x8 REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 512b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HCTXY
#define h_HCTXY (){}
#define RA_HCTXY_L4x4inL8x8 0x0000
///////////////////////////////////////////////////////////
#define RA_HCTXY_R4x4inL8x8 0x0010
///////////////////////////////////////////////////////////
#define RA_HCTXY_L4x4inR8x8 0x0020
///////////////////////////////////////////////////////////
#define RA_HCTXY_R4x4inR8x8 0x0030
///////////////////////////////////////////////////////////
typedef struct SIE_HCTXY {
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_L4x4inL8x8;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_R4x4inL8x8;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_L4x4inR8x8;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_R4x4inR8x8;
///////////////////////////////////////////////////////////
} SIE_HCTXY;
///////////////////////////////////////////////////////////
SIGN32 HCTXY_drvrd(SIE_HCTXY *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HCTXY_drvwr(SIE_HCTXY *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HCTXY_reset(SIE_HCTXY *p);
SIGN32 HCTXY_cmp (SIE_HCTXY *p, SIE_HCTXY *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HCTXY_check(p,pie,pfx,hLOG) HCTXY_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HCTXY_print(p, pfx,hLOG) HCTXY_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HCTXY
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HCTXUV (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 L4x4U
/// $HCTX4x4 L4x4U REG
/// ###
/// * Same as HCTXY.L4x4inL8x8
/// * Also contains CBF of left 4x4 U-block
/// ###
/// @ 0x00010 (P)
/// # 0x00010 L4x4V
/// $HCTX4x4 L4x4V REG
/// ###
/// * Same as HCTXY.R4x4inL8x8
/// * Also contains CBF of left 4x4 V-block
/// ###
/// @ 0x00020 (P)
/// # 0x00020 R4x4U
/// $HCTX4x4 R4x4U REG
/// ###
/// * Same as HCTXY.L4x4inR8x8
/// * Also contains CBF of right 4x4 U-block
/// ###
/// @ 0x00030 (P)
/// # 0x00030 R4x4V
/// $HCTX4x4 R4x4V REG
/// ###
/// * Same as HCTXY.R4x4inR8x8
/// * Also contains CBF of right 4x4 V-block
/// * End of HCTXUV
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 512b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HCTXUV
#define h_HCTXUV (){}
#define RA_HCTXUV_L4x4U 0x0000
///////////////////////////////////////////////////////////
#define RA_HCTXUV_L4x4V 0x0010
///////////////////////////////////////////////////////////
#define RA_HCTXUV_R4x4U 0x0020
///////////////////////////////////////////////////////////
#define RA_HCTXUV_R4x4V 0x0030
///////////////////////////////////////////////////////////
typedef struct SIE_HCTXUV {
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_L4x4U;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_L4x4V;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_R4x4U;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_R4x4V;
///////////////////////////////////////////////////////////
} SIE_HCTXUV;
///////////////////////////////////////////////////////////
SIGN32 HCTXUV_drvrd(SIE_HCTXUV *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HCTXUV_drvwr(SIE_HCTXUV *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HCTXUV_reset(SIE_HCTXUV *p);
SIGN32 HCTXUV_cmp (SIE_HCTXUV *p, SIE_HCTXUV *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HCTXUV_check(p,pie,pfx,hLOG) HCTXUV_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HCTXUV_print(p, pfx,hLOG) HCTXUV_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HCTXUV
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HCTX biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 DCU
/// $HCTX4x4 DCU REG
/// ###
/// * Same as HCTXUV.L4x4U
/// * Also contains CBF of U DC-block
/// ###
/// @ 0x00010 (P)
/// # 0x00010 DCV
/// $HCTX4x4 DCV REG
/// ###
/// * Same as HCTXUV.L4x4V
/// * Also contains CBF of V DC-block
/// ###
/// @ 0x00020 (P)
/// # 0x00020 DCI
/// $HCTX4x4 DCI REG
/// ###
/// * Same as HCTXUV.R4x4U
/// ###
/// @ 0x00030 (P)
/// # 0x00030 DCY
/// $HCTX4x4 DCY REG
/// ###
/// * Same as HCTXUV.R4x4V
/// * Also contains CBF of Y DC-block (intra16x16)
/// * End of HCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 512b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HCTX
#define h_HCTX (){}
#define RA_HCTX_DCU 0x0000
///////////////////////////////////////////////////////////
#define RA_HCTX_DCV 0x0010
///////////////////////////////////////////////////////////
#define RA_HCTX_DCI 0x0020
///////////////////////////////////////////////////////////
#define RA_HCTX_DCY 0x0030
///////////////////////////////////////////////////////////
typedef struct SIE_HCTX {
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_DCU;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_DCV;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_DCI;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_DCY;
///////////////////////////////////////////////////////////
} SIE_HCTX;
///////////////////////////////////////////////////////////
SIGN32 HCTX_drvrd(SIE_HCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HCTX_drvwr(SIE_HCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HCTX_reset(SIE_HCTX *p);
SIGN32 HCTX_cmp (SIE_HCTX *p, SIE_HCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HCTX_check(p,pie,pfx,hLOG) HCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HCTX_print(p, pfx,hLOG) HCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE MBCTXQ (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 NA
/// $HCTX4x4 NA REG
/// ###
/// * Special entry (all zero values) for N/A block
/// ###
/// @ 0x00010 (P)
/// # 0x00010 4TH16x4In
/// $HCTX 4TH16x4In REG [8]
/// ###
/// * Input FIFO from previous MB(-pair) row
/// ###
/// @ 0x00210 (P)
/// # 0x00210 1ST16x4
/// $HCTXY 1ST16x4 REG [8]
/// ###
/// * 1st row of current MB(-pair) row
/// ###
/// @ 0x00410 (P)
/// # 0x00410 2ND16x4
/// $HCTXUV 2ND16x4 REG [8]
/// ###
/// * 2nd row of current MB(-pair) row
/// ###
/// @ 0x00610 (P)
/// # 0x00610 3RD16x4
/// $HCTXY 3RD16x4 REG [8]
/// ###
/// * 3rd row of current MB(-pair) row
/// ###
/// @ 0x00810 (P)
/// # 0x00810 4TH16x4Out
/// $HCTX 4TH16x4Out REG [8]
/// ###
/// * 4th row of current MB(-pair) row
/// * Also as output FIFO for future history context
/// * End of MBCTXQ
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 2576B, bits: 20608b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_MBCTXQ
#define h_MBCTXQ (){}
#define RA_MBCTXQ_NA 0x0000
///////////////////////////////////////////////////////////
#define RA_MBCTXQ_4TH16x4In 0x0010
///////////////////////////////////////////////////////////
#define RA_MBCTXQ_1ST16x4 0x0210
///////////////////////////////////////////////////////////
#define RA_MBCTXQ_2ND16x4 0x0410
///////////////////////////////////////////////////////////
#define RA_MBCTXQ_3RD16x4 0x0610
///////////////////////////////////////////////////////////
#define RA_MBCTXQ_4TH16x4Out 0x0810
///////////////////////////////////////////////////////////
typedef struct SIE_MBCTXQ {
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_NA;
///////////////////////////////////////////////////////////
SIE_HCTX ie_4TH16x4In[8];
///////////////////////////////////////////////////////////
SIE_HCTXY ie_1ST16x4[8];
///////////////////////////////////////////////////////////
SIE_HCTXUV ie_2ND16x4[8];
///////////////////////////////////////////////////////////
SIE_HCTXY ie_3RD16x4[8];
///////////////////////////////////////////////////////////
SIE_HCTX ie_4TH16x4Out[8];
///////////////////////////////////////////////////////////
} SIE_MBCTXQ;
///////////////////////////////////////////////////////////
SIGN32 MBCTXQ_drvrd(SIE_MBCTXQ *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 MBCTXQ_drvwr(SIE_MBCTXQ *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void MBCTXQ_reset(SIE_MBCTXQ *p);
SIGN32 MBCTXQ_cmp (SIE_MBCTXQ *p, SIE_MBCTXQ *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define MBCTXQ_check(p,pie,pfx,hLOG) MBCTXQ_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define MBCTXQ_print(p, pfx,hLOG) MBCTXQ_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: MBCTXQ
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TCTX (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 4x4in1ST8x8
/// $FCTX 4x4in1ST8x8 REG
/// @ 0x00008 (P)
/// # 0x00008 4x4in2ND8x8
/// $FCTX 4x4in2ND8x8 REG
/// @ 0x00010 (P)
/// # 0x00010 4x4in3RD8x8
/// $FCTX 4x4in3RD8x8 REG
/// @ 0x00018 (P)
/// # 0x00018 4x4in4TH8x8
/// $FCTX 4x4in4TH8x8 REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 256b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TCTX
#define h_TCTX (){}
#define RA_TCTX_4x4in1ST8x8 0x0000
///////////////////////////////////////////////////////////
#define RA_TCTX_4x4in2ND8x8 0x0008
///////////////////////////////////////////////////////////
#define RA_TCTX_4x4in3RD8x8 0x0010
///////////////////////////////////////////////////////////
#define RA_TCTX_4x4in4TH8x8 0x0018
///////////////////////////////////////////////////////////
typedef struct SIE_TCTX {
///////////////////////////////////////////////////////////
SIE_FCTX ie_4x4in1ST8x8;
///////////////////////////////////////////////////////////
SIE_FCTX ie_4x4in2ND8x8;
///////////////////////////////////////////////////////////
SIE_FCTX ie_4x4in3RD8x8;
///////////////////////////////////////////////////////////
SIE_FCTX ie_4x4in4TH8x8;
///////////////////////////////////////////////////////////
} SIE_TCTX;
///////////////////////////////////////////////////////////
SIGN32 TCTX_drvrd(SIE_TCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TCTX_drvwr(SIE_TCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TCTX_reset(SIE_TCTX *p);
SIGN32 TCTX_cmp (SIE_TCTX *p, SIE_TCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TCTX_check(p,pie,pfx,hLOG) TCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TCTX_print(p, pfx,hLOG) TCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TCTXMB (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 1ST4x4s
/// $TCTX 1ST4x4s REG
/// @ 0x00020 (P)
/// # 0x00020 2ND4x4s
/// $TCTX 2ND4x4s REG
/// @ 0x00040 (P)
/// # 0x00040 3RD4x4s
/// $TCTX 3RD4x4s REG
/// @ 0x00060 (P)
/// # 0x00060 4TH4x4s
/// $TCTX 4TH4x4s REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 128B, bits: 1024b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TCTXMB
#define h_TCTXMB (){}
#define RA_TCTXMB_1ST4x4s 0x0000
///////////////////////////////////////////////////////////
#define RA_TCTXMB_2ND4x4s 0x0020
///////////////////////////////////////////////////////////
#define RA_TCTXMB_3RD4x4s 0x0040
///////////////////////////////////////////////////////////
#define RA_TCTXMB_4TH4x4s 0x0060
///////////////////////////////////////////////////////////
typedef struct SIE_TCTXMB {
///////////////////////////////////////////////////////////
SIE_TCTX ie_1ST4x4s;
///////////////////////////////////////////////////////////
SIE_TCTX ie_2ND4x4s;
///////////////////////////////////////////////////////////
SIE_TCTX ie_3RD4x4s;
///////////////////////////////////////////////////////////
SIE_TCTX ie_4TH4x4s;
///////////////////////////////////////////////////////////
} SIE_TCTXMB;
///////////////////////////////////////////////////////////
SIGN32 TCTXMB_drvrd(SIE_TCTXMB *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TCTXMB_drvwr(SIE_TCTXMB *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TCTXMB_reset(SIE_TCTXMB *p);
SIGN32 TCTXMB_cmp (SIE_TCTXMB *p, SIE_TCTXMB *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TCTXMB_check(p,pie,pfx,hLOG) TCTXMB_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TCTXMB_print(p, pfx,hLOG) TCTXMB_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TCTXMB
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE T2PROP (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 t2prop
/// $IntraPROP t2prop REG [26]
/// ###
/// * Cast to 16b prop[49:mb_type]
/// * Different tables for I/P/B slices
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 104B, bits: 364b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_T2PROP
#define h_T2PROP (){}
#define RA_T2PROP_t2prop 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_T2PROP {
///////////////////////////////////////////////////////////
SIE_IntraPROP ie_t2prop[26];
///////////////////////////////////////////////////////////
} SIE_T2PROP;
///////////////////////////////////////////////////////////
SIGN32 T2PROP_drvrd(SIE_T2PROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 T2PROP_drvwr(SIE_T2PROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void T2PROP_reset(SIE_T2PROP *p);
SIGN32 T2PROP_cmp (SIE_T2PROP *p, SIE_T2PROP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define T2PROP_check(p,pie,pfx,hLOG) T2PROP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define T2PROP_print(p, pfx,hLOG) T2PROP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: T2PROP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE T2PROP8x8 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 t2prop8x8
/// $BLK t2prop8x8 REG [4]
/// ###
/// * Cast to 8b prop[13:sub_mb_type]
/// * Different tables for P/B slices
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_T2PROP8x8
#define h_T2PROP8x8 (){}
#define RA_T2PROP8x8_t2prop8x8 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_T2PROP8x8 {
///////////////////////////////////////////////////////////
SIE_BLK ie_t2prop8x8[4];
///////////////////////////////////////////////////////////
} SIE_T2PROP8x8;
///////////////////////////////////////////////////////////
SIGN32 T2PROP8x8_drvrd(SIE_T2PROP8x8 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 T2PROP8x8_drvwr(SIE_T2PROP8x8 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void T2PROP8x8_reset(SIE_T2PROP8x8 *p);
SIGN32 T2PROP8x8_cmp (SIE_T2PROP8x8 *p, SIE_T2PROP8x8 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define T2PROP8x8_check(p,pie,pfx,hLOG) T2PROP8x8_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define T2PROP8x8_print(p, pfx,hLOG) T2PROP8x8_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: T2PROP8x8
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE InvScanBLK (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 8x8
/// $LUT8b 8x8 REG [16]
/// ###
/// * For 8x8 transform, cast to:
/// * 8b Scan[64]:
/// * - zigzag for MBAFF or progressive
/// * - field scan for field picture
/// * NOTE: for CAVLC, 8x8 scan order is split to 4 of 4x4 scans following decoding order.
/// ###
/// @ 0x00040 (P)
/// # 0x00040 4x4
/// $LUT8b 4x4 REG [4]
/// ###
/// * For 4x4 transform, cast to:
/// * 8b Scan[16]:
/// * - zigzag for MBAFF or progressive
/// * - field scan for field picture
/// ###
/// @ 0x00050 (P)
/// # 0x00050 4x4DC
/// $LUT8b 4x4DC REG [4]
/// ###
/// * For 4x4 Hadamard transform, cast to:
/// * 8b Scan[16] (decoding order to raster)
/// ###
/// @ 0x00060 (P)
/// # 0x00060 2x2DC
/// $LUT8b 2x2DC REG [2]
/// ###
/// * For 2x2 Hadamard transform, cast to:
/// * 8b Scan[4] (Scan[i] = i)
/// ###
/// @ 0x00068 (P)
/// # 0x00068 FLD8x8
/// $LUT8b FLD8x8 REG [16]
/// ###
/// * For 8x8 transform, cast to:
/// * 8b Scan[64]:
/// * - zigzag for progressive
/// * - field scan for MBAFF or field picture
/// * NOTE: for CAVLC, 8x8 scan order is split to 4 of 4x4 scans following decoding order.
/// ###
/// @ 0x000A8 (P)
/// # 0x000A8 FLD4x4
/// $LUT8b FLD4x4 REG [4]
/// ###
/// * For 4x4 transform, cast to:
/// * 8b Scan[16]:
/// * - zigzag for progressive
/// * - field scan for MBAFF or field picture
/// ###
/// @ 0x000B8 (P)
/// # 0x000B8 FLD4x4DC
/// $LUT8b FLD4x4DC REG [4]
/// ###
/// * For 4x4 Hadamard transform, cast to:
/// * 8b Scan[16] (decoding order to raster)
/// ###
/// @ 0x000C8 (P)
/// # 0x000C8 FLD2x2DC
/// $LUT8b FLD2x2DC REG [2]
/// ###
/// * For 2x2 Hadamard transform, cast to:
/// * 8b Scan[4] (Scan[i] = i)
/// ###
/// @ 0x000D0 (P)
/// # 0x000D0 IPCMY
/// $LUT8b IPCMY REG [32]
/// ###
/// * Cast to 16b scan[64=16*16/4]
/// * NOTE: every 4 pix share same entry address
/// ###
/// @ 0x00150 (P)
/// # 0x00150 IPCMUV
/// $LUT8b IPCMUV REG [16]
/// ###
/// * Cast to 16b scan[32=8*8/4*2]
/// * NOTE: every 4 pix share same entry address
/// * End of InvScanBLK
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 400B, bits: 3200b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_InvScanBLK
#define h_InvScanBLK (){}
#define RA_InvScanBLK_8x8 0x0000
///////////////////////////////////////////////////////////
#define RA_InvScanBLK_4x4 0x0040
///////////////////////////////////////////////////////////
#define RA_InvScanBLK_4x4DC 0x0050
///////////////////////////////////////////////////////////
#define RA_InvScanBLK_2x2DC 0x0060
///////////////////////////////////////////////////////////
#define RA_InvScanBLK_FLD8x8 0x0068
///////////////////////////////////////////////////////////
#define RA_InvScanBLK_FLD4x4 0x00A8
///////////////////////////////////////////////////////////
#define RA_InvScanBLK_FLD4x4DC 0x00B8
///////////////////////////////////////////////////////////
#define RA_InvScanBLK_FLD2x2DC 0x00C8
///////////////////////////////////////////////////////////
#define RA_InvScanBLK_IPCMY 0x00D0
///////////////////////////////////////////////////////////
#define RA_InvScanBLK_IPCMUV 0x0150
///////////////////////////////////////////////////////////
typedef struct SIE_InvScanBLK {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_8x8[16];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_4x4[4];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_4x4DC[4];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_2x2DC[2];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FLD8x8[16];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FLD4x4[4];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FLD4x4DC[4];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FLD2x2DC[2];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_IPCMY[32];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_IPCMUV[16];
///////////////////////////////////////////////////////////
} SIE_InvScanBLK;
///////////////////////////////////////////////////////////
SIGN32 InvScanBLK_drvrd(SIE_InvScanBLK *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 InvScanBLK_drvwr(SIE_InvScanBLK *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void InvScanBLK_reset(SIE_InvScanBLK *p);
SIGN32 InvScanBLK_cmp (SIE_InvScanBLK *p, SIE_InvScanBLK *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define InvScanBLK_check(p,pie,pfx,hLOG) InvScanBLK_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define InvScanBLK_print(p, pfx,hLOG) InvScanBLK_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: InvScanBLK
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE InvScanMPG (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 8x8
/// $LUT8b 8x8 REG [96]
/// ###
/// * MPEG4 LUT: 8b Scan[64][3:orig,horizontal ,vertical] for intra inverse scan
/// * vc1:
/// * intra: 8x8 zigzag: normal, horizontal, vertical
/// * ProP: 8x8, 8x4, 4x8, 4x4
/// * End of InvScanMPG
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 384B, bits: 3072b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_InvScanMPG
#define h_InvScanMPG (){}
#define RA_InvScanMPG_8x8 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_InvScanMPG {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_8x8[96];
///////////////////////////////////////////////////////////
} SIE_InvScanMPG;
///////////////////////////////////////////////////////////
SIGN32 InvScanMPG_drvrd(SIE_InvScanMPG *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 InvScanMPG_drvwr(SIE_InvScanMPG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void InvScanMPG_reset(SIE_InvScanMPG *p);
SIGN32 InvScanMPG_cmp (SIE_InvScanMPG *p, SIE_InvScanMPG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define InvScanMPG_check(p,pie,pfx,hLOG) InvScanMPG_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define InvScanMPG_print(p, pfx,hLOG) InvScanMPG_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: InvScanMPG
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ModTable (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 8x8
/// $LUT8b 8x8 REG [32]
/// ###
/// * ProP: cast to 8bit[36]: Lower 4bits: idx % 6;
/// * Higher 4bits: idx / 6
/// * FldP: cast to 8bit[125]: Lower 4bits: idx % 9;
/// * Higher 4bits: idx / 9
/// * End of ModTable
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 128B, bits: 1024b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ModTable
#define h_ModTable (){}
#define RA_ModTable_8x8 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_ModTable {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_8x8[32];
///////////////////////////////////////////////////////////
} SIE_ModTable;
///////////////////////////////////////////////////////////
SIGN32 ModTable_drvrd(SIE_ModTable *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ModTable_drvwr(SIE_ModTable *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ModTable_reset(SIE_ModTable *p);
SIGN32 ModTable_cmp (SIE_ModTable *p, SIE_ModTable *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ModTable_check(p,pie,pfx,hLOG) ModTable_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ModTable_print(p, pfx,hLOG) ModTable_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ModTable
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CIBO (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 16 CBF
/// ###
/// * For coded_block_flag
/// ###
/// %unsigned 16 SigCoef
/// ###
/// * For significant_coeff_flag
/// ###
/// %unsigned 16 LastSigCoef
/// ###
/// * For last_significant_coeff_flag
/// ###
/// %unsigned 16 Lvl
/// ###
/// * For coeff_abs_level_minus1
/// * End of CIBO
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CIBO
#define h_CIBO (){}
#define BA_CIBO_CBF 0x0000
#define B16CIBO_CBF 0x0000
#define LSb32CIBO_CBF 0
#define LSb16CIBO_CBF 0
#define bCIBO_CBF 16
#define MSK32CIBO_CBF 0x0000FFFF
#define BA_CIBO_SigCoef 0x0002
#define B16CIBO_SigCoef 0x0002
#define LSb32CIBO_SigCoef 16
#define LSb16CIBO_SigCoef 0
#define bCIBO_SigCoef 16
#define MSK32CIBO_SigCoef 0xFFFF0000
#define BA_CIBO_LastSigCoef 0x0004
#define B16CIBO_LastSigCoef 0x0004
#define LSb32CIBO_LastSigCoef 0
#define LSb16CIBO_LastSigCoef 0
#define bCIBO_LastSigCoef 16
#define MSK32CIBO_LastSigCoef 0x0000FFFF
#define BA_CIBO_Lvl 0x0006
#define B16CIBO_Lvl 0x0006
#define LSb32CIBO_Lvl 16
#define LSb16CIBO_Lvl 0
#define bCIBO_Lvl 16
#define MSK32CIBO_Lvl 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_CIBO {
///////////////////////////////////////////////////////////
#define GET32CIBO_CBF(r32) _BFGET_(r32,15, 0)
#define SET32CIBO_CBF(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CIBO_CBF(r16) _BFGET_(r16,15, 0)
#define SET16CIBO_CBF(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CIBO_SigCoef(r32) _BFGET_(r32,31,16)
#define SET32CIBO_SigCoef(r32,v) _BFSET_(r32,31,16,v)
#define GET16CIBO_SigCoef(r16) _BFGET_(r16,15, 0)
#define SET16CIBO_SigCoef(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_CBF : 16;
UNSG32 u_SigCoef : 16;
///////////////////////////////////////////////////////////
#define GET32CIBO_LastSigCoef(r32) _BFGET_(r32,15, 0)
#define SET32CIBO_LastSigCoef(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CIBO_LastSigCoef(r16) _BFGET_(r16,15, 0)
#define SET16CIBO_LastSigCoef(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CIBO_Lvl(r32) _BFGET_(r32,31,16)
#define SET32CIBO_Lvl(r32,v) _BFSET_(r32,31,16,v)
#define GET16CIBO_Lvl(r16) _BFGET_(r16,15, 0)
#define SET16CIBO_Lvl(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_LastSigCoef : 16;
UNSG32 u_Lvl : 16;
///////////////////////////////////////////////////////////
} SIE_CIBO;
///////////////////////////////////////////////////////////
SIGN32 CIBO_drvrd(SIE_CIBO *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CIBO_drvwr(SIE_CIBO *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CIBO_reset(SIE_CIBO *p);
SIGN32 CIBO_cmp (SIE_CIBO *p, SIE_CIBO *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CIBO_check(p,pie,pfx,hLOG) CIBO_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CIBO_print(p, pfx,hLOG) CIBO_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CIBO
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CIBCO (4,4)
/// # # ----------------------------------------------------------
/// : lumaDC 0x0
/// : I16AC 0x1
/// : Y4x4 0x2
/// : chromaDC 0x3
/// : chromaAC 0x4
/// : Y8x8 0x5
/// @ 0x00000 (P)
/// # 0x00000 cibo
/// $CIBO cibo REG [6]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 48B, bits: 384b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CIBCO
#define h_CIBCO (){}
#define CIBCO_lumaDC 0x0
#define CIBCO_I16AC 0x1
#define CIBCO_Y4x4 0x2
#define CIBCO_chromaDC 0x3
#define CIBCO_chromaAC 0x4
#define CIBCO_Y8x8 0x5
///////////////////////////////////////////////////////////
#define RA_CIBCO_cibo 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_CIBCO {
///////////////////////////////////////////////////////////
SIE_CIBO ie_cibo[6];
///////////////////////////////////////////////////////////
} SIE_CIBCO;
///////////////////////////////////////////////////////////
SIGN32 CIBCO_drvrd(SIE_CIBCO *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CIBCO_drvwr(SIE_CIBCO *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CIBCO_reset(SIE_CIBCO *p);
SIGN32 CIBCO_cmp (SIE_CIBCO *p, SIE_CIBCO *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CIBCO_check(p,pie,pfx,hLOG) CIBCO_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CIBCO_print(p, pfx,hLOG) CIBCO_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CIBCO
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RESCTX (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 16 LSbCBF
/// ###
/// * Lsb of associated CBF:
/// * - LsbFCTX_CBFY
/// * - LsbFCTX_CBFUV
/// * - LsbFCTX_CBFDC
/// * NOTE: =LSbFCTXI_NCY/UV for CAVLC
/// ###
/// %unsigned 16 CIBO
/// ###
/// * Associated entry of CIBCO table
/// * NOTE: =1/4 for CAVLC non-8x8/8x8
/// ###
/// %unsigned 16 InvScan
/// ###
/// * Associated inverse scan table (first set)
/// ###
/// %unsigned 16 MaxNum
/// ###
/// * 4/15/16/64
/// * NOTE: =16 for CAVLC 8x8 (repeat 4 times)
/// * End of RESCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RESCTX
#define h_RESCTX (){}
#define BA_RESCTX_LSbCBF 0x0000
#define B16RESCTX_LSbCBF 0x0000
#define LSb32RESCTX_LSbCBF 0
#define LSb16RESCTX_LSbCBF 0
#define bRESCTX_LSbCBF 16
#define MSK32RESCTX_LSbCBF 0x0000FFFF
#define BA_RESCTX_CIBO 0x0002
#define B16RESCTX_CIBO 0x0002
#define LSb32RESCTX_CIBO 16
#define LSb16RESCTX_CIBO 0
#define bRESCTX_CIBO 16
#define MSK32RESCTX_CIBO 0xFFFF0000
#define BA_RESCTX_InvScan 0x0004
#define B16RESCTX_InvScan 0x0004
#define LSb32RESCTX_InvScan 0
#define LSb16RESCTX_InvScan 0
#define bRESCTX_InvScan 16
#define MSK32RESCTX_InvScan 0x0000FFFF
#define BA_RESCTX_MaxNum 0x0006
#define B16RESCTX_MaxNum 0x0006
#define LSb32RESCTX_MaxNum 16
#define LSb16RESCTX_MaxNum 0
#define bRESCTX_MaxNum 16
#define MSK32RESCTX_MaxNum 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_RESCTX {
///////////////////////////////////////////////////////////
#define GET32RESCTX_LSbCBF(r32) _BFGET_(r32,15, 0)
#define SET32RESCTX_LSbCBF(r32,v) _BFSET_(r32,15, 0,v)
#define GET16RESCTX_LSbCBF(r16) _BFGET_(r16,15, 0)
#define SET16RESCTX_LSbCBF(r16,v) _BFSET_(r16,15, 0,v)
#define GET32RESCTX_CIBO(r32) _BFGET_(r32,31,16)
#define SET32RESCTX_CIBO(r32,v) _BFSET_(r32,31,16,v)
#define GET16RESCTX_CIBO(r16) _BFGET_(r16,15, 0)
#define SET16RESCTX_CIBO(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_LSbCBF : 16;
UNSG32 u_CIBO : 16;
///////////////////////////////////////////////////////////
#define GET32RESCTX_InvScan(r32) _BFGET_(r32,15, 0)
#define SET32RESCTX_InvScan(r32,v) _BFSET_(r32,15, 0,v)
#define GET16RESCTX_InvScan(r16) _BFGET_(r16,15, 0)
#define SET16RESCTX_InvScan(r16,v) _BFSET_(r16,15, 0,v)
#define GET32RESCTX_MaxNum(r32) _BFGET_(r32,31,16)
#define SET32RESCTX_MaxNum(r32,v) _BFSET_(r32,31,16,v)
#define GET16RESCTX_MaxNum(r16) _BFGET_(r16,15, 0)
#define SET16RESCTX_MaxNum(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_InvScan : 16;
UNSG32 u_MaxNum : 16;
///////////////////////////////////////////////////////////
} SIE_RESCTX;
///////////////////////////////////////////////////////////
SIGN32 RESCTX_drvrd(SIE_RESCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RESCTX_drvwr(SIE_RESCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RESCTX_reset(SIE_RESCTX *p);
SIGN32 RESCTX_cmp (SIE_RESCTX *p, SIE_RESCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RESCTX_check(p,pie,pfx,hLOG) RESCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RESCTX_print(p, pfx,hLOG) RESCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RESCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RESLUT (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 ctx
/// $RESCTX ctx REG [8]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 512b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RESLUT
#define h_RESLUT (){}
#define RA_RESLUT_ctx 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_RESLUT {
///////////////////////////////////////////////////////////
SIE_RESCTX ie_ctx[8];
///////////////////////////////////////////////////////////
} SIE_RESLUT;
///////////////////////////////////////////////////////////
SIGN32 RESLUT_drvrd(SIE_RESLUT *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RESLUT_drvwr(SIE_RESLUT *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RESLUT_reset(SIE_RESLUT *p);
SIGN32 RESLUT_cmp (SIE_RESLUT *p, SIE_RESLUT *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RESLUT_check(p,pie,pfx,hLOG) RESLUT_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RESLUT_print(p, pfx,hLOG) RESLUT_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RESLUT
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CBPLUT (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 intra
/// $LUT8b intra REG [12]
/// ###
/// * Cast to 8b cbp[48]
/// ###
/// @ 0x00030 (P)
/// # 0x00030 inter
/// $LUT8b inter REG [12]
/// ###
/// * Cast to 8b cbp[48]
/// * End of CBPLUT
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 96B, bits: 768b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CBPLUT
#define h_CBPLUT (){}
#define RA_CBPLUT_intra 0x0000
///////////////////////////////////////////////////////////
#define RA_CBPLUT_inter 0x0030
///////////////////////////////////////////////////////////
typedef struct SIE_CBPLUT {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_intra[12];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_inter[12];
///////////////////////////////////////////////////////////
} SIE_CBPLUT;
///////////////////////////////////////////////////////////
SIGN32 CBPLUT_drvrd(SIE_CBPLUT *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CBPLUT_drvwr(SIE_CBPLUT *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CBPLUT_reset(SIE_CBPLUT *p);
SIGN32 CBPLUT_cmp (SIE_CBPLUT *p, SIE_CBPLUT *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CBPLUT_check(p,pie,pfx,hLOG) CBPLUT_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CBPLUT_print(p, pfx,hLOG) CBPLUT_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CBPLUT
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CQPLUT (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 QP
/// $LUT8b QP REG [16]
/// ###
/// * Cast to 8b QP[64]
/// * End of CQPLUT
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 512b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CQPLUT
#define h_CQPLUT (){}
#define RA_CQPLUT_QP 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_CQPLUT {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_QP[16];
///////////////////////////////////////////////////////////
} SIE_CQPLUT;
///////////////////////////////////////////////////////////
SIGN32 CQPLUT_drvrd(SIE_CQPLUT *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CQPLUT_drvwr(SIE_CQPLUT *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CQPLUT_reset(SIE_CQPLUT *p);
SIGN32 CQPLUT_cmp (SIE_CQPLUT *p, SIE_CQPLUT *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CQPLUT_check(p,pie,pfx,hLOG) CQPLUT_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CQPLUT_print(p, pfx,hLOG) CQPLUT_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CQPLUT
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CoLoc (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 4 BLK
/// ###
/// * Current block index in MB
/// ###
/// %unsigned 1 ColFLD
/// ###
/// * If co-located MB is coded as field
/// ###
/// %unsigned 1 CurFLD
/// ###
/// * If current MB is coded as field
/// ###
/// %unsigned 1 mbIdx
/// ###
/// * Current MB index in pair
/// * End of CQPLUT
/// ###
/// %% 25 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 7b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CoLoc
#define h_CoLoc (){}
#define BA_CoLoc_BLK 0x0000
#define B16CoLoc_BLK 0x0000
#define LSb32CoLoc_BLK 0
#define LSb16CoLoc_BLK 0
#define bCoLoc_BLK 4
#define MSK32CoLoc_BLK 0x0000000F
#define BA_CoLoc_ColFLD 0x0000
#define B16CoLoc_ColFLD 0x0000
#define LSb32CoLoc_ColFLD 4
#define LSb16CoLoc_ColFLD 4
#define bCoLoc_ColFLD 1
#define MSK32CoLoc_ColFLD 0x00000010
#define BA_CoLoc_CurFLD 0x0000
#define B16CoLoc_CurFLD 0x0000
#define LSb32CoLoc_CurFLD 5
#define LSb16CoLoc_CurFLD 5
#define bCoLoc_CurFLD 1
#define MSK32CoLoc_CurFLD 0x00000020
#define BA_CoLoc_mbIdx 0x0000
#define B16CoLoc_mbIdx 0x0000
#define LSb32CoLoc_mbIdx 6
#define LSb16CoLoc_mbIdx 6
#define bCoLoc_mbIdx 1
#define MSK32CoLoc_mbIdx 0x00000040
///////////////////////////////////////////////////////////
typedef struct SIE_CoLoc {
///////////////////////////////////////////////////////////
#define GET32CoLoc_BLK(r32) _BFGET_(r32, 3, 0)
#define SET32CoLoc_BLK(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16CoLoc_BLK(r16) _BFGET_(r16, 3, 0)
#define SET16CoLoc_BLK(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32CoLoc_ColFLD(r32) _BFGET_(r32, 4, 4)
#define SET32CoLoc_ColFLD(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16CoLoc_ColFLD(r16) _BFGET_(r16, 4, 4)
#define SET16CoLoc_ColFLD(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32CoLoc_CurFLD(r32) _BFGET_(r32, 5, 5)
#define SET32CoLoc_CurFLD(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16CoLoc_CurFLD(r16) _BFGET_(r16, 5, 5)
#define SET16CoLoc_CurFLD(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32CoLoc_mbIdx(r32) _BFGET_(r32, 6, 6)
#define SET32CoLoc_mbIdx(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16CoLoc_mbIdx(r16) _BFGET_(r16, 6, 6)
#define SET16CoLoc_mbIdx(r16,v) _BFSET_(r16, 6, 6,v)
UNSG32 u_BLK : 4;
UNSG32 u_ColFLD : 1;
UNSG32 u_CurFLD : 1;
UNSG32 u_mbIdx : 1;
UNSG32 RSVDx0_b7 : 25;
///////////////////////////////////////////////////////////
} SIE_CoLoc;
///////////////////////////////////////////////////////////
SIGN32 CoLoc_drvrd(SIE_CoLoc *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CoLoc_drvwr(SIE_CoLoc *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CoLoc_reset(SIE_CoLoc *p);
SIGN32 CoLoc_cmp (SIE_CoLoc *p, SIE_CoLoc *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CoLoc_check(p,pie,pfx,hLOG) CoLoc_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CoLoc_print(p, pfx,hLOG) CoLoc_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CoLoc
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CoLocLUT (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 map
/// $LUT8b map REG [32]
/// ###
/// * Cast to 8b map[128]:
/// * Each entry shows the byte offset of the co-located block FCTX within the pair of co-located MB (TCTXMB x 2)
/// * End of CoLocLUT
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 128B, bits: 1024b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CoLocLUT
#define h_CoLocLUT (){}
#define RA_CoLocLUT_map 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_CoLocLUT {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_map[32];
///////////////////////////////////////////////////////////
} SIE_CoLocLUT;
///////////////////////////////////////////////////////////
SIGN32 CoLocLUT_drvrd(SIE_CoLocLUT *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CoLocLUT_drvwr(SIE_CoLocLUT *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CoLocLUT_reset(SIE_CoLocLUT *p);
SIGN32 CoLocLUT_cmp (SIE_CoLocLUT *p, SIE_CoLocLUT *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CoLocLUT_check(p,pie,pfx,hLOG) CoLocLUT_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CoLocLUT_print(p, pfx,hLOG) CoLocLUT_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CoLocLUT
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BID2SCL (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 frmBID2SCL
/// $LUT64b frmBID2SCL REG [34]
/// ###
/// * For current MB is MBAFF frame, or MB in progressive/field picture.
/// ###
/// @ 0x00110 (P)
/// # 0x00110 topBID2SCL
/// $LUT64b topBID2SCL REG [34]
/// ###
/// * For current MB is MBAFF top field.
/// ###
/// @ 0x00220 (P)
/// # 0x00220 btmBID2SCL
/// $LUT64b btmBID2SCL REG [34]
/// ###
/// * For current MB is MBAFF bottom field.
/// * End of BID2SCL
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 816B, bits: 6528b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BID2SCL
#define h_BID2SCL (){}
#define RA_BID2SCL_frmBID2SCL 0x0000
///////////////////////////////////////////////////////////
#define RA_BID2SCL_topBID2SCL 0x0110
///////////////////////////////////////////////////////////
#define RA_BID2SCL_btmBID2SCL 0x0220
///////////////////////////////////////////////////////////
typedef struct SIE_BID2SCL {
///////////////////////////////////////////////////////////
SIE_LUT64b ie_frmBID2SCL[34];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_topBID2SCL[34];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_btmBID2SCL[34];
///////////////////////////////////////////////////////////
} SIE_BID2SCL;
///////////////////////////////////////////////////////////
SIGN32 BID2SCL_drvrd(SIE_BID2SCL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BID2SCL_drvwr(SIE_BID2SCL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BID2SCL_reset(SIE_BID2SCL *p);
SIGN32 BID2SCL_cmp (SIE_BID2SCL *p, SIE_BID2SCL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BID2SCL_check(p,pie,pfx,hLOG) BID2SCL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BID2SCL_print(p, pfx,hLOG) BID2SCL_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BID2SCL
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VCMLUT (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 desc
/// $LUT8b desc REG [32]
/// ###
/// * Cast to 8b vcmDesc[128]
/// * Note: Only block categories of 16x16 ... 4x4 are available.
/// * End of VCMLUT
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 128B, bits: 1024b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VCMLUT
#define h_VCMLUT (){}
#define RA_VCMLUT_desc 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_VCMLUT {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_desc[32];
///////////////////////////////////////////////////////////
} SIE_VCMLUT;
///////////////////////////////////////////////////////////
SIGN32 VCMLUT_drvrd(SIE_VCMLUT *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VCMLUT_drvwr(SIE_VCMLUT *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VCMLUT_reset(SIE_VCMLUT *p);
SIGN32 VCMLUT_cmp (SIE_VCMLUT *p, SIE_VCMLUT *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VCMLUT_check(p,pie,pfx,hLOG) VCMLUT_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VCMLUT_print(p, pfx,hLOG) VCMLUT_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VCMLUT
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FOPCMD (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 4 BLK
/// ###
/// * Current block index
/// ###
/// %unsigned 1 parity
/// ###
/// * Current block parity
/// ###
/// %unsigned 1 LeftColumn
/// ###
/// * For blocks at left boundary of current MB pair
/// ###
/// %unsigned 1 TopRow
/// ###
/// * For blocks at top boundary of current MB pair
/// ###
/// %% 1 # Stuffing bits...
/// %unsigned 8 X
/// ###
/// * Current block location in current MB-pair:
/// * {32,33,34,35}, {36,37,38,39},
/// * {64,65,66,67}, {68,69,70,71},
/// * {96,97,98,99}, {100,101,102,103},
/// * {128,129,130,131}, {132,133,134,135},
/// ###
/// %unsigned 8 A
/// ###
/// * Left neighbor block location in its MB-pair:
/// * {35,32,33,34}, {39,36,37,38},
/// * {67,64,65,66}, {71,68,69,70},
/// * {99,96,97,98}, {103,100,101,102},
/// * {131,128,129,130}, {135,132,133,134},
/// ###
/// %unsigned 8 B
/// ###
/// * Top neighbor block location in current MB-pair:
/// * {0,1,2,3}, {4,5,6,7},
/// * {32,33,34,35}, {36,37,38,39},
/// * {64,65,66,67}, {68,69,70,71},
/// * {96,97,98,99}, {100,101,102,103},
/// * {128,129,130,131},
/// * End of FOPCMD
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 31b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FOPCMD
#define h_FOPCMD (){}
#define BA_FOPCMD_BLK 0x0000
#define B16FOPCMD_BLK 0x0000
#define LSb32FOPCMD_BLK 0
#define LSb16FOPCMD_BLK 0
#define bFOPCMD_BLK 4
#define MSK32FOPCMD_BLK 0x0000000F
#define BA_FOPCMD_parity 0x0000
#define B16FOPCMD_parity 0x0000
#define LSb32FOPCMD_parity 4
#define LSb16FOPCMD_parity 4
#define bFOPCMD_parity 1
#define MSK32FOPCMD_parity 0x00000010
#define BA_FOPCMD_LeftColumn 0x0000
#define B16FOPCMD_LeftColumn 0x0000
#define LSb32FOPCMD_LeftColumn 5
#define LSb16FOPCMD_LeftColumn 5
#define bFOPCMD_LeftColumn 1
#define MSK32FOPCMD_LeftColumn 0x00000020
#define BA_FOPCMD_TopRow 0x0000
#define B16FOPCMD_TopRow 0x0000
#define LSb32FOPCMD_TopRow 6
#define LSb16FOPCMD_TopRow 6
#define bFOPCMD_TopRow 1
#define MSK32FOPCMD_TopRow 0x00000040
#define BA_FOPCMD_X 0x0001
#define B16FOPCMD_X 0x0000
#define LSb32FOPCMD_X 8
#define LSb16FOPCMD_X 8
#define bFOPCMD_X 8
#define MSK32FOPCMD_X 0x0000FF00
#define BA_FOPCMD_A 0x0002
#define B16FOPCMD_A 0x0002
#define LSb32FOPCMD_A 16
#define LSb16FOPCMD_A 0
#define bFOPCMD_A 8
#define MSK32FOPCMD_A 0x00FF0000
#define BA_FOPCMD_B 0x0003
#define B16FOPCMD_B 0x0002
#define LSb32FOPCMD_B 24
#define LSb16FOPCMD_B 8
#define bFOPCMD_B 8
#define MSK32FOPCMD_B 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_FOPCMD {
///////////////////////////////////////////////////////////
#define GET32FOPCMD_BLK(r32) _BFGET_(r32, 3, 0)
#define SET32FOPCMD_BLK(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16FOPCMD_BLK(r16) _BFGET_(r16, 3, 0)
#define SET16FOPCMD_BLK(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32FOPCMD_parity(r32) _BFGET_(r32, 4, 4)
#define SET32FOPCMD_parity(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16FOPCMD_parity(r16) _BFGET_(r16, 4, 4)
#define SET16FOPCMD_parity(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32FOPCMD_LeftColumn(r32) _BFGET_(r32, 5, 5)
#define SET32FOPCMD_LeftColumn(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16FOPCMD_LeftColumn(r16) _BFGET_(r16, 5, 5)
#define SET16FOPCMD_LeftColumn(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32FOPCMD_TopRow(r32) _BFGET_(r32, 6, 6)
#define SET32FOPCMD_TopRow(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16FOPCMD_TopRow(r16) _BFGET_(r16, 6, 6)
#define SET16FOPCMD_TopRow(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32FOPCMD_X(r32) _BFGET_(r32,15, 8)
#define SET32FOPCMD_X(r32,v) _BFSET_(r32,15, 8,v)
#define GET16FOPCMD_X(r16) _BFGET_(r16,15, 8)
#define SET16FOPCMD_X(r16,v) _BFSET_(r16,15, 8,v)
#define GET32FOPCMD_A(r32) _BFGET_(r32,23,16)
#define SET32FOPCMD_A(r32,v) _BFSET_(r32,23,16,v)
#define GET16FOPCMD_A(r16) _BFGET_(r16, 7, 0)
#define SET16FOPCMD_A(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32FOPCMD_B(r32) _BFGET_(r32,31,24)
#define SET32FOPCMD_B(r32,v) _BFSET_(r32,31,24,v)
#define GET16FOPCMD_B(r16) _BFGET_(r16,15, 8)
#define SET16FOPCMD_B(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_BLK : 4;
UNSG32 u_parity : 1;
UNSG32 u_LeftColumn : 1;
UNSG32 u_TopRow : 1;
UNSG32 RSVDx0_b7 : 1;
UNSG32 u_X : 8;
UNSG32 u_A : 8;
UNSG32 u_B : 8;
///////////////////////////////////////////////////////////
} SIE_FOPCMD;
///////////////////////////////////////////////////////////
SIGN32 FOPCMD_drvrd(SIE_FOPCMD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FOPCMD_drvwr(SIE_FOPCMD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FOPCMD_reset(SIE_FOPCMD *p);
SIGN32 FOPCMD_cmp (SIE_FOPCMD *p, SIE_FOPCMD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FOPCMD_check(p,pie,pfx,hLOG) FOPCMD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FOPCMD_print(p, pfx,hLOG) FOPCMD_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FOPCMD
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FOPCmdPOOL (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 upLeft
/// $FOPCMD upLeft REG [12]
/// @ 0x00030 (P)
/// # 0x00030 upper
/// $FOPCMD upper REG [15]
/// @ 0x0006C (P)
/// # 0x0006C left
/// $FOPCMD left REG [27]
/// @ 0x000D8 (P)
/// # 0x000D8 inner
/// $FOPCMD inner REG [18]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 288B, bits: 2232b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FOPCmdPOOL
#define h_FOPCmdPOOL (){}
#define RA_FOPCmdPOOL_upLeft 0x0000
///////////////////////////////////////////////////////////
#define RA_FOPCmdPOOL_upper 0x0030
///////////////////////////////////////////////////////////
#define RA_FOPCmdPOOL_left 0x006C
///////////////////////////////////////////////////////////
#define RA_FOPCmdPOOL_inner 0x00D8
///////////////////////////////////////////////////////////
typedef struct SIE_FOPCmdPOOL {
///////////////////////////////////////////////////////////
SIE_FOPCMD ie_upLeft[12];
///////////////////////////////////////////////////////////
SIE_FOPCMD ie_upper[15];
///////////////////////////////////////////////////////////
SIE_FOPCMD ie_left[27];
///////////////////////////////////////////////////////////
SIE_FOPCMD ie_inner[18];
///////////////////////////////////////////////////////////
} SIE_FOPCmdPOOL;
///////////////////////////////////////////////////////////
SIGN32 FOPCmdPOOL_drvrd(SIE_FOPCmdPOOL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FOPCmdPOOL_drvwr(SIE_FOPCmdPOOL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FOPCmdPOOL_reset(SIE_FOPCmdPOOL *p);
SIGN32 FOPCmdPOOL_cmp (SIE_FOPCmdPOOL *p, SIE_FOPCmdPOOL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FOPCmdPOOL_check(p,pie,pfx,hLOG) FOPCmdPOOL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FOPCmdPOOL_print(p, pfx,hLOG) FOPCmdPOOL_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FOPCmdPOOL
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FOPCmdIDX (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 FRMA_FRMX_FRMB
/// $LUT8b FRMA_FRMX_FRMB REG [8]
/// ###
/// * Cast to 8b index[16+16]
/// ###
/// @ 0x00020 (P)
/// # 0x00020 FLDA_FLDX_FLDB
/// $LUT8b FLDA_FLDX_FLDB REG [8]
/// ###
/// * Cast to 8b index[16+16]
/// ###
/// @ 0x00040 (P)
/// # 0x00040 FLDA_FRMX_FRMB
/// $LUT8b FLDA_FRMX_FRMB REG [10]
/// ###
/// * Cast to 8b index[20+20]
/// ###
/// @ 0x00068 (P)
/// # 0x00068 FRMA_FLDX_FLDB
/// $LUT8b FRMA_FLDX_FLDB REG [10]
/// ###
/// * Cast to 8b index[20+20]
/// ###
/// @ 0x00090 (P)
/// # 0x00090 FRMA_FRMX_FLDB
/// $LUT8b FRMA_FRMX_FLDB REG [9]
/// ###
/// * Cast to 8b index[20+16]
/// ###
/// @ 0x000B4 (P)
/// # 0x000B4 FLDA_FLDX_FRMB
/// $LUT8b FLDA_FLDX_FRMB REG [8]
/// ###
/// * Cast to 8b index[16+16]
/// ###
/// @ 0x000D4 (P)
/// # 0x000D4 FLDA_FRMX_FLDB
/// $LUT8b FLDA_FRMX_FLDB REG [11]
/// ###
/// * Cast to 8b index[23+20]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 FRMA_FLDX_FRMB
/// $LUT8b FRMA_FLDX_FRMB REG [10]
/// ###
/// * Cast to 8b index[20+20]
/// * End of FOPCmdIDX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 296B, bits: 2368b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FOPCmdIDX
#define h_FOPCmdIDX (){}
#define RA_FOPCmdIDX_FRMA_FRMX_FRMB 0x0000
///////////////////////////////////////////////////////////
#define RA_FOPCmdIDX_FLDA_FLDX_FLDB 0x0020
///////////////////////////////////////////////////////////
#define RA_FOPCmdIDX_FLDA_FRMX_FRMB 0x0040
///////////////////////////////////////////////////////////
#define RA_FOPCmdIDX_FRMA_FLDX_FLDB 0x0068
///////////////////////////////////////////////////////////
#define RA_FOPCmdIDX_FRMA_FRMX_FLDB 0x0090
///////////////////////////////////////////////////////////
#define RA_FOPCmdIDX_FLDA_FLDX_FRMB 0x00B4
///////////////////////////////////////////////////////////
#define RA_FOPCmdIDX_FLDA_FRMX_FLDB 0x00D4
///////////////////////////////////////////////////////////
#define RA_FOPCmdIDX_FRMA_FLDX_FRMB 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_FOPCmdIDX {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FRMA_FRMX_FRMB[8];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FLDA_FLDX_FLDB[8];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FLDA_FRMX_FRMB[10];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FRMA_FLDX_FLDB[10];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FRMA_FRMX_FLDB[9];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FLDA_FLDX_FRMB[8];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FLDA_FRMX_FLDB[11];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FRMA_FLDX_FRMB[10];
///////////////////////////////////////////////////////////
} SIE_FOPCmdIDX;
///////////////////////////////////////////////////////////
SIGN32 FOPCmdIDX_drvrd(SIE_FOPCmdIDX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FOPCmdIDX_drvwr(SIE_FOPCmdIDX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FOPCmdIDX_reset(SIE_FOPCmdIDX *p);
SIGN32 FOPCmdIDX_cmp (SIE_FOPCmdIDX *p, SIE_FOPCmdIDX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FOPCmdIDX_check(p,pie,pfx,hLOG) FOPCmdIDX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FOPCmdIDX_print(p, pfx,hLOG) FOPCmdIDX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FOPCmdIDX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FOPFUNC (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 16 CmdIDX
/// ###
/// * HBO address for entry of command index
/// ###
/// %unsigned 8 NumCMD_0i
/// %unsigned 8 NumCMD_1i
/// ###
/// * Number of commands for even/odd MB in pair
/// * End of FOPCMD
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FOPFUNC
#define h_FOPFUNC (){}
#define BA_FOPFUNC_CmdIDX 0x0000
#define B16FOPFUNC_CmdIDX 0x0000
#define LSb32FOPFUNC_CmdIDX 0
#define LSb16FOPFUNC_CmdIDX 0
#define bFOPFUNC_CmdIDX 16
#define MSK32FOPFUNC_CmdIDX 0x0000FFFF
#define BA_FOPFUNC_NumCMD_0i 0x0002
#define B16FOPFUNC_NumCMD_0i 0x0002
#define LSb32FOPFUNC_NumCMD_0i 16
#define LSb16FOPFUNC_NumCMD_0i 0
#define bFOPFUNC_NumCMD_0i 8
#define MSK32FOPFUNC_NumCMD_0i 0x00FF0000
#define BA_FOPFUNC_NumCMD_1i 0x0003
#define B16FOPFUNC_NumCMD_1i 0x0002
#define LSb32FOPFUNC_NumCMD_1i 24
#define LSb16FOPFUNC_NumCMD_1i 8
#define bFOPFUNC_NumCMD_1i 8
#define MSK32FOPFUNC_NumCMD_1i 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_FOPFUNC {
///////////////////////////////////////////////////////////
#define GET32FOPFUNC_CmdIDX(r32) _BFGET_(r32,15, 0)
#define SET32FOPFUNC_CmdIDX(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FOPFUNC_CmdIDX(r16) _BFGET_(r16,15, 0)
#define SET16FOPFUNC_CmdIDX(r16,v) _BFSET_(r16,15, 0,v)
#define GET32FOPFUNC_NumCMD_0i(r32) _BFGET_(r32,23,16)
#define SET32FOPFUNC_NumCMD_0i(r32,v) _BFSET_(r32,23,16,v)
#define GET16FOPFUNC_NumCMD_0i(r16) _BFGET_(r16, 7, 0)
#define SET16FOPFUNC_NumCMD_0i(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32FOPFUNC_NumCMD_1i(r32) _BFGET_(r32,31,24)
#define SET32FOPFUNC_NumCMD_1i(r32,v) _BFSET_(r32,31,24,v)
#define GET16FOPFUNC_NumCMD_1i(r16) _BFGET_(r16,15, 8)
#define SET16FOPFUNC_NumCMD_1i(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_CmdIDX : 16;
UNSG32 u_NumCMD_0i : 8;
UNSG32 u_NumCMD_1i : 8;
///////////////////////////////////////////////////////////
} SIE_FOPFUNC;
///////////////////////////////////////////////////////////
SIGN32 FOPFUNC_drvrd(SIE_FOPFUNC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FOPFUNC_drvwr(SIE_FOPFUNC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FOPFUNC_reset(SIE_FOPFUNC *p);
SIGN32 FOPFUNC_cmp (SIE_FOPFUNC *p, SIE_FOPFUNC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FOPFUNC_check(p,pie,pfx,hLOG) FOPFUNC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FOPFUNC_print(p, pfx,hLOG) FOPFUNC_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FOPFUNC
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FOPFuncTab (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 tab
/// $FOPFUNC tab REG [8]
/// ###
/// * [2:FLD.B][2:FLD.A][2:FLD]
/// * End of FOPFuncTab
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 256b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FOPFuncTab
#define h_FOPFuncTab (){}
#define RA_FOPFuncTab_tab 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_FOPFuncTab {
///////////////////////////////////////////////////////////
SIE_FOPFUNC ie_tab[8];
///////////////////////////////////////////////////////////
} SIE_FOPFuncTab;
///////////////////////////////////////////////////////////
SIGN32 FOPFuncTab_drvrd(SIE_FOPFuncTab *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FOPFuncTab_drvwr(SIE_FOPFuncTab *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FOPFuncTab_reset(SIE_FOPFuncTab *p);
SIGN32 FOPFuncTab_cmp (SIE_FOPFuncTab *p, SIE_FOPFuncTab *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FOPFuncTab_check(p,pie,pfx,hLOG) FOPFuncTab_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FOPFuncTab_print(p, pfx,hLOG) FOPFuncTab_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FOPFuncTab
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ScaleLUT (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 map
/// $LUT8b map REG [8]
/// ###
/// * MPEG2 LUT from q_scale_code to q_scale:
/// * 8b qscale[32] for scaling factors
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 256b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ScaleLUT
#define h_ScaleLUT (){}
#define RA_ScaleLUT_map 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_ScaleLUT {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_map[8];
///////////////////////////////////////////////////////////
} SIE_ScaleLUT;
///////////////////////////////////////////////////////////
SIGN32 ScaleLUT_drvrd(SIE_ScaleLUT *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ScaleLUT_drvwr(SIE_ScaleLUT *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ScaleLUT_reset(SIE_ScaleLUT *p);
SIGN32 ScaleLUT_cmp (SIE_ScaleLUT *p, SIE_ScaleLUT *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ScaleLUT_check(p,pie,pfx,hLOG) ScaleLUT_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ScaleLUT_print(p, pfx,hLOG) ScaleLUT_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ScaleLUT
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE QuantMatrix (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 Quant
/// $LUT8b Quant REG [32]
/// ###
/// * 8b De-Quant Value [2:intra/inter][64]
/// * Scan matrix is integrated
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 128B, bits: 1024b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_QuantMatrix
#define h_QuantMatrix (){}
#define RA_QuantMatrix_Quant 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_QuantMatrix {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_Quant[32];
///////////////////////////////////////////////////////////
} SIE_QuantMatrix;
///////////////////////////////////////////////////////////
SIGN32 QuantMatrix_drvrd(SIE_QuantMatrix *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 QuantMatrix_drvwr(SIE_QuantMatrix *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void QuantMatrix_reset(SIE_QuantMatrix *p);
SIGN32 QuantMatrix_cmp (SIE_QuantMatrix *p, SIE_QuantMatrix *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define QuantMatrix_check(p,pie,pfx,hLOG) QuantMatrix_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define QuantMatrix_print(p, pfx,hLOG) QuantMatrix_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: QuantMatrix
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE MVDSize (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 mvdsize
/// $LUT8b mvdsize REG [4]
/// ###
/// * Cast to 8b size_table[8], 6 elements are used in progressive picture and 16 used in interlaced field for mvd calculation
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_MVDSize
#define h_MVDSize (){}
#define RA_MVDSize_mvdsize 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_MVDSize {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_mvdsize[4];
///////////////////////////////////////////////////////////
} SIE_MVDSize;
///////////////////////////////////////////////////////////
SIGN32 MVDSize_drvrd(SIE_MVDSize *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 MVDSize_drvwr(SIE_MVDSize *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void MVDSize_reset(SIE_MVDSize *p);
SIGN32 MVDSize_cmp (SIE_MVDSize *p, SIE_MVDSize *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define MVDSize_check(p,pie,pfx,hLOG) MVDSize_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define MVDSize_print(p, pfx,hLOG) MVDSize_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: MVDSize
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE MVDOffset (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 mvdoffset
/// $LUT8b mvdoffset REG [2]
/// ###
/// * Cast to 8b offset_table[8], actual 6 elements are used. for mvd calculation
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_MVDOffset
#define h_MVDOffset (){}
#define RA_MVDOffset_mvdoffset 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_MVDOffset {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_mvdoffset[2];
///////////////////////////////////////////////////////////
} SIE_MVDOffset;
///////////////////////////////////////////////////////////
SIGN32 MVDOffset_drvrd(SIE_MVDOffset *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 MVDOffset_drvwr(SIE_MVDOffset *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void MVDOffset_reset(SIE_MVDOffset *p);
SIGN32 MVDOffset_cmp (SIE_MVDOffset *p, SIE_MVDOffset *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define MVDOffset_check(p,pie,pfx,hLOG) MVDOffset_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define MVDOffset_print(p, pfx,hLOG) MVDOffset_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: MVDOffset
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE Bplanes (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 bplane0
/// $LUT8b bplane0 REG [256]
/// ###
/// * Cast to 1b Type for each MB bplane0[255=1920/16*1088/16/32]
/// * NOTE: every MB per bit
/// ###
/// @ 0x00400 (P)
/// # 0x00400 bplane1
/// $LUT8b bplane1 REG [256]
/// ###
/// * Cast to 1b Type for each MB bplane0[255=1920/16*1088/16/32]
/// * NOTE: every MB per bit
/// ###
/// @ 0x00800 (P)
/// # 0x00800 bplane2
/// $LUT8b bplane2 REG [256]
/// ###
/// * Cast to 1b Type for each MB bplane0[255=1920/16*1088/16/32]
/// * NOTE: every MB per bit
/// * End of Bplanes
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 3072B, bits: 24576b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_Bplanes
#define h_Bplanes (){}
#define RA_Bplanes_bplane0 0x0000
///////////////////////////////////////////////////////////
#define RA_Bplanes_bplane1 0x0400
///////////////////////////////////////////////////////////
#define RA_Bplanes_bplane2 0x0800
///////////////////////////////////////////////////////////
typedef struct SIE_Bplanes {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_bplane0[256];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_bplane1[256];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_bplane2[256];
///////////////////////////////////////////////////////////
} SIE_Bplanes;
///////////////////////////////////////////////////////////
SIGN32 Bplanes_drvrd(SIE_Bplanes *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 Bplanes_drvwr(SIE_Bplanes *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void Bplanes_reset(SIE_Bplanes *p);
SIGN32 Bplanes_cmp (SIE_Bplanes *p, SIE_Bplanes *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define Bplanes_check(p,pie,pfx,hLOG) Bplanes_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define Bplanes_print(p, pfx,hLOG) Bplanes_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: Bplanes
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HuffCodeEntry (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 16 codeValue
/// ###
/// * Maximum or minimum code value of specified length.
/// ###
/// %unsigned 16 index
/// ###
/// * Code index corresponding to codeValue.
/// * End of HuffCodeEntry
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HuffCodeEntry
#define h_HuffCodeEntry (){}
#define BA_HuffCodeEntry_codeValue 0x0000
#define B16HuffCodeEntry_codeValue 0x0000
#define LSb32HuffCodeEntry_codeValue 0
#define LSb16HuffCodeEntry_codeValue 0
#define bHuffCodeEntry_codeValue 16
#define MSK32HuffCodeEntry_codeValue 0x0000FFFF
#define BA_HuffCodeEntry_index 0x0002
#define B16HuffCodeEntry_index 0x0002
#define LSb32HuffCodeEntry_index 16
#define LSb16HuffCodeEntry_index 0
#define bHuffCodeEntry_index 16
#define MSK32HuffCodeEntry_index 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_HuffCodeEntry {
///////////////////////////////////////////////////////////
#define GET32HuffCodeEntry_codeValue(r32) _BFGET_(r32,15, 0)
#define SET32HuffCodeEntry_codeValue(r32,v) _BFSET_(r32,15, 0,v)
#define GET16HuffCodeEntry_codeValue(r16) _BFGET_(r16,15, 0)
#define SET16HuffCodeEntry_codeValue(r16,v) _BFSET_(r16,15, 0,v)
#define GET32HuffCodeEntry_index(r32) _BFGET_(r32,31,16)
#define SET32HuffCodeEntry_index(r32,v) _BFSET_(r32,31,16,v)
#define GET16HuffCodeEntry_index(r16) _BFGET_(r16,15, 0)
#define SET16HuffCodeEntry_index(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_codeValue : 16;
UNSG32 u_index : 16;
///////////////////////////////////////////////////////////
} SIE_HuffCodeEntry;
///////////////////////////////////////////////////////////
SIGN32 HuffCodeEntry_drvrd(SIE_HuffCodeEntry *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HuffCodeEntry_drvwr(SIE_HuffCodeEntry *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HuffCodeEntry_reset(SIE_HuffCodeEntry *p);
SIGN32 HuffCodeEntry_cmp (SIE_HuffCodeEntry *p, SIE_HuffCodeEntry *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HuffCodeEntry_check(p,pie,pfx,hLOG) HuffCodeEntry_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HuffCodeEntry_print(p, pfx,hLOG) HuffCodeEntry_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HuffCodeEntry
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HuffCodeTab (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 CodeEntry
/// $HuffCodeEntry CodeEntry REG [16]
/// ###
/// * Code length range is 1~16.
/// * End of HuffCodeTab
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 512b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HuffCodeTab
#define h_HuffCodeTab (){}
#define RA_HuffCodeTab_CodeEntry 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_HuffCodeTab {
///////////////////////////////////////////////////////////
SIE_HuffCodeEntry ie_CodeEntry[16];
///////////////////////////////////////////////////////////
} SIE_HuffCodeTab;
///////////////////////////////////////////////////////////
SIGN32 HuffCodeTab_drvrd(SIE_HuffCodeTab *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HuffCodeTab_drvwr(SIE_HuffCodeTab *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HuffCodeTab_reset(SIE_HuffCodeTab *p);
SIGN32 HuffCodeTab_cmp (SIE_HuffCodeTab *p, SIE_HuffCodeTab *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HuffCodeTab_check(p,pie,pfx,hLOG) HuffCodeTab_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HuffCodeTab_print(p, pfx,hLOG) HuffCodeTab_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HuffCodeTab
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BitPlane (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 bplane
/// $LUT8b bplane REG [256]
/// ###
/// * Cast to 1b Type for each MB bplane[256=1920/16*1088/16/32]
/// * NOTE: every MB per bit
/// * End of BitPlane
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 1024B, bits: 8192b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BitPlane
#define h_BitPlane (){}
#define RA_BitPlane_bplane 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_BitPlane {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_bplane[256];
///////////////////////////////////////////////////////////
} SIE_BitPlane;
///////////////////////////////////////////////////////////
SIGN32 BitPlane_drvrd(SIE_BitPlane *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BitPlane_drvwr(SIE_BitPlane *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BitPlane_reset(SIE_BitPlane *p);
SIGN32 BitPlane_cmp (SIE_BitPlane *p, SIE_BitPlane *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BitPlane_check(p,pie,pfx,hLOG) BitPlane_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BitPlane_print(p, pfx,hLOG) BitPlane_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BitPlane
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vc1CTXI biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %signed 16 AC0
/// ###
/// * DC or 1st horizontal AC coefficient
/// ###
/// %unsigned 4 DMix0
/// ###
/// * In M3: the higher 4bits of double_quant
/// ###
/// %signed 12 AC1
/// ###
/// * 2nd horizontal AC coefficient
/// ###
/// %unsigned 2 motion
/// ###
/// * Block motion type, see BLK.motion
/// * 0: Intra
/// * 1: Forward
/// * 2: Backward
/// * 3: BI
/// ###
/// %unsigned 2 DMix1
/// ###
/// * In M3: the lower 2bits of double_quant
/// ###
/// %signed 12 AC2
/// ###
/// * 3rd horizontal AC coefficient
/// ###
/// %unsigned 3 type
/// ###
/// * Sub-set of mb_type, see MBPROP.type
/// * 0: skip
/// * 3: inter
/// * 5: intra
/// ###
/// %unsigned 1 rsvd
/// %signed 12 AC3
/// ###
/// * 4th horizontal AC coefficient
/// * End of vc1CTXI
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vc1CTXI
#define h_vc1CTXI (){}
#define BA_vc1CTXI_AC0 0x0000
#define B16vc1CTXI_AC0 0x0000
#define LSb32vc1CTXI_AC0 0
#define LSb16vc1CTXI_AC0 0
#define bvc1CTXI_AC0 16
#define MSK32vc1CTXI_AC0 0x0000FFFF
#define BA_vc1CTXI_DMix0 0x0002
#define B16vc1CTXI_DMix0 0x0002
#define LSb32vc1CTXI_DMix0 16
#define LSb16vc1CTXI_DMix0 0
#define bvc1CTXI_DMix0 4
#define MSK32vc1CTXI_DMix0 0x000F0000
#define BA_vc1CTXI_AC1 0x0002
#define B16vc1CTXI_AC1 0x0002
#define LSb32vc1CTXI_AC1 20
#define LSb16vc1CTXI_AC1 4
#define bvc1CTXI_AC1 12
#define MSK32vc1CTXI_AC1 0xFFF00000
#define BA_vc1CTXI_motion 0x0004
#define B16vc1CTXI_motion 0x0004
#define LSb32vc1CTXI_motion 0
#define LSb16vc1CTXI_motion 0
#define bvc1CTXI_motion 2
#define MSK32vc1CTXI_motion 0x00000003
#define BA_vc1CTXI_DMix1 0x0004
#define B16vc1CTXI_DMix1 0x0004
#define LSb32vc1CTXI_DMix1 2
#define LSb16vc1CTXI_DMix1 2
#define bvc1CTXI_DMix1 2
#define MSK32vc1CTXI_DMix1 0x0000000C
#define BA_vc1CTXI_AC2 0x0004
#define B16vc1CTXI_AC2 0x0004
#define LSb32vc1CTXI_AC2 4
#define LSb16vc1CTXI_AC2 4
#define bvc1CTXI_AC2 12
#define MSK32vc1CTXI_AC2 0x0000FFF0
#define BA_vc1CTXI_type 0x0006
#define B16vc1CTXI_type 0x0006
#define LSb32vc1CTXI_type 16
#define LSb16vc1CTXI_type 0
#define bvc1CTXI_type 3
#define MSK32vc1CTXI_type 0x00070000
#define BA_vc1CTXI_rsvd 0x0006
#define B16vc1CTXI_rsvd 0x0006
#define LSb32vc1CTXI_rsvd 19
#define LSb16vc1CTXI_rsvd 3
#define bvc1CTXI_rsvd 1
#define MSK32vc1CTXI_rsvd 0x00080000
#define BA_vc1CTXI_AC3 0x0006
#define B16vc1CTXI_AC3 0x0006
#define LSb32vc1CTXI_AC3 20
#define LSb16vc1CTXI_AC3 4
#define bvc1CTXI_AC3 12
#define MSK32vc1CTXI_AC3 0xFFF00000
///////////////////////////////////////////////////////////
typedef struct SIE_vc1CTXI {
///////////////////////////////////////////////////////////
#define GET32vc1CTXI_AC0(r32) _BFGET_(r32,15, 0)
#define SET32vc1CTXI_AC0(r32,v) _BFSET_(r32,15, 0,v)
#define GET16vc1CTXI_AC0(r16) _BFGET_(r16,15, 0)
#define SET16vc1CTXI_AC0(r16,v) _BFSET_(r16,15, 0,v)
#define GET32vc1CTXI_DMix0(r32) _BFGET_(r32,19,16)
#define SET32vc1CTXI_DMix0(r32,v) _BFSET_(r32,19,16,v)
#define GET16vc1CTXI_DMix0(r16) _BFGET_(r16, 3, 0)
#define SET16vc1CTXI_DMix0(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32vc1CTXI_AC1(r32) _BFGET_(r32,31,20)
#define SET32vc1CTXI_AC1(r32,v) _BFSET_(r32,31,20,v)
#define GET16vc1CTXI_AC1(r16) _BFGET_(r16,15, 4)
#define SET16vc1CTXI_AC1(r16,v) _BFSET_(r16,15, 4,v)
UNSG32 s_AC0 : 16;
UNSG32 u_DMix0 : 4;
UNSG32 s_AC1 : 12;
///////////////////////////////////////////////////////////
#define GET32vc1CTXI_motion(r32) _BFGET_(r32, 1, 0)
#define SET32vc1CTXI_motion(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16vc1CTXI_motion(r16) _BFGET_(r16, 1, 0)
#define SET16vc1CTXI_motion(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32vc1CTXI_DMix1(r32) _BFGET_(r32, 3, 2)
#define SET32vc1CTXI_DMix1(r32,v) _BFSET_(r32, 3, 2,v)
#define GET16vc1CTXI_DMix1(r16) _BFGET_(r16, 3, 2)
#define SET16vc1CTXI_DMix1(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32vc1CTXI_AC2(r32) _BFGET_(r32,15, 4)
#define SET32vc1CTXI_AC2(r32,v) _BFSET_(r32,15, 4,v)
#define GET16vc1CTXI_AC2(r16) _BFGET_(r16,15, 4)
#define SET16vc1CTXI_AC2(r16,v) _BFSET_(r16,15, 4,v)
#define GET32vc1CTXI_type(r32) _BFGET_(r32,18,16)
#define SET32vc1CTXI_type(r32,v) _BFSET_(r32,18,16,v)
#define GET16vc1CTXI_type(r16) _BFGET_(r16, 2, 0)
#define SET16vc1CTXI_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32vc1CTXI_rsvd(r32) _BFGET_(r32,19,19)
#define SET32vc1CTXI_rsvd(r32,v) _BFSET_(r32,19,19,v)
#define GET16vc1CTXI_rsvd(r16) _BFGET_(r16, 3, 3)
#define SET16vc1CTXI_rsvd(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32vc1CTXI_AC3(r32) _BFGET_(r32,31,20)
#define SET32vc1CTXI_AC3(r32,v) _BFSET_(r32,31,20,v)
#define GET16vc1CTXI_AC3(r16) _BFGET_(r16,15, 4)
#define SET16vc1CTXI_AC3(r16,v) _BFSET_(r16,15, 4,v)
UNSG32 u_motion : 2;
UNSG32 u_DMix1 : 2;
UNSG32 s_AC2 : 12;
UNSG32 u_type : 3;
UNSG32 u_rsvd : 1;
UNSG32 s_AC3 : 12;
///////////////////////////////////////////////////////////
} SIE_vc1CTXI;
///////////////////////////////////////////////////////////
SIGN32 vc1CTXI_drvrd(SIE_vc1CTXI *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vc1CTXI_drvwr(SIE_vc1CTXI *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vc1CTXI_reset(SIE_vc1CTXI *p);
SIGN32 vc1CTXI_cmp (SIE_vc1CTXI *p, SIE_vc1CTXI *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vc1CTXI_check(p,pie,pfx,hLOG) vc1CTXI_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vc1CTXI_print(p, pfx,hLOG) vc1CTXI_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vc1CTXI
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vc1CTXI_Chroma biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %signed 16 AC0
/// ###
/// * DC or 1st horizontal AC coefficient
/// ###
/// %unsigned 3 DMix0
/// ###
/// * M3: the luma cbp's {b1, b2, b3}
/// ###
/// %unsigned 1 rsvd0
/// %signed 12 AC1
/// ###
/// * 2nd horizontal AC coefficient
/// ###
/// %unsigned 2 motion
/// ###
/// * Block motion type, see BLK.motion
/// ###
/// %unsigned 2 DMix1
/// ###
/// * M3: from b0 to b1: {overlapflag, fieldflag}
/// ###
/// %signed 12 AC2
/// ###
/// * 3rd horizontal AC coefficient
/// ###
/// %unsigned 3 type
/// ###
/// * Sub-set of mb_type, see MBPROP.type above
/// * = intra16x16
/// ###
/// %unsigned 1 rsvd1
/// %signed 12 AC3
/// ###
/// * 4th horizontal AC coefficient
/// * End of vc1CTXI_Chroma
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vc1CTXI_Chroma
#define h_vc1CTXI_Chroma (){}
#define BA_vc1CTXI_Chroma_AC0 0x0000
#define B16vc1CTXI_Chroma_AC0 0x0000
#define LSb32vc1CTXI_Chroma_AC0 0
#define LSb16vc1CTXI_Chroma_AC0 0
#define bvc1CTXI_Chroma_AC0 16
#define MSK32vc1CTXI_Chroma_AC0 0x0000FFFF
#define BA_vc1CTXI_Chroma_DMix0 0x0002
#define B16vc1CTXI_Chroma_DMix0 0x0002
#define LSb32vc1CTXI_Chroma_DMix0 16
#define LSb16vc1CTXI_Chroma_DMix0 0
#define bvc1CTXI_Chroma_DMix0 3
#define MSK32vc1CTXI_Chroma_DMix0 0x00070000
#define BA_vc1CTXI_Chroma_rsvd0 0x0002
#define B16vc1CTXI_Chroma_rsvd0 0x0002
#define LSb32vc1CTXI_Chroma_rsvd0 19
#define LSb16vc1CTXI_Chroma_rsvd0 3
#define bvc1CTXI_Chroma_rsvd0 1
#define MSK32vc1CTXI_Chroma_rsvd0 0x00080000
#define BA_vc1CTXI_Chroma_AC1 0x0002
#define B16vc1CTXI_Chroma_AC1 0x0002
#define LSb32vc1CTXI_Chroma_AC1 20
#define LSb16vc1CTXI_Chroma_AC1 4
#define bvc1CTXI_Chroma_AC1 12
#define MSK32vc1CTXI_Chroma_AC1 0xFFF00000
#define BA_vc1CTXI_Chroma_motion 0x0004
#define B16vc1CTXI_Chroma_motion 0x0004
#define LSb32vc1CTXI_Chroma_motion 0
#define LSb16vc1CTXI_Chroma_motion 0
#define bvc1CTXI_Chroma_motion 2
#define MSK32vc1CTXI_Chroma_motion 0x00000003
#define BA_vc1CTXI_Chroma_DMix1 0x0004
#define B16vc1CTXI_Chroma_DMix1 0x0004
#define LSb32vc1CTXI_Chroma_DMix1 2
#define LSb16vc1CTXI_Chroma_DMix1 2
#define bvc1CTXI_Chroma_DMix1 2
#define MSK32vc1CTXI_Chroma_DMix1 0x0000000C
#define BA_vc1CTXI_Chroma_AC2 0x0004
#define B16vc1CTXI_Chroma_AC2 0x0004
#define LSb32vc1CTXI_Chroma_AC2 4
#define LSb16vc1CTXI_Chroma_AC2 4
#define bvc1CTXI_Chroma_AC2 12
#define MSK32vc1CTXI_Chroma_AC2 0x0000FFF0
#define BA_vc1CTXI_Chroma_type 0x0006
#define B16vc1CTXI_Chroma_type 0x0006
#define LSb32vc1CTXI_Chroma_type 16
#define LSb16vc1CTXI_Chroma_type 0
#define bvc1CTXI_Chroma_type 3
#define MSK32vc1CTXI_Chroma_type 0x00070000
#define BA_vc1CTXI_Chroma_rsvd1 0x0006
#define B16vc1CTXI_Chroma_rsvd1 0x0006
#define LSb32vc1CTXI_Chroma_rsvd1 19
#define LSb16vc1CTXI_Chroma_rsvd1 3
#define bvc1CTXI_Chroma_rsvd1 1
#define MSK32vc1CTXI_Chroma_rsvd1 0x00080000
#define BA_vc1CTXI_Chroma_AC3 0x0006
#define B16vc1CTXI_Chroma_AC3 0x0006
#define LSb32vc1CTXI_Chroma_AC3 20
#define LSb16vc1CTXI_Chroma_AC3 4
#define bvc1CTXI_Chroma_AC3 12
#define MSK32vc1CTXI_Chroma_AC3 0xFFF00000
///////////////////////////////////////////////////////////
typedef struct SIE_vc1CTXI_Chroma {
///////////////////////////////////////////////////////////
#define GET32vc1CTXI_Chroma_AC0(r32) _BFGET_(r32,15, 0)
#define SET32vc1CTXI_Chroma_AC0(r32,v) _BFSET_(r32,15, 0,v)
#define GET16vc1CTXI_Chroma_AC0(r16) _BFGET_(r16,15, 0)
#define SET16vc1CTXI_Chroma_AC0(r16,v) _BFSET_(r16,15, 0,v)
#define GET32vc1CTXI_Chroma_DMix0(r32) _BFGET_(r32,18,16)
#define SET32vc1CTXI_Chroma_DMix0(r32,v) _BFSET_(r32,18,16,v)
#define GET16vc1CTXI_Chroma_DMix0(r16) _BFGET_(r16, 2, 0)
#define SET16vc1CTXI_Chroma_DMix0(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32vc1CTXI_Chroma_rsvd0(r32) _BFGET_(r32,19,19)
#define SET32vc1CTXI_Chroma_rsvd0(r32,v) _BFSET_(r32,19,19,v)
#define GET16vc1CTXI_Chroma_rsvd0(r16) _BFGET_(r16, 3, 3)
#define SET16vc1CTXI_Chroma_rsvd0(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32vc1CTXI_Chroma_AC1(r32) _BFGET_(r32,31,20)
#define SET32vc1CTXI_Chroma_AC1(r32,v) _BFSET_(r32,31,20,v)
#define GET16vc1CTXI_Chroma_AC1(r16) _BFGET_(r16,15, 4)
#define SET16vc1CTXI_Chroma_AC1(r16,v) _BFSET_(r16,15, 4,v)
UNSG32 s_AC0 : 16;
UNSG32 u_DMix0 : 3;
UNSG32 u_rsvd0 : 1;
UNSG32 s_AC1 : 12;
///////////////////////////////////////////////////////////
#define GET32vc1CTXI_Chroma_motion(r32) _BFGET_(r32, 1, 0)
#define SET32vc1CTXI_Chroma_motion(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16vc1CTXI_Chroma_motion(r16) _BFGET_(r16, 1, 0)
#define SET16vc1CTXI_Chroma_motion(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32vc1CTXI_Chroma_DMix1(r32) _BFGET_(r32, 3, 2)
#define SET32vc1CTXI_Chroma_DMix1(r32,v) _BFSET_(r32, 3, 2,v)
#define GET16vc1CTXI_Chroma_DMix1(r16) _BFGET_(r16, 3, 2)
#define SET16vc1CTXI_Chroma_DMix1(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32vc1CTXI_Chroma_AC2(r32) _BFGET_(r32,15, 4)
#define SET32vc1CTXI_Chroma_AC2(r32,v) _BFSET_(r32,15, 4,v)
#define GET16vc1CTXI_Chroma_AC2(r16) _BFGET_(r16,15, 4)
#define SET16vc1CTXI_Chroma_AC2(r16,v) _BFSET_(r16,15, 4,v)
#define GET32vc1CTXI_Chroma_type(r32) _BFGET_(r32,18,16)
#define SET32vc1CTXI_Chroma_type(r32,v) _BFSET_(r32,18,16,v)
#define GET16vc1CTXI_Chroma_type(r16) _BFGET_(r16, 2, 0)
#define SET16vc1CTXI_Chroma_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32vc1CTXI_Chroma_rsvd1(r32) _BFGET_(r32,19,19)
#define SET32vc1CTXI_Chroma_rsvd1(r32,v) _BFSET_(r32,19,19,v)
#define GET16vc1CTXI_Chroma_rsvd1(r16) _BFGET_(r16, 3, 3)
#define SET16vc1CTXI_Chroma_rsvd1(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32vc1CTXI_Chroma_AC3(r32) _BFGET_(r32,31,20)
#define SET32vc1CTXI_Chroma_AC3(r32,v) _BFSET_(r32,31,20,v)
#define GET16vc1CTXI_Chroma_AC3(r16) _BFGET_(r16,15, 4)
#define SET16vc1CTXI_Chroma_AC3(r16,v) _BFSET_(r16,15, 4,v)
UNSG32 u_motion : 2;
UNSG32 u_DMix1 : 2;
UNSG32 s_AC2 : 12;
UNSG32 u_type : 3;
UNSG32 u_rsvd1 : 1;
UNSG32 s_AC3 : 12;
///////////////////////////////////////////////////////////
} SIE_vc1CTXI_Chroma;
///////////////////////////////////////////////////////////
SIGN32 vc1CTXI_Chroma_drvrd(SIE_vc1CTXI_Chroma *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vc1CTXI_Chroma_drvwr(SIE_vc1CTXI_Chroma *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vc1CTXI_Chroma_reset(SIE_vc1CTXI_Chroma *p);
SIGN32 vc1CTXI_Chroma_cmp (SIE_vc1CTXI_Chroma *p, SIE_vc1CTXI_Chroma *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vc1CTXI_Chroma_check(p,pie,pfx,hLOG) vc1CTXI_Chroma_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vc1CTXI_Chroma_print(p, pfx,hLOG) vc1CTXI_Chroma_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vc1CTXI_Chroma
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vc1CTXI4x4 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 luma
/// $vc1CTXI luma REG
/// ###
/// * DC/AC for Y
/// ###
/// @ 0x00008 (P)
/// # 0x00008 chroma
/// $vc1CTXI chroma REG
/// ###
/// * DC/AC for UV
/// * End of vc1CTXI4x4
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vc1CTXI4x4
#define h_vc1CTXI4x4 (){}
#define RA_vc1CTXI4x4_luma 0x0000
///////////////////////////////////////////////////////////
#define RA_vc1CTXI4x4_chroma 0x0008
///////////////////////////////////////////////////////////
typedef struct SIE_vc1CTXI4x4 {
///////////////////////////////////////////////////////////
SIE_vc1CTXI ie_luma;
///////////////////////////////////////////////////////////
SIE_vc1CTXI ie_chroma;
///////////////////////////////////////////////////////////
} SIE_vc1CTXI4x4;
///////////////////////////////////////////////////////////
SIGN32 vc1CTXI4x4_drvrd(SIE_vc1CTXI4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vc1CTXI4x4_drvwr(SIE_vc1CTXI4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vc1CTXI4x4_reset(SIE_vc1CTXI4x4 *p);
SIGN32 vc1CTXI4x4_cmp (SIE_vc1CTXI4x4 *p, SIE_vc1CTXI4x4 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vc1CTXI4x4_check(p,pie,pfx,hLOG) vc1CTXI4x4_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vc1CTXI4x4_print(p, pfx,hLOG) vc1CTXI4x4_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vc1CTXI4x4
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE NIntraCtx biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %signed 16 TopDC
/// ###
/// * The scaled dc on the top of current blk
/// * if 0, it means the top dc should be read from
/// * TopAddr
/// ###
/// %signed 16 LeftDC
/// %signed 16 TopLeftDC
/// %signed 16 TopAddr
/// @ 0x00008 (P)
/// %signed 16 LeftAddr
/// %signed 16 XAddr
/// %signed 16 TopDMB
/// %signed 16 LeftDMB
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_NIntraCtx
#define h_NIntraCtx (){}
#define BA_NIntraCtx_TopDC 0x0000
#define B16NIntraCtx_TopDC 0x0000
#define LSb32NIntraCtx_TopDC 0
#define LSb16NIntraCtx_TopDC 0
#define bNIntraCtx_TopDC 16
#define MSK32NIntraCtx_TopDC 0x0000FFFF
#define BA_NIntraCtx_LeftDC 0x0002
#define B16NIntraCtx_LeftDC 0x0002
#define LSb32NIntraCtx_LeftDC 16
#define LSb16NIntraCtx_LeftDC 0
#define bNIntraCtx_LeftDC 16
#define MSK32NIntraCtx_LeftDC 0xFFFF0000
#define BA_NIntraCtx_TopLeftDC 0x0004
#define B16NIntraCtx_TopLeftDC 0x0004
#define LSb32NIntraCtx_TopLeftDC 0
#define LSb16NIntraCtx_TopLeftDC 0
#define bNIntraCtx_TopLeftDC 16
#define MSK32NIntraCtx_TopLeftDC 0x0000FFFF
#define BA_NIntraCtx_TopAddr 0x0006
#define B16NIntraCtx_TopAddr 0x0006
#define LSb32NIntraCtx_TopAddr 16
#define LSb16NIntraCtx_TopAddr 0
#define bNIntraCtx_TopAddr 16
#define MSK32NIntraCtx_TopAddr 0xFFFF0000
///////////////////////////////////////////////////////////
#define BA_NIntraCtx_LeftAddr 0x0008
#define B16NIntraCtx_LeftAddr 0x0008
#define LSb32NIntraCtx_LeftAddr 0
#define LSb16NIntraCtx_LeftAddr 0
#define bNIntraCtx_LeftAddr 16
#define MSK32NIntraCtx_LeftAddr 0x0000FFFF
#define BA_NIntraCtx_XAddr 0x000A
#define B16NIntraCtx_XAddr 0x000A
#define LSb32NIntraCtx_XAddr 16
#define LSb16NIntraCtx_XAddr 0
#define bNIntraCtx_XAddr 16
#define MSK32NIntraCtx_XAddr 0xFFFF0000
#define BA_NIntraCtx_TopDMB 0x000C
#define B16NIntraCtx_TopDMB 0x000C
#define LSb32NIntraCtx_TopDMB 0
#define LSb16NIntraCtx_TopDMB 0
#define bNIntraCtx_TopDMB 16
#define MSK32NIntraCtx_TopDMB 0x0000FFFF
#define BA_NIntraCtx_LeftDMB 0x000E
#define B16NIntraCtx_LeftDMB 0x000E
#define LSb32NIntraCtx_LeftDMB 16
#define LSb16NIntraCtx_LeftDMB 0
#define bNIntraCtx_LeftDMB 16
#define MSK32NIntraCtx_LeftDMB 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_NIntraCtx {
///////////////////////////////////////////////////////////
#define GET32NIntraCtx_TopDC(r32) _BFGET_(r32,15, 0)
#define SET32NIntraCtx_TopDC(r32,v) _BFSET_(r32,15, 0,v)
#define GET16NIntraCtx_TopDC(r16) _BFGET_(r16,15, 0)
#define SET16NIntraCtx_TopDC(r16,v) _BFSET_(r16,15, 0,v)
#define GET32NIntraCtx_LeftDC(r32) _BFGET_(r32,31,16)
#define SET32NIntraCtx_LeftDC(r32,v) _BFSET_(r32,31,16,v)
#define GET16NIntraCtx_LeftDC(r16) _BFGET_(r16,15, 0)
#define SET16NIntraCtx_LeftDC(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 s_TopDC : 16;
UNSG32 s_LeftDC : 16;
///////////////////////////////////////////////////////////
#define GET32NIntraCtx_TopLeftDC(r32) _BFGET_(r32,15, 0)
#define SET32NIntraCtx_TopLeftDC(r32,v) _BFSET_(r32,15, 0,v)
#define GET16NIntraCtx_TopLeftDC(r16) _BFGET_(r16,15, 0)
#define SET16NIntraCtx_TopLeftDC(r16,v) _BFSET_(r16,15, 0,v)
#define GET32NIntraCtx_TopAddr(r32) _BFGET_(r32,31,16)
#define SET32NIntraCtx_TopAddr(r32,v) _BFSET_(r32,31,16,v)
#define GET16NIntraCtx_TopAddr(r16) _BFGET_(r16,15, 0)
#define SET16NIntraCtx_TopAddr(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 s_TopLeftDC : 16;
UNSG32 s_TopAddr : 16;
///////////////////////////////////////////////////////////
#define GET32NIntraCtx_LeftAddr(r32) _BFGET_(r32,15, 0)
#define SET32NIntraCtx_LeftAddr(r32,v) _BFSET_(r32,15, 0,v)
#define GET16NIntraCtx_LeftAddr(r16) _BFGET_(r16,15, 0)
#define SET16NIntraCtx_LeftAddr(r16,v) _BFSET_(r16,15, 0,v)
#define GET32NIntraCtx_XAddr(r32) _BFGET_(r32,31,16)
#define SET32NIntraCtx_XAddr(r32,v) _BFSET_(r32,31,16,v)
#define GET16NIntraCtx_XAddr(r16) _BFGET_(r16,15, 0)
#define SET16NIntraCtx_XAddr(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 s_LeftAddr : 16;
UNSG32 s_XAddr : 16;
///////////////////////////////////////////////////////////
#define GET32NIntraCtx_TopDMB(r32) _BFGET_(r32,15, 0)
#define SET32NIntraCtx_TopDMB(r32,v) _BFSET_(r32,15, 0,v)
#define GET16NIntraCtx_TopDMB(r16) _BFGET_(r16,15, 0)
#define SET16NIntraCtx_TopDMB(r16,v) _BFSET_(r16,15, 0,v)
#define GET32NIntraCtx_LeftDMB(r32) _BFGET_(r32,31,16)
#define SET32NIntraCtx_LeftDMB(r32,v) _BFSET_(r32,31,16,v)
#define GET16NIntraCtx_LeftDMB(r16) _BFGET_(r16,15, 0)
#define SET16NIntraCtx_LeftDMB(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 s_TopDMB : 16;
UNSG32 s_LeftDMB : 16;
///////////////////////////////////////////////////////////
} SIE_NIntraCtx;
///////////////////////////////////////////////////////////
SIGN32 NIntraCtx_drvrd(SIE_NIntraCtx *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 NIntraCtx_drvwr(SIE_NIntraCtx *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void NIntraCtx_reset(SIE_NIntraCtx *p);
SIGN32 NIntraCtx_cmp (SIE_NIntraCtx *p, SIE_NIntraCtx *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define NIntraCtx_check(p,pie,pfx,hLOG) NIntraCtx_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define NIntraCtx_print(p, pfx,hLOG) NIntraCtx_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: NIntraCtx
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE mp4CTXI biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %signed 16 AC0
/// ###
/// * DC or 1st horizontal AC coefficient
/// ###
/// %unsigned 4 LQP
/// ###
/// * In M0: the lower 4bits of QP
/// ###
/// %signed 12 AC1
/// ###
/// * 2nd horizontal AC coefficient
/// ###
/// %unsigned 2 motion
/// ###
/// * Block motion type, see BLK.motion
/// * 0: Intra
/// * 1: Forward
/// * 2: Backward
/// * 3: BI
/// ###
/// %unsigned 2 HQP
/// ###
/// * In M0: the higher 2bits of QP
/// ###
/// %signed 12 AC2
/// ###
/// * 3rd horizontal AC coefficient
/// ###
/// %unsigned 3 type
/// ###
/// * Sub-set of mb_type, see MBPROP.type
/// * 0: skip
/// * 3: inter
/// * 5: intra
/// ###
/// %unsigned 1 rsvd
/// %signed 12 AC3
/// ###
/// * 4th horizontal AC coefficient
/// * End of mp4CTXI
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_mp4CTXI
#define h_mp4CTXI (){}
#define BA_mp4CTXI_AC0 0x0000
#define B16mp4CTXI_AC0 0x0000
#define LSb32mp4CTXI_AC0 0
#define LSb16mp4CTXI_AC0 0
#define bmp4CTXI_AC0 16
#define MSK32mp4CTXI_AC0 0x0000FFFF
#define BA_mp4CTXI_LQP 0x0002
#define B16mp4CTXI_LQP 0x0002
#define LSb32mp4CTXI_LQP 16
#define LSb16mp4CTXI_LQP 0
#define bmp4CTXI_LQP 4
#define MSK32mp4CTXI_LQP 0x000F0000
#define BA_mp4CTXI_AC1 0x0002
#define B16mp4CTXI_AC1 0x0002
#define LSb32mp4CTXI_AC1 20
#define LSb16mp4CTXI_AC1 4
#define bmp4CTXI_AC1 12
#define MSK32mp4CTXI_AC1 0xFFF00000
#define BA_mp4CTXI_motion 0x0004
#define B16mp4CTXI_motion 0x0004
#define LSb32mp4CTXI_motion 0
#define LSb16mp4CTXI_motion 0
#define bmp4CTXI_motion 2
#define MSK32mp4CTXI_motion 0x00000003
#define BA_mp4CTXI_HQP 0x0004
#define B16mp4CTXI_HQP 0x0004
#define LSb32mp4CTXI_HQP 2
#define LSb16mp4CTXI_HQP 2
#define bmp4CTXI_HQP 2
#define MSK32mp4CTXI_HQP 0x0000000C
#define BA_mp4CTXI_AC2 0x0004
#define B16mp4CTXI_AC2 0x0004
#define LSb32mp4CTXI_AC2 4
#define LSb16mp4CTXI_AC2 4
#define bmp4CTXI_AC2 12
#define MSK32mp4CTXI_AC2 0x0000FFF0
#define BA_mp4CTXI_type 0x0006
#define B16mp4CTXI_type 0x0006
#define LSb32mp4CTXI_type 16
#define LSb16mp4CTXI_type 0
#define bmp4CTXI_type 3
#define MSK32mp4CTXI_type 0x00070000
#define BA_mp4CTXI_rsvd 0x0006
#define B16mp4CTXI_rsvd 0x0006
#define LSb32mp4CTXI_rsvd 19
#define LSb16mp4CTXI_rsvd 3
#define bmp4CTXI_rsvd 1
#define MSK32mp4CTXI_rsvd 0x00080000
#define BA_mp4CTXI_AC3 0x0006
#define B16mp4CTXI_AC3 0x0006
#define LSb32mp4CTXI_AC3 20
#define LSb16mp4CTXI_AC3 4
#define bmp4CTXI_AC3 12
#define MSK32mp4CTXI_AC3 0xFFF00000
///////////////////////////////////////////////////////////
typedef struct SIE_mp4CTXI {
///////////////////////////////////////////////////////////
#define GET32mp4CTXI_AC0(r32) _BFGET_(r32,15, 0)
#define SET32mp4CTXI_AC0(r32,v) _BFSET_(r32,15, 0,v)
#define GET16mp4CTXI_AC0(r16) _BFGET_(r16,15, 0)
#define SET16mp4CTXI_AC0(r16,v) _BFSET_(r16,15, 0,v)
#define GET32mp4CTXI_LQP(r32) _BFGET_(r32,19,16)
#define SET32mp4CTXI_LQP(r32,v) _BFSET_(r32,19,16,v)
#define GET16mp4CTXI_LQP(r16) _BFGET_(r16, 3, 0)
#define SET16mp4CTXI_LQP(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32mp4CTXI_AC1(r32) _BFGET_(r32,31,20)
#define SET32mp4CTXI_AC1(r32,v) _BFSET_(r32,31,20,v)
#define GET16mp4CTXI_AC1(r16) _BFGET_(r16,15, 4)
#define SET16mp4CTXI_AC1(r16,v) _BFSET_(r16,15, 4,v)
UNSG32 s_AC0 : 16;
UNSG32 u_LQP : 4;
UNSG32 s_AC1 : 12;
///////////////////////////////////////////////////////////
#define GET32mp4CTXI_motion(r32) _BFGET_(r32, 1, 0)
#define SET32mp4CTXI_motion(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16mp4CTXI_motion(r16) _BFGET_(r16, 1, 0)
#define SET16mp4CTXI_motion(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32mp4CTXI_HQP(r32) _BFGET_(r32, 3, 2)
#define SET32mp4CTXI_HQP(r32,v) _BFSET_(r32, 3, 2,v)
#define GET16mp4CTXI_HQP(r16) _BFGET_(r16, 3, 2)
#define SET16mp4CTXI_HQP(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32mp4CTXI_AC2(r32) _BFGET_(r32,15, 4)
#define SET32mp4CTXI_AC2(r32,v) _BFSET_(r32,15, 4,v)
#define GET16mp4CTXI_AC2(r16) _BFGET_(r16,15, 4)
#define SET16mp4CTXI_AC2(r16,v) _BFSET_(r16,15, 4,v)
#define GET32mp4CTXI_type(r32) _BFGET_(r32,18,16)
#define SET32mp4CTXI_type(r32,v) _BFSET_(r32,18,16,v)
#define GET16mp4CTXI_type(r16) _BFGET_(r16, 2, 0)
#define SET16mp4CTXI_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32mp4CTXI_rsvd(r32) _BFGET_(r32,19,19)
#define SET32mp4CTXI_rsvd(r32,v) _BFSET_(r32,19,19,v)
#define GET16mp4CTXI_rsvd(r16) _BFGET_(r16, 3, 3)
#define SET16mp4CTXI_rsvd(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32mp4CTXI_AC3(r32) _BFGET_(r32,31,20)
#define SET32mp4CTXI_AC3(r32,v) _BFSET_(r32,31,20,v)
#define GET16mp4CTXI_AC3(r16) _BFGET_(r16,15, 4)
#define SET16mp4CTXI_AC3(r16,v) _BFSET_(r16,15, 4,v)
UNSG32 u_motion : 2;
UNSG32 u_HQP : 2;
UNSG32 s_AC2 : 12;
UNSG32 u_type : 3;
UNSG32 u_rsvd : 1;
UNSG32 s_AC3 : 12;
///////////////////////////////////////////////////////////
} SIE_mp4CTXI;
///////////////////////////////////////////////////////////
SIGN32 mp4CTXI_drvrd(SIE_mp4CTXI *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 mp4CTXI_drvwr(SIE_mp4CTXI *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void mp4CTXI_reset(SIE_mp4CTXI *p);
SIGN32 mp4CTXI_cmp (SIE_mp4CTXI *p, SIE_mp4CTXI *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define mp4CTXI_check(p,pie,pfx,hLOG) mp4CTXI_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define mp4CTXI_print(p, pfx,hLOG) mp4CTXI_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: mp4CTXI
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE mp4CTXI_Chroma biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %signed 16 AC0
/// ###
/// * DC or 1st horizontal AC coefficient
/// ###
/// %signed 16 AC1
/// ###
/// * 2nd horizontal AC coefficient
/// ###
/// %signed 16 AC2
/// ###
/// * 3rd horizontal AC coefficient
/// ###
/// %signed 16 AC3
/// ###
/// * 4th horizontal AC coefficient
/// * End of mp4CTXI_Chroma
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_mp4CTXI_Chroma
#define h_mp4CTXI_Chroma (){}
#define BA_mp4CTXI_Chroma_AC0 0x0000
#define B16mp4CTXI_Chroma_AC0 0x0000
#define LSb32mp4CTXI_Chroma_AC0 0
#define LSb16mp4CTXI_Chroma_AC0 0
#define bmp4CTXI_Chroma_AC0 16
#define MSK32mp4CTXI_Chroma_AC0 0x0000FFFF
#define BA_mp4CTXI_Chroma_AC1 0x0002
#define B16mp4CTXI_Chroma_AC1 0x0002
#define LSb32mp4CTXI_Chroma_AC1 16
#define LSb16mp4CTXI_Chroma_AC1 0
#define bmp4CTXI_Chroma_AC1 16
#define MSK32mp4CTXI_Chroma_AC1 0xFFFF0000
#define BA_mp4CTXI_Chroma_AC2 0x0004
#define B16mp4CTXI_Chroma_AC2 0x0004
#define LSb32mp4CTXI_Chroma_AC2 0
#define LSb16mp4CTXI_Chroma_AC2 0
#define bmp4CTXI_Chroma_AC2 16
#define MSK32mp4CTXI_Chroma_AC2 0x0000FFFF
#define BA_mp4CTXI_Chroma_AC3 0x0006
#define B16mp4CTXI_Chroma_AC3 0x0006
#define LSb32mp4CTXI_Chroma_AC3 16
#define LSb16mp4CTXI_Chroma_AC3 0
#define bmp4CTXI_Chroma_AC3 16
#define MSK32mp4CTXI_Chroma_AC3 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_mp4CTXI_Chroma {
///////////////////////////////////////////////////////////
#define GET32mp4CTXI_Chroma_AC0(r32) _BFGET_(r32,15, 0)
#define SET32mp4CTXI_Chroma_AC0(r32,v) _BFSET_(r32,15, 0,v)
#define GET16mp4CTXI_Chroma_AC0(r16) _BFGET_(r16,15, 0)
#define SET16mp4CTXI_Chroma_AC0(r16,v) _BFSET_(r16,15, 0,v)
#define GET32mp4CTXI_Chroma_AC1(r32) _BFGET_(r32,31,16)
#define SET32mp4CTXI_Chroma_AC1(r32,v) _BFSET_(r32,31,16,v)
#define GET16mp4CTXI_Chroma_AC1(r16) _BFGET_(r16,15, 0)
#define SET16mp4CTXI_Chroma_AC1(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 s_AC0 : 16;
UNSG32 s_AC1 : 16;
///////////////////////////////////////////////////////////
#define GET32mp4CTXI_Chroma_AC2(r32) _BFGET_(r32,15, 0)
#define SET32mp4CTXI_Chroma_AC2(r32,v) _BFSET_(r32,15, 0,v)
#define GET16mp4CTXI_Chroma_AC2(r16) _BFGET_(r16,15, 0)
#define SET16mp4CTXI_Chroma_AC2(r16,v) _BFSET_(r16,15, 0,v)
#define GET32mp4CTXI_Chroma_AC3(r32) _BFGET_(r32,31,16)
#define SET32mp4CTXI_Chroma_AC3(r32,v) _BFSET_(r32,31,16,v)
#define GET16mp4CTXI_Chroma_AC3(r16) _BFGET_(r16,15, 0)
#define SET16mp4CTXI_Chroma_AC3(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 s_AC2 : 16;
UNSG32 s_AC3 : 16;
///////////////////////////////////////////////////////////
} SIE_mp4CTXI_Chroma;
///////////////////////////////////////////////////////////
SIGN32 mp4CTXI_Chroma_drvrd(SIE_mp4CTXI_Chroma *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 mp4CTXI_Chroma_drvwr(SIE_mp4CTXI_Chroma *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void mp4CTXI_Chroma_reset(SIE_mp4CTXI_Chroma *p);
SIGN32 mp4CTXI_Chroma_cmp (SIE_mp4CTXI_Chroma *p, SIE_mp4CTXI_Chroma *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define mp4CTXI_Chroma_check(p,pie,pfx,hLOG) mp4CTXI_Chroma_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define mp4CTXI_Chroma_print(p, pfx,hLOG) mp4CTXI_Chroma_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: mp4CTXI_Chroma
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VC1MBMode (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 4 FLDTX
/// : field_tx 0x1
/// : frame_tx 0x0
/// : no_cbp 0x2
/// ###
/// * Residual transform coding type
/// ###
/// %unsigned 4 MVPresent
/// : mv_present 0x1
/// : mv_not_present 0x0
/// ###
/// * Whether non-zero motion vector differential is present for 1-MV case
/// ###
/// %unsigned 4 MBTYPE
/// : 1mv 0x0
/// : 4mvFld 0x1
/// : 2mvFld 0x2
/// : 4mv 0x3
/// : intra 0x4
/// ###
/// * MB prediction type, definitions should be consistent with BLK.partition
/// * End of VC1MBMode
/// ###
/// %% 20 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 12b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VC1MBMode
#define h_VC1MBMode (){}
#define BA_VC1MBMode_FLDTX 0x0000
#define B16VC1MBMode_FLDTX 0x0000
#define LSb32VC1MBMode_FLDTX 0
#define LSb16VC1MBMode_FLDTX 0
#define bVC1MBMode_FLDTX 4
#define MSK32VC1MBMode_FLDTX 0x0000000F
#define VC1MBMode_FLDTX_field_tx 0x1
#define VC1MBMode_FLDTX_frame_tx 0x0
#define VC1MBMode_FLDTX_no_cbp 0x2
#define BA_VC1MBMode_MVPresent 0x0000
#define B16VC1MBMode_MVPresent 0x0000
#define LSb32VC1MBMode_MVPresent 4
#define LSb16VC1MBMode_MVPresent 4
#define bVC1MBMode_MVPresent 4
#define MSK32VC1MBMode_MVPresent 0x000000F0
#define VC1MBMode_MVPresent_mv_present 0x1
#define VC1MBMode_MVPresent_mv_not_present 0x0
#define BA_VC1MBMode_MBTYPE 0x0001
#define B16VC1MBMode_MBTYPE 0x0000
#define LSb32VC1MBMode_MBTYPE 8
#define LSb16VC1MBMode_MBTYPE 8
#define bVC1MBMode_MBTYPE 4
#define MSK32VC1MBMode_MBTYPE 0x00000F00
#define VC1MBMode_MBTYPE_1mv 0x0
#define VC1MBMode_MBTYPE_4mvFld 0x1
#define VC1MBMode_MBTYPE_2mvFld 0x2
#define VC1MBMode_MBTYPE_4mv 0x3
#define VC1MBMode_MBTYPE_intra 0x4
///////////////////////////////////////////////////////////
typedef struct SIE_VC1MBMode {
///////////////////////////////////////////////////////////
#define GET32VC1MBMode_FLDTX(r32) _BFGET_(r32, 3, 0)
#define SET32VC1MBMode_FLDTX(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16VC1MBMode_FLDTX(r16) _BFGET_(r16, 3, 0)
#define SET16VC1MBMode_FLDTX(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32VC1MBMode_MVPresent(r32) _BFGET_(r32, 7, 4)
#define SET32VC1MBMode_MVPresent(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16VC1MBMode_MVPresent(r16) _BFGET_(r16, 7, 4)
#define SET16VC1MBMode_MVPresent(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32VC1MBMode_MBTYPE(r32) _BFGET_(r32,11, 8)
#define SET32VC1MBMode_MBTYPE(r32,v) _BFSET_(r32,11, 8,v)
#define GET16VC1MBMode_MBTYPE(r16) _BFGET_(r16,11, 8)
#define SET16VC1MBMode_MBTYPE(r16,v) _BFSET_(r16,11, 8,v)
UNSG32 u_FLDTX : 4;
UNSG32 u_MVPresent : 4;
UNSG32 u_MBTYPE : 4;
UNSG32 RSVDx0_b12 : 20;
///////////////////////////////////////////////////////////
} SIE_VC1MBMode;
///////////////////////////////////////////////////////////
SIGN32 VC1MBMode_drvrd(SIE_VC1MBMode *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VC1MBMode_drvwr(SIE_VC1MBMode *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VC1MBMode_reset(SIE_VC1MBMode *p);
SIGN32 VC1MBMode_cmp (SIE_VC1MBMode *p, SIE_VC1MBMode *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VC1MBMode_check(p,pie,pfx,hLOG) VC1MBMode_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VC1MBMode_print(p, pfx,hLOG) VC1MBMode_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VC1MBMode
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CtxMPGx (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 MPG (P)
/// %unsigned 1 frmcoding
/// ###
/// * MPEG2,4/VC1 : Frame or field coding
/// ###
/// %unsigned 1 btmfld
/// ###
/// * MPEG2/VC1: Top or Bottom field
/// ###
/// %unsigned 1 frmdct
/// ###
/// * MPEG2: Frame or field DCT in Sequence level
/// * whether FLD DCT enabled
/// ###
/// %unsigned 1 svhd
/// ###
/// * MPEG4: whether Short video header used,that may influence DC_pred and DC decode
/// * MPEG2: Mpeg1 coding flag
/// * vc1: 1: if (fraction >= ½),
/// * 0: else
/// * This is used for Table 57. B frame motion prediction type decode. (fraction is derived from table 40)
/// ###
/// %unsigned 1 qtype
/// ###
/// * MPEG4: Quantization Type 0:263, 1,mpeg
/// * MPEG2: q_scale_type
/// * vc1: 0 : uniform
/// * 1: non_uniform
/// ###
/// %unsigned 1 ivlc
/// ###
/// * MPEG2: intra_vlc_format
/// * vc1: 0: 1<= PQUANT <=7 or if VOPDQUANT is
/// * present and quantizer can vary in
/// * picture
/// * 1: else
/// * refer to spec page 113, Table59 Escape Mode3
/// ###
/// %unsigned 1 sptialmv
/// ###
/// * MPEG2: concealment_motion_vectors
/// * MPEG4: quarter_sample of MV
/// * vc1: half perl flag, derived from mvmode
/// ###
/// %unsigned 1 alscan
/// ###
/// * MPEG2: alternate_scan
/// * MPEG4: alternate_scan of interlacing picture
/// ###
/// %unsigned 1 ftfr
/// ###
/// * MPEG4: forward_top_field_reference
/// * MPEG2:full_pel_forward_vector
/// * VC1: forward_top_field_reference
/// ###
/// %unsigned 1 fbfr
/// ###
/// * MPEG4: forward_bottom_field_reference
/// * VC1: forward_bottom_field_reference
/// ###
/// %unsigned 1 btfr
/// ###
/// * MPEG4: backward_top_field_reference
/// * MPEG2:full_pel_backward_vector
/// * VC1: backward_top_field_reference
/// ###
/// %unsigned 1 bbfr
/// ###
/// * MPEG4: backward_bottom_field_reference
/// * VC1: backward_bottom_field_reference
/// ###
/// %unsigned 1 rawskip
/// ###
/// * VC1: P /B:skip
/// * I: conditional overlap
/// ###
/// %unsigned 1 rawmvtype
/// ###
/// * VC1: P:1 MV or 4 MV in MB level
/// * I: AC Prediction flag
/// * B:direct (FORWARDMB in interlace field B)
/// ###
/// %unsigned 1 rawfld
/// ###
/// * VC1: whether field coding enabled in frame
/// ###
/// %unsigned 1 TTMBF
/// ###
/// * vc1: whether TTMB occurs in MB layer syntax
/// ###
/// %unsigned 5 intrdcthr
/// ###
/// * MPEG4: intra_dc_threshold
/// ###
/// %unsigned 3 forcod
/// ###
/// * MPEG1,4: forward mv precision
/// ###
/// %unsigned 2 dcprcis
/// ###
/// * MPEG2: DC precision
/// * VC1: Transform type in frame level
/// ###
/// %unsigned 3 bckcod
/// ###
/// * MPEG1,4: backward mv precision
/// ###
/// %unsigned 1 topfst
/// ###
/// * MPEG2/4: top field first, used for MV calculation
/// ###
/// %unsigned 1 rounding
/// ###
/// * MPEG4: rounding control for MC
/// * VC1: Rounding control bits
/// ###
/// %unsigned 1 RVSD0
/// # 0x00004 MPG1
/// %unsigned 4 fcode_0i
/// %unsigned 4 fcode_1i
/// %unsigned 4 fcode_2i
/// %unsigned 4 fcode_3i
/// ###
/// * MPEG2:mv precision
/// * 0 forward horizontal
/// * 1 forward vertical
/// * 2 backward horizontal
/// * 3 backward vertical
/// ###
/// %unsigned 16 time_pp
/// ###
/// * MPEG4:time_pp (Calculate B distance)
/// * vc1: ScaleFactor, for direct B, derived from
/// * BFRACTION. So numerator,
/// * denominator, reciprocal need not be
/// * filled
/// ###
/// @ 0x00008 WMV (P)
/// %unsigned 3 cbptab
/// ###
/// * For cbp table selection: CBPTAB and
/// * ICBPTAB
/// ###
/// %unsigned 3 mvtab
/// ###
/// * For mv table selection: MVTAB or IMVTAB
/// ###
/// %unsigned 2 mvbptab2
/// ###
/// * For interlace frame or field 2MVBPTAB
/// ###
/// %unsigned 2 mvbptab4
/// ###
/// * For interlace frame or field 4MVBPTAB
/// * if (4MVSWITCH == 1)
/// ###
/// %unsigned 3 mbmodtab
/// ###
/// * MBMODETAB
/// ###
/// %unsigned 2 transac
/// ###
/// * For ac coefficient decoding: TRANSACFRM
/// * 0, 1, 2
/// ###
/// %unsigned 1 transdc
/// ###
/// * For dc decoding: TRANSDCTAB
/// ###
/// %unsigned 2 transac2
/// ###
/// * For I picture luma ac: TRANSACFRM2
/// * 0, 1, 2
/// ###
/// %unsigned 5 pqidx
/// ###
/// * PQINDEX needed for table selection
/// ###
/// %unsigned 2 condover
/// ###
/// * For I/BI overlap smoothing:
/// * if OVERLAP = 0: condover = 0b
/// * if OVERLAP = 1 && PQUANT > 8:
/// * condover = 10b
/// * if OVERLAP = 1 && PQUANT <= 8:
/// * condover = 11b
/// ###
/// %% 7 # Stuffing bits...
/// # 0x0000C WMV1
/// %unsigned 2 mvrange
/// ###
/// * VC1: mvrange 4 kinds of MV range for mv(X,Y)
/// ###
/// %unsigned 3 numerator
/// ###
/// * VC1: numerator value for B direct mode
/// ###
/// %unsigned 2 denominator
/// ###
/// * VC1: denominator(5+Value) value for B Direct
/// ###
/// %unsigned 2 mvmode
/// ###
/// * VC1: mvmode 4 kinds of mv mode in pic level
/// * (Intensity not needed in MB level decoding)
/// * 0: 1-MV Half-pel bilinear
/// * 1: 1-MV
/// * 2: 1-MV Half-pel
/// * 3: Mixed-MV
/// ###
/// %unsigned 1 4mvSwitch
/// ###
/// * VC1: 4mvswitch only present in interlacing coded frame
/// ###
/// %unsigned 1 refDist
/// ###
/// * VC1: refdist only present in field picture for B direct
/// ###
/// %unsigned 1 refNum
/// ###
/// * VC1: refnum determine whether one field has 2 ref in P
/// ###
/// %unsigned 1 refFiled
/// ###
/// * VC1: reffiled determine which of 2 ref is used as ref in P
/// * <Repalced by btfr series above>
/// ###
/// %unsigned 1 exmvdx
/// ###
/// * VC1: exmvdx DMV extend x present flag
/// ###
/// %unsigned 1 exmvdy
/// ###
/// * VC1: exmvdy DMV extend y present flag
/// ###
/// %unsigned 1 fastUV
/// ###
/// * VC1: fastuv fast UV mv calculation
/// ###
/// %unsigned 1 dQtype_0i
/// %unsigned 1 dQtype_1i
/// %unsigned 1 dQtype_2i
/// %unsigned 1 dQtype_3i
/// ###
/// * VC1: 4 bits De-Quantize type presenting for:
/// * - up, bottom,left,right edge
/// ###
/// %unsigned 1 dQFrm
/// ###
/// * 0: all MB use PQUANT
/// * 1: else
/// ###
/// %unsigned 1 dQProfile
/// ###
/// * 1: all Mbs can have their own QP
/// * 0: else
/// ###
/// %unsigned 1 halfQP
/// ###
/// * VC1: half qp value, when MB use Pquant<8
/// ###
/// %unsigned 1 dQbiLvl
/// ###
/// * VC1: dqbilvl, determine De-quantize range
/// ###
/// %unsigned 5 altQuant
/// ###
/// * VC1: altquant , alterlate quantization
/// * End of CtxMPGx
/// ###
/// %% 3 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 118b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CtxMPGx
#define h_CtxMPGx (){}
#define RA_CtxMPGx_MPG 0x0000
#define BA_CtxMPGx_MPG_frmcoding 0x0000
#define B16CtxMPGx_MPG_frmcoding 0x0000
#define LSb32CtxMPGx_MPG_frmcoding 0
#define LSb16CtxMPGx_MPG_frmcoding 0
#define bCtxMPGx_MPG_frmcoding 1
#define MSK32CtxMPGx_MPG_frmcoding 0x00000001
#define BA_CtxMPGx_MPG_btmfld 0x0000
#define B16CtxMPGx_MPG_btmfld 0x0000
#define LSb32CtxMPGx_MPG_btmfld 1
#define LSb16CtxMPGx_MPG_btmfld 1
#define bCtxMPGx_MPG_btmfld 1
#define MSK32CtxMPGx_MPG_btmfld 0x00000002
#define BA_CtxMPGx_MPG_frmdct 0x0000
#define B16CtxMPGx_MPG_frmdct 0x0000
#define LSb32CtxMPGx_MPG_frmdct 2
#define LSb16CtxMPGx_MPG_frmdct 2
#define bCtxMPGx_MPG_frmdct 1
#define MSK32CtxMPGx_MPG_frmdct 0x00000004
#define BA_CtxMPGx_MPG_svhd 0x0000
#define B16CtxMPGx_MPG_svhd 0x0000
#define LSb32CtxMPGx_MPG_svhd 3
#define LSb16CtxMPGx_MPG_svhd 3
#define bCtxMPGx_MPG_svhd 1
#define MSK32CtxMPGx_MPG_svhd 0x00000008
#define BA_CtxMPGx_MPG_qtype 0x0000
#define B16CtxMPGx_MPG_qtype 0x0000
#define LSb32CtxMPGx_MPG_qtype 4
#define LSb16CtxMPGx_MPG_qtype 4
#define bCtxMPGx_MPG_qtype 1
#define MSK32CtxMPGx_MPG_qtype 0x00000010
#define BA_CtxMPGx_MPG_ivlc 0x0000
#define B16CtxMPGx_MPG_ivlc 0x0000
#define LSb32CtxMPGx_MPG_ivlc 5
#define LSb16CtxMPGx_MPG_ivlc 5
#define bCtxMPGx_MPG_ivlc 1
#define MSK32CtxMPGx_MPG_ivlc 0x00000020
#define BA_CtxMPGx_MPG_sptialmv 0x0000
#define B16CtxMPGx_MPG_sptialmv 0x0000
#define LSb32CtxMPGx_MPG_sptialmv 6
#define LSb16CtxMPGx_MPG_sptialmv 6
#define bCtxMPGx_MPG_sptialmv 1
#define MSK32CtxMPGx_MPG_sptialmv 0x00000040
#define BA_CtxMPGx_MPG_alscan 0x0000
#define B16CtxMPGx_MPG_alscan 0x0000
#define LSb32CtxMPGx_MPG_alscan 7
#define LSb16CtxMPGx_MPG_alscan 7
#define bCtxMPGx_MPG_alscan 1
#define MSK32CtxMPGx_MPG_alscan 0x00000080
#define BA_CtxMPGx_MPG_ftfr 0x0001
#define B16CtxMPGx_MPG_ftfr 0x0000
#define LSb32CtxMPGx_MPG_ftfr 8
#define LSb16CtxMPGx_MPG_ftfr 8
#define bCtxMPGx_MPG_ftfr 1
#define MSK32CtxMPGx_MPG_ftfr 0x00000100
#define BA_CtxMPGx_MPG_fbfr 0x0001
#define B16CtxMPGx_MPG_fbfr 0x0000
#define LSb32CtxMPGx_MPG_fbfr 9
#define LSb16CtxMPGx_MPG_fbfr 9
#define bCtxMPGx_MPG_fbfr 1
#define MSK32CtxMPGx_MPG_fbfr 0x00000200
#define BA_CtxMPGx_MPG_btfr 0x0001
#define B16CtxMPGx_MPG_btfr 0x0000
#define LSb32CtxMPGx_MPG_btfr 10
#define LSb16CtxMPGx_MPG_btfr 10
#define bCtxMPGx_MPG_btfr 1
#define MSK32CtxMPGx_MPG_btfr 0x00000400
#define BA_CtxMPGx_MPG_bbfr 0x0001
#define B16CtxMPGx_MPG_bbfr 0x0000
#define LSb32CtxMPGx_MPG_bbfr 11
#define LSb16CtxMPGx_MPG_bbfr 11
#define bCtxMPGx_MPG_bbfr 1
#define MSK32CtxMPGx_MPG_bbfr 0x00000800
#define BA_CtxMPGx_MPG_rawskip 0x0001
#define B16CtxMPGx_MPG_rawskip 0x0000
#define LSb32CtxMPGx_MPG_rawskip 12
#define LSb16CtxMPGx_MPG_rawskip 12
#define bCtxMPGx_MPG_rawskip 1
#define MSK32CtxMPGx_MPG_rawskip 0x00001000
#define BA_CtxMPGx_MPG_rawmvtype 0x0001
#define B16CtxMPGx_MPG_rawmvtype 0x0000
#define LSb32CtxMPGx_MPG_rawmvtype 13
#define LSb16CtxMPGx_MPG_rawmvtype 13
#define bCtxMPGx_MPG_rawmvtype 1
#define MSK32CtxMPGx_MPG_rawmvtype 0x00002000
#define BA_CtxMPGx_MPG_rawfld 0x0001
#define B16CtxMPGx_MPG_rawfld 0x0000
#define LSb32CtxMPGx_MPG_rawfld 14
#define LSb16CtxMPGx_MPG_rawfld 14
#define bCtxMPGx_MPG_rawfld 1
#define MSK32CtxMPGx_MPG_rawfld 0x00004000
#define BA_CtxMPGx_MPG_TTMBF 0x0001
#define B16CtxMPGx_MPG_TTMBF 0x0000
#define LSb32CtxMPGx_MPG_TTMBF 15
#define LSb16CtxMPGx_MPG_TTMBF 15
#define bCtxMPGx_MPG_TTMBF 1
#define MSK32CtxMPGx_MPG_TTMBF 0x00008000
#define BA_CtxMPGx_MPG_intrdcthr 0x0002
#define B16CtxMPGx_MPG_intrdcthr 0x0002
#define LSb32CtxMPGx_MPG_intrdcthr 16
#define LSb16CtxMPGx_MPG_intrdcthr 0
#define bCtxMPGx_MPG_intrdcthr 5
#define MSK32CtxMPGx_MPG_intrdcthr 0x001F0000
#define BA_CtxMPGx_MPG_forcod 0x0002
#define B16CtxMPGx_MPG_forcod 0x0002
#define LSb32CtxMPGx_MPG_forcod 21
#define LSb16CtxMPGx_MPG_forcod 5
#define bCtxMPGx_MPG_forcod 3
#define MSK32CtxMPGx_MPG_forcod 0x00E00000
#define BA_CtxMPGx_MPG_dcprcis 0x0003
#define B16CtxMPGx_MPG_dcprcis 0x0002
#define LSb32CtxMPGx_MPG_dcprcis 24
#define LSb16CtxMPGx_MPG_dcprcis 8
#define bCtxMPGx_MPG_dcprcis 2
#define MSK32CtxMPGx_MPG_dcprcis 0x03000000
#define BA_CtxMPGx_MPG_bckcod 0x0003
#define B16CtxMPGx_MPG_bckcod 0x0002
#define LSb32CtxMPGx_MPG_bckcod 26
#define LSb16CtxMPGx_MPG_bckcod 10
#define bCtxMPGx_MPG_bckcod 3
#define MSK32CtxMPGx_MPG_bckcod 0x1C000000
#define BA_CtxMPGx_MPG_topfst 0x0003
#define B16CtxMPGx_MPG_topfst 0x0002
#define LSb32CtxMPGx_MPG_topfst 29
#define LSb16CtxMPGx_MPG_topfst 13
#define bCtxMPGx_MPG_topfst 1
#define MSK32CtxMPGx_MPG_topfst 0x20000000
#define BA_CtxMPGx_MPG_rounding 0x0003
#define B16CtxMPGx_MPG_rounding 0x0002
#define LSb32CtxMPGx_MPG_rounding 30
#define LSb16CtxMPGx_MPG_rounding 14
#define bCtxMPGx_MPG_rounding 1
#define MSK32CtxMPGx_MPG_rounding 0x40000000
#define BA_CtxMPGx_MPG_RVSD0 0x0003
#define B16CtxMPGx_MPG_RVSD0 0x0002
#define LSb32CtxMPGx_MPG_RVSD0 31
#define LSb16CtxMPGx_MPG_RVSD0 15
#define bCtxMPGx_MPG_RVSD0 1
#define MSK32CtxMPGx_MPG_RVSD0 0x80000000
#define RA_CtxMPGx_MPG1 0x0004
#define BA_CtxMPGx_MPG_fcode_0i 0x0004
#define B16CtxMPGx_MPG_fcode_0i 0x0004
#define LSb32CtxMPGx_MPG_fcode_0i 0
#define LSb16CtxMPGx_MPG_fcode_0i 0
#define bCtxMPGx_MPG_fcode_0i 4
#define MSK32CtxMPGx_MPG_fcode_0i 0x0000000F
#define BA_CtxMPGx_MPG_fcode_1i 0x0004
#define B16CtxMPGx_MPG_fcode_1i 0x0004
#define LSb32CtxMPGx_MPG_fcode_1i 4
#define LSb16CtxMPGx_MPG_fcode_1i 4
#define bCtxMPGx_MPG_fcode_1i 4
#define MSK32CtxMPGx_MPG_fcode_1i 0x000000F0
#define BA_CtxMPGx_MPG_fcode_2i 0x0005
#define B16CtxMPGx_MPG_fcode_2i 0x0004
#define LSb32CtxMPGx_MPG_fcode_2i 8
#define LSb16CtxMPGx_MPG_fcode_2i 8
#define bCtxMPGx_MPG_fcode_2i 4
#define MSK32CtxMPGx_MPG_fcode_2i 0x00000F00
#define BA_CtxMPGx_MPG_fcode_3i 0x0005
#define B16CtxMPGx_MPG_fcode_3i 0x0004
#define LSb32CtxMPGx_MPG_fcode_3i 12
#define LSb16CtxMPGx_MPG_fcode_3i 12
#define bCtxMPGx_MPG_fcode_3i 4
#define MSK32CtxMPGx_MPG_fcode_3i 0x0000F000
#define BA_CtxMPGx_MPG_time_pp 0x0006
#define B16CtxMPGx_MPG_time_pp 0x0006
#define LSb32CtxMPGx_MPG_time_pp 16
#define LSb16CtxMPGx_MPG_time_pp 0
#define bCtxMPGx_MPG_time_pp 16
#define MSK32CtxMPGx_MPG_time_pp 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_CtxMPGx_WMV 0x0008
#define BA_CtxMPGx_WMV_cbptab 0x0008
#define B16CtxMPGx_WMV_cbptab 0x0008
#define LSb32CtxMPGx_WMV_cbptab 0
#define LSb16CtxMPGx_WMV_cbptab 0
#define bCtxMPGx_WMV_cbptab 3
#define MSK32CtxMPGx_WMV_cbptab 0x00000007
#define BA_CtxMPGx_WMV_mvtab 0x0008
#define B16CtxMPGx_WMV_mvtab 0x0008
#define LSb32CtxMPGx_WMV_mvtab 3
#define LSb16CtxMPGx_WMV_mvtab 3
#define bCtxMPGx_WMV_mvtab 3
#define MSK32CtxMPGx_WMV_mvtab 0x00000038
#define BA_CtxMPGx_WMV_mvbptab2 0x0008
#define B16CtxMPGx_WMV_mvbptab2 0x0008
#define LSb32CtxMPGx_WMV_mvbptab2 6
#define LSb16CtxMPGx_WMV_mvbptab2 6
#define bCtxMPGx_WMV_mvbptab2 2
#define MSK32CtxMPGx_WMV_mvbptab2 0x000000C0
#define BA_CtxMPGx_WMV_mvbptab4 0x0009
#define B16CtxMPGx_WMV_mvbptab4 0x0008
#define LSb32CtxMPGx_WMV_mvbptab4 8
#define LSb16CtxMPGx_WMV_mvbptab4 8
#define bCtxMPGx_WMV_mvbptab4 2
#define MSK32CtxMPGx_WMV_mvbptab4 0x00000300
#define BA_CtxMPGx_WMV_mbmodtab 0x0009
#define B16CtxMPGx_WMV_mbmodtab 0x0008
#define LSb32CtxMPGx_WMV_mbmodtab 10
#define LSb16CtxMPGx_WMV_mbmodtab 10
#define bCtxMPGx_WMV_mbmodtab 3
#define MSK32CtxMPGx_WMV_mbmodtab 0x00001C00
#define BA_CtxMPGx_WMV_transac 0x0009
#define B16CtxMPGx_WMV_transac 0x0008
#define LSb32CtxMPGx_WMV_transac 13
#define LSb16CtxMPGx_WMV_transac 13
#define bCtxMPGx_WMV_transac 2
#define MSK32CtxMPGx_WMV_transac 0x00006000
#define BA_CtxMPGx_WMV_transdc 0x0009
#define B16CtxMPGx_WMV_transdc 0x0008
#define LSb32CtxMPGx_WMV_transdc 15
#define LSb16CtxMPGx_WMV_transdc 15
#define bCtxMPGx_WMV_transdc 1
#define MSK32CtxMPGx_WMV_transdc 0x00008000
#define BA_CtxMPGx_WMV_transac2 0x000A
#define B16CtxMPGx_WMV_transac2 0x000A
#define LSb32CtxMPGx_WMV_transac2 16
#define LSb16CtxMPGx_WMV_transac2 0
#define bCtxMPGx_WMV_transac2 2
#define MSK32CtxMPGx_WMV_transac2 0x00030000
#define BA_CtxMPGx_WMV_pqidx 0x000A
#define B16CtxMPGx_WMV_pqidx 0x000A
#define LSb32CtxMPGx_WMV_pqidx 18
#define LSb16CtxMPGx_WMV_pqidx 2
#define bCtxMPGx_WMV_pqidx 5
#define MSK32CtxMPGx_WMV_pqidx 0x007C0000
#define BA_CtxMPGx_WMV_condover 0x000A
#define B16CtxMPGx_WMV_condover 0x000A
#define LSb32CtxMPGx_WMV_condover 23
#define LSb16CtxMPGx_WMV_condover 7
#define bCtxMPGx_WMV_condover 2
#define MSK32CtxMPGx_WMV_condover 0x01800000
#define RA_CtxMPGx_WMV1 0x000C
#define BA_CtxMPGx_WMV_mvrange 0x000C
#define B16CtxMPGx_WMV_mvrange 0x000C
#define LSb32CtxMPGx_WMV_mvrange 0
#define LSb16CtxMPGx_WMV_mvrange 0
#define bCtxMPGx_WMV_mvrange 2
#define MSK32CtxMPGx_WMV_mvrange 0x00000003
#define BA_CtxMPGx_WMV_numerator 0x000C
#define B16CtxMPGx_WMV_numerator 0x000C
#define LSb32CtxMPGx_WMV_numerator 2
#define LSb16CtxMPGx_WMV_numerator 2
#define bCtxMPGx_WMV_numerator 3
#define MSK32CtxMPGx_WMV_numerator 0x0000001C
#define BA_CtxMPGx_WMV_denominator 0x000C
#define B16CtxMPGx_WMV_denominator 0x000C
#define LSb32CtxMPGx_WMV_denominator 5
#define LSb16CtxMPGx_WMV_denominator 5
#define bCtxMPGx_WMV_denominator 2
#define MSK32CtxMPGx_WMV_denominator 0x00000060
#define BA_CtxMPGx_WMV_mvmode 0x000C
#define B16CtxMPGx_WMV_mvmode 0x000C
#define LSb32CtxMPGx_WMV_mvmode 7
#define LSb16CtxMPGx_WMV_mvmode 7
#define bCtxMPGx_WMV_mvmode 2
#define MSK32CtxMPGx_WMV_mvmode 0x00000180
#define BA_CtxMPGx_WMV_4mvSwitch 0x000D
#define B16CtxMPGx_WMV_4mvSwitch 0x000C
#define LSb32CtxMPGx_WMV_4mvSwitch 9
#define LSb16CtxMPGx_WMV_4mvSwitch 9
#define bCtxMPGx_WMV_4mvSwitch 1
#define MSK32CtxMPGx_WMV_4mvSwitch 0x00000200
#define BA_CtxMPGx_WMV_refDist 0x000D
#define B16CtxMPGx_WMV_refDist 0x000C
#define LSb32CtxMPGx_WMV_refDist 10
#define LSb16CtxMPGx_WMV_refDist 10
#define bCtxMPGx_WMV_refDist 1
#define MSK32CtxMPGx_WMV_refDist 0x00000400
#define BA_CtxMPGx_WMV_refNum 0x000D
#define B16CtxMPGx_WMV_refNum 0x000C
#define LSb32CtxMPGx_WMV_refNum 11
#define LSb16CtxMPGx_WMV_refNum 11
#define bCtxMPGx_WMV_refNum 1
#define MSK32CtxMPGx_WMV_refNum 0x00000800
#define BA_CtxMPGx_WMV_refFiled 0x000D
#define B16CtxMPGx_WMV_refFiled 0x000C
#define LSb32CtxMPGx_WMV_refFiled 12
#define LSb16CtxMPGx_WMV_refFiled 12
#define bCtxMPGx_WMV_refFiled 1
#define MSK32CtxMPGx_WMV_refFiled 0x00001000
#define BA_CtxMPGx_WMV_exmvdx 0x000D
#define B16CtxMPGx_WMV_exmvdx 0x000C
#define LSb32CtxMPGx_WMV_exmvdx 13
#define LSb16CtxMPGx_WMV_exmvdx 13
#define bCtxMPGx_WMV_exmvdx 1
#define MSK32CtxMPGx_WMV_exmvdx 0x00002000
#define BA_CtxMPGx_WMV_exmvdy 0x000D
#define B16CtxMPGx_WMV_exmvdy 0x000C
#define LSb32CtxMPGx_WMV_exmvdy 14
#define LSb16CtxMPGx_WMV_exmvdy 14
#define bCtxMPGx_WMV_exmvdy 1
#define MSK32CtxMPGx_WMV_exmvdy 0x00004000
#define BA_CtxMPGx_WMV_fastUV 0x000D
#define B16CtxMPGx_WMV_fastUV 0x000C
#define LSb32CtxMPGx_WMV_fastUV 15
#define LSb16CtxMPGx_WMV_fastUV 15
#define bCtxMPGx_WMV_fastUV 1
#define MSK32CtxMPGx_WMV_fastUV 0x00008000
#define BA_CtxMPGx_WMV_dQtype_0i 0x000E
#define B16CtxMPGx_WMV_dQtype_0i 0x000E
#define LSb32CtxMPGx_WMV_dQtype_0i 16
#define LSb16CtxMPGx_WMV_dQtype_0i 0
#define bCtxMPGx_WMV_dQtype_0i 1
#define MSK32CtxMPGx_WMV_dQtype_0i 0x00010000
#define BA_CtxMPGx_WMV_dQtype_1i 0x000E
#define B16CtxMPGx_WMV_dQtype_1i 0x000E
#define LSb32CtxMPGx_WMV_dQtype_1i 17
#define LSb16CtxMPGx_WMV_dQtype_1i 1
#define bCtxMPGx_WMV_dQtype_1i 1
#define MSK32CtxMPGx_WMV_dQtype_1i 0x00020000
#define BA_CtxMPGx_WMV_dQtype_2i 0x000E
#define B16CtxMPGx_WMV_dQtype_2i 0x000E
#define LSb32CtxMPGx_WMV_dQtype_2i 18
#define LSb16CtxMPGx_WMV_dQtype_2i 2
#define bCtxMPGx_WMV_dQtype_2i 1
#define MSK32CtxMPGx_WMV_dQtype_2i 0x00040000
#define BA_CtxMPGx_WMV_dQtype_3i 0x000E
#define B16CtxMPGx_WMV_dQtype_3i 0x000E
#define LSb32CtxMPGx_WMV_dQtype_3i 19
#define LSb16CtxMPGx_WMV_dQtype_3i 3
#define bCtxMPGx_WMV_dQtype_3i 1
#define MSK32CtxMPGx_WMV_dQtype_3i 0x00080000
#define BA_CtxMPGx_WMV_dQFrm 0x000E
#define B16CtxMPGx_WMV_dQFrm 0x000E
#define LSb32CtxMPGx_WMV_dQFrm 20
#define LSb16CtxMPGx_WMV_dQFrm 4
#define bCtxMPGx_WMV_dQFrm 1
#define MSK32CtxMPGx_WMV_dQFrm 0x00100000
#define BA_CtxMPGx_WMV_dQProfile 0x000E
#define B16CtxMPGx_WMV_dQProfile 0x000E
#define LSb32CtxMPGx_WMV_dQProfile 21
#define LSb16CtxMPGx_WMV_dQProfile 5
#define bCtxMPGx_WMV_dQProfile 1
#define MSK32CtxMPGx_WMV_dQProfile 0x00200000
#define BA_CtxMPGx_WMV_halfQP 0x000E
#define B16CtxMPGx_WMV_halfQP 0x000E
#define LSb32CtxMPGx_WMV_halfQP 22
#define LSb16CtxMPGx_WMV_halfQP 6
#define bCtxMPGx_WMV_halfQP 1
#define MSK32CtxMPGx_WMV_halfQP 0x00400000
#define BA_CtxMPGx_WMV_dQbiLvl 0x000E
#define B16CtxMPGx_WMV_dQbiLvl 0x000E
#define LSb32CtxMPGx_WMV_dQbiLvl 23
#define LSb16CtxMPGx_WMV_dQbiLvl 7
#define bCtxMPGx_WMV_dQbiLvl 1
#define MSK32CtxMPGx_WMV_dQbiLvl 0x00800000
#define BA_CtxMPGx_WMV_altQuant 0x000F
#define B16CtxMPGx_WMV_altQuant 0x000E
#define LSb32CtxMPGx_WMV_altQuant 24
#define LSb16CtxMPGx_WMV_altQuant 8
#define bCtxMPGx_WMV_altQuant 5
#define MSK32CtxMPGx_WMV_altQuant 0x1F000000
///////////////////////////////////////////////////////////
typedef struct SIE_CtxMPGx {
///////////////////////////////////////////////////////////
#define GET32CtxMPGx_MPG_frmcoding(r32) _BFGET_(r32, 0, 0)
#define SET32CtxMPGx_MPG_frmcoding(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16CtxMPGx_MPG_frmcoding(r16) _BFGET_(r16, 0, 0)
#define SET16CtxMPGx_MPG_frmcoding(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32CtxMPGx_MPG_btmfld(r32) _BFGET_(r32, 1, 1)
#define SET32CtxMPGx_MPG_btmfld(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16CtxMPGx_MPG_btmfld(r16) _BFGET_(r16, 1, 1)
#define SET16CtxMPGx_MPG_btmfld(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32CtxMPGx_MPG_frmdct(r32) _BFGET_(r32, 2, 2)
#define SET32CtxMPGx_MPG_frmdct(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16CtxMPGx_MPG_frmdct(r16) _BFGET_(r16, 2, 2)
#define SET16CtxMPGx_MPG_frmdct(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32CtxMPGx_MPG_svhd(r32) _BFGET_(r32, 3, 3)
#define SET32CtxMPGx_MPG_svhd(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16CtxMPGx_MPG_svhd(r16) _BFGET_(r16, 3, 3)
#define SET16CtxMPGx_MPG_svhd(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32CtxMPGx_MPG_qtype(r32) _BFGET_(r32, 4, 4)
#define SET32CtxMPGx_MPG_qtype(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16CtxMPGx_MPG_qtype(r16) _BFGET_(r16, 4, 4)
#define SET16CtxMPGx_MPG_qtype(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32CtxMPGx_MPG_ivlc(r32) _BFGET_(r32, 5, 5)
#define SET32CtxMPGx_MPG_ivlc(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16CtxMPGx_MPG_ivlc(r16) _BFGET_(r16, 5, 5)
#define SET16CtxMPGx_MPG_ivlc(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32CtxMPGx_MPG_sptialmv(r32) _BFGET_(r32, 6, 6)
#define SET32CtxMPGx_MPG_sptialmv(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16CtxMPGx_MPG_sptialmv(r16) _BFGET_(r16, 6, 6)
#define SET16CtxMPGx_MPG_sptialmv(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32CtxMPGx_MPG_alscan(r32) _BFGET_(r32, 7, 7)
#define SET32CtxMPGx_MPG_alscan(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16CtxMPGx_MPG_alscan(r16) _BFGET_(r16, 7, 7)
#define SET16CtxMPGx_MPG_alscan(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32CtxMPGx_MPG_ftfr(r32) _BFGET_(r32, 8, 8)
#define SET32CtxMPGx_MPG_ftfr(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16CtxMPGx_MPG_ftfr(r16) _BFGET_(r16, 8, 8)
#define SET16CtxMPGx_MPG_ftfr(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32CtxMPGx_MPG_fbfr(r32) _BFGET_(r32, 9, 9)
#define SET32CtxMPGx_MPG_fbfr(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16CtxMPGx_MPG_fbfr(r16) _BFGET_(r16, 9, 9)
#define SET16CtxMPGx_MPG_fbfr(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32CtxMPGx_MPG_btfr(r32) _BFGET_(r32,10,10)
#define SET32CtxMPGx_MPG_btfr(r32,v) _BFSET_(r32,10,10,v)
#define GET16CtxMPGx_MPG_btfr(r16) _BFGET_(r16,10,10)
#define SET16CtxMPGx_MPG_btfr(r16,v) _BFSET_(r16,10,10,v)
#define GET32CtxMPGx_MPG_bbfr(r32) _BFGET_(r32,11,11)
#define SET32CtxMPGx_MPG_bbfr(r32,v) _BFSET_(r32,11,11,v)
#define GET16CtxMPGx_MPG_bbfr(r16) _BFGET_(r16,11,11)
#define SET16CtxMPGx_MPG_bbfr(r16,v) _BFSET_(r16,11,11,v)
#define GET32CtxMPGx_MPG_rawskip(r32) _BFGET_(r32,12,12)
#define SET32CtxMPGx_MPG_rawskip(r32,v) _BFSET_(r32,12,12,v)
#define GET16CtxMPGx_MPG_rawskip(r16) _BFGET_(r16,12,12)
#define SET16CtxMPGx_MPG_rawskip(r16,v) _BFSET_(r16,12,12,v)
#define GET32CtxMPGx_MPG_rawmvtype(r32) _BFGET_(r32,13,13)
#define SET32CtxMPGx_MPG_rawmvtype(r32,v) _BFSET_(r32,13,13,v)
#define GET16CtxMPGx_MPG_rawmvtype(r16) _BFGET_(r16,13,13)
#define SET16CtxMPGx_MPG_rawmvtype(r16,v) _BFSET_(r16,13,13,v)
#define GET32CtxMPGx_MPG_rawfld(r32) _BFGET_(r32,14,14)
#define SET32CtxMPGx_MPG_rawfld(r32,v) _BFSET_(r32,14,14,v)
#define GET16CtxMPGx_MPG_rawfld(r16) _BFGET_(r16,14,14)
#define SET16CtxMPGx_MPG_rawfld(r16,v) _BFSET_(r16,14,14,v)
#define GET32CtxMPGx_MPG_TTMBF(r32) _BFGET_(r32,15,15)
#define SET32CtxMPGx_MPG_TTMBF(r32,v) _BFSET_(r32,15,15,v)
#define GET16CtxMPGx_MPG_TTMBF(r16) _BFGET_(r16,15,15)
#define SET16CtxMPGx_MPG_TTMBF(r16,v) _BFSET_(r16,15,15,v)
#define GET32CtxMPGx_MPG_intrdcthr(r32) _BFGET_(r32,20,16)
#define SET32CtxMPGx_MPG_intrdcthr(r32,v) _BFSET_(r32,20,16,v)
#define GET16CtxMPGx_MPG_intrdcthr(r16) _BFGET_(r16, 4, 0)
#define SET16CtxMPGx_MPG_intrdcthr(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32CtxMPGx_MPG_forcod(r32) _BFGET_(r32,23,21)
#define SET32CtxMPGx_MPG_forcod(r32,v) _BFSET_(r32,23,21,v)
#define GET16CtxMPGx_MPG_forcod(r16) _BFGET_(r16, 7, 5)
#define SET16CtxMPGx_MPG_forcod(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32CtxMPGx_MPG_dcprcis(r32) _BFGET_(r32,25,24)
#define SET32CtxMPGx_MPG_dcprcis(r32,v) _BFSET_(r32,25,24,v)
#define GET16CtxMPGx_MPG_dcprcis(r16) _BFGET_(r16, 9, 8)
#define SET16CtxMPGx_MPG_dcprcis(r16,v) _BFSET_(r16, 9, 8,v)
#define GET32CtxMPGx_MPG_bckcod(r32) _BFGET_(r32,28,26)
#define SET32CtxMPGx_MPG_bckcod(r32,v) _BFSET_(r32,28,26,v)
#define GET16CtxMPGx_MPG_bckcod(r16) _BFGET_(r16,12,10)
#define SET16CtxMPGx_MPG_bckcod(r16,v) _BFSET_(r16,12,10,v)
#define GET32CtxMPGx_MPG_topfst(r32) _BFGET_(r32,29,29)
#define SET32CtxMPGx_MPG_topfst(r32,v) _BFSET_(r32,29,29,v)
#define GET16CtxMPGx_MPG_topfst(r16) _BFGET_(r16,13,13)
#define SET16CtxMPGx_MPG_topfst(r16,v) _BFSET_(r16,13,13,v)
#define GET32CtxMPGx_MPG_rounding(r32) _BFGET_(r32,30,30)
#define SET32CtxMPGx_MPG_rounding(r32,v) _BFSET_(r32,30,30,v)
#define GET16CtxMPGx_MPG_rounding(r16) _BFGET_(r16,14,14)
#define SET16CtxMPGx_MPG_rounding(r16,v) _BFSET_(r16,14,14,v)
#define GET32CtxMPGx_MPG_RVSD0(r32) _BFGET_(r32,31,31)
#define SET32CtxMPGx_MPG_RVSD0(r32,v) _BFSET_(r32,31,31,v)
#define GET16CtxMPGx_MPG_RVSD0(r16) _BFGET_(r16,15,15)
#define SET16CtxMPGx_MPG_RVSD0(r16,v) _BFSET_(r16,15,15,v)
#define w32CtxMPGx_MPG {\
UNSG32 uMPG_frmcoding : 1;\
UNSG32 uMPG_btmfld : 1;\
UNSG32 uMPG_frmdct : 1;\
UNSG32 uMPG_svhd : 1;\
UNSG32 uMPG_qtype : 1;\
UNSG32 uMPG_ivlc : 1;\
UNSG32 uMPG_sptialmv : 1;\
UNSG32 uMPG_alscan : 1;\
UNSG32 uMPG_ftfr : 1;\
UNSG32 uMPG_fbfr : 1;\
UNSG32 uMPG_btfr : 1;\
UNSG32 uMPG_bbfr : 1;\
UNSG32 uMPG_rawskip : 1;\
UNSG32 uMPG_rawmvtype : 1;\
UNSG32 uMPG_rawfld : 1;\
UNSG32 uMPG_TTMBF : 1;\
UNSG32 uMPG_intrdcthr : 5;\
UNSG32 uMPG_forcod : 3;\
UNSG32 uMPG_dcprcis : 2;\
UNSG32 uMPG_bckcod : 3;\
UNSG32 uMPG_topfst : 1;\
UNSG32 uMPG_rounding : 1;\
UNSG32 uMPG_RVSD0 : 1;\
}
union { UNSG32 u32CtxMPGx_MPG;
struct w32CtxMPGx_MPG;
};
#define GET32CtxMPGx_MPG_fcode_0i(r32) _BFGET_(r32, 3, 0)
#define SET32CtxMPGx_MPG_fcode_0i(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16CtxMPGx_MPG_fcode_0i(r16) _BFGET_(r16, 3, 0)
#define SET16CtxMPGx_MPG_fcode_0i(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32CtxMPGx_MPG_fcode_1i(r32) _BFGET_(r32, 7, 4)
#define SET32CtxMPGx_MPG_fcode_1i(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16CtxMPGx_MPG_fcode_1i(r16) _BFGET_(r16, 7, 4)
#define SET16CtxMPGx_MPG_fcode_1i(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32CtxMPGx_MPG_fcode_2i(r32) _BFGET_(r32,11, 8)
#define SET32CtxMPGx_MPG_fcode_2i(r32,v) _BFSET_(r32,11, 8,v)
#define GET16CtxMPGx_MPG_fcode_2i(r16) _BFGET_(r16,11, 8)
#define SET16CtxMPGx_MPG_fcode_2i(r16,v) _BFSET_(r16,11, 8,v)
#define GET32CtxMPGx_MPG_fcode_3i(r32) _BFGET_(r32,15,12)
#define SET32CtxMPGx_MPG_fcode_3i(r32,v) _BFSET_(r32,15,12,v)
#define GET16CtxMPGx_MPG_fcode_3i(r16) _BFGET_(r16,15,12)
#define SET16CtxMPGx_MPG_fcode_3i(r16,v) _BFSET_(r16,15,12,v)
#define GET32CtxMPGx_MPG_time_pp(r32) _BFGET_(r32,31,16)
#define SET32CtxMPGx_MPG_time_pp(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxMPGx_MPG_time_pp(r16) _BFGET_(r16,15, 0)
#define SET16CtxMPGx_MPG_time_pp(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxMPGx_MPG1 {\
UNSG32 uMPG_fcode_0i : 4;\
UNSG32 uMPG_fcode_1i : 4;\
UNSG32 uMPG_fcode_2i : 4;\
UNSG32 uMPG_fcode_3i : 4;\
UNSG32 uMPG_time_pp : 16;\
}
union { UNSG32 u32CtxMPGx_MPG1;
struct w32CtxMPGx_MPG1;
};
///////////////////////////////////////////////////////////
#define GET32CtxMPGx_WMV_cbptab(r32) _BFGET_(r32, 2, 0)
#define SET32CtxMPGx_WMV_cbptab(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CtxMPGx_WMV_cbptab(r16) _BFGET_(r16, 2, 0)
#define SET16CtxMPGx_WMV_cbptab(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CtxMPGx_WMV_mvtab(r32) _BFGET_(r32, 5, 3)
#define SET32CtxMPGx_WMV_mvtab(r32,v) _BFSET_(r32, 5, 3,v)
#define GET16CtxMPGx_WMV_mvtab(r16) _BFGET_(r16, 5, 3)
#define SET16CtxMPGx_WMV_mvtab(r16,v) _BFSET_(r16, 5, 3,v)
#define GET32CtxMPGx_WMV_mvbptab2(r32) _BFGET_(r32, 7, 6)
#define SET32CtxMPGx_WMV_mvbptab2(r32,v) _BFSET_(r32, 7, 6,v)
#define GET16CtxMPGx_WMV_mvbptab2(r16) _BFGET_(r16, 7, 6)
#define SET16CtxMPGx_WMV_mvbptab2(r16,v) _BFSET_(r16, 7, 6,v)
#define GET32CtxMPGx_WMV_mvbptab4(r32) _BFGET_(r32, 9, 8)
#define SET32CtxMPGx_WMV_mvbptab4(r32,v) _BFSET_(r32, 9, 8,v)
#define GET16CtxMPGx_WMV_mvbptab4(r16) _BFGET_(r16, 9, 8)
#define SET16CtxMPGx_WMV_mvbptab4(r16,v) _BFSET_(r16, 9, 8,v)
#define GET32CtxMPGx_WMV_mbmodtab(r32) _BFGET_(r32,12,10)
#define SET32CtxMPGx_WMV_mbmodtab(r32,v) _BFSET_(r32,12,10,v)
#define GET16CtxMPGx_WMV_mbmodtab(r16) _BFGET_(r16,12,10)
#define SET16CtxMPGx_WMV_mbmodtab(r16,v) _BFSET_(r16,12,10,v)
#define GET32CtxMPGx_WMV_transac(r32) _BFGET_(r32,14,13)
#define SET32CtxMPGx_WMV_transac(r32,v) _BFSET_(r32,14,13,v)
#define GET16CtxMPGx_WMV_transac(r16) _BFGET_(r16,14,13)
#define SET16CtxMPGx_WMV_transac(r16,v) _BFSET_(r16,14,13,v)
#define GET32CtxMPGx_WMV_transdc(r32) _BFGET_(r32,15,15)
#define SET32CtxMPGx_WMV_transdc(r32,v) _BFSET_(r32,15,15,v)
#define GET16CtxMPGx_WMV_transdc(r16) _BFGET_(r16,15,15)
#define SET16CtxMPGx_WMV_transdc(r16,v) _BFSET_(r16,15,15,v)
#define GET32CtxMPGx_WMV_transac2(r32) _BFGET_(r32,17,16)
#define SET32CtxMPGx_WMV_transac2(r32,v) _BFSET_(r32,17,16,v)
#define GET16CtxMPGx_WMV_transac2(r16) _BFGET_(r16, 1, 0)
#define SET16CtxMPGx_WMV_transac2(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32CtxMPGx_WMV_pqidx(r32) _BFGET_(r32,22,18)
#define SET32CtxMPGx_WMV_pqidx(r32,v) _BFSET_(r32,22,18,v)
#define GET16CtxMPGx_WMV_pqidx(r16) _BFGET_(r16, 6, 2)
#define SET16CtxMPGx_WMV_pqidx(r16,v) _BFSET_(r16, 6, 2,v)
#define GET32CtxMPGx_WMV_condover(r32) _BFGET_(r32,24,23)
#define SET32CtxMPGx_WMV_condover(r32,v) _BFSET_(r32,24,23,v)
#define GET16CtxMPGx_WMV_condover(r16) _BFGET_(r16, 8, 7)
#define SET16CtxMPGx_WMV_condover(r16,v) _BFSET_(r16, 8, 7,v)
#define w32CtxMPGx_WMV {\
UNSG32 uWMV_cbptab : 3;\
UNSG32 uWMV_mvtab : 3;\
UNSG32 uWMV_mvbptab2 : 2;\
UNSG32 uWMV_mvbptab4 : 2;\
UNSG32 uWMV_mbmodtab : 3;\
UNSG32 uWMV_transac : 2;\
UNSG32 uWMV_transdc : 1;\
UNSG32 uWMV_transac2 : 2;\
UNSG32 uWMV_pqidx : 5;\
UNSG32 uWMV_condover : 2;\
UNSG32 RSVDx8_b25 : 7;\
}
union { UNSG32 u32CtxMPGx_WMV;
struct w32CtxMPGx_WMV;
};
#define GET32CtxMPGx_WMV_mvrange(r32) _BFGET_(r32, 1, 0)
#define SET32CtxMPGx_WMV_mvrange(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16CtxMPGx_WMV_mvrange(r16) _BFGET_(r16, 1, 0)
#define SET16CtxMPGx_WMV_mvrange(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32CtxMPGx_WMV_numerator(r32) _BFGET_(r32, 4, 2)
#define SET32CtxMPGx_WMV_numerator(r32,v) _BFSET_(r32, 4, 2,v)
#define GET16CtxMPGx_WMV_numerator(r16) _BFGET_(r16, 4, 2)
#define SET16CtxMPGx_WMV_numerator(r16,v) _BFSET_(r16, 4, 2,v)
#define GET32CtxMPGx_WMV_denominator(r32) _BFGET_(r32, 6, 5)
#define SET32CtxMPGx_WMV_denominator(r32,v) _BFSET_(r32, 6, 5,v)
#define GET16CtxMPGx_WMV_denominator(r16) _BFGET_(r16, 6, 5)
#define SET16CtxMPGx_WMV_denominator(r16,v) _BFSET_(r16, 6, 5,v)
#define GET32CtxMPGx_WMV_mvmode(r32) _BFGET_(r32, 8, 7)
#define SET32CtxMPGx_WMV_mvmode(r32,v) _BFSET_(r32, 8, 7,v)
#define GET16CtxMPGx_WMV_mvmode(r16) _BFGET_(r16, 8, 7)
#define SET16CtxMPGx_WMV_mvmode(r16,v) _BFSET_(r16, 8, 7,v)
#define GET32CtxMPGx_WMV_4mvSwitch(r32) _BFGET_(r32, 9, 9)
#define SET32CtxMPGx_WMV_4mvSwitch(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16CtxMPGx_WMV_4mvSwitch(r16) _BFGET_(r16, 9, 9)
#define SET16CtxMPGx_WMV_4mvSwitch(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32CtxMPGx_WMV_refDist(r32) _BFGET_(r32,10,10)
#define SET32CtxMPGx_WMV_refDist(r32,v) _BFSET_(r32,10,10,v)
#define GET16CtxMPGx_WMV_refDist(r16) _BFGET_(r16,10,10)
#define SET16CtxMPGx_WMV_refDist(r16,v) _BFSET_(r16,10,10,v)
#define GET32CtxMPGx_WMV_refNum(r32) _BFGET_(r32,11,11)
#define SET32CtxMPGx_WMV_refNum(r32,v) _BFSET_(r32,11,11,v)
#define GET16CtxMPGx_WMV_refNum(r16) _BFGET_(r16,11,11)
#define SET16CtxMPGx_WMV_refNum(r16,v) _BFSET_(r16,11,11,v)
#define GET32CtxMPGx_WMV_refFiled(r32) _BFGET_(r32,12,12)
#define SET32CtxMPGx_WMV_refFiled(r32,v) _BFSET_(r32,12,12,v)
#define GET16CtxMPGx_WMV_refFiled(r16) _BFGET_(r16,12,12)
#define SET16CtxMPGx_WMV_refFiled(r16,v) _BFSET_(r16,12,12,v)
#define GET32CtxMPGx_WMV_exmvdx(r32) _BFGET_(r32,13,13)
#define SET32CtxMPGx_WMV_exmvdx(r32,v) _BFSET_(r32,13,13,v)
#define GET16CtxMPGx_WMV_exmvdx(r16) _BFGET_(r16,13,13)
#define SET16CtxMPGx_WMV_exmvdx(r16,v) _BFSET_(r16,13,13,v)
#define GET32CtxMPGx_WMV_exmvdy(r32) _BFGET_(r32,14,14)
#define SET32CtxMPGx_WMV_exmvdy(r32,v) _BFSET_(r32,14,14,v)
#define GET16CtxMPGx_WMV_exmvdy(r16) _BFGET_(r16,14,14)
#define SET16CtxMPGx_WMV_exmvdy(r16,v) _BFSET_(r16,14,14,v)
#define GET32CtxMPGx_WMV_fastUV(r32) _BFGET_(r32,15,15)
#define SET32CtxMPGx_WMV_fastUV(r32,v) _BFSET_(r32,15,15,v)
#define GET16CtxMPGx_WMV_fastUV(r16) _BFGET_(r16,15,15)
#define SET16CtxMPGx_WMV_fastUV(r16,v) _BFSET_(r16,15,15,v)
#define GET32CtxMPGx_WMV_dQtype_0i(r32) _BFGET_(r32,16,16)
#define SET32CtxMPGx_WMV_dQtype_0i(r32,v) _BFSET_(r32,16,16,v)
#define GET16CtxMPGx_WMV_dQtype_0i(r16) _BFGET_(r16, 0, 0)
#define SET16CtxMPGx_WMV_dQtype_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32CtxMPGx_WMV_dQtype_1i(r32) _BFGET_(r32,17,17)
#define SET32CtxMPGx_WMV_dQtype_1i(r32,v) _BFSET_(r32,17,17,v)
#define GET16CtxMPGx_WMV_dQtype_1i(r16) _BFGET_(r16, 1, 1)
#define SET16CtxMPGx_WMV_dQtype_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32CtxMPGx_WMV_dQtype_2i(r32) _BFGET_(r32,18,18)
#define SET32CtxMPGx_WMV_dQtype_2i(r32,v) _BFSET_(r32,18,18,v)
#define GET16CtxMPGx_WMV_dQtype_2i(r16) _BFGET_(r16, 2, 2)
#define SET16CtxMPGx_WMV_dQtype_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32CtxMPGx_WMV_dQtype_3i(r32) _BFGET_(r32,19,19)
#define SET32CtxMPGx_WMV_dQtype_3i(r32,v) _BFSET_(r32,19,19,v)
#define GET16CtxMPGx_WMV_dQtype_3i(r16) _BFGET_(r16, 3, 3)
#define SET16CtxMPGx_WMV_dQtype_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32CtxMPGx_WMV_dQFrm(r32) _BFGET_(r32,20,20)
#define SET32CtxMPGx_WMV_dQFrm(r32,v) _BFSET_(r32,20,20,v)
#define GET16CtxMPGx_WMV_dQFrm(r16) _BFGET_(r16, 4, 4)
#define SET16CtxMPGx_WMV_dQFrm(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32CtxMPGx_WMV_dQProfile(r32) _BFGET_(r32,21,21)
#define SET32CtxMPGx_WMV_dQProfile(r32,v) _BFSET_(r32,21,21,v)
#define GET16CtxMPGx_WMV_dQProfile(r16) _BFGET_(r16, 5, 5)
#define SET16CtxMPGx_WMV_dQProfile(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32CtxMPGx_WMV_halfQP(r32) _BFGET_(r32,22,22)
#define SET32CtxMPGx_WMV_halfQP(r32,v) _BFSET_(r32,22,22,v)
#define GET16CtxMPGx_WMV_halfQP(r16) _BFGET_(r16, 6, 6)
#define SET16CtxMPGx_WMV_halfQP(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32CtxMPGx_WMV_dQbiLvl(r32) _BFGET_(r32,23,23)
#define SET32CtxMPGx_WMV_dQbiLvl(r32,v) _BFSET_(r32,23,23,v)
#define GET16CtxMPGx_WMV_dQbiLvl(r16) _BFGET_(r16, 7, 7)
#define SET16CtxMPGx_WMV_dQbiLvl(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32CtxMPGx_WMV_altQuant(r32) _BFGET_(r32,28,24)
#define SET32CtxMPGx_WMV_altQuant(r32,v) _BFSET_(r32,28,24,v)
#define GET16CtxMPGx_WMV_altQuant(r16) _BFGET_(r16,12, 8)
#define SET16CtxMPGx_WMV_altQuant(r16,v) _BFSET_(r16,12, 8,v)
#define w32CtxMPGx_WMV1 {\
UNSG32 uWMV_mvrange : 2;\
UNSG32 uWMV_numerator : 3;\
UNSG32 uWMV_denominator : 2;\
UNSG32 uWMV_mvmode : 2;\
UNSG32 uWMV_4mvSwitch : 1;\
UNSG32 uWMV_refDist : 1;\
UNSG32 uWMV_refNum : 1;\
UNSG32 uWMV_refFiled : 1;\
UNSG32 uWMV_exmvdx : 1;\
UNSG32 uWMV_exmvdy : 1;\
UNSG32 uWMV_fastUV : 1;\
UNSG32 uWMV_dQtype_0i : 1;\
UNSG32 uWMV_dQtype_1i : 1;\
UNSG32 uWMV_dQtype_2i : 1;\
UNSG32 uWMV_dQtype_3i : 1;\
UNSG32 uWMV_dQFrm : 1;\
UNSG32 uWMV_dQProfile : 1;\
UNSG32 uWMV_halfQP : 1;\
UNSG32 uWMV_dQbiLvl : 1;\
UNSG32 uWMV_altQuant : 5;\
UNSG32 RSVDxC_b29 : 3;\
}
union { UNSG32 u32CtxMPGx_WMV1;
struct w32CtxMPGx_WMV1;
};
///////////////////////////////////////////////////////////
} SIE_CtxMPGx;
typedef union T32CtxMPGx_MPG
{ UNSG32 u32;
struct w32CtxMPGx_MPG;
} T32CtxMPGx_MPG;
typedef union T32CtxMPGx_MPG1
{ UNSG32 u32;
struct w32CtxMPGx_MPG1;
} T32CtxMPGx_MPG1;
typedef union T32CtxMPGx_WMV
{ UNSG32 u32;
struct w32CtxMPGx_WMV;
} T32CtxMPGx_WMV;
typedef union T32CtxMPGx_WMV1
{ UNSG32 u32;
struct w32CtxMPGx_WMV1;
} T32CtxMPGx_WMV1;
///////////////////////////////////////////////////////////
typedef union TCtxMPGx_MPG
{ UNSG32 u32[2];
struct {
struct w32CtxMPGx_MPG;
struct w32CtxMPGx_MPG1;
};
} TCtxMPGx_MPG;
typedef union TCtxMPGx_WMV
{ UNSG32 u32[2];
struct {
struct w32CtxMPGx_WMV;
struct w32CtxMPGx_WMV1;
};
} TCtxMPGx_WMV;
///////////////////////////////////////////////////////////
SIGN32 CtxMPGx_drvrd(SIE_CtxMPGx *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CtxMPGx_drvwr(SIE_CtxMPGx *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CtxMPGx_reset(SIE_CtxMPGx *p);
SIGN32 CtxMPGx_cmp (SIE_CtxMPGx *p, SIE_CtxMPGx *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CtxMPGx_check(p,pie,pfx,hLOG) CtxMPGx_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CtxMPGx_print(p, pfx,hLOG) CtxMPGx_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CtxMPGx
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CtxJPEG (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 2 H0
/// ###
/// * Horizontal block number of 0th component.
/// ###
/// %unsigned 2 V0
/// ###
/// * Vertical block number of 0th component.
/// ###
/// %unsigned 2 H1
/// ###
/// * Horizontal block number of 1th component.
/// ###
/// %unsigned 2 V1
/// ###
/// * Vertical block number of 1th component.
/// ###
/// %unsigned 2 H2
/// ###
/// * Horizontal block number of 2th component.
/// ###
/// %unsigned 2 V2
/// ###
/// * Vertical block number of 2th component.
/// ###
/// %unsigned 4 NumBlk
/// ###
/// * Block number to decode in one MCU.
/// ###
/// %unsigned 2 compid_0i
/// %unsigned 2 compid_1i
/// %unsigned 2 compid_2i
/// %unsigned 2 compid_3i
/// %unsigned 2 compid_4i
/// %unsigned 2 compid_5i
/// ###
/// * Component ID for all blocks.
/// * Indexed by block index.
/// ###
/// %unsigned 3 cformat
/// ###
/// * Chroma format
/// ###
/// : CHROMA_MONO 0x0
/// : CHROMA_420 0x1
/// : CHROMA_422 0x2
/// : CHROMA_422_rotate 0x3
/// : CHROMA_444 0x4
/// %unsigned 1 dSample
/// @ 0x00004 (P)
/// %unsigned 4 NumBlkToPad
/// ###
/// * Block number to pad in one MCU.
/// * For picture with less than 3 components.
/// ###
/// %unsigned 1 roi
/// ###
/// * ROI flag.
/// ###
/// %unsigned 1 slc
/// ###
/// * Slice flag.
/// ###
/// %unsigned 1 lastSlc
/// ###
/// * Last slice of picture.
/// ###
/// %unsigned 1 firstSlc
/// ###
/// * First slice of picture.
/// ###
/// %unsigned 1 vld
/// ###
/// * Use hardware vld tables for parser.
/// ###
/// %unsigned 1 asp
/// ###
/// * Use hardware asp for parser.
/// ###
/// %% 22 # Stuffing bits...
/// @ 0x00008 (P)
/// %unsigned 16 mbxL
/// ###
/// * Mbx of left border in ROI.
/// ###
/// %unsigned 16 mbxR
/// ###
/// * Mbx of right border in ROI.
/// ###
/// %unsigned 16 mbyT
/// ###
/// * Mby of top border in ROI.
/// ###
/// %unsigned 16 mbyB
/// ###
/// * Mby of bottom border in ROI.
/// ###
/// @ 0x00010 (P)
/// # 0x00010 dcPred
/// $LUT64b dcPred REG
/// ###
/// * DC predictor.
/// ###
/// @ 0x00018 (P)
/// # 0x00018 blkIdx
/// $LUT64b blkIdx REG [6]
/// ###
/// * Decoding block index in a package.
/// ###
/// @ 0x00048 (P)
/// # 0x00048 ctxBS
/// $LUT64b ctxBS REG [2]
/// ###
/// * Context for bitstream.
/// ###
/// @ 0x00058 (P)
/// # 0x00058 ctxQmat
/// $LUT64b ctxQmat REG
/// ###
/// * Context for quant matrix address.
/// ###
/// @ 0x00060 (P)
/// # 0x00060 ctxVldTab
/// $LUT64b ctxVldTab REG [4]
/// ###
/// * Context for vld table context.
/// * End of CtxJPEG
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 128B, bits: 1002b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CtxJPEG
#define h_CtxJPEG (){}
#define BA_CtxJPEG_H0 0x0000
#define B16CtxJPEG_H0 0x0000
#define LSb32CtxJPEG_H0 0
#define LSb16CtxJPEG_H0 0
#define bCtxJPEG_H0 2
#define MSK32CtxJPEG_H0 0x00000003
#define BA_CtxJPEG_V0 0x0000
#define B16CtxJPEG_V0 0x0000
#define LSb32CtxJPEG_V0 2
#define LSb16CtxJPEG_V0 2
#define bCtxJPEG_V0 2
#define MSK32CtxJPEG_V0 0x0000000C
#define BA_CtxJPEG_H1 0x0000
#define B16CtxJPEG_H1 0x0000
#define LSb32CtxJPEG_H1 4
#define LSb16CtxJPEG_H1 4
#define bCtxJPEG_H1 2
#define MSK32CtxJPEG_H1 0x00000030
#define BA_CtxJPEG_V1 0x0000
#define B16CtxJPEG_V1 0x0000
#define LSb32CtxJPEG_V1 6
#define LSb16CtxJPEG_V1 6
#define bCtxJPEG_V1 2
#define MSK32CtxJPEG_V1 0x000000C0
#define BA_CtxJPEG_H2 0x0001
#define B16CtxJPEG_H2 0x0000
#define LSb32CtxJPEG_H2 8
#define LSb16CtxJPEG_H2 8
#define bCtxJPEG_H2 2
#define MSK32CtxJPEG_H2 0x00000300
#define BA_CtxJPEG_V2 0x0001
#define B16CtxJPEG_V2 0x0000
#define LSb32CtxJPEG_V2 10
#define LSb16CtxJPEG_V2 10
#define bCtxJPEG_V2 2
#define MSK32CtxJPEG_V2 0x00000C00
#define BA_CtxJPEG_NumBlk 0x0001
#define B16CtxJPEG_NumBlk 0x0000
#define LSb32CtxJPEG_NumBlk 12
#define LSb16CtxJPEG_NumBlk 12
#define bCtxJPEG_NumBlk 4
#define MSK32CtxJPEG_NumBlk 0x0000F000
#define BA_CtxJPEG_compid_0i 0x0002
#define B16CtxJPEG_compid_0i 0x0002
#define LSb32CtxJPEG_compid_0i 16
#define LSb16CtxJPEG_compid_0i 0
#define bCtxJPEG_compid_0i 2
#define MSK32CtxJPEG_compid_0i 0x00030000
#define BA_CtxJPEG_compid_1i 0x0002
#define B16CtxJPEG_compid_1i 0x0002
#define LSb32CtxJPEG_compid_1i 18
#define LSb16CtxJPEG_compid_1i 2
#define bCtxJPEG_compid_1i 2
#define MSK32CtxJPEG_compid_1i 0x000C0000
#define BA_CtxJPEG_compid_2i 0x0002
#define B16CtxJPEG_compid_2i 0x0002
#define LSb32CtxJPEG_compid_2i 20
#define LSb16CtxJPEG_compid_2i 4
#define bCtxJPEG_compid_2i 2
#define MSK32CtxJPEG_compid_2i 0x00300000
#define BA_CtxJPEG_compid_3i 0x0002
#define B16CtxJPEG_compid_3i 0x0002
#define LSb32CtxJPEG_compid_3i 22
#define LSb16CtxJPEG_compid_3i 6
#define bCtxJPEG_compid_3i 2
#define MSK32CtxJPEG_compid_3i 0x00C00000
#define BA_CtxJPEG_compid_4i 0x0003
#define B16CtxJPEG_compid_4i 0x0002
#define LSb32CtxJPEG_compid_4i 24
#define LSb16CtxJPEG_compid_4i 8
#define bCtxJPEG_compid_4i 2
#define MSK32CtxJPEG_compid_4i 0x03000000
#define BA_CtxJPEG_compid_5i 0x0003
#define B16CtxJPEG_compid_5i 0x0002
#define LSb32CtxJPEG_compid_5i 26
#define LSb16CtxJPEG_compid_5i 10
#define bCtxJPEG_compid_5i 2
#define MSK32CtxJPEG_compid_5i 0x0C000000
#define BA_CtxJPEG_cformat 0x0003
#define B16CtxJPEG_cformat 0x0002
#define LSb32CtxJPEG_cformat 28
#define LSb16CtxJPEG_cformat 12
#define bCtxJPEG_cformat 3
#define MSK32CtxJPEG_cformat 0x70000000
#define CtxJPEG_cformat_CHROMA_MONO 0x0
#define CtxJPEG_cformat_CHROMA_420 0x1
#define CtxJPEG_cformat_CHROMA_422 0x2
#define CtxJPEG_cformat_CHROMA_422_rotate 0x3
#define CtxJPEG_cformat_CHROMA_444 0x4
#define BA_CtxJPEG_dSample 0x0003
#define B16CtxJPEG_dSample 0x0002
#define LSb32CtxJPEG_dSample 31
#define LSb16CtxJPEG_dSample 15
#define bCtxJPEG_dSample 1
#define MSK32CtxJPEG_dSample 0x80000000
///////////////////////////////////////////////////////////
#define BA_CtxJPEG_NumBlkToPad 0x0004
#define B16CtxJPEG_NumBlkToPad 0x0004
#define LSb32CtxJPEG_NumBlkToPad 0
#define LSb16CtxJPEG_NumBlkToPad 0
#define bCtxJPEG_NumBlkToPad 4
#define MSK32CtxJPEG_NumBlkToPad 0x0000000F
#define BA_CtxJPEG_roi 0x0004
#define B16CtxJPEG_roi 0x0004
#define LSb32CtxJPEG_roi 4
#define LSb16CtxJPEG_roi 4
#define bCtxJPEG_roi 1
#define MSK32CtxJPEG_roi 0x00000010
#define BA_CtxJPEG_slc 0x0004
#define B16CtxJPEG_slc 0x0004
#define LSb32CtxJPEG_slc 5
#define LSb16CtxJPEG_slc 5
#define bCtxJPEG_slc 1
#define MSK32CtxJPEG_slc 0x00000020
#define BA_CtxJPEG_lastSlc 0x0004
#define B16CtxJPEG_lastSlc 0x0004
#define LSb32CtxJPEG_lastSlc 6
#define LSb16CtxJPEG_lastSlc 6
#define bCtxJPEG_lastSlc 1
#define MSK32CtxJPEG_lastSlc 0x00000040
#define BA_CtxJPEG_firstSlc 0x0004
#define B16CtxJPEG_firstSlc 0x0004
#define LSb32CtxJPEG_firstSlc 7
#define LSb16CtxJPEG_firstSlc 7
#define bCtxJPEG_firstSlc 1
#define MSK32CtxJPEG_firstSlc 0x00000080
#define BA_CtxJPEG_vld 0x0005
#define B16CtxJPEG_vld 0x0004
#define LSb32CtxJPEG_vld 8
#define LSb16CtxJPEG_vld 8
#define bCtxJPEG_vld 1
#define MSK32CtxJPEG_vld 0x00000100
#define BA_CtxJPEG_asp 0x0005
#define B16CtxJPEG_asp 0x0004
#define LSb32CtxJPEG_asp 9
#define LSb16CtxJPEG_asp 9
#define bCtxJPEG_asp 1
#define MSK32CtxJPEG_asp 0x00000200
///////////////////////////////////////////////////////////
#define BA_CtxJPEG_mbxL 0x0008
#define B16CtxJPEG_mbxL 0x0008
#define LSb32CtxJPEG_mbxL 0
#define LSb16CtxJPEG_mbxL 0
#define bCtxJPEG_mbxL 16
#define MSK32CtxJPEG_mbxL 0x0000FFFF
#define BA_CtxJPEG_mbxR 0x000A
#define B16CtxJPEG_mbxR 0x000A
#define LSb32CtxJPEG_mbxR 16
#define LSb16CtxJPEG_mbxR 0
#define bCtxJPEG_mbxR 16
#define MSK32CtxJPEG_mbxR 0xFFFF0000
#define BA_CtxJPEG_mbyT 0x000C
#define B16CtxJPEG_mbyT 0x000C
#define LSb32CtxJPEG_mbyT 0
#define LSb16CtxJPEG_mbyT 0
#define bCtxJPEG_mbyT 16
#define MSK32CtxJPEG_mbyT 0x0000FFFF
#define BA_CtxJPEG_mbyB 0x000E
#define B16CtxJPEG_mbyB 0x000E
#define LSb32CtxJPEG_mbyB 16
#define LSb16CtxJPEG_mbyB 0
#define bCtxJPEG_mbyB 16
#define MSK32CtxJPEG_mbyB 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_CtxJPEG_dcPred 0x0010
///////////////////////////////////////////////////////////
#define RA_CtxJPEG_blkIdx 0x0018
///////////////////////////////////////////////////////////
#define RA_CtxJPEG_ctxBS 0x0048
///////////////////////////////////////////////////////////
#define RA_CtxJPEG_ctxQmat 0x0058
///////////////////////////////////////////////////////////
#define RA_CtxJPEG_ctxVldTab 0x0060
///////////////////////////////////////////////////////////
typedef struct SIE_CtxJPEG {
///////////////////////////////////////////////////////////
#define GET32CtxJPEG_H0(r32) _BFGET_(r32, 1, 0)
#define SET32CtxJPEG_H0(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16CtxJPEG_H0(r16) _BFGET_(r16, 1, 0)
#define SET16CtxJPEG_H0(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32CtxJPEG_V0(r32) _BFGET_(r32, 3, 2)
#define SET32CtxJPEG_V0(r32,v) _BFSET_(r32, 3, 2,v)
#define GET16CtxJPEG_V0(r16) _BFGET_(r16, 3, 2)
#define SET16CtxJPEG_V0(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32CtxJPEG_H1(r32) _BFGET_(r32, 5, 4)
#define SET32CtxJPEG_H1(r32,v) _BFSET_(r32, 5, 4,v)
#define GET16CtxJPEG_H1(r16) _BFGET_(r16, 5, 4)
#define SET16CtxJPEG_H1(r16,v) _BFSET_(r16, 5, 4,v)
#define GET32CtxJPEG_V1(r32) _BFGET_(r32, 7, 6)
#define SET32CtxJPEG_V1(r32,v) _BFSET_(r32, 7, 6,v)
#define GET16CtxJPEG_V1(r16) _BFGET_(r16, 7, 6)
#define SET16CtxJPEG_V1(r16,v) _BFSET_(r16, 7, 6,v)
#define GET32CtxJPEG_H2(r32) _BFGET_(r32, 9, 8)
#define SET32CtxJPEG_H2(r32,v) _BFSET_(r32, 9, 8,v)
#define GET16CtxJPEG_H2(r16) _BFGET_(r16, 9, 8)
#define SET16CtxJPEG_H2(r16,v) _BFSET_(r16, 9, 8,v)
#define GET32CtxJPEG_V2(r32) _BFGET_(r32,11,10)
#define SET32CtxJPEG_V2(r32,v) _BFSET_(r32,11,10,v)
#define GET16CtxJPEG_V2(r16) _BFGET_(r16,11,10)
#define SET16CtxJPEG_V2(r16,v) _BFSET_(r16,11,10,v)
#define GET32CtxJPEG_NumBlk(r32) _BFGET_(r32,15,12)
#define SET32CtxJPEG_NumBlk(r32,v) _BFSET_(r32,15,12,v)
#define GET16CtxJPEG_NumBlk(r16) _BFGET_(r16,15,12)
#define SET16CtxJPEG_NumBlk(r16,v) _BFSET_(r16,15,12,v)
#define GET32CtxJPEG_compid_0i(r32) _BFGET_(r32,17,16)
#define SET32CtxJPEG_compid_0i(r32,v) _BFSET_(r32,17,16,v)
#define GET16CtxJPEG_compid_0i(r16) _BFGET_(r16, 1, 0)
#define SET16CtxJPEG_compid_0i(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32CtxJPEG_compid_1i(r32) _BFGET_(r32,19,18)
#define SET32CtxJPEG_compid_1i(r32,v) _BFSET_(r32,19,18,v)
#define GET16CtxJPEG_compid_1i(r16) _BFGET_(r16, 3, 2)
#define SET16CtxJPEG_compid_1i(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32CtxJPEG_compid_2i(r32) _BFGET_(r32,21,20)
#define SET32CtxJPEG_compid_2i(r32,v) _BFSET_(r32,21,20,v)
#define GET16CtxJPEG_compid_2i(r16) _BFGET_(r16, 5, 4)
#define SET16CtxJPEG_compid_2i(r16,v) _BFSET_(r16, 5, 4,v)
#define GET32CtxJPEG_compid_3i(r32) _BFGET_(r32,23,22)
#define SET32CtxJPEG_compid_3i(r32,v) _BFSET_(r32,23,22,v)
#define GET16CtxJPEG_compid_3i(r16) _BFGET_(r16, 7, 6)
#define SET16CtxJPEG_compid_3i(r16,v) _BFSET_(r16, 7, 6,v)
#define GET32CtxJPEG_compid_4i(r32) _BFGET_(r32,25,24)
#define SET32CtxJPEG_compid_4i(r32,v) _BFSET_(r32,25,24,v)
#define GET16CtxJPEG_compid_4i(r16) _BFGET_(r16, 9, 8)
#define SET16CtxJPEG_compid_4i(r16,v) _BFSET_(r16, 9, 8,v)
#define GET32CtxJPEG_compid_5i(r32) _BFGET_(r32,27,26)
#define SET32CtxJPEG_compid_5i(r32,v) _BFSET_(r32,27,26,v)
#define GET16CtxJPEG_compid_5i(r16) _BFGET_(r16,11,10)
#define SET16CtxJPEG_compid_5i(r16,v) _BFSET_(r16,11,10,v)
#define GET32CtxJPEG_cformat(r32) _BFGET_(r32,30,28)
#define SET32CtxJPEG_cformat(r32,v) _BFSET_(r32,30,28,v)
#define GET16CtxJPEG_cformat(r16) _BFGET_(r16,14,12)
#define SET16CtxJPEG_cformat(r16,v) _BFSET_(r16,14,12,v)
#define GET32CtxJPEG_dSample(r32) _BFGET_(r32,31,31)
#define SET32CtxJPEG_dSample(r32,v) _BFSET_(r32,31,31,v)
#define GET16CtxJPEG_dSample(r16) _BFGET_(r16,15,15)
#define SET16CtxJPEG_dSample(r16,v) _BFSET_(r16,15,15,v)
UNSG32 u_H0 : 2;
UNSG32 u_V0 : 2;
UNSG32 u_H1 : 2;
UNSG32 u_V1 : 2;
UNSG32 u_H2 : 2;
UNSG32 u_V2 : 2;
UNSG32 u_NumBlk : 4;
UNSG32 u_compid_0i : 2;
UNSG32 u_compid_1i : 2;
UNSG32 u_compid_2i : 2;
UNSG32 u_compid_3i : 2;
UNSG32 u_compid_4i : 2;
UNSG32 u_compid_5i : 2;
UNSG32 u_cformat : 3;
UNSG32 u_dSample : 1;
///////////////////////////////////////////////////////////
#define GET32CtxJPEG_NumBlkToPad(r32) _BFGET_(r32, 3, 0)
#define SET32CtxJPEG_NumBlkToPad(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16CtxJPEG_NumBlkToPad(r16) _BFGET_(r16, 3, 0)
#define SET16CtxJPEG_NumBlkToPad(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32CtxJPEG_roi(r32) _BFGET_(r32, 4, 4)
#define SET32CtxJPEG_roi(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16CtxJPEG_roi(r16) _BFGET_(r16, 4, 4)
#define SET16CtxJPEG_roi(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32CtxJPEG_slc(r32) _BFGET_(r32, 5, 5)
#define SET32CtxJPEG_slc(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16CtxJPEG_slc(r16) _BFGET_(r16, 5, 5)
#define SET16CtxJPEG_slc(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32CtxJPEG_lastSlc(r32) _BFGET_(r32, 6, 6)
#define SET32CtxJPEG_lastSlc(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16CtxJPEG_lastSlc(r16) _BFGET_(r16, 6, 6)
#define SET16CtxJPEG_lastSlc(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32CtxJPEG_firstSlc(r32) _BFGET_(r32, 7, 7)
#define SET32CtxJPEG_firstSlc(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16CtxJPEG_firstSlc(r16) _BFGET_(r16, 7, 7)
#define SET16CtxJPEG_firstSlc(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32CtxJPEG_vld(r32) _BFGET_(r32, 8, 8)
#define SET32CtxJPEG_vld(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16CtxJPEG_vld(r16) _BFGET_(r16, 8, 8)
#define SET16CtxJPEG_vld(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32CtxJPEG_asp(r32) _BFGET_(r32, 9, 9)
#define SET32CtxJPEG_asp(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16CtxJPEG_asp(r16) _BFGET_(r16, 9, 9)
#define SET16CtxJPEG_asp(r16,v) _BFSET_(r16, 9, 9,v)
UNSG32 u_NumBlkToPad : 4;
UNSG32 u_roi : 1;
UNSG32 u_slc : 1;
UNSG32 u_lastSlc : 1;
UNSG32 u_firstSlc : 1;
UNSG32 u_vld : 1;
UNSG32 u_asp : 1;
UNSG32 RSVDx4_b10 : 22;
///////////////////////////////////////////////////////////
#define GET32CtxJPEG_mbxL(r32) _BFGET_(r32,15, 0)
#define SET32CtxJPEG_mbxL(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxJPEG_mbxL(r16) _BFGET_(r16,15, 0)
#define SET16CtxJPEG_mbxL(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxJPEG_mbxR(r32) _BFGET_(r32,31,16)
#define SET32CtxJPEG_mbxR(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxJPEG_mbxR(r16) _BFGET_(r16,15, 0)
#define SET16CtxJPEG_mbxR(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_mbxL : 16;
UNSG32 u_mbxR : 16;
///////////////////////////////////////////////////////////
#define GET32CtxJPEG_mbyT(r32) _BFGET_(r32,15, 0)
#define SET32CtxJPEG_mbyT(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxJPEG_mbyT(r16) _BFGET_(r16,15, 0)
#define SET16CtxJPEG_mbyT(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxJPEG_mbyB(r32) _BFGET_(r32,31,16)
#define SET32CtxJPEG_mbyB(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxJPEG_mbyB(r16) _BFGET_(r16,15, 0)
#define SET16CtxJPEG_mbyB(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_mbyT : 16;
UNSG32 u_mbyB : 16;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_dcPred;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_blkIdx[6];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_ctxBS[2];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_ctxQmat;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_ctxVldTab[4];
///////////////////////////////////////////////////////////
} SIE_CtxJPEG;
///////////////////////////////////////////////////////////
SIGN32 CtxJPEG_drvrd(SIE_CtxJPEG *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CtxJPEG_drvwr(SIE_CtxJPEG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CtxJPEG_reset(SIE_CtxJPEG *p);
SIGN32 CtxJPEG_cmp (SIE_CtxJPEG *p, SIE_CtxJPEG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CtxJPEG_check(p,pie,pfx,hLOG) CtxJPEG_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CtxJPEG_print(p, pfx,hLOG) CtxJPEG_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CtxJPEG
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CtxPSER (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 DEC (P)
/// %unsigned 16 totalMBs
/// ###
/// * Number macroblock to decode
/// ###
/// %unsigned 16 moreSkip
/// ###
/// * Number pending skipped macroblocks
/// ###
/// # 0x00004 DEC1
/// %unsigned 16 MBs
/// ###
/// * Number macroblock successfully decoded
/// ###
/// %unsigned 8 error
/// ###
/// * Error status from entropy decoder
/// ###
/// %unsigned 1 eos
/// ###
/// * EOS-hit status from entropy decoder
/// ###
/// %unsigned 1 forceEND
/// ###
/// * Force LastInSeq after all requested MB done
/// ###
/// %% 6 # Stuffing bits...
/// @ 0x00008 SLICE (P)
/// %unsigned 16 MBX
/// ###
/// * X-location of first MB in slice
/// ###
/// %unsigned 16 MBY
/// ###
/// * Y-location of first MB in slice
/// ###
/// # 0x0000C SLICE1
/// %unsigned 16 hMBs
/// ###
/// * Horizontal MB count
/// ###
/// %unsigned 16 ID
/// ###
/// * Slice ID
/// * for vc1: this will be used as Picture height in MB
/// * unit
/// * for JPEG: number of MCU in the restart interval
/// ###
/// @ 0x00010 MB (P)
/// %unsigned 16 QP
/// ###
/// * Slice initial (& current) luma QP
/// * for vc1: PQUANT
/// ###
/// %signed 8 QuDlt
/// ###
/// * [-12,12] for Cb QP delta
/// ###
/// %signed 8 QvDlt
/// ###
/// * [-12,12] for Cr QP delta
/// ###
/// # 0x00014 MB1
/// %unsigned 16 type
/// : I 0x0
/// : P 0x1
/// : B 0x2
/// : D 0x3
/// ###
/// * Slice type (D for MPEG1)
/// ###
/// %unsigned 1 MBAFF
/// ###
/// * H.264: if MBAFF picture
/// ###
/// %unsigned 1 mono
/// ###
/// * H.264: if luma only
/// ###
/// %unsigned 1 cabac
/// ###
/// * H.264: if coded by CABAC
/// ###
/// %unsigned 1 tsf8x8
/// ###
/// * H.264: if supporting 8x8 transform
/// * VC1: MB Transform switch enable flag
/// ###
/// %unsigned 1 direct8x8
/// ###
/// * H.264: direct 8x8 inference flag
/// ###
/// %unsigned 1 mtpL0
/// ###
/// * H.264: multiple reference frame in ref-List[0]
/// ###
/// %unsigned 1 mtpL1
/// ###
/// * H.264: multiple reference frame in ref-List[1]
/// ###
/// %unsigned 1 rIDX0
/// ###
/// * Run-time:
/// * Necessary to decode rIDX for ref-List[0]
/// ###
/// %unsigned 1 rIDX1
/// ###
/// * Run-time:
/// * Necessary to decode rIDX for ref-List[1]
/// ###
/// %unsigned 1 fieldMB
/// ###
/// * Run-time:
/// * Current field MB-pair in MBAFF picture
/// ###
/// %unsigned 1 fieldPendMB
/// ###
/// * Run-time:
/// * Pending field MB-pair to skip
/// ###
/// %unsigned 1 decSkip
/// ###
/// * Run-time:
/// * If to decode skip_flag/skip_run for next MB
/// ###
/// %unsigned 1 FirstInPair
/// ###
/// * Run-time:
/// * If to decode 1st MB in MBAFF pair
/// ###
/// %unsigned 1 cond_dQP
/// ###
/// * Run-time for CABAD only:
/// * Condition to decode mb_qp_delta
/// ###
/// %unsigned 1 has_dQP
/// ###
/// * Run-time for CABAD only:
/// * Whether mb_qp_delta is decoded for a MB
/// ###
/// %% 1 # Stuffing bits...
/// @ 0x00018 MaxIDX (P)
/// %unsigned 16 L0
/// ###
/// * Max rIDX in ref-list[0] (frame)
/// ###
/// %unsigned 16 L1
/// ###
/// * Max rIDX in ref-list[1] (frame)
/// ###
/// # 0x0001C MaxIDX1
/// %unsigned 16 fieldL0
/// ###
/// * Max rIDX in ref-list[0] (field)
/// ###
/// %unsigned 16 fieldL1
/// ###
/// * Max rIDX in ref-list[1] (field)
/// ###
/// @ 0x00020 IF (P)
/// %unsigned 16 err_MBs
/// ###
/// * Error MB number in current slice
/// ###
/// %unsigned 8 is_sync
/// ###
/// * Search next sync word or not
/// * End of CtxPSER
/// ###
/// %% 8 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 36B, bits: 273b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CtxPSER
#define h_CtxPSER (){}
#define RA_CtxPSER_DEC 0x0000
#define BA_CtxPSER_DEC_totalMBs 0x0000
#define B16CtxPSER_DEC_totalMBs 0x0000
#define LSb32CtxPSER_DEC_totalMBs 0
#define LSb16CtxPSER_DEC_totalMBs 0
#define bCtxPSER_DEC_totalMBs 16
#define MSK32CtxPSER_DEC_totalMBs 0x0000FFFF
#define BA_CtxPSER_DEC_moreSkip 0x0002
#define B16CtxPSER_DEC_moreSkip 0x0002
#define LSb32CtxPSER_DEC_moreSkip 16
#define LSb16CtxPSER_DEC_moreSkip 0
#define bCtxPSER_DEC_moreSkip 16
#define MSK32CtxPSER_DEC_moreSkip 0xFFFF0000
#define RA_CtxPSER_DEC1 0x0004
#define BA_CtxPSER_DEC_MBs 0x0004
#define B16CtxPSER_DEC_MBs 0x0004
#define LSb32CtxPSER_DEC_MBs 0
#define LSb16CtxPSER_DEC_MBs 0
#define bCtxPSER_DEC_MBs 16
#define MSK32CtxPSER_DEC_MBs 0x0000FFFF
#define BA_CtxPSER_DEC_error 0x0006
#define B16CtxPSER_DEC_error 0x0006
#define LSb32CtxPSER_DEC_error 16
#define LSb16CtxPSER_DEC_error 0
#define bCtxPSER_DEC_error 8
#define MSK32CtxPSER_DEC_error 0x00FF0000
#define BA_CtxPSER_DEC_eos 0x0007
#define B16CtxPSER_DEC_eos 0x0006
#define LSb32CtxPSER_DEC_eos 24
#define LSb16CtxPSER_DEC_eos 8
#define bCtxPSER_DEC_eos 1
#define MSK32CtxPSER_DEC_eos 0x01000000
#define BA_CtxPSER_DEC_forceEND 0x0007
#define B16CtxPSER_DEC_forceEND 0x0006
#define LSb32CtxPSER_DEC_forceEND 25
#define LSb16CtxPSER_DEC_forceEND 9
#define bCtxPSER_DEC_forceEND 1
#define MSK32CtxPSER_DEC_forceEND 0x02000000
///////////////////////////////////////////////////////////
#define RA_CtxPSER_SLICE 0x0008
#define BA_CtxPSER_SLICE_MBX 0x0008
#define B16CtxPSER_SLICE_MBX 0x0008
#define LSb32CtxPSER_SLICE_MBX 0
#define LSb16CtxPSER_SLICE_MBX 0
#define bCtxPSER_SLICE_MBX 16
#define MSK32CtxPSER_SLICE_MBX 0x0000FFFF
#define BA_CtxPSER_SLICE_MBY 0x000A
#define B16CtxPSER_SLICE_MBY 0x000A
#define LSb32CtxPSER_SLICE_MBY 16
#define LSb16CtxPSER_SLICE_MBY 0
#define bCtxPSER_SLICE_MBY 16
#define MSK32CtxPSER_SLICE_MBY 0xFFFF0000
#define RA_CtxPSER_SLICE1 0x000C
#define BA_CtxPSER_SLICE_hMBs 0x000C
#define B16CtxPSER_SLICE_hMBs 0x000C
#define LSb32CtxPSER_SLICE_hMBs 0
#define LSb16CtxPSER_SLICE_hMBs 0
#define bCtxPSER_SLICE_hMBs 16
#define MSK32CtxPSER_SLICE_hMBs 0x0000FFFF
#define BA_CtxPSER_SLICE_ID 0x000E
#define B16CtxPSER_SLICE_ID 0x000E
#define LSb32CtxPSER_SLICE_ID 16
#define LSb16CtxPSER_SLICE_ID 0
#define bCtxPSER_SLICE_ID 16
#define MSK32CtxPSER_SLICE_ID 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_CtxPSER_MB 0x0010
#define BA_CtxPSER_MB_QP 0x0010
#define B16CtxPSER_MB_QP 0x0010
#define LSb32CtxPSER_MB_QP 0
#define LSb16CtxPSER_MB_QP 0
#define bCtxPSER_MB_QP 16
#define MSK32CtxPSER_MB_QP 0x0000FFFF
#define BA_CtxPSER_MB_QuDlt 0x0012
#define B16CtxPSER_MB_QuDlt 0x0012
#define LSb32CtxPSER_MB_QuDlt 16
#define LSb16CtxPSER_MB_QuDlt 0
#define bCtxPSER_MB_QuDlt 8
#define MSK32CtxPSER_MB_QuDlt 0x00FF0000
#define BA_CtxPSER_MB_QvDlt 0x0013
#define B16CtxPSER_MB_QvDlt 0x0012
#define LSb32CtxPSER_MB_QvDlt 24
#define LSb16CtxPSER_MB_QvDlt 8
#define bCtxPSER_MB_QvDlt 8
#define MSK32CtxPSER_MB_QvDlt 0xFF000000
#define RA_CtxPSER_MB1 0x0014
#define BA_CtxPSER_MB_type 0x0014
#define B16CtxPSER_MB_type 0x0014
#define LSb32CtxPSER_MB_type 0
#define LSb16CtxPSER_MB_type 0
#define bCtxPSER_MB_type 16
#define MSK32CtxPSER_MB_type 0x0000FFFF
#define CtxPSER_MB_type_I 0x0
#define CtxPSER_MB_type_P 0x1
#define CtxPSER_MB_type_B 0x2
#define CtxPSER_MB_type_D 0x3
#define BA_CtxPSER_MB_MBAFF 0x0016
#define B16CtxPSER_MB_MBAFF 0x0016
#define LSb32CtxPSER_MB_MBAFF 16
#define LSb16CtxPSER_MB_MBAFF 0
#define bCtxPSER_MB_MBAFF 1
#define MSK32CtxPSER_MB_MBAFF 0x00010000
#define BA_CtxPSER_MB_mono 0x0016
#define B16CtxPSER_MB_mono 0x0016
#define LSb32CtxPSER_MB_mono 17
#define LSb16CtxPSER_MB_mono 1
#define bCtxPSER_MB_mono 1
#define MSK32CtxPSER_MB_mono 0x00020000
#define BA_CtxPSER_MB_cabac 0x0016
#define B16CtxPSER_MB_cabac 0x0016
#define LSb32CtxPSER_MB_cabac 18
#define LSb16CtxPSER_MB_cabac 2
#define bCtxPSER_MB_cabac 1
#define MSK32CtxPSER_MB_cabac 0x00040000
#define BA_CtxPSER_MB_tsf8x8 0x0016
#define B16CtxPSER_MB_tsf8x8 0x0016
#define LSb32CtxPSER_MB_tsf8x8 19
#define LSb16CtxPSER_MB_tsf8x8 3
#define bCtxPSER_MB_tsf8x8 1
#define MSK32CtxPSER_MB_tsf8x8 0x00080000
#define BA_CtxPSER_MB_direct8x8 0x0016
#define B16CtxPSER_MB_direct8x8 0x0016
#define LSb32CtxPSER_MB_direct8x8 20
#define LSb16CtxPSER_MB_direct8x8 4
#define bCtxPSER_MB_direct8x8 1
#define MSK32CtxPSER_MB_direct8x8 0x00100000
#define BA_CtxPSER_MB_mtpL0 0x0016
#define B16CtxPSER_MB_mtpL0 0x0016
#define LSb32CtxPSER_MB_mtpL0 21
#define LSb16CtxPSER_MB_mtpL0 5
#define bCtxPSER_MB_mtpL0 1
#define MSK32CtxPSER_MB_mtpL0 0x00200000
#define BA_CtxPSER_MB_mtpL1 0x0016
#define B16CtxPSER_MB_mtpL1 0x0016
#define LSb32CtxPSER_MB_mtpL1 22
#define LSb16CtxPSER_MB_mtpL1 6
#define bCtxPSER_MB_mtpL1 1
#define MSK32CtxPSER_MB_mtpL1 0x00400000
#define BA_CtxPSER_MB_rIDX0 0x0016
#define B16CtxPSER_MB_rIDX0 0x0016
#define LSb32CtxPSER_MB_rIDX0 23
#define LSb16CtxPSER_MB_rIDX0 7
#define bCtxPSER_MB_rIDX0 1
#define MSK32CtxPSER_MB_rIDX0 0x00800000
#define BA_CtxPSER_MB_rIDX1 0x0017
#define B16CtxPSER_MB_rIDX1 0x0016
#define LSb32CtxPSER_MB_rIDX1 24
#define LSb16CtxPSER_MB_rIDX1 8
#define bCtxPSER_MB_rIDX1 1
#define MSK32CtxPSER_MB_rIDX1 0x01000000
#define BA_CtxPSER_MB_fieldMB 0x0017
#define B16CtxPSER_MB_fieldMB 0x0016
#define LSb32CtxPSER_MB_fieldMB 25
#define LSb16CtxPSER_MB_fieldMB 9
#define bCtxPSER_MB_fieldMB 1
#define MSK32CtxPSER_MB_fieldMB 0x02000000
#define BA_CtxPSER_MB_fieldPendMB 0x0017
#define B16CtxPSER_MB_fieldPendMB 0x0016
#define LSb32CtxPSER_MB_fieldPendMB 26
#define LSb16CtxPSER_MB_fieldPendMB 10
#define bCtxPSER_MB_fieldPendMB 1
#define MSK32CtxPSER_MB_fieldPendMB 0x04000000
#define BA_CtxPSER_MB_decSkip 0x0017
#define B16CtxPSER_MB_decSkip 0x0016
#define LSb32CtxPSER_MB_decSkip 27
#define LSb16CtxPSER_MB_decSkip 11
#define bCtxPSER_MB_decSkip 1
#define MSK32CtxPSER_MB_decSkip 0x08000000
#define BA_CtxPSER_MB_FirstInPair 0x0017
#define B16CtxPSER_MB_FirstInPair 0x0016
#define LSb32CtxPSER_MB_FirstInPair 28
#define LSb16CtxPSER_MB_FirstInPair 12
#define bCtxPSER_MB_FirstInPair 1
#define MSK32CtxPSER_MB_FirstInPair 0x10000000
#define BA_CtxPSER_MB_cond_dQP 0x0017
#define B16CtxPSER_MB_cond_dQP 0x0016
#define LSb32CtxPSER_MB_cond_dQP 29
#define LSb16CtxPSER_MB_cond_dQP 13
#define bCtxPSER_MB_cond_dQP 1
#define MSK32CtxPSER_MB_cond_dQP 0x20000000
#define BA_CtxPSER_MB_has_dQP 0x0017
#define B16CtxPSER_MB_has_dQP 0x0016
#define LSb32CtxPSER_MB_has_dQP 30
#define LSb16CtxPSER_MB_has_dQP 14
#define bCtxPSER_MB_has_dQP 1
#define MSK32CtxPSER_MB_has_dQP 0x40000000
///////////////////////////////////////////////////////////
#define RA_CtxPSER_MaxIDX 0x0018
#define BA_CtxPSER_MaxIDX_L0 0x0018
#define B16CtxPSER_MaxIDX_L0 0x0018
#define LSb32CtxPSER_MaxIDX_L0 0
#define LSb16CtxPSER_MaxIDX_L0 0
#define bCtxPSER_MaxIDX_L0 16
#define MSK32CtxPSER_MaxIDX_L0 0x0000FFFF
#define BA_CtxPSER_MaxIDX_L1 0x001A
#define B16CtxPSER_MaxIDX_L1 0x001A
#define LSb32CtxPSER_MaxIDX_L1 16
#define LSb16CtxPSER_MaxIDX_L1 0
#define bCtxPSER_MaxIDX_L1 16
#define MSK32CtxPSER_MaxIDX_L1 0xFFFF0000
#define RA_CtxPSER_MaxIDX1 0x001C
#define BA_CtxPSER_MaxIDX_fieldL0 0x001C
#define B16CtxPSER_MaxIDX_fieldL0 0x001C
#define LSb32CtxPSER_MaxIDX_fieldL0 0
#define LSb16CtxPSER_MaxIDX_fieldL0 0
#define bCtxPSER_MaxIDX_fieldL0 16
#define MSK32CtxPSER_MaxIDX_fieldL0 0x0000FFFF
#define BA_CtxPSER_MaxIDX_fieldL1 0x001E
#define B16CtxPSER_MaxIDX_fieldL1 0x001E
#define LSb32CtxPSER_MaxIDX_fieldL1 16
#define LSb16CtxPSER_MaxIDX_fieldL1 0
#define bCtxPSER_MaxIDX_fieldL1 16
#define MSK32CtxPSER_MaxIDX_fieldL1 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_CtxPSER_IF 0x0020
#define BA_CtxPSER_IF_err_MBs 0x0020
#define B16CtxPSER_IF_err_MBs 0x0020
#define LSb32CtxPSER_IF_err_MBs 0
#define LSb16CtxPSER_IF_err_MBs 0
#define bCtxPSER_IF_err_MBs 16
#define MSK32CtxPSER_IF_err_MBs 0x0000FFFF
#define BA_CtxPSER_IF_is_sync 0x0022
#define B16CtxPSER_IF_is_sync 0x0022
#define LSb32CtxPSER_IF_is_sync 16
#define LSb16CtxPSER_IF_is_sync 0
#define bCtxPSER_IF_is_sync 8
#define MSK32CtxPSER_IF_is_sync 0x00FF0000
///////////////////////////////////////////////////////////
typedef struct SIE_CtxPSER {
///////////////////////////////////////////////////////////
#define GET32CtxPSER_DEC_totalMBs(r32) _BFGET_(r32,15, 0)
#define SET32CtxPSER_DEC_totalMBs(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxPSER_DEC_totalMBs(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_DEC_totalMBs(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxPSER_DEC_moreSkip(r32) _BFGET_(r32,31,16)
#define SET32CtxPSER_DEC_moreSkip(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxPSER_DEC_moreSkip(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_DEC_moreSkip(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxPSER_DEC {\
UNSG32 uDEC_totalMBs : 16;\
UNSG32 uDEC_moreSkip : 16;\
}
union { UNSG32 u32CtxPSER_DEC;
struct w32CtxPSER_DEC;
};
#define GET32CtxPSER_DEC_MBs(r32) _BFGET_(r32,15, 0)
#define SET32CtxPSER_DEC_MBs(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxPSER_DEC_MBs(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_DEC_MBs(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxPSER_DEC_error(r32) _BFGET_(r32,23,16)
#define SET32CtxPSER_DEC_error(r32,v) _BFSET_(r32,23,16,v)
#define GET16CtxPSER_DEC_error(r16) _BFGET_(r16, 7, 0)
#define SET16CtxPSER_DEC_error(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32CtxPSER_DEC_eos(r32) _BFGET_(r32,24,24)
#define SET32CtxPSER_DEC_eos(r32,v) _BFSET_(r32,24,24,v)
#define GET16CtxPSER_DEC_eos(r16) _BFGET_(r16, 8, 8)
#define SET16CtxPSER_DEC_eos(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32CtxPSER_DEC_forceEND(r32) _BFGET_(r32,25,25)
#define SET32CtxPSER_DEC_forceEND(r32,v) _BFSET_(r32,25,25,v)
#define GET16CtxPSER_DEC_forceEND(r16) _BFGET_(r16, 9, 9)
#define SET16CtxPSER_DEC_forceEND(r16,v) _BFSET_(r16, 9, 9,v)
#define w32CtxPSER_DEC1 {\
UNSG32 uDEC_MBs : 16;\
UNSG32 uDEC_error : 8;\
UNSG32 uDEC_eos : 1;\
UNSG32 uDEC_forceEND : 1;\
UNSG32 RSVDx4_b26 : 6;\
}
union { UNSG32 u32CtxPSER_DEC1;
struct w32CtxPSER_DEC1;
};
///////////////////////////////////////////////////////////
#define GET32CtxPSER_SLICE_MBX(r32) _BFGET_(r32,15, 0)
#define SET32CtxPSER_SLICE_MBX(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxPSER_SLICE_MBX(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_SLICE_MBX(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxPSER_SLICE_MBY(r32) _BFGET_(r32,31,16)
#define SET32CtxPSER_SLICE_MBY(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxPSER_SLICE_MBY(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_SLICE_MBY(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxPSER_SLICE {\
UNSG32 uSLICE_MBX : 16;\
UNSG32 uSLICE_MBY : 16;\
}
union { UNSG32 u32CtxPSER_SLICE;
struct w32CtxPSER_SLICE;
};
#define GET32CtxPSER_SLICE_hMBs(r32) _BFGET_(r32,15, 0)
#define SET32CtxPSER_SLICE_hMBs(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxPSER_SLICE_hMBs(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_SLICE_hMBs(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxPSER_SLICE_ID(r32) _BFGET_(r32,31,16)
#define SET32CtxPSER_SLICE_ID(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxPSER_SLICE_ID(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_SLICE_ID(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxPSER_SLICE1 {\
UNSG32 uSLICE_hMBs : 16;\
UNSG32 uSLICE_ID : 16;\
}
union { UNSG32 u32CtxPSER_SLICE1;
struct w32CtxPSER_SLICE1;
};
///////////////////////////////////////////////////////////
#define GET32CtxPSER_MB_QP(r32) _BFGET_(r32,15, 0)
#define SET32CtxPSER_MB_QP(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxPSER_MB_QP(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_MB_QP(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxPSER_MB_QuDlt(r32) _BFGET_(r32,23,16)
#define SET32CtxPSER_MB_QuDlt(r32,v) _BFSET_(r32,23,16,v)
#define GET16CtxPSER_MB_QuDlt(r16) _BFGET_(r16, 7, 0)
#define SET16CtxPSER_MB_QuDlt(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32CtxPSER_MB_QvDlt(r32) _BFGET_(r32,31,24)
#define SET32CtxPSER_MB_QvDlt(r32,v) _BFSET_(r32,31,24,v)
#define GET16CtxPSER_MB_QvDlt(r16) _BFGET_(r16,15, 8)
#define SET16CtxPSER_MB_QvDlt(r16,v) _BFSET_(r16,15, 8,v)
#define w32CtxPSER_MB {\
UNSG32 uMB_QP : 16;\
UNSG32 sMB_QuDlt : 8;\
UNSG32 sMB_QvDlt : 8;\
}
union { UNSG32 u32CtxPSER_MB;
struct w32CtxPSER_MB;
};
#define GET32CtxPSER_MB_type(r32) _BFGET_(r32,15, 0)
#define SET32CtxPSER_MB_type(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxPSER_MB_type(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_MB_type(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxPSER_MB_MBAFF(r32) _BFGET_(r32,16,16)
#define SET32CtxPSER_MB_MBAFF(r32,v) _BFSET_(r32,16,16,v)
#define GET16CtxPSER_MB_MBAFF(r16) _BFGET_(r16, 0, 0)
#define SET16CtxPSER_MB_MBAFF(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32CtxPSER_MB_mono(r32) _BFGET_(r32,17,17)
#define SET32CtxPSER_MB_mono(r32,v) _BFSET_(r32,17,17,v)
#define GET16CtxPSER_MB_mono(r16) _BFGET_(r16, 1, 1)
#define SET16CtxPSER_MB_mono(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32CtxPSER_MB_cabac(r32) _BFGET_(r32,18,18)
#define SET32CtxPSER_MB_cabac(r32,v) _BFSET_(r32,18,18,v)
#define GET16CtxPSER_MB_cabac(r16) _BFGET_(r16, 2, 2)
#define SET16CtxPSER_MB_cabac(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32CtxPSER_MB_tsf8x8(r32) _BFGET_(r32,19,19)
#define SET32CtxPSER_MB_tsf8x8(r32,v) _BFSET_(r32,19,19,v)
#define GET16CtxPSER_MB_tsf8x8(r16) _BFGET_(r16, 3, 3)
#define SET16CtxPSER_MB_tsf8x8(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32CtxPSER_MB_direct8x8(r32) _BFGET_(r32,20,20)
#define SET32CtxPSER_MB_direct8x8(r32,v) _BFSET_(r32,20,20,v)
#define GET16CtxPSER_MB_direct8x8(r16) _BFGET_(r16, 4, 4)
#define SET16CtxPSER_MB_direct8x8(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32CtxPSER_MB_mtpL0(r32) _BFGET_(r32,21,21)
#define SET32CtxPSER_MB_mtpL0(r32,v) _BFSET_(r32,21,21,v)
#define GET16CtxPSER_MB_mtpL0(r16) _BFGET_(r16, 5, 5)
#define SET16CtxPSER_MB_mtpL0(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32CtxPSER_MB_mtpL1(r32) _BFGET_(r32,22,22)
#define SET32CtxPSER_MB_mtpL1(r32,v) _BFSET_(r32,22,22,v)
#define GET16CtxPSER_MB_mtpL1(r16) _BFGET_(r16, 6, 6)
#define SET16CtxPSER_MB_mtpL1(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32CtxPSER_MB_rIDX0(r32) _BFGET_(r32,23,23)
#define SET32CtxPSER_MB_rIDX0(r32,v) _BFSET_(r32,23,23,v)
#define GET16CtxPSER_MB_rIDX0(r16) _BFGET_(r16, 7, 7)
#define SET16CtxPSER_MB_rIDX0(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32CtxPSER_MB_rIDX1(r32) _BFGET_(r32,24,24)
#define SET32CtxPSER_MB_rIDX1(r32,v) _BFSET_(r32,24,24,v)
#define GET16CtxPSER_MB_rIDX1(r16) _BFGET_(r16, 8, 8)
#define SET16CtxPSER_MB_rIDX1(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32CtxPSER_MB_fieldMB(r32) _BFGET_(r32,25,25)
#define SET32CtxPSER_MB_fieldMB(r32,v) _BFSET_(r32,25,25,v)
#define GET16CtxPSER_MB_fieldMB(r16) _BFGET_(r16, 9, 9)
#define SET16CtxPSER_MB_fieldMB(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32CtxPSER_MB_fieldPendMB(r32) _BFGET_(r32,26,26)
#define SET32CtxPSER_MB_fieldPendMB(r32,v) _BFSET_(r32,26,26,v)
#define GET16CtxPSER_MB_fieldPendMB(r16) _BFGET_(r16,10,10)
#define SET16CtxPSER_MB_fieldPendMB(r16,v) _BFSET_(r16,10,10,v)
#define GET32CtxPSER_MB_decSkip(r32) _BFGET_(r32,27,27)
#define SET32CtxPSER_MB_decSkip(r32,v) _BFSET_(r32,27,27,v)
#define GET16CtxPSER_MB_decSkip(r16) _BFGET_(r16,11,11)
#define SET16CtxPSER_MB_decSkip(r16,v) _BFSET_(r16,11,11,v)
#define GET32CtxPSER_MB_FirstInPair(r32) _BFGET_(r32,28,28)
#define SET32CtxPSER_MB_FirstInPair(r32,v) _BFSET_(r32,28,28,v)
#define GET16CtxPSER_MB_FirstInPair(r16) _BFGET_(r16,12,12)
#define SET16CtxPSER_MB_FirstInPair(r16,v) _BFSET_(r16,12,12,v)
#define GET32CtxPSER_MB_cond_dQP(r32) _BFGET_(r32,29,29)
#define SET32CtxPSER_MB_cond_dQP(r32,v) _BFSET_(r32,29,29,v)
#define GET16CtxPSER_MB_cond_dQP(r16) _BFGET_(r16,13,13)
#define SET16CtxPSER_MB_cond_dQP(r16,v) _BFSET_(r16,13,13,v)
#define GET32CtxPSER_MB_has_dQP(r32) _BFGET_(r32,30,30)
#define SET32CtxPSER_MB_has_dQP(r32,v) _BFSET_(r32,30,30,v)
#define GET16CtxPSER_MB_has_dQP(r16) _BFGET_(r16,14,14)
#define SET16CtxPSER_MB_has_dQP(r16,v) _BFSET_(r16,14,14,v)
#define w32CtxPSER_MB1 {\
UNSG32 uMB_type : 16;\
UNSG32 uMB_MBAFF : 1;\
UNSG32 uMB_mono : 1;\
UNSG32 uMB_cabac : 1;\
UNSG32 uMB_tsf8x8 : 1;\
UNSG32 uMB_direct8x8 : 1;\
UNSG32 uMB_mtpL0 : 1;\
UNSG32 uMB_mtpL1 : 1;\
UNSG32 uMB_rIDX0 : 1;\
UNSG32 uMB_rIDX1 : 1;\
UNSG32 uMB_fieldMB : 1;\
UNSG32 uMB_fieldPendMB : 1;\
UNSG32 uMB_decSkip : 1;\
UNSG32 uMB_FirstInPair : 1;\
UNSG32 uMB_cond_dQP : 1;\
UNSG32 uMB_has_dQP : 1;\
UNSG32 RSVDx14_b31 : 1;\
}
union { UNSG32 u32CtxPSER_MB1;
struct w32CtxPSER_MB1;
};
///////////////////////////////////////////////////////////
#define GET32CtxPSER_MaxIDX_L0(r32) _BFGET_(r32,15, 0)
#define SET32CtxPSER_MaxIDX_L0(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxPSER_MaxIDX_L0(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_MaxIDX_L0(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxPSER_MaxIDX_L1(r32) _BFGET_(r32,31,16)
#define SET32CtxPSER_MaxIDX_L1(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxPSER_MaxIDX_L1(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_MaxIDX_L1(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxPSER_MaxIDX {\
UNSG32 uMaxIDX_L0 : 16;\
UNSG32 uMaxIDX_L1 : 16;\
}
union { UNSG32 u32CtxPSER_MaxIDX;
struct w32CtxPSER_MaxIDX;
};
#define GET32CtxPSER_MaxIDX_fieldL0(r32) _BFGET_(r32,15, 0)
#define SET32CtxPSER_MaxIDX_fieldL0(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxPSER_MaxIDX_fieldL0(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_MaxIDX_fieldL0(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxPSER_MaxIDX_fieldL1(r32) _BFGET_(r32,31,16)
#define SET32CtxPSER_MaxIDX_fieldL1(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxPSER_MaxIDX_fieldL1(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_MaxIDX_fieldL1(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxPSER_MaxIDX1 {\
UNSG32 uMaxIDX_fieldL0 : 16;\
UNSG32 uMaxIDX_fieldL1 : 16;\
}
union { UNSG32 u32CtxPSER_MaxIDX1;
struct w32CtxPSER_MaxIDX1;
};
///////////////////////////////////////////////////////////
#define GET32CtxPSER_IF_err_MBs(r32) _BFGET_(r32,15, 0)
#define SET32CtxPSER_IF_err_MBs(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxPSER_IF_err_MBs(r16) _BFGET_(r16,15, 0)
#define SET16CtxPSER_IF_err_MBs(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxPSER_IF_is_sync(r32) _BFGET_(r32,23,16)
#define SET32CtxPSER_IF_is_sync(r32,v) _BFSET_(r32,23,16,v)
#define GET16CtxPSER_IF_is_sync(r16) _BFGET_(r16, 7, 0)
#define SET16CtxPSER_IF_is_sync(r16,v) _BFSET_(r16, 7, 0,v)
#define w32CtxPSER_IF {\
UNSG32 uIF_err_MBs : 16;\
UNSG32 uIF_is_sync : 8;\
UNSG32 RSVDx20_b24 : 8;\
}
union { UNSG32 u32CtxPSER_IF;
struct w32CtxPSER_IF;
};
///////////////////////////////////////////////////////////
} SIE_CtxPSER;
typedef union T32CtxPSER_DEC
{ UNSG32 u32;
struct w32CtxPSER_DEC;
} T32CtxPSER_DEC;
typedef union T32CtxPSER_DEC1
{ UNSG32 u32;
struct w32CtxPSER_DEC1;
} T32CtxPSER_DEC1;
typedef union T32CtxPSER_SLICE
{ UNSG32 u32;
struct w32CtxPSER_SLICE;
} T32CtxPSER_SLICE;
typedef union T32CtxPSER_SLICE1
{ UNSG32 u32;
struct w32CtxPSER_SLICE1;
} T32CtxPSER_SLICE1;
typedef union T32CtxPSER_MB
{ UNSG32 u32;
struct w32CtxPSER_MB;
} T32CtxPSER_MB;
typedef union T32CtxPSER_MB1
{ UNSG32 u32;
struct w32CtxPSER_MB1;
} T32CtxPSER_MB1;
typedef union T32CtxPSER_MaxIDX
{ UNSG32 u32;
struct w32CtxPSER_MaxIDX;
} T32CtxPSER_MaxIDX;
typedef union T32CtxPSER_MaxIDX1
{ UNSG32 u32;
struct w32CtxPSER_MaxIDX1;
} T32CtxPSER_MaxIDX1;
typedef union T32CtxPSER_IF
{ UNSG32 u32;
struct w32CtxPSER_IF;
} T32CtxPSER_IF;
///////////////////////////////////////////////////////////
typedef union TCtxPSER_DEC
{ UNSG32 u32[2];
struct {
struct w32CtxPSER_DEC;
struct w32CtxPSER_DEC1;
};
} TCtxPSER_DEC;
typedef union TCtxPSER_SLICE
{ UNSG32 u32[2];
struct {
struct w32CtxPSER_SLICE;
struct w32CtxPSER_SLICE1;
};
} TCtxPSER_SLICE;
typedef union TCtxPSER_MB
{ UNSG32 u32[2];
struct {
struct w32CtxPSER_MB;
struct w32CtxPSER_MB1;
};
} TCtxPSER_MB;
typedef union TCtxPSER_MaxIDX
{ UNSG32 u32[2];
struct {
struct w32CtxPSER_MaxIDX;
struct w32CtxPSER_MaxIDX1;
};
} TCtxPSER_MaxIDX;
typedef union TCtxPSER_IF
{ UNSG32 u32[1];
struct {
struct w32CtxPSER_IF;
};
} TCtxPSER_IF;
///////////////////////////////////////////////////////////
SIGN32 CtxPSER_drvrd(SIE_CtxPSER *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CtxPSER_drvwr(SIE_CtxPSER *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CtxPSER_reset(SIE_CtxPSER *p);
SIGN32 CtxPSER_cmp (SIE_CtxPSER *p, SIE_CtxPSER *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CtxPSER_check(p,pie,pfx,hLOG) CtxPSER_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CtxPSER_print(p, pfx,hLOG) CtxPSER_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CtxPSER
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CtxSYNP (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 prop (P)
/// %unsigned 16 start
/// ###
/// * Kick off syntax processor
/// ###
/// %unsigned 16 rBID
/// ###
/// * Current buffer ID, last 1b indicates access mode:
/// * 0: frame/progressive or top field
/// * 1: bottom field
/// ###
/// # 0x00004 prop1
/// %unsigned 1 MBAFF
/// ###
/// * H.264: if MBAFF picture
/// ###
/// %unsigned 1 PicFLD
/// ###
/// * If field picture
/// ###
/// %unsigned 1 CoLocFLD
/// ###
/// * If co-located picture is field picture
/// ###
/// %unsigned 1 PairCoLoc
/// ###
/// * If to load co-located MB pair:
/// * = (MBAFF || PicFLD) && !CoLocFLD
/// ###
/// %unsigned 1 refCtx
/// ###
/// * If to output tCtx for future co-located use
/// ###
/// %unsigned 1 sliceB
/// ###
/// * If B-slice
/// ###
/// %unsigned 1 directEnb
/// ###
/// * If B-slice and direct mode enabled
/// ###
/// %unsigned 1 direct8x8
/// ###
/// * H.264: direct 8x8 inference flag
/// ###
/// %unsigned 1 directSpatial
/// ###
/// * H.264: 0/1 for temporal/spatial direct mode
/// ###
/// %unsigned 1 loopFlt
/// ###
/// * If enable loop-filter
/// ###
/// %unsigned 1 LFInSlice
/// ###
/// * Loop-filter within slice
/// ###
/// %unsigned 1 CoLocFLDMB
/// ###
/// * Run-time: if co-located MB is field MB
/// ###
/// %unsigned 1 CoLoc8x8
/// ###
/// * Run-time: if co-located MB has no sub-8x8
/// ###
/// %unsigned 1 CoLoc16x16
/// ###
/// * Run-time: if co-located bottom MB has only 1 partition
/// ###
/// %unsigned 1 CoLoc8x8Btm
/// ###
/// * Run-time: if co-located bottom MB has no sub-8x8
/// ###
/// %unsigned 1 CoLoc16x16Btm
/// ###
/// * Run-time: if co-located MB has only 1 partition
/// ###
/// %unsigned 1 consIntra
/// ###
/// * H.264: if to constrain intra predictors
/// ###
/// %unsigned 1 btmCloser
/// ###
/// * H.264 direct mode: coloc is AFF and current is AFF and bottom POC is closer to curr POC
/// ###
/// %unsigned 1 tCtxDirect8x8
/// ###
/// * H.264 direct mode:
/// * (frame_mbs_only_flag & direct_8x8_inference_flag)
/// ###
/// %unsigned 1 nFrmFld
/// ###
/// * H.264 direct mode: not Frame Field
/// * !(!MBAFF && !PicFLD && CoLocFLD)
/// ###
/// %unsigned 1 BtmFLD
/// ###
/// * Is current picture a bottom field
/// * PicFLD must be 1 if btmFLD is 1
/// ###
/// %% 11 # Stuffing bits...
/// @ 0x00008 tCtx (P)
/// %unsigned 32 CoLocMB
/// ###
/// * Co-located tCtx buffer (MB pointer) to input
/// * 0x20000000 | CoLoc.tCtx[MB]
/// ###
/// # 0x0000C tCtx1
/// %unsigned 32 CurMB
/// ###
/// * Current tCtx buffer (MB pointer) to output
/// * 0x60000000 | Cur.tCtx[MB]
/// ###
/// # 0x00010 tCtx2
/// %unsigned 32 CoLocPic
/// ###
/// * Co-located tCtx buffer to input
/// * 0x20000000 | CoLoc.tCtx
/// ###
/// # 0x00014 tCtx3
/// %unsigned 32 CurPic
/// ###
/// * Current tCtx buffer to output
/// * 0x60000000 | Cur.tCtx
/// ###
/// @ 0x00018 SN (P)
/// %unsigned 16 parser
/// ###
/// * Running MB counter of stream parsing
/// * Maintained by stream parser:
/// * parser ++;
/// ###
/// %unsigned 16 synproc
/// ###
/// * Running MB counter of syntax processing
/// * Maintained by syntax processor:
/// * synproc ++; fifo.ctxIn.pop(); fifo.ctxOut.push();
/// ###
/// # 0x0001C SN1
/// %unsigned 16 ctxIn
/// ###
/// * Running MB counter of input MB context
/// * Maintained by syntax processor:
/// * = synproc + FLOOR( fifo.ctxIn.lvl() )
/// ###
/// %unsigned 16 ctxOut
/// ###
/// * Running MB counter of output MB context
/// * Maintained by syntax processor:
/// * = synproc - CEIL( fifo.ctxOut.lvl() )
/// ###
/// # 0x00020 SN2
/// %unsigned 16 P3MsgQ
/// ###
/// * Running MB counter of P3Msg (mbprop) output
/// * Maintained by syntax processor:
/// * = synproc - CEIL( fifo.P3Msg.lvl() )
/// ###
/// %unsigned 16 P3FopQ
/// ###
/// * Running MB counter of FOP output
/// ###
/// # 0x00024 SN3
/// %unsigned 16 VCMsgQ
/// ###
/// * Running counter of vCache message output
/// ###
/// %unsigned 16 P3TCQ
/// ###
/// * Running counter of non-zero 8x8 TC output
/// ###
/// # 0x00028 SN4
/// %unsigned 16 tCtxIn
/// ###
/// * Running counter of temporal context input
/// ###
/// %unsigned 16 tCtxOut
/// ###
/// * Running counter of temporal context output
/// ###
/// # 0x0002C SN5
/// %unsigned 16 cmdDS
/// ###
/// * Running counter of data streamer command
/// * Starting from 0xFF at each picture
/// ###
/// %unsigned 16 vcmDesc
/// ###
/// * Running counter of vcMSG descriptor bank
/// * Staring from 0xFFFF at each picture
/// * End of CtxSYNP
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 48B, bits: 373b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CtxSYNP
#define h_CtxSYNP (){}
#define RA_CtxSYNP_prop 0x0000
#define BA_CtxSYNP_prop_start 0x0000
#define B16CtxSYNP_prop_start 0x0000
#define LSb32CtxSYNP_prop_start 0
#define LSb16CtxSYNP_prop_start 0
#define bCtxSYNP_prop_start 16
#define MSK32CtxSYNP_prop_start 0x0000FFFF
#define BA_CtxSYNP_prop_rBID 0x0002
#define B16CtxSYNP_prop_rBID 0x0002
#define LSb32CtxSYNP_prop_rBID 16
#define LSb16CtxSYNP_prop_rBID 0
#define bCtxSYNP_prop_rBID 16
#define MSK32CtxSYNP_prop_rBID 0xFFFF0000
#define RA_CtxSYNP_prop1 0x0004
#define BA_CtxSYNP_prop_MBAFF 0x0004
#define B16CtxSYNP_prop_MBAFF 0x0004
#define LSb32CtxSYNP_prop_MBAFF 0
#define LSb16CtxSYNP_prop_MBAFF 0
#define bCtxSYNP_prop_MBAFF 1
#define MSK32CtxSYNP_prop_MBAFF 0x00000001
#define BA_CtxSYNP_prop_PicFLD 0x0004
#define B16CtxSYNP_prop_PicFLD 0x0004
#define LSb32CtxSYNP_prop_PicFLD 1
#define LSb16CtxSYNP_prop_PicFLD 1
#define bCtxSYNP_prop_PicFLD 1
#define MSK32CtxSYNP_prop_PicFLD 0x00000002
#define BA_CtxSYNP_prop_CoLocFLD 0x0004
#define B16CtxSYNP_prop_CoLocFLD 0x0004
#define LSb32CtxSYNP_prop_CoLocFLD 2
#define LSb16CtxSYNP_prop_CoLocFLD 2
#define bCtxSYNP_prop_CoLocFLD 1
#define MSK32CtxSYNP_prop_CoLocFLD 0x00000004
#define BA_CtxSYNP_prop_PairCoLoc 0x0004
#define B16CtxSYNP_prop_PairCoLoc 0x0004
#define LSb32CtxSYNP_prop_PairCoLoc 3
#define LSb16CtxSYNP_prop_PairCoLoc 3
#define bCtxSYNP_prop_PairCoLoc 1
#define MSK32CtxSYNP_prop_PairCoLoc 0x00000008
#define BA_CtxSYNP_prop_refCtx 0x0004
#define B16CtxSYNP_prop_refCtx 0x0004
#define LSb32CtxSYNP_prop_refCtx 4
#define LSb16CtxSYNP_prop_refCtx 4
#define bCtxSYNP_prop_refCtx 1
#define MSK32CtxSYNP_prop_refCtx 0x00000010
#define BA_CtxSYNP_prop_sliceB 0x0004
#define B16CtxSYNP_prop_sliceB 0x0004
#define LSb32CtxSYNP_prop_sliceB 5
#define LSb16CtxSYNP_prop_sliceB 5
#define bCtxSYNP_prop_sliceB 1
#define MSK32CtxSYNP_prop_sliceB 0x00000020
#define BA_CtxSYNP_prop_directEnb 0x0004
#define B16CtxSYNP_prop_directEnb 0x0004
#define LSb32CtxSYNP_prop_directEnb 6
#define LSb16CtxSYNP_prop_directEnb 6
#define bCtxSYNP_prop_directEnb 1
#define MSK32CtxSYNP_prop_directEnb 0x00000040
#define BA_CtxSYNP_prop_direct8x8 0x0004
#define B16CtxSYNP_prop_direct8x8 0x0004
#define LSb32CtxSYNP_prop_direct8x8 7
#define LSb16CtxSYNP_prop_direct8x8 7
#define bCtxSYNP_prop_direct8x8 1
#define MSK32CtxSYNP_prop_direct8x8 0x00000080
#define BA_CtxSYNP_prop_directSpatial 0x0005
#define B16CtxSYNP_prop_directSpatial 0x0004
#define LSb32CtxSYNP_prop_directSpatial 8
#define LSb16CtxSYNP_prop_directSpatial 8
#define bCtxSYNP_prop_directSpatial 1
#define MSK32CtxSYNP_prop_directSpatial 0x00000100
#define BA_CtxSYNP_prop_loopFlt 0x0005
#define B16CtxSYNP_prop_loopFlt 0x0004
#define LSb32CtxSYNP_prop_loopFlt 9
#define LSb16CtxSYNP_prop_loopFlt 9
#define bCtxSYNP_prop_loopFlt 1
#define MSK32CtxSYNP_prop_loopFlt 0x00000200
#define BA_CtxSYNP_prop_LFInSlice 0x0005
#define B16CtxSYNP_prop_LFInSlice 0x0004
#define LSb32CtxSYNP_prop_LFInSlice 10
#define LSb16CtxSYNP_prop_LFInSlice 10
#define bCtxSYNP_prop_LFInSlice 1
#define MSK32CtxSYNP_prop_LFInSlice 0x00000400
#define BA_CtxSYNP_prop_CoLocFLDMB 0x0005
#define B16CtxSYNP_prop_CoLocFLDMB 0x0004
#define LSb32CtxSYNP_prop_CoLocFLDMB 11
#define LSb16CtxSYNP_prop_CoLocFLDMB 11
#define bCtxSYNP_prop_CoLocFLDMB 1
#define MSK32CtxSYNP_prop_CoLocFLDMB 0x00000800
#define BA_CtxSYNP_prop_CoLoc8x8 0x0005
#define B16CtxSYNP_prop_CoLoc8x8 0x0004
#define LSb32CtxSYNP_prop_CoLoc8x8 12
#define LSb16CtxSYNP_prop_CoLoc8x8 12
#define bCtxSYNP_prop_CoLoc8x8 1
#define MSK32CtxSYNP_prop_CoLoc8x8 0x00001000
#define BA_CtxSYNP_prop_CoLoc16x16 0x0005
#define B16CtxSYNP_prop_CoLoc16x16 0x0004
#define LSb32CtxSYNP_prop_CoLoc16x16 13
#define LSb16CtxSYNP_prop_CoLoc16x16 13
#define bCtxSYNP_prop_CoLoc16x16 1
#define MSK32CtxSYNP_prop_CoLoc16x16 0x00002000
#define BA_CtxSYNP_prop_CoLoc8x8Btm 0x0005
#define B16CtxSYNP_prop_CoLoc8x8Btm 0x0004
#define LSb32CtxSYNP_prop_CoLoc8x8Btm 14
#define LSb16CtxSYNP_prop_CoLoc8x8Btm 14
#define bCtxSYNP_prop_CoLoc8x8Btm 1
#define MSK32CtxSYNP_prop_CoLoc8x8Btm 0x00004000
#define BA_CtxSYNP_prop_CoLoc16x16Btm 0x0005
#define B16CtxSYNP_prop_CoLoc16x16Btm 0x0004
#define LSb32CtxSYNP_prop_CoLoc16x16Btm 15
#define LSb16CtxSYNP_prop_CoLoc16x16Btm 15
#define bCtxSYNP_prop_CoLoc16x16Btm 1
#define MSK32CtxSYNP_prop_CoLoc16x16Btm 0x00008000
#define BA_CtxSYNP_prop_consIntra 0x0006
#define B16CtxSYNP_prop_consIntra 0x0006
#define LSb32CtxSYNP_prop_consIntra 16
#define LSb16CtxSYNP_prop_consIntra 0
#define bCtxSYNP_prop_consIntra 1
#define MSK32CtxSYNP_prop_consIntra 0x00010000
#define BA_CtxSYNP_prop_btmCloser 0x0006
#define B16CtxSYNP_prop_btmCloser 0x0006
#define LSb32CtxSYNP_prop_btmCloser 17
#define LSb16CtxSYNP_prop_btmCloser 1
#define bCtxSYNP_prop_btmCloser 1
#define MSK32CtxSYNP_prop_btmCloser 0x00020000
#define BA_CtxSYNP_prop_tCtxDirect8x8 0x0006
#define B16CtxSYNP_prop_tCtxDirect8x8 0x0006
#define LSb32CtxSYNP_prop_tCtxDirect8x8 18
#define LSb16CtxSYNP_prop_tCtxDirect8x8 2
#define bCtxSYNP_prop_tCtxDirect8x8 1
#define MSK32CtxSYNP_prop_tCtxDirect8x8 0x00040000
#define BA_CtxSYNP_prop_nFrmFld 0x0006
#define B16CtxSYNP_prop_nFrmFld 0x0006
#define LSb32CtxSYNP_prop_nFrmFld 19
#define LSb16CtxSYNP_prop_nFrmFld 3
#define bCtxSYNP_prop_nFrmFld 1
#define MSK32CtxSYNP_prop_nFrmFld 0x00080000
#define BA_CtxSYNP_prop_BtmFLD 0x0006
#define B16CtxSYNP_prop_BtmFLD 0x0006
#define LSb32CtxSYNP_prop_BtmFLD 20
#define LSb16CtxSYNP_prop_BtmFLD 4
#define bCtxSYNP_prop_BtmFLD 1
#define MSK32CtxSYNP_prop_BtmFLD 0x00100000
///////////////////////////////////////////////////////////
#define RA_CtxSYNP_tCtx 0x0008
#define BA_CtxSYNP_tCtx_CoLocMB 0x0008
#define B16CtxSYNP_tCtx_CoLocMB 0x0008
#define LSb32CtxSYNP_tCtx_CoLocMB 0
#define LSb16CtxSYNP_tCtx_CoLocMB 0
#define bCtxSYNP_tCtx_CoLocMB 32
#define MSK32CtxSYNP_tCtx_CoLocMB 0xFFFFFFFF
#define RA_CtxSYNP_tCtx1 0x000C
#define BA_CtxSYNP_tCtx_CurMB 0x000C
#define B16CtxSYNP_tCtx_CurMB 0x000C
#define LSb32CtxSYNP_tCtx_CurMB 0
#define LSb16CtxSYNP_tCtx_CurMB 0
#define bCtxSYNP_tCtx_CurMB 32
#define MSK32CtxSYNP_tCtx_CurMB 0xFFFFFFFF
#define RA_CtxSYNP_tCtx2 0x0010
#define BA_CtxSYNP_tCtx_CoLocPic 0x0010
#define B16CtxSYNP_tCtx_CoLocPic 0x0010
#define LSb32CtxSYNP_tCtx_CoLocPic 0
#define LSb16CtxSYNP_tCtx_CoLocPic 0
#define bCtxSYNP_tCtx_CoLocPic 32
#define MSK32CtxSYNP_tCtx_CoLocPic 0xFFFFFFFF
#define RA_CtxSYNP_tCtx3 0x0014
#define BA_CtxSYNP_tCtx_CurPic 0x0014
#define B16CtxSYNP_tCtx_CurPic 0x0014
#define LSb32CtxSYNP_tCtx_CurPic 0
#define LSb16CtxSYNP_tCtx_CurPic 0
#define bCtxSYNP_tCtx_CurPic 32
#define MSK32CtxSYNP_tCtx_CurPic 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_CtxSYNP_SN 0x0018
#define BA_CtxSYNP_SN_parser 0x0018
#define B16CtxSYNP_SN_parser 0x0018
#define LSb32CtxSYNP_SN_parser 0
#define LSb16CtxSYNP_SN_parser 0
#define bCtxSYNP_SN_parser 16
#define MSK32CtxSYNP_SN_parser 0x0000FFFF
#define BA_CtxSYNP_SN_synproc 0x001A
#define B16CtxSYNP_SN_synproc 0x001A
#define LSb32CtxSYNP_SN_synproc 16
#define LSb16CtxSYNP_SN_synproc 0
#define bCtxSYNP_SN_synproc 16
#define MSK32CtxSYNP_SN_synproc 0xFFFF0000
#define RA_CtxSYNP_SN1 0x001C
#define BA_CtxSYNP_SN_ctxIn 0x001C
#define B16CtxSYNP_SN_ctxIn 0x001C
#define LSb32CtxSYNP_SN_ctxIn 0
#define LSb16CtxSYNP_SN_ctxIn 0
#define bCtxSYNP_SN_ctxIn 16
#define MSK32CtxSYNP_SN_ctxIn 0x0000FFFF
#define BA_CtxSYNP_SN_ctxOut 0x001E
#define B16CtxSYNP_SN_ctxOut 0x001E
#define LSb32CtxSYNP_SN_ctxOut 16
#define LSb16CtxSYNP_SN_ctxOut 0
#define bCtxSYNP_SN_ctxOut 16
#define MSK32CtxSYNP_SN_ctxOut 0xFFFF0000
#define RA_CtxSYNP_SN2 0x0020
#define BA_CtxSYNP_SN_P3MsgQ 0x0020
#define B16CtxSYNP_SN_P3MsgQ 0x0020
#define LSb32CtxSYNP_SN_P3MsgQ 0
#define LSb16CtxSYNP_SN_P3MsgQ 0
#define bCtxSYNP_SN_P3MsgQ 16
#define MSK32CtxSYNP_SN_P3MsgQ 0x0000FFFF
#define BA_CtxSYNP_SN_P3FopQ 0x0022
#define B16CtxSYNP_SN_P3FopQ 0x0022
#define LSb32CtxSYNP_SN_P3FopQ 16
#define LSb16CtxSYNP_SN_P3FopQ 0
#define bCtxSYNP_SN_P3FopQ 16
#define MSK32CtxSYNP_SN_P3FopQ 0xFFFF0000
#define RA_CtxSYNP_SN3 0x0024
#define BA_CtxSYNP_SN_VCMsgQ 0x0024
#define B16CtxSYNP_SN_VCMsgQ 0x0024
#define LSb32CtxSYNP_SN_VCMsgQ 0
#define LSb16CtxSYNP_SN_VCMsgQ 0
#define bCtxSYNP_SN_VCMsgQ 16
#define MSK32CtxSYNP_SN_VCMsgQ 0x0000FFFF
#define BA_CtxSYNP_SN_P3TCQ 0x0026
#define B16CtxSYNP_SN_P3TCQ 0x0026
#define LSb32CtxSYNP_SN_P3TCQ 16
#define LSb16CtxSYNP_SN_P3TCQ 0
#define bCtxSYNP_SN_P3TCQ 16
#define MSK32CtxSYNP_SN_P3TCQ 0xFFFF0000
#define RA_CtxSYNP_SN4 0x0028
#define BA_CtxSYNP_SN_tCtxIn 0x0028
#define B16CtxSYNP_SN_tCtxIn 0x0028
#define LSb32CtxSYNP_SN_tCtxIn 0
#define LSb16CtxSYNP_SN_tCtxIn 0
#define bCtxSYNP_SN_tCtxIn 16
#define MSK32CtxSYNP_SN_tCtxIn 0x0000FFFF
#define BA_CtxSYNP_SN_tCtxOut 0x002A
#define B16CtxSYNP_SN_tCtxOut 0x002A
#define LSb32CtxSYNP_SN_tCtxOut 16
#define LSb16CtxSYNP_SN_tCtxOut 0
#define bCtxSYNP_SN_tCtxOut 16
#define MSK32CtxSYNP_SN_tCtxOut 0xFFFF0000
#define RA_CtxSYNP_SN5 0x002C
#define BA_CtxSYNP_SN_cmdDS 0x002C
#define B16CtxSYNP_SN_cmdDS 0x002C
#define LSb32CtxSYNP_SN_cmdDS 0
#define LSb16CtxSYNP_SN_cmdDS 0
#define bCtxSYNP_SN_cmdDS 16
#define MSK32CtxSYNP_SN_cmdDS 0x0000FFFF
#define BA_CtxSYNP_SN_vcmDesc 0x002E
#define B16CtxSYNP_SN_vcmDesc 0x002E
#define LSb32CtxSYNP_SN_vcmDesc 16
#define LSb16CtxSYNP_SN_vcmDesc 0
#define bCtxSYNP_SN_vcmDesc 16
#define MSK32CtxSYNP_SN_vcmDesc 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_CtxSYNP {
///////////////////////////////////////////////////////////
#define GET32CtxSYNP_prop_start(r32) _BFGET_(r32,15, 0)
#define SET32CtxSYNP_prop_start(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxSYNP_prop_start(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_prop_start(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxSYNP_prop_rBID(r32) _BFGET_(r32,31,16)
#define SET32CtxSYNP_prop_rBID(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxSYNP_prop_rBID(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_prop_rBID(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxSYNP_prop {\
UNSG32 uprop_start : 16;\
UNSG32 uprop_rBID : 16;\
}
union { UNSG32 u32CtxSYNP_prop;
struct w32CtxSYNP_prop;
};
#define GET32CtxSYNP_prop_MBAFF(r32) _BFGET_(r32, 0, 0)
#define SET32CtxSYNP_prop_MBAFF(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16CtxSYNP_prop_MBAFF(r16) _BFGET_(r16, 0, 0)
#define SET16CtxSYNP_prop_MBAFF(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32CtxSYNP_prop_PicFLD(r32) _BFGET_(r32, 1, 1)
#define SET32CtxSYNP_prop_PicFLD(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16CtxSYNP_prop_PicFLD(r16) _BFGET_(r16, 1, 1)
#define SET16CtxSYNP_prop_PicFLD(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32CtxSYNP_prop_CoLocFLD(r32) _BFGET_(r32, 2, 2)
#define SET32CtxSYNP_prop_CoLocFLD(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16CtxSYNP_prop_CoLocFLD(r16) _BFGET_(r16, 2, 2)
#define SET16CtxSYNP_prop_CoLocFLD(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32CtxSYNP_prop_PairCoLoc(r32) _BFGET_(r32, 3, 3)
#define SET32CtxSYNP_prop_PairCoLoc(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16CtxSYNP_prop_PairCoLoc(r16) _BFGET_(r16, 3, 3)
#define SET16CtxSYNP_prop_PairCoLoc(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32CtxSYNP_prop_refCtx(r32) _BFGET_(r32, 4, 4)
#define SET32CtxSYNP_prop_refCtx(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16CtxSYNP_prop_refCtx(r16) _BFGET_(r16, 4, 4)
#define SET16CtxSYNP_prop_refCtx(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32CtxSYNP_prop_sliceB(r32) _BFGET_(r32, 5, 5)
#define SET32CtxSYNP_prop_sliceB(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16CtxSYNP_prop_sliceB(r16) _BFGET_(r16, 5, 5)
#define SET16CtxSYNP_prop_sliceB(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32CtxSYNP_prop_directEnb(r32) _BFGET_(r32, 6, 6)
#define SET32CtxSYNP_prop_directEnb(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16CtxSYNP_prop_directEnb(r16) _BFGET_(r16, 6, 6)
#define SET16CtxSYNP_prop_directEnb(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32CtxSYNP_prop_direct8x8(r32) _BFGET_(r32, 7, 7)
#define SET32CtxSYNP_prop_direct8x8(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16CtxSYNP_prop_direct8x8(r16) _BFGET_(r16, 7, 7)
#define SET16CtxSYNP_prop_direct8x8(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32CtxSYNP_prop_directSpatial(r32) _BFGET_(r32, 8, 8)
#define SET32CtxSYNP_prop_directSpatial(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16CtxSYNP_prop_directSpatial(r16) _BFGET_(r16, 8, 8)
#define SET16CtxSYNP_prop_directSpatial(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32CtxSYNP_prop_loopFlt(r32) _BFGET_(r32, 9, 9)
#define SET32CtxSYNP_prop_loopFlt(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16CtxSYNP_prop_loopFlt(r16) _BFGET_(r16, 9, 9)
#define SET16CtxSYNP_prop_loopFlt(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32CtxSYNP_prop_LFInSlice(r32) _BFGET_(r32,10,10)
#define SET32CtxSYNP_prop_LFInSlice(r32,v) _BFSET_(r32,10,10,v)
#define GET16CtxSYNP_prop_LFInSlice(r16) _BFGET_(r16,10,10)
#define SET16CtxSYNP_prop_LFInSlice(r16,v) _BFSET_(r16,10,10,v)
#define GET32CtxSYNP_prop_CoLocFLDMB(r32) _BFGET_(r32,11,11)
#define SET32CtxSYNP_prop_CoLocFLDMB(r32,v) _BFSET_(r32,11,11,v)
#define GET16CtxSYNP_prop_CoLocFLDMB(r16) _BFGET_(r16,11,11)
#define SET16CtxSYNP_prop_CoLocFLDMB(r16,v) _BFSET_(r16,11,11,v)
#define GET32CtxSYNP_prop_CoLoc8x8(r32) _BFGET_(r32,12,12)
#define SET32CtxSYNP_prop_CoLoc8x8(r32,v) _BFSET_(r32,12,12,v)
#define GET16CtxSYNP_prop_CoLoc8x8(r16) _BFGET_(r16,12,12)
#define SET16CtxSYNP_prop_CoLoc8x8(r16,v) _BFSET_(r16,12,12,v)
#define GET32CtxSYNP_prop_CoLoc16x16(r32) _BFGET_(r32,13,13)
#define SET32CtxSYNP_prop_CoLoc16x16(r32,v) _BFSET_(r32,13,13,v)
#define GET16CtxSYNP_prop_CoLoc16x16(r16) _BFGET_(r16,13,13)
#define SET16CtxSYNP_prop_CoLoc16x16(r16,v) _BFSET_(r16,13,13,v)
#define GET32CtxSYNP_prop_CoLoc8x8Btm(r32) _BFGET_(r32,14,14)
#define SET32CtxSYNP_prop_CoLoc8x8Btm(r32,v) _BFSET_(r32,14,14,v)
#define GET16CtxSYNP_prop_CoLoc8x8Btm(r16) _BFGET_(r16,14,14)
#define SET16CtxSYNP_prop_CoLoc8x8Btm(r16,v) _BFSET_(r16,14,14,v)
#define GET32CtxSYNP_prop_CoLoc16x16Btm(r32) _BFGET_(r32,15,15)
#define SET32CtxSYNP_prop_CoLoc16x16Btm(r32,v) _BFSET_(r32,15,15,v)
#define GET16CtxSYNP_prop_CoLoc16x16Btm(r16) _BFGET_(r16,15,15)
#define SET16CtxSYNP_prop_CoLoc16x16Btm(r16,v) _BFSET_(r16,15,15,v)
#define GET32CtxSYNP_prop_consIntra(r32) _BFGET_(r32,16,16)
#define SET32CtxSYNP_prop_consIntra(r32,v) _BFSET_(r32,16,16,v)
#define GET16CtxSYNP_prop_consIntra(r16) _BFGET_(r16, 0, 0)
#define SET16CtxSYNP_prop_consIntra(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32CtxSYNP_prop_btmCloser(r32) _BFGET_(r32,17,17)
#define SET32CtxSYNP_prop_btmCloser(r32,v) _BFSET_(r32,17,17,v)
#define GET16CtxSYNP_prop_btmCloser(r16) _BFGET_(r16, 1, 1)
#define SET16CtxSYNP_prop_btmCloser(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32CtxSYNP_prop_tCtxDirect8x8(r32) _BFGET_(r32,18,18)
#define SET32CtxSYNP_prop_tCtxDirect8x8(r32,v) _BFSET_(r32,18,18,v)
#define GET16CtxSYNP_prop_tCtxDirect8x8(r16) _BFGET_(r16, 2, 2)
#define SET16CtxSYNP_prop_tCtxDirect8x8(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32CtxSYNP_prop_nFrmFld(r32) _BFGET_(r32,19,19)
#define SET32CtxSYNP_prop_nFrmFld(r32,v) _BFSET_(r32,19,19,v)
#define GET16CtxSYNP_prop_nFrmFld(r16) _BFGET_(r16, 3, 3)
#define SET16CtxSYNP_prop_nFrmFld(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32CtxSYNP_prop_BtmFLD(r32) _BFGET_(r32,20,20)
#define SET32CtxSYNP_prop_BtmFLD(r32,v) _BFSET_(r32,20,20,v)
#define GET16CtxSYNP_prop_BtmFLD(r16) _BFGET_(r16, 4, 4)
#define SET16CtxSYNP_prop_BtmFLD(r16,v) _BFSET_(r16, 4, 4,v)
#define w32CtxSYNP_prop1 {\
UNSG32 uprop_MBAFF : 1;\
UNSG32 uprop_PicFLD : 1;\
UNSG32 uprop_CoLocFLD : 1;\
UNSG32 uprop_PairCoLoc : 1;\
UNSG32 uprop_refCtx : 1;\
UNSG32 uprop_sliceB : 1;\
UNSG32 uprop_directEnb : 1;\
UNSG32 uprop_direct8x8 : 1;\
UNSG32 uprop_directSpatial : 1;\
UNSG32 uprop_loopFlt : 1;\
UNSG32 uprop_LFInSlice : 1;\
UNSG32 uprop_CoLocFLDMB : 1;\
UNSG32 uprop_CoLoc8x8 : 1;\
UNSG32 uprop_CoLoc16x16 : 1;\
UNSG32 uprop_CoLoc8x8Btm : 1;\
UNSG32 uprop_CoLoc16x16Btm : 1;\
UNSG32 uprop_consIntra : 1;\
UNSG32 uprop_btmCloser : 1;\
UNSG32 uprop_tCtxDirect8x8 : 1;\
UNSG32 uprop_nFrmFld : 1;\
UNSG32 uprop_BtmFLD : 1;\
UNSG32 RSVDx4_b21 : 11;\
}
union { UNSG32 u32CtxSYNP_prop1;
struct w32CtxSYNP_prop1;
};
///////////////////////////////////////////////////////////
#define GET32CtxSYNP_tCtx_CoLocMB(r32) _BFGET_(r32,31, 0)
#define SET32CtxSYNP_tCtx_CoLocMB(r32,v) _BFSET_(r32,31, 0,v)
#define w32CtxSYNP_tCtx {\
UNSG32 utCtx_CoLocMB : 32;\
}
union { UNSG32 u32CtxSYNP_tCtx;
struct w32CtxSYNP_tCtx;
};
#define GET32CtxSYNP_tCtx_CurMB(r32) _BFGET_(r32,31, 0)
#define SET32CtxSYNP_tCtx_CurMB(r32,v) _BFSET_(r32,31, 0,v)
#define w32CtxSYNP_tCtx1 {\
UNSG32 utCtx_CurMB : 32;\
}
union { UNSG32 u32CtxSYNP_tCtx1;
struct w32CtxSYNP_tCtx1;
};
#define GET32CtxSYNP_tCtx_CoLocPic(r32) _BFGET_(r32,31, 0)
#define SET32CtxSYNP_tCtx_CoLocPic(r32,v) _BFSET_(r32,31, 0,v)
#define w32CtxSYNP_tCtx2 {\
UNSG32 utCtx_CoLocPic : 32;\
}
union { UNSG32 u32CtxSYNP_tCtx2;
struct w32CtxSYNP_tCtx2;
};
#define GET32CtxSYNP_tCtx_CurPic(r32) _BFGET_(r32,31, 0)
#define SET32CtxSYNP_tCtx_CurPic(r32,v) _BFSET_(r32,31, 0,v)
#define w32CtxSYNP_tCtx3 {\
UNSG32 utCtx_CurPic : 32;\
}
union { UNSG32 u32CtxSYNP_tCtx3;
struct w32CtxSYNP_tCtx3;
};
///////////////////////////////////////////////////////////
#define GET32CtxSYNP_SN_parser(r32) _BFGET_(r32,15, 0)
#define SET32CtxSYNP_SN_parser(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxSYNP_SN_parser(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_SN_parser(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxSYNP_SN_synproc(r32) _BFGET_(r32,31,16)
#define SET32CtxSYNP_SN_synproc(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxSYNP_SN_synproc(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_SN_synproc(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxSYNP_SN {\
UNSG32 uSN_parser : 16;\
UNSG32 uSN_synproc : 16;\
}
union { UNSG32 u32CtxSYNP_SN;
struct w32CtxSYNP_SN;
};
#define GET32CtxSYNP_SN_ctxIn(r32) _BFGET_(r32,15, 0)
#define SET32CtxSYNP_SN_ctxIn(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxSYNP_SN_ctxIn(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_SN_ctxIn(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxSYNP_SN_ctxOut(r32) _BFGET_(r32,31,16)
#define SET32CtxSYNP_SN_ctxOut(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxSYNP_SN_ctxOut(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_SN_ctxOut(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxSYNP_SN1 {\
UNSG32 uSN_ctxIn : 16;\
UNSG32 uSN_ctxOut : 16;\
}
union { UNSG32 u32CtxSYNP_SN1;
struct w32CtxSYNP_SN1;
};
#define GET32CtxSYNP_SN_P3MsgQ(r32) _BFGET_(r32,15, 0)
#define SET32CtxSYNP_SN_P3MsgQ(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxSYNP_SN_P3MsgQ(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_SN_P3MsgQ(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxSYNP_SN_P3FopQ(r32) _BFGET_(r32,31,16)
#define SET32CtxSYNP_SN_P3FopQ(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxSYNP_SN_P3FopQ(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_SN_P3FopQ(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxSYNP_SN2 {\
UNSG32 uSN_P3MsgQ : 16;\
UNSG32 uSN_P3FopQ : 16;\
}
union { UNSG32 u32CtxSYNP_SN2;
struct w32CtxSYNP_SN2;
};
#define GET32CtxSYNP_SN_VCMsgQ(r32) _BFGET_(r32,15, 0)
#define SET32CtxSYNP_SN_VCMsgQ(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxSYNP_SN_VCMsgQ(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_SN_VCMsgQ(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxSYNP_SN_P3TCQ(r32) _BFGET_(r32,31,16)
#define SET32CtxSYNP_SN_P3TCQ(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxSYNP_SN_P3TCQ(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_SN_P3TCQ(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxSYNP_SN3 {\
UNSG32 uSN_VCMsgQ : 16;\
UNSG32 uSN_P3TCQ : 16;\
}
union { UNSG32 u32CtxSYNP_SN3;
struct w32CtxSYNP_SN3;
};
#define GET32CtxSYNP_SN_tCtxIn(r32) _BFGET_(r32,15, 0)
#define SET32CtxSYNP_SN_tCtxIn(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxSYNP_SN_tCtxIn(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_SN_tCtxIn(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxSYNP_SN_tCtxOut(r32) _BFGET_(r32,31,16)
#define SET32CtxSYNP_SN_tCtxOut(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxSYNP_SN_tCtxOut(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_SN_tCtxOut(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxSYNP_SN4 {\
UNSG32 uSN_tCtxIn : 16;\
UNSG32 uSN_tCtxOut : 16;\
}
union { UNSG32 u32CtxSYNP_SN4;
struct w32CtxSYNP_SN4;
};
#define GET32CtxSYNP_SN_cmdDS(r32) _BFGET_(r32,15, 0)
#define SET32CtxSYNP_SN_cmdDS(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CtxSYNP_SN_cmdDS(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_SN_cmdDS(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CtxSYNP_SN_vcmDesc(r32) _BFGET_(r32,31,16)
#define SET32CtxSYNP_SN_vcmDesc(r32,v) _BFSET_(r32,31,16,v)
#define GET16CtxSYNP_SN_vcmDesc(r16) _BFGET_(r16,15, 0)
#define SET16CtxSYNP_SN_vcmDesc(r16,v) _BFSET_(r16,15, 0,v)
#define w32CtxSYNP_SN5 {\
UNSG32 uSN_cmdDS : 16;\
UNSG32 uSN_vcmDesc : 16;\
}
union { UNSG32 u32CtxSYNP_SN5;
struct w32CtxSYNP_SN5;
};
///////////////////////////////////////////////////////////
} SIE_CtxSYNP;
typedef union T32CtxSYNP_prop
{ UNSG32 u32;
struct w32CtxSYNP_prop;
} T32CtxSYNP_prop;
typedef union T32CtxSYNP_prop1
{ UNSG32 u32;
struct w32CtxSYNP_prop1;
} T32CtxSYNP_prop1;
typedef union T32CtxSYNP_tCtx
{ UNSG32 u32;
struct w32CtxSYNP_tCtx;
} T32CtxSYNP_tCtx;
typedef union T32CtxSYNP_tCtx1
{ UNSG32 u32;
struct w32CtxSYNP_tCtx1;
} T32CtxSYNP_tCtx1;
typedef union T32CtxSYNP_tCtx2
{ UNSG32 u32;
struct w32CtxSYNP_tCtx2;
} T32CtxSYNP_tCtx2;
typedef union T32CtxSYNP_tCtx3
{ UNSG32 u32;
struct w32CtxSYNP_tCtx3;
} T32CtxSYNP_tCtx3;
typedef union T32CtxSYNP_SN
{ UNSG32 u32;
struct w32CtxSYNP_SN;
} T32CtxSYNP_SN;
typedef union T32CtxSYNP_SN1
{ UNSG32 u32;
struct w32CtxSYNP_SN1;
} T32CtxSYNP_SN1;
typedef union T32CtxSYNP_SN2
{ UNSG32 u32;
struct w32CtxSYNP_SN2;
} T32CtxSYNP_SN2;
typedef union T32CtxSYNP_SN3
{ UNSG32 u32;
struct w32CtxSYNP_SN3;
} T32CtxSYNP_SN3;
typedef union T32CtxSYNP_SN4
{ UNSG32 u32;
struct w32CtxSYNP_SN4;
} T32CtxSYNP_SN4;
typedef union T32CtxSYNP_SN5
{ UNSG32 u32;
struct w32CtxSYNP_SN5;
} T32CtxSYNP_SN5;
///////////////////////////////////////////////////////////
typedef union TCtxSYNP_prop
{ UNSG32 u32[2];
struct {
struct w32CtxSYNP_prop;
struct w32CtxSYNP_prop1;
};
} TCtxSYNP_prop;
typedef union TCtxSYNP_tCtx
{ UNSG32 u32[4];
struct {
struct w32CtxSYNP_tCtx;
struct w32CtxSYNP_tCtx1;
struct w32CtxSYNP_tCtx2;
struct w32CtxSYNP_tCtx3;
};
} TCtxSYNP_tCtx;
typedef union TCtxSYNP_SN
{ UNSG32 u32[6];
struct {
struct w32CtxSYNP_SN;
struct w32CtxSYNP_SN1;
struct w32CtxSYNP_SN2;
struct w32CtxSYNP_SN3;
struct w32CtxSYNP_SN4;
struct w32CtxSYNP_SN5;
};
} TCtxSYNP_SN;
///////////////////////////////////////////////////////////
SIGN32 CtxSYNP_drvrd(SIE_CtxSYNP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CtxSYNP_drvwr(SIE_CtxSYNP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CtxSYNP_reset(SIE_CtxSYNP *p);
SIGN32 CtxSYNP_cmp (SIE_CtxSYNP *p, SIE_CtxSYNP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CtxSYNP_check(p,pie,pfx,hLOG) CtxSYNP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CtxSYNP_print(p, pfx,hLOG) CtxSYNP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CtxSYNP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VSLocal (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 zero (P)
/// %unsigned 16 reg_0i
/// %unsigned 16 reg_1i
/// # 0x00004 zero1
/// %unsigned 16 reg_2i
/// %unsigned 16 reg_3i
/// ###
/// * Holding zeros
/// ###
/// @ 0x00008 desc (P)
/// %unsigned 16 A
/// ###
/// * Descriptor for mbA
/// ###
/// %unsigned 16 B
/// ###
/// * Descriptor for mbB
/// ###
/// # 0x0000C desc1
/// %unsigned 16 X
/// ###
/// * Descriptor for mbX (current)
/// ###
/// %unsigned 16 D
/// ###
/// * Descriptor for mbD
/// ###
/// @ 0x00010 cur (P)
/// %unsigned 16 neighbor
/// ###
/// * Parameter to setup Neighbor Look-up HW:
/// * {MBPROP[0][15:3], bank[2:0]}
/// ###
/// %unsigned 16 bank
/// ###
/// * Current bank
/// ###
/// # 0x00014 cur1
/// %unsigned 16 prop
/// ###
/// * Current MBPROP pointer
/// ###
/// %unsigned 16 pending
/// ###
/// * Temporally holding variable for pending change
/// ###
/// @ 0x00018 ctx (P)
/// %unsigned 16 v_0i
/// %unsigned 16 v_1i
/// # 0x0001C ctx1
/// %unsigned 16 v_2i
/// %unsigned 16 v_3i
/// ###
/// * FCTX/BCTX template
/// ###
/// @ 0x00020 slice (P)
/// %unsigned 16 v_0i
/// %unsigned 16 v_1i
/// # 0x00024 slice1
/// %unsigned 16 v_2i
/// %unsigned 16 v_3i
/// ###
/// * Local variables for sliceData()
/// ###
/// @ 0x00028 mb (P)
/// %unsigned 16 v_0i
/// %unsigned 16 v_1i
/// # 0x0002C mb1
/// %unsigned 16 v_2i
/// %unsigned 16 v_3i
/// ###
/// * Local variables for macroblockLayer()
/// ###
/// @ 0x00030 pred (P)
/// %unsigned 16 v_0i
/// %unsigned 16 v_1i
/// # 0x00034 pred1
/// %unsigned 16 v_2i
/// %unsigned 16 v_3i
/// ###
/// * Local variables for mb/submbPred()
/// ###
/// @ 0x00038 residual (P)
/// %unsigned 16 v_0i
/// %unsigned 16 v_1i
/// # 0x0003C residual1
/// %unsigned 16 v_2i
/// %unsigned 16 v_3i
/// ###
/// * Local variables for residual()
/// ###
/// @ 0x00040 tmp (P)
/// %unsigned 16 v_0i
/// %unsigned 16 v_1i
/// # 0x00044 tmp1
/// %unsigned 16 v_2i
/// %unsigned 16 v_3i
/// # 0x00048 tmp2
/// %unsigned 16 v_4i
/// %unsigned 16 v_5i
/// # 0x0004C tmp3
/// %unsigned 16 v_6i
/// %unsigned 16 v_7i
/// # 0x00050 tmp4
/// %unsigned 16 v_8i
/// %unsigned 16 v_9i
/// # 0x00054 tmp5
/// %unsigned 16 v_10i
/// %unsigned 16 v_11i
/// # 0x00058 tmp6
/// %unsigned 16 v_12i
/// %unsigned 16 v_13i
/// # 0x0005C tmp7
/// %unsigned 16 v_14i
/// %unsigned 16 v_15i
/// # 0x00060 tmp8
/// %unsigned 16 v_16i
/// %unsigned 16 v_17i
/// # 0x00064 tmp9
/// %unsigned 16 v_18i
/// %unsigned 16 v_19i
/// # 0x00068 tmp10
/// %unsigned 16 v_20i
/// %unsigned 16 v_21i
/// # 0x0006C tmp11
/// %unsigned 16 v_22i
/// %unsigned 16 v_23i
/// # 0x00070 tmp12
/// %unsigned 16 v_24i
/// %unsigned 16 v_25i
/// # 0x00074 tmp13
/// %unsigned 16 v_26i
/// %unsigned 16 v_27i
/// # 0x00078 tmp14
/// %unsigned 16 v_28i
/// %unsigned 16 v_29i
/// # 0x0007C tmp15
/// %unsigned 16 v_30i
/// %unsigned 16 v_31i
/// ###
/// * Temporal values
/// * End of VSLocal
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 128B, bits: 1024b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VSLocal
#define h_VSLocal (){}
#define RA_VSLocal_zero 0x0000
#define BA_VSLocal_zero_reg_0i 0x0000
#define B16VSLocal_zero_reg_0i 0x0000
#define LSb32VSLocal_zero_reg_0i 0
#define LSb16VSLocal_zero_reg_0i 0
#define bVSLocal_zero_reg_0i 16
#define MSK32VSLocal_zero_reg_0i 0x0000FFFF
#define BA_VSLocal_zero_reg_1i 0x0002
#define B16VSLocal_zero_reg_1i 0x0002
#define LSb32VSLocal_zero_reg_1i 16
#define LSb16VSLocal_zero_reg_1i 0
#define bVSLocal_zero_reg_1i 16
#define MSK32VSLocal_zero_reg_1i 0xFFFF0000
#define RA_VSLocal_zero1 0x0004
#define BA_VSLocal_zero_reg_2i 0x0004
#define B16VSLocal_zero_reg_2i 0x0004
#define LSb32VSLocal_zero_reg_2i 0
#define LSb16VSLocal_zero_reg_2i 0
#define bVSLocal_zero_reg_2i 16
#define MSK32VSLocal_zero_reg_2i 0x0000FFFF
#define BA_VSLocal_zero_reg_3i 0x0006
#define B16VSLocal_zero_reg_3i 0x0006
#define LSb32VSLocal_zero_reg_3i 16
#define LSb16VSLocal_zero_reg_3i 0
#define bVSLocal_zero_reg_3i 16
#define MSK32VSLocal_zero_reg_3i 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_VSLocal_desc 0x0008
#define BA_VSLocal_desc_A 0x0008
#define B16VSLocal_desc_A 0x0008
#define LSb32VSLocal_desc_A 0
#define LSb16VSLocal_desc_A 0
#define bVSLocal_desc_A 16
#define MSK32VSLocal_desc_A 0x0000FFFF
#define BA_VSLocal_desc_B 0x000A
#define B16VSLocal_desc_B 0x000A
#define LSb32VSLocal_desc_B 16
#define LSb16VSLocal_desc_B 0
#define bVSLocal_desc_B 16
#define MSK32VSLocal_desc_B 0xFFFF0000
#define RA_VSLocal_desc1 0x000C
#define BA_VSLocal_desc_X 0x000C
#define B16VSLocal_desc_X 0x000C
#define LSb32VSLocal_desc_X 0
#define LSb16VSLocal_desc_X 0
#define bVSLocal_desc_X 16
#define MSK32VSLocal_desc_X 0x0000FFFF
#define BA_VSLocal_desc_D 0x000E
#define B16VSLocal_desc_D 0x000E
#define LSb32VSLocal_desc_D 16
#define LSb16VSLocal_desc_D 0
#define bVSLocal_desc_D 16
#define MSK32VSLocal_desc_D 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_VSLocal_cur 0x0010
#define BA_VSLocal_cur_neighbor 0x0010
#define B16VSLocal_cur_neighbor 0x0010
#define LSb32VSLocal_cur_neighbor 0
#define LSb16VSLocal_cur_neighbor 0
#define bVSLocal_cur_neighbor 16
#define MSK32VSLocal_cur_neighbor 0x0000FFFF
#define BA_VSLocal_cur_bank 0x0012
#define B16VSLocal_cur_bank 0x0012
#define LSb32VSLocal_cur_bank 16
#define LSb16VSLocal_cur_bank 0
#define bVSLocal_cur_bank 16
#define MSK32VSLocal_cur_bank 0xFFFF0000
#define RA_VSLocal_cur1 0x0014
#define BA_VSLocal_cur_prop 0x0014
#define B16VSLocal_cur_prop 0x0014
#define LSb32VSLocal_cur_prop 0
#define LSb16VSLocal_cur_prop 0
#define bVSLocal_cur_prop 16
#define MSK32VSLocal_cur_prop 0x0000FFFF
#define BA_VSLocal_cur_pending 0x0016
#define B16VSLocal_cur_pending 0x0016
#define LSb32VSLocal_cur_pending 16
#define LSb16VSLocal_cur_pending 0
#define bVSLocal_cur_pending 16
#define MSK32VSLocal_cur_pending 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_VSLocal_ctx 0x0018
#define BA_VSLocal_ctx_v_0i 0x0018
#define B16VSLocal_ctx_v_0i 0x0018
#define LSb32VSLocal_ctx_v_0i 0
#define LSb16VSLocal_ctx_v_0i 0
#define bVSLocal_ctx_v_0i 16
#define MSK32VSLocal_ctx_v_0i 0x0000FFFF
#define BA_VSLocal_ctx_v_1i 0x001A
#define B16VSLocal_ctx_v_1i 0x001A
#define LSb32VSLocal_ctx_v_1i 16
#define LSb16VSLocal_ctx_v_1i 0
#define bVSLocal_ctx_v_1i 16
#define MSK32VSLocal_ctx_v_1i 0xFFFF0000
#define RA_VSLocal_ctx1 0x001C
#define BA_VSLocal_ctx_v_2i 0x001C
#define B16VSLocal_ctx_v_2i 0x001C
#define LSb32VSLocal_ctx_v_2i 0
#define LSb16VSLocal_ctx_v_2i 0
#define bVSLocal_ctx_v_2i 16
#define MSK32VSLocal_ctx_v_2i 0x0000FFFF
#define BA_VSLocal_ctx_v_3i 0x001E
#define B16VSLocal_ctx_v_3i 0x001E
#define LSb32VSLocal_ctx_v_3i 16
#define LSb16VSLocal_ctx_v_3i 0
#define bVSLocal_ctx_v_3i 16
#define MSK32VSLocal_ctx_v_3i 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_VSLocal_slice 0x0020
#define BA_VSLocal_slice_v_0i 0x0020
#define B16VSLocal_slice_v_0i 0x0020
#define LSb32VSLocal_slice_v_0i 0
#define LSb16VSLocal_slice_v_0i 0
#define bVSLocal_slice_v_0i 16
#define MSK32VSLocal_slice_v_0i 0x0000FFFF
#define BA_VSLocal_slice_v_1i 0x0022
#define B16VSLocal_slice_v_1i 0x0022
#define LSb32VSLocal_slice_v_1i 16
#define LSb16VSLocal_slice_v_1i 0
#define bVSLocal_slice_v_1i 16
#define MSK32VSLocal_slice_v_1i 0xFFFF0000
#define RA_VSLocal_slice1 0x0024
#define BA_VSLocal_slice_v_2i 0x0024
#define B16VSLocal_slice_v_2i 0x0024
#define LSb32VSLocal_slice_v_2i 0
#define LSb16VSLocal_slice_v_2i 0
#define bVSLocal_slice_v_2i 16
#define MSK32VSLocal_slice_v_2i 0x0000FFFF
#define BA_VSLocal_slice_v_3i 0x0026
#define B16VSLocal_slice_v_3i 0x0026
#define LSb32VSLocal_slice_v_3i 16
#define LSb16VSLocal_slice_v_3i 0
#define bVSLocal_slice_v_3i 16
#define MSK32VSLocal_slice_v_3i 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_VSLocal_mb 0x0028
#define BA_VSLocal_mb_v_0i 0x0028
#define B16VSLocal_mb_v_0i 0x0028
#define LSb32VSLocal_mb_v_0i 0
#define LSb16VSLocal_mb_v_0i 0
#define bVSLocal_mb_v_0i 16
#define MSK32VSLocal_mb_v_0i 0x0000FFFF
#define BA_VSLocal_mb_v_1i 0x002A
#define B16VSLocal_mb_v_1i 0x002A
#define LSb32VSLocal_mb_v_1i 16
#define LSb16VSLocal_mb_v_1i 0
#define bVSLocal_mb_v_1i 16
#define MSK32VSLocal_mb_v_1i 0xFFFF0000
#define RA_VSLocal_mb1 0x002C
#define BA_VSLocal_mb_v_2i 0x002C
#define B16VSLocal_mb_v_2i 0x002C
#define LSb32VSLocal_mb_v_2i 0
#define LSb16VSLocal_mb_v_2i 0
#define bVSLocal_mb_v_2i 16
#define MSK32VSLocal_mb_v_2i 0x0000FFFF
#define BA_VSLocal_mb_v_3i 0x002E
#define B16VSLocal_mb_v_3i 0x002E
#define LSb32VSLocal_mb_v_3i 16
#define LSb16VSLocal_mb_v_3i 0
#define bVSLocal_mb_v_3i 16
#define MSK32VSLocal_mb_v_3i 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_VSLocal_pred 0x0030
#define BA_VSLocal_pred_v_0i 0x0030
#define B16VSLocal_pred_v_0i 0x0030
#define LSb32VSLocal_pred_v_0i 0
#define LSb16VSLocal_pred_v_0i 0
#define bVSLocal_pred_v_0i 16
#define MSK32VSLocal_pred_v_0i 0x0000FFFF
#define BA_VSLocal_pred_v_1i 0x0032
#define B16VSLocal_pred_v_1i 0x0032
#define LSb32VSLocal_pred_v_1i 16
#define LSb16VSLocal_pred_v_1i 0
#define bVSLocal_pred_v_1i 16
#define MSK32VSLocal_pred_v_1i 0xFFFF0000
#define RA_VSLocal_pred1 0x0034
#define BA_VSLocal_pred_v_2i 0x0034
#define B16VSLocal_pred_v_2i 0x0034
#define LSb32VSLocal_pred_v_2i 0
#define LSb16VSLocal_pred_v_2i 0
#define bVSLocal_pred_v_2i 16
#define MSK32VSLocal_pred_v_2i 0x0000FFFF
#define BA_VSLocal_pred_v_3i 0x0036
#define B16VSLocal_pred_v_3i 0x0036
#define LSb32VSLocal_pred_v_3i 16
#define LSb16VSLocal_pred_v_3i 0
#define bVSLocal_pred_v_3i 16
#define MSK32VSLocal_pred_v_3i 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_VSLocal_residual 0x0038
#define BA_VSLocal_residual_v_0i 0x0038
#define B16VSLocal_residual_v_0i 0x0038
#define LSb32VSLocal_residual_v_0i 0
#define LSb16VSLocal_residual_v_0i 0
#define bVSLocal_residual_v_0i 16
#define MSK32VSLocal_residual_v_0i 0x0000FFFF
#define BA_VSLocal_residual_v_1i 0x003A
#define B16VSLocal_residual_v_1i 0x003A
#define LSb32VSLocal_residual_v_1i 16
#define LSb16VSLocal_residual_v_1i 0
#define bVSLocal_residual_v_1i 16
#define MSK32VSLocal_residual_v_1i 0xFFFF0000
#define RA_VSLocal_residual1 0x003C
#define BA_VSLocal_residual_v_2i 0x003C
#define B16VSLocal_residual_v_2i 0x003C
#define LSb32VSLocal_residual_v_2i 0
#define LSb16VSLocal_residual_v_2i 0
#define bVSLocal_residual_v_2i 16
#define MSK32VSLocal_residual_v_2i 0x0000FFFF
#define BA_VSLocal_residual_v_3i 0x003E
#define B16VSLocal_residual_v_3i 0x003E
#define LSb32VSLocal_residual_v_3i 16
#define LSb16VSLocal_residual_v_3i 0
#define bVSLocal_residual_v_3i 16
#define MSK32VSLocal_residual_v_3i 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_VSLocal_tmp 0x0040
#define BA_VSLocal_tmp_v_0i 0x0040
#define B16VSLocal_tmp_v_0i 0x0040
#define LSb32VSLocal_tmp_v_0i 0
#define LSb16VSLocal_tmp_v_0i 0
#define bVSLocal_tmp_v_0i 16
#define MSK32VSLocal_tmp_v_0i 0x0000FFFF
#define BA_VSLocal_tmp_v_1i 0x0042
#define B16VSLocal_tmp_v_1i 0x0042
#define LSb32VSLocal_tmp_v_1i 16
#define LSb16VSLocal_tmp_v_1i 0
#define bVSLocal_tmp_v_1i 16
#define MSK32VSLocal_tmp_v_1i 0xFFFF0000
#define RA_VSLocal_tmp1 0x0044
#define BA_VSLocal_tmp_v_2i 0x0044
#define B16VSLocal_tmp_v_2i 0x0044
#define LSb32VSLocal_tmp_v_2i 0
#define LSb16VSLocal_tmp_v_2i 0
#define bVSLocal_tmp_v_2i 16
#define MSK32VSLocal_tmp_v_2i 0x0000FFFF
#define BA_VSLocal_tmp_v_3i 0x0046
#define B16VSLocal_tmp_v_3i 0x0046
#define LSb32VSLocal_tmp_v_3i 16
#define LSb16VSLocal_tmp_v_3i 0
#define bVSLocal_tmp_v_3i 16
#define MSK32VSLocal_tmp_v_3i 0xFFFF0000
#define RA_VSLocal_tmp2 0x0048
#define BA_VSLocal_tmp_v_4i 0x0048
#define B16VSLocal_tmp_v_4i 0x0048
#define LSb32VSLocal_tmp_v_4i 0
#define LSb16VSLocal_tmp_v_4i 0
#define bVSLocal_tmp_v_4i 16
#define MSK32VSLocal_tmp_v_4i 0x0000FFFF
#define BA_VSLocal_tmp_v_5i 0x004A
#define B16VSLocal_tmp_v_5i 0x004A
#define LSb32VSLocal_tmp_v_5i 16
#define LSb16VSLocal_tmp_v_5i 0
#define bVSLocal_tmp_v_5i 16
#define MSK32VSLocal_tmp_v_5i 0xFFFF0000
#define RA_VSLocal_tmp3 0x004C
#define BA_VSLocal_tmp_v_6i 0x004C
#define B16VSLocal_tmp_v_6i 0x004C
#define LSb32VSLocal_tmp_v_6i 0
#define LSb16VSLocal_tmp_v_6i 0
#define bVSLocal_tmp_v_6i 16
#define MSK32VSLocal_tmp_v_6i 0x0000FFFF
#define BA_VSLocal_tmp_v_7i 0x004E
#define B16VSLocal_tmp_v_7i 0x004E
#define LSb32VSLocal_tmp_v_7i 16
#define LSb16VSLocal_tmp_v_7i 0
#define bVSLocal_tmp_v_7i 16
#define MSK32VSLocal_tmp_v_7i 0xFFFF0000
#define RA_VSLocal_tmp4 0x0050
#define BA_VSLocal_tmp_v_8i 0x0050
#define B16VSLocal_tmp_v_8i 0x0050
#define LSb32VSLocal_tmp_v_8i 0
#define LSb16VSLocal_tmp_v_8i 0
#define bVSLocal_tmp_v_8i 16
#define MSK32VSLocal_tmp_v_8i 0x0000FFFF
#define BA_VSLocal_tmp_v_9i 0x0052
#define B16VSLocal_tmp_v_9i 0x0052
#define LSb32VSLocal_tmp_v_9i 16
#define LSb16VSLocal_tmp_v_9i 0
#define bVSLocal_tmp_v_9i 16
#define MSK32VSLocal_tmp_v_9i 0xFFFF0000
#define RA_VSLocal_tmp5 0x0054
#define BA_VSLocal_tmp_v_10i 0x0054
#define B16VSLocal_tmp_v_10i 0x0054
#define LSb32VSLocal_tmp_v_10i 0
#define LSb16VSLocal_tmp_v_10i 0
#define bVSLocal_tmp_v_10i 16
#define MSK32VSLocal_tmp_v_10i 0x0000FFFF
#define BA_VSLocal_tmp_v_11i 0x0056
#define B16VSLocal_tmp_v_11i 0x0056
#define LSb32VSLocal_tmp_v_11i 16
#define LSb16VSLocal_tmp_v_11i 0
#define bVSLocal_tmp_v_11i 16
#define MSK32VSLocal_tmp_v_11i 0xFFFF0000
#define RA_VSLocal_tmp6 0x0058
#define BA_VSLocal_tmp_v_12i 0x0058
#define B16VSLocal_tmp_v_12i 0x0058
#define LSb32VSLocal_tmp_v_12i 0
#define LSb16VSLocal_tmp_v_12i 0
#define bVSLocal_tmp_v_12i 16
#define MSK32VSLocal_tmp_v_12i 0x0000FFFF
#define BA_VSLocal_tmp_v_13i 0x005A
#define B16VSLocal_tmp_v_13i 0x005A
#define LSb32VSLocal_tmp_v_13i 16
#define LSb16VSLocal_tmp_v_13i 0
#define bVSLocal_tmp_v_13i 16
#define MSK32VSLocal_tmp_v_13i 0xFFFF0000
#define RA_VSLocal_tmp7 0x005C
#define BA_VSLocal_tmp_v_14i 0x005C
#define B16VSLocal_tmp_v_14i 0x005C
#define LSb32VSLocal_tmp_v_14i 0
#define LSb16VSLocal_tmp_v_14i 0
#define bVSLocal_tmp_v_14i 16
#define MSK32VSLocal_tmp_v_14i 0x0000FFFF
#define BA_VSLocal_tmp_v_15i 0x005E
#define B16VSLocal_tmp_v_15i 0x005E
#define LSb32VSLocal_tmp_v_15i 16
#define LSb16VSLocal_tmp_v_15i 0
#define bVSLocal_tmp_v_15i 16
#define MSK32VSLocal_tmp_v_15i 0xFFFF0000
#define RA_VSLocal_tmp8 0x0060
#define BA_VSLocal_tmp_v_16i 0x0060
#define B16VSLocal_tmp_v_16i 0x0060
#define LSb32VSLocal_tmp_v_16i 0
#define LSb16VSLocal_tmp_v_16i 0
#define bVSLocal_tmp_v_16i 16
#define MSK32VSLocal_tmp_v_16i 0x0000FFFF
#define BA_VSLocal_tmp_v_17i 0x0062
#define B16VSLocal_tmp_v_17i 0x0062
#define LSb32VSLocal_tmp_v_17i 16
#define LSb16VSLocal_tmp_v_17i 0
#define bVSLocal_tmp_v_17i 16
#define MSK32VSLocal_tmp_v_17i 0xFFFF0000
#define RA_VSLocal_tmp9 0x0064
#define BA_VSLocal_tmp_v_18i 0x0064
#define B16VSLocal_tmp_v_18i 0x0064
#define LSb32VSLocal_tmp_v_18i 0
#define LSb16VSLocal_tmp_v_18i 0
#define bVSLocal_tmp_v_18i 16
#define MSK32VSLocal_tmp_v_18i 0x0000FFFF
#define BA_VSLocal_tmp_v_19i 0x0066
#define B16VSLocal_tmp_v_19i 0x0066
#define LSb32VSLocal_tmp_v_19i 16
#define LSb16VSLocal_tmp_v_19i 0
#define bVSLocal_tmp_v_19i 16
#define MSK32VSLocal_tmp_v_19i 0xFFFF0000
#define RA_VSLocal_tmp10 0x0068
#define BA_VSLocal_tmp_v_20i 0x0068
#define B16VSLocal_tmp_v_20i 0x0068
#define LSb32VSLocal_tmp_v_20i 0
#define LSb16VSLocal_tmp_v_20i 0
#define bVSLocal_tmp_v_20i 16
#define MSK32VSLocal_tmp_v_20i 0x0000FFFF
#define BA_VSLocal_tmp_v_21i 0x006A
#define B16VSLocal_tmp_v_21i 0x006A
#define LSb32VSLocal_tmp_v_21i 16
#define LSb16VSLocal_tmp_v_21i 0
#define bVSLocal_tmp_v_21i 16
#define MSK32VSLocal_tmp_v_21i 0xFFFF0000
#define RA_VSLocal_tmp11 0x006C
#define BA_VSLocal_tmp_v_22i 0x006C
#define B16VSLocal_tmp_v_22i 0x006C
#define LSb32VSLocal_tmp_v_22i 0
#define LSb16VSLocal_tmp_v_22i 0
#define bVSLocal_tmp_v_22i 16
#define MSK32VSLocal_tmp_v_22i 0x0000FFFF
#define BA_VSLocal_tmp_v_23i 0x006E
#define B16VSLocal_tmp_v_23i 0x006E
#define LSb32VSLocal_tmp_v_23i 16
#define LSb16VSLocal_tmp_v_23i 0
#define bVSLocal_tmp_v_23i 16
#define MSK32VSLocal_tmp_v_23i 0xFFFF0000
#define RA_VSLocal_tmp12 0x0070
#define BA_VSLocal_tmp_v_24i 0x0070
#define B16VSLocal_tmp_v_24i 0x0070
#define LSb32VSLocal_tmp_v_24i 0
#define LSb16VSLocal_tmp_v_24i 0
#define bVSLocal_tmp_v_24i 16
#define MSK32VSLocal_tmp_v_24i 0x0000FFFF
#define BA_VSLocal_tmp_v_25i 0x0072
#define B16VSLocal_tmp_v_25i 0x0072
#define LSb32VSLocal_tmp_v_25i 16
#define LSb16VSLocal_tmp_v_25i 0
#define bVSLocal_tmp_v_25i 16
#define MSK32VSLocal_tmp_v_25i 0xFFFF0000
#define RA_VSLocal_tmp13 0x0074
#define BA_VSLocal_tmp_v_26i 0x0074
#define B16VSLocal_tmp_v_26i 0x0074
#define LSb32VSLocal_tmp_v_26i 0
#define LSb16VSLocal_tmp_v_26i 0
#define bVSLocal_tmp_v_26i 16
#define MSK32VSLocal_tmp_v_26i 0x0000FFFF
#define BA_VSLocal_tmp_v_27i 0x0076
#define B16VSLocal_tmp_v_27i 0x0076
#define LSb32VSLocal_tmp_v_27i 16
#define LSb16VSLocal_tmp_v_27i 0
#define bVSLocal_tmp_v_27i 16
#define MSK32VSLocal_tmp_v_27i 0xFFFF0000
#define RA_VSLocal_tmp14 0x0078
#define BA_VSLocal_tmp_v_28i 0x0078
#define B16VSLocal_tmp_v_28i 0x0078
#define LSb32VSLocal_tmp_v_28i 0
#define LSb16VSLocal_tmp_v_28i 0
#define bVSLocal_tmp_v_28i 16
#define MSK32VSLocal_tmp_v_28i 0x0000FFFF
#define BA_VSLocal_tmp_v_29i 0x007A
#define B16VSLocal_tmp_v_29i 0x007A
#define LSb32VSLocal_tmp_v_29i 16
#define LSb16VSLocal_tmp_v_29i 0
#define bVSLocal_tmp_v_29i 16
#define MSK32VSLocal_tmp_v_29i 0xFFFF0000
#define RA_VSLocal_tmp15 0x007C
#define BA_VSLocal_tmp_v_30i 0x007C
#define B16VSLocal_tmp_v_30i 0x007C
#define LSb32VSLocal_tmp_v_30i 0
#define LSb16VSLocal_tmp_v_30i 0
#define bVSLocal_tmp_v_30i 16
#define MSK32VSLocal_tmp_v_30i 0x0000FFFF
#define BA_VSLocal_tmp_v_31i 0x007E
#define B16VSLocal_tmp_v_31i 0x007E
#define LSb32VSLocal_tmp_v_31i 16
#define LSb16VSLocal_tmp_v_31i 0
#define bVSLocal_tmp_v_31i 16
#define MSK32VSLocal_tmp_v_31i 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_VSLocal {
///////////////////////////////////////////////////////////
#define GET32VSLocal_zero_reg_0i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_zero_reg_0i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_zero_reg_0i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_zero_reg_0i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_zero_reg_1i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_zero_reg_1i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_zero_reg_1i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_zero_reg_1i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_zero {\
UNSG32 uzero_reg_0i : 16;\
UNSG32 uzero_reg_1i : 16;\
}
union { UNSG32 u32VSLocal_zero;
struct w32VSLocal_zero;
};
#define GET32VSLocal_zero_reg_2i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_zero_reg_2i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_zero_reg_2i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_zero_reg_2i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_zero_reg_3i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_zero_reg_3i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_zero_reg_3i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_zero_reg_3i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_zero1 {\
UNSG32 uzero_reg_2i : 16;\
UNSG32 uzero_reg_3i : 16;\
}
union { UNSG32 u32VSLocal_zero1;
struct w32VSLocal_zero1;
};
///////////////////////////////////////////////////////////
#define GET32VSLocal_desc_A(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_desc_A(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_desc_A(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_desc_A(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_desc_B(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_desc_B(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_desc_B(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_desc_B(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_desc {\
UNSG32 udesc_A : 16;\
UNSG32 udesc_B : 16;\
}
union { UNSG32 u32VSLocal_desc;
struct w32VSLocal_desc;
};
#define GET32VSLocal_desc_X(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_desc_X(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_desc_X(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_desc_X(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_desc_D(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_desc_D(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_desc_D(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_desc_D(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_desc1 {\
UNSG32 udesc_X : 16;\
UNSG32 udesc_D : 16;\
}
union { UNSG32 u32VSLocal_desc1;
struct w32VSLocal_desc1;
};
///////////////////////////////////////////////////////////
#define GET32VSLocal_cur_neighbor(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_cur_neighbor(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_cur_neighbor(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_cur_neighbor(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_cur_bank(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_cur_bank(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_cur_bank(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_cur_bank(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_cur {\
UNSG32 ucur_neighbor : 16;\
UNSG32 ucur_bank : 16;\
}
union { UNSG32 u32VSLocal_cur;
struct w32VSLocal_cur;
};
#define GET32VSLocal_cur_prop(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_cur_prop(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_cur_prop(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_cur_prop(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_cur_pending(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_cur_pending(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_cur_pending(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_cur_pending(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_cur1 {\
UNSG32 ucur_prop : 16;\
UNSG32 ucur_pending : 16;\
}
union { UNSG32 u32VSLocal_cur1;
struct w32VSLocal_cur1;
};
///////////////////////////////////////////////////////////
#define GET32VSLocal_ctx_v_0i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_ctx_v_0i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_ctx_v_0i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_ctx_v_0i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_ctx_v_1i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_ctx_v_1i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_ctx_v_1i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_ctx_v_1i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_ctx {\
UNSG32 uctx_v_0i : 16;\
UNSG32 uctx_v_1i : 16;\
}
union { UNSG32 u32VSLocal_ctx;
struct w32VSLocal_ctx;
};
#define GET32VSLocal_ctx_v_2i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_ctx_v_2i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_ctx_v_2i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_ctx_v_2i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_ctx_v_3i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_ctx_v_3i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_ctx_v_3i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_ctx_v_3i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_ctx1 {\
UNSG32 uctx_v_2i : 16;\
UNSG32 uctx_v_3i : 16;\
}
union { UNSG32 u32VSLocal_ctx1;
struct w32VSLocal_ctx1;
};
///////////////////////////////////////////////////////////
#define GET32VSLocal_slice_v_0i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_slice_v_0i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_slice_v_0i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_slice_v_0i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_slice_v_1i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_slice_v_1i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_slice_v_1i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_slice_v_1i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_slice {\
UNSG32 uslice_v_0i : 16;\
UNSG32 uslice_v_1i : 16;\
}
union { UNSG32 u32VSLocal_slice;
struct w32VSLocal_slice;
};
#define GET32VSLocal_slice_v_2i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_slice_v_2i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_slice_v_2i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_slice_v_2i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_slice_v_3i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_slice_v_3i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_slice_v_3i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_slice_v_3i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_slice1 {\
UNSG32 uslice_v_2i : 16;\
UNSG32 uslice_v_3i : 16;\
}
union { UNSG32 u32VSLocal_slice1;
struct w32VSLocal_slice1;
};
///////////////////////////////////////////////////////////
#define GET32VSLocal_mb_v_0i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_mb_v_0i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_mb_v_0i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_mb_v_0i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_mb_v_1i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_mb_v_1i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_mb_v_1i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_mb_v_1i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_mb {\
UNSG32 umb_v_0i : 16;\
UNSG32 umb_v_1i : 16;\
}
union { UNSG32 u32VSLocal_mb;
struct w32VSLocal_mb;
};
#define GET32VSLocal_mb_v_2i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_mb_v_2i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_mb_v_2i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_mb_v_2i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_mb_v_3i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_mb_v_3i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_mb_v_3i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_mb_v_3i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_mb1 {\
UNSG32 umb_v_2i : 16;\
UNSG32 umb_v_3i : 16;\
}
union { UNSG32 u32VSLocal_mb1;
struct w32VSLocal_mb1;
};
///////////////////////////////////////////////////////////
#define GET32VSLocal_pred_v_0i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_pred_v_0i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_pred_v_0i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_pred_v_0i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_pred_v_1i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_pred_v_1i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_pred_v_1i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_pred_v_1i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_pred {\
UNSG32 upred_v_0i : 16;\
UNSG32 upred_v_1i : 16;\
}
union { UNSG32 u32VSLocal_pred;
struct w32VSLocal_pred;
};
#define GET32VSLocal_pred_v_2i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_pred_v_2i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_pred_v_2i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_pred_v_2i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_pred_v_3i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_pred_v_3i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_pred_v_3i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_pred_v_3i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_pred1 {\
UNSG32 upred_v_2i : 16;\
UNSG32 upred_v_3i : 16;\
}
union { UNSG32 u32VSLocal_pred1;
struct w32VSLocal_pred1;
};
///////////////////////////////////////////////////////////
#define GET32VSLocal_residual_v_0i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_residual_v_0i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_residual_v_0i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_residual_v_0i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_residual_v_1i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_residual_v_1i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_residual_v_1i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_residual_v_1i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_residual {\
UNSG32 uresidual_v_0i : 16;\
UNSG32 uresidual_v_1i : 16;\
}
union { UNSG32 u32VSLocal_residual;
struct w32VSLocal_residual;
};
#define GET32VSLocal_residual_v_2i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_residual_v_2i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_residual_v_2i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_residual_v_2i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_residual_v_3i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_residual_v_3i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_residual_v_3i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_residual_v_3i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_residual1 {\
UNSG32 uresidual_v_2i : 16;\
UNSG32 uresidual_v_3i : 16;\
}
union { UNSG32 u32VSLocal_residual1;
struct w32VSLocal_residual1;
};
///////////////////////////////////////////////////////////
#define GET32VSLocal_tmp_v_0i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_0i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_0i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_0i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_1i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_1i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_1i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_1i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp {\
UNSG32 utmp_v_0i : 16;\
UNSG32 utmp_v_1i : 16;\
}
union { UNSG32 u32VSLocal_tmp;
struct w32VSLocal_tmp;
};
#define GET32VSLocal_tmp_v_2i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_2i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_2i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_2i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_3i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_3i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_3i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_3i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp1 {\
UNSG32 utmp_v_2i : 16;\
UNSG32 utmp_v_3i : 16;\
}
union { UNSG32 u32VSLocal_tmp1;
struct w32VSLocal_tmp1;
};
#define GET32VSLocal_tmp_v_4i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_4i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_4i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_4i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_5i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_5i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_5i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_5i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp2 {\
UNSG32 utmp_v_4i : 16;\
UNSG32 utmp_v_5i : 16;\
}
union { UNSG32 u32VSLocal_tmp2;
struct w32VSLocal_tmp2;
};
#define GET32VSLocal_tmp_v_6i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_6i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_6i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_6i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_7i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_7i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_7i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_7i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp3 {\
UNSG32 utmp_v_6i : 16;\
UNSG32 utmp_v_7i : 16;\
}
union { UNSG32 u32VSLocal_tmp3;
struct w32VSLocal_tmp3;
};
#define GET32VSLocal_tmp_v_8i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_8i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_8i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_8i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_9i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_9i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_9i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_9i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp4 {\
UNSG32 utmp_v_8i : 16;\
UNSG32 utmp_v_9i : 16;\
}
union { UNSG32 u32VSLocal_tmp4;
struct w32VSLocal_tmp4;
};
#define GET32VSLocal_tmp_v_10i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_10i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_10i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_10i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_11i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_11i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_11i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_11i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp5 {\
UNSG32 utmp_v_10i : 16;\
UNSG32 utmp_v_11i : 16;\
}
union { UNSG32 u32VSLocal_tmp5;
struct w32VSLocal_tmp5;
};
#define GET32VSLocal_tmp_v_12i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_12i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_12i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_12i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_13i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_13i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_13i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_13i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp6 {\
UNSG32 utmp_v_12i : 16;\
UNSG32 utmp_v_13i : 16;\
}
union { UNSG32 u32VSLocal_tmp6;
struct w32VSLocal_tmp6;
};
#define GET32VSLocal_tmp_v_14i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_14i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_14i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_14i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_15i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_15i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_15i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_15i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp7 {\
UNSG32 utmp_v_14i : 16;\
UNSG32 utmp_v_15i : 16;\
}
union { UNSG32 u32VSLocal_tmp7;
struct w32VSLocal_tmp7;
};
#define GET32VSLocal_tmp_v_16i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_16i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_16i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_16i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_17i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_17i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_17i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_17i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp8 {\
UNSG32 utmp_v_16i : 16;\
UNSG32 utmp_v_17i : 16;\
}
union { UNSG32 u32VSLocal_tmp8;
struct w32VSLocal_tmp8;
};
#define GET32VSLocal_tmp_v_18i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_18i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_18i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_18i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_19i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_19i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_19i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_19i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp9 {\
UNSG32 utmp_v_18i : 16;\
UNSG32 utmp_v_19i : 16;\
}
union { UNSG32 u32VSLocal_tmp9;
struct w32VSLocal_tmp9;
};
#define GET32VSLocal_tmp_v_20i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_20i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_20i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_20i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_21i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_21i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_21i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_21i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp10 {\
UNSG32 utmp_v_20i : 16;\
UNSG32 utmp_v_21i : 16;\
}
union { UNSG32 u32VSLocal_tmp10;
struct w32VSLocal_tmp10;
};
#define GET32VSLocal_tmp_v_22i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_22i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_22i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_22i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_23i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_23i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_23i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_23i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp11 {\
UNSG32 utmp_v_22i : 16;\
UNSG32 utmp_v_23i : 16;\
}
union { UNSG32 u32VSLocal_tmp11;
struct w32VSLocal_tmp11;
};
#define GET32VSLocal_tmp_v_24i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_24i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_24i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_24i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_25i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_25i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_25i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_25i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp12 {\
UNSG32 utmp_v_24i : 16;\
UNSG32 utmp_v_25i : 16;\
}
union { UNSG32 u32VSLocal_tmp12;
struct w32VSLocal_tmp12;
};
#define GET32VSLocal_tmp_v_26i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_26i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_26i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_26i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_27i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_27i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_27i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_27i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp13 {\
UNSG32 utmp_v_26i : 16;\
UNSG32 utmp_v_27i : 16;\
}
union { UNSG32 u32VSLocal_tmp13;
struct w32VSLocal_tmp13;
};
#define GET32VSLocal_tmp_v_28i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_28i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_28i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_28i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_29i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_29i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_29i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_29i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp14 {\
UNSG32 utmp_v_28i : 16;\
UNSG32 utmp_v_29i : 16;\
}
union { UNSG32 u32VSLocal_tmp14;
struct w32VSLocal_tmp14;
};
#define GET32VSLocal_tmp_v_30i(r32) _BFGET_(r32,15, 0)
#define SET32VSLocal_tmp_v_30i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16VSLocal_tmp_v_30i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_30i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32VSLocal_tmp_v_31i(r32) _BFGET_(r32,31,16)
#define SET32VSLocal_tmp_v_31i(r32,v) _BFSET_(r32,31,16,v)
#define GET16VSLocal_tmp_v_31i(r16) _BFGET_(r16,15, 0)
#define SET16VSLocal_tmp_v_31i(r16,v) _BFSET_(r16,15, 0,v)
#define w32VSLocal_tmp15 {\
UNSG32 utmp_v_30i : 16;\
UNSG32 utmp_v_31i : 16;\
}
union { UNSG32 u32VSLocal_tmp15;
struct w32VSLocal_tmp15;
};
///////////////////////////////////////////////////////////
} SIE_VSLocal;
typedef union T32VSLocal_zero
{ UNSG32 u32;
struct w32VSLocal_zero;
} T32VSLocal_zero;
typedef union T32VSLocal_zero1
{ UNSG32 u32;
struct w32VSLocal_zero1;
} T32VSLocal_zero1;
typedef union T32VSLocal_desc
{ UNSG32 u32;
struct w32VSLocal_desc;
} T32VSLocal_desc;
typedef union T32VSLocal_desc1
{ UNSG32 u32;
struct w32VSLocal_desc1;
} T32VSLocal_desc1;
typedef union T32VSLocal_cur
{ UNSG32 u32;
struct w32VSLocal_cur;
} T32VSLocal_cur;
typedef union T32VSLocal_cur1
{ UNSG32 u32;
struct w32VSLocal_cur1;
} T32VSLocal_cur1;
typedef union T32VSLocal_ctx
{ UNSG32 u32;
struct w32VSLocal_ctx;
} T32VSLocal_ctx;
typedef union T32VSLocal_ctx1
{ UNSG32 u32;
struct w32VSLocal_ctx1;
} T32VSLocal_ctx1;
typedef union T32VSLocal_slice
{ UNSG32 u32;
struct w32VSLocal_slice;
} T32VSLocal_slice;
typedef union T32VSLocal_slice1
{ UNSG32 u32;
struct w32VSLocal_slice1;
} T32VSLocal_slice1;
typedef union T32VSLocal_mb
{ UNSG32 u32;
struct w32VSLocal_mb;
} T32VSLocal_mb;
typedef union T32VSLocal_mb1
{ UNSG32 u32;
struct w32VSLocal_mb1;
} T32VSLocal_mb1;
typedef union T32VSLocal_pred
{ UNSG32 u32;
struct w32VSLocal_pred;
} T32VSLocal_pred;
typedef union T32VSLocal_pred1
{ UNSG32 u32;
struct w32VSLocal_pred1;
} T32VSLocal_pred1;
typedef union T32VSLocal_residual
{ UNSG32 u32;
struct w32VSLocal_residual;
} T32VSLocal_residual;
typedef union T32VSLocal_residual1
{ UNSG32 u32;
struct w32VSLocal_residual1;
} T32VSLocal_residual1;
typedef union T32VSLocal_tmp
{ UNSG32 u32;
struct w32VSLocal_tmp;
} T32VSLocal_tmp;
typedef union T32VSLocal_tmp1
{ UNSG32 u32;
struct w32VSLocal_tmp1;
} T32VSLocal_tmp1;
typedef union T32VSLocal_tmp2
{ UNSG32 u32;
struct w32VSLocal_tmp2;
} T32VSLocal_tmp2;
typedef union T32VSLocal_tmp3
{ UNSG32 u32;
struct w32VSLocal_tmp3;
} T32VSLocal_tmp3;
typedef union T32VSLocal_tmp4
{ UNSG32 u32;
struct w32VSLocal_tmp4;
} T32VSLocal_tmp4;
typedef union T32VSLocal_tmp5
{ UNSG32 u32;
struct w32VSLocal_tmp5;
} T32VSLocal_tmp5;
typedef union T32VSLocal_tmp6
{ UNSG32 u32;
struct w32VSLocal_tmp6;
} T32VSLocal_tmp6;
typedef union T32VSLocal_tmp7
{ UNSG32 u32;
struct w32VSLocal_tmp7;
} T32VSLocal_tmp7;
typedef union T32VSLocal_tmp8
{ UNSG32 u32;
struct w32VSLocal_tmp8;
} T32VSLocal_tmp8;
typedef union T32VSLocal_tmp9
{ UNSG32 u32;
struct w32VSLocal_tmp9;
} T32VSLocal_tmp9;
typedef union T32VSLocal_tmp10
{ UNSG32 u32;
struct w32VSLocal_tmp10;
} T32VSLocal_tmp10;
typedef union T32VSLocal_tmp11
{ UNSG32 u32;
struct w32VSLocal_tmp11;
} T32VSLocal_tmp11;
typedef union T32VSLocal_tmp12
{ UNSG32 u32;
struct w32VSLocal_tmp12;
} T32VSLocal_tmp12;
typedef union T32VSLocal_tmp13
{ UNSG32 u32;
struct w32VSLocal_tmp13;
} T32VSLocal_tmp13;
typedef union T32VSLocal_tmp14
{ UNSG32 u32;
struct w32VSLocal_tmp14;
} T32VSLocal_tmp14;
typedef union T32VSLocal_tmp15
{ UNSG32 u32;
struct w32VSLocal_tmp15;
} T32VSLocal_tmp15;
///////////////////////////////////////////////////////////
typedef union TVSLocal_zero
{ UNSG32 u32[2];
struct {
struct w32VSLocal_zero;
struct w32VSLocal_zero1;
};
} TVSLocal_zero;
typedef union TVSLocal_desc
{ UNSG32 u32[2];
struct {
struct w32VSLocal_desc;
struct w32VSLocal_desc1;
};
} TVSLocal_desc;
typedef union TVSLocal_cur
{ UNSG32 u32[2];
struct {
struct w32VSLocal_cur;
struct w32VSLocal_cur1;
};
} TVSLocal_cur;
typedef union TVSLocal_ctx
{ UNSG32 u32[2];
struct {
struct w32VSLocal_ctx;
struct w32VSLocal_ctx1;
};
} TVSLocal_ctx;
typedef union TVSLocal_slice
{ UNSG32 u32[2];
struct {
struct w32VSLocal_slice;
struct w32VSLocal_slice1;
};
} TVSLocal_slice;
typedef union TVSLocal_mb
{ UNSG32 u32[2];
struct {
struct w32VSLocal_mb;
struct w32VSLocal_mb1;
};
} TVSLocal_mb;
typedef union TVSLocal_pred
{ UNSG32 u32[2];
struct {
struct w32VSLocal_pred;
struct w32VSLocal_pred1;
};
} TVSLocal_pred;
typedef union TVSLocal_residual
{ UNSG32 u32[2];
struct {
struct w32VSLocal_residual;
struct w32VSLocal_residual1;
};
} TVSLocal_residual;
typedef union TVSLocal_tmp
{ UNSG32 u32[16];
struct {
struct w32VSLocal_tmp;
struct w32VSLocal_tmp1;
struct w32VSLocal_tmp2;
struct w32VSLocal_tmp3;
struct w32VSLocal_tmp4;
struct w32VSLocal_tmp5;
struct w32VSLocal_tmp6;
struct w32VSLocal_tmp7;
struct w32VSLocal_tmp8;
struct w32VSLocal_tmp9;
struct w32VSLocal_tmp10;
struct w32VSLocal_tmp11;
struct w32VSLocal_tmp12;
struct w32VSLocal_tmp13;
struct w32VSLocal_tmp14;
struct w32VSLocal_tmp15;
};
} TVSLocal_tmp;
///////////////////////////////////////////////////////////
SIGN32 VSLocal_drvrd(SIE_VSLocal *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VSLocal_drvwr(SIE_VSLocal *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VSLocal_reset(SIE_VSLocal *p);
SIGN32 VSLocal_cmp (SIE_VSLocal *p, SIE_VSLocal *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VSLocal_check(p,pie,pfx,hLOG) VSLocal_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VSLocal_print(p, pfx,hLOG) VSLocal_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VSLocal
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE tCtxDP (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 CoLocPic1
/// ###
/// * Co-located tCtx buffer
/// ###
/// @ 0x00004 (P)
/// %unsigned 32 CurPic1
/// ###
/// * Current tCtx buffer
/// ###
/// @ 0x00008 (P)
/// %unsigned 32 EndCoLocPic
/// ###
/// * End of colocate tCtx buffer
/// ###
/// @ 0x0000C (P)
/// %unsigned 32 EndCurPic
/// ###
/// * End of current tCtx buffer
/// * End of tCtxDP
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_tCtxDP
#define h_tCtxDP (){}
#define BA_tCtxDP_CoLocPic1 0x0000
#define B16tCtxDP_CoLocPic1 0x0000
#define LSb32tCtxDP_CoLocPic1 0
#define LSb16tCtxDP_CoLocPic1 0
#define btCtxDP_CoLocPic1 32
#define MSK32tCtxDP_CoLocPic1 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_tCtxDP_CurPic1 0x0004
#define B16tCtxDP_CurPic1 0x0004
#define LSb32tCtxDP_CurPic1 0
#define LSb16tCtxDP_CurPic1 0
#define btCtxDP_CurPic1 32
#define MSK32tCtxDP_CurPic1 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_tCtxDP_EndCoLocPic 0x0008
#define B16tCtxDP_EndCoLocPic 0x0008
#define LSb32tCtxDP_EndCoLocPic 0
#define LSb16tCtxDP_EndCoLocPic 0
#define btCtxDP_EndCoLocPic 32
#define MSK32tCtxDP_EndCoLocPic 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_tCtxDP_EndCurPic 0x000C
#define B16tCtxDP_EndCurPic 0x000C
#define LSb32tCtxDP_EndCurPic 0
#define LSb16tCtxDP_EndCurPic 0
#define btCtxDP_EndCurPic 32
#define MSK32tCtxDP_EndCurPic 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_tCtxDP {
///////////////////////////////////////////////////////////
#define GET32tCtxDP_CoLocPic1(r32) _BFGET_(r32,31, 0)
#define SET32tCtxDP_CoLocPic1(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_CoLocPic1 : 32;
///////////////////////////////////////////////////////////
#define GET32tCtxDP_CurPic1(r32) _BFGET_(r32,31, 0)
#define SET32tCtxDP_CurPic1(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_CurPic1 : 32;
///////////////////////////////////////////////////////////
#define GET32tCtxDP_EndCoLocPic(r32) _BFGET_(r32,31, 0)
#define SET32tCtxDP_EndCoLocPic(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_EndCoLocPic : 32;
///////////////////////////////////////////////////////////
#define GET32tCtxDP_EndCurPic(r32) _BFGET_(r32,31, 0)
#define SET32tCtxDP_EndCurPic(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_EndCurPic : 32;
///////////////////////////////////////////////////////////
} SIE_tCtxDP;
///////////////////////////////////////////////////////////
SIGN32 tCtxDP_drvrd(SIE_tCtxDP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 tCtxDP_drvwr(SIE_tCtxDP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void tCtxDP_reset(SIE_tCtxDP *p);
SIGN32 tCtxDP_cmp (SIE_tCtxDP *p, SIE_tCtxDP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define tCtxDP_check(p,pie,pfx,hLOG) tCtxDP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define tCtxDP_print(p, pfx,hLOG) tCtxDP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: tCtxDP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE halData (4,4)
/// # # ----------------------------------------------------------
/// : stackPSER 0x2000
/// : stackSYNP 0x3000
/// @ 0x00000 (P)
/// # 0x00000 mbCtxQ
/// $MBCTXQ mbCtxQ REG
/// ###
/// * 8 bank MB context buffer
/// * Including history context in & out
/// ###
/// @ 0x00A10 (P)
/// # 0x00A10 mbpropQ
/// $MBPROP mbpropQ REG [8]
/// ###
/// * MB properties to syntax processor
/// * Also know as P3MsgQ:
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to vCache
/// ###
/// @ 0x00C10 (P)
/// # 0x00C10 ctxPSER
/// $CtxPSER ctxPSER REG
/// ###
/// * Context of stream parser
/// ###
/// @ 0x00C34 (W-)
/// # # Stuffing bytes...
/// %% 96
/// @ 0x00C40 (P)
/// # 0x00C40 ctxSYNP
/// $CtxSYNP ctxSYNP REG
/// ###
/// * Context of syntax processor
/// ###
/// @ 0x00C70 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00C78 (P)
/// # 0x00C78 tagDS
/// $LUT64b tagDS REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x00C80 (P)
/// # 0x00C80 DSMsgQ
/// $LUT64b DSMsgQ REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to data streamer
/// ###
/// @ 0x00D00 (P)
/// # 0x00D00 tCtxOut
/// $TCTXMB tCtxOut REG [2]
/// ###
/// * Temporal contexts (data streamer) output
/// ###
/// @ 0x00E00 (P)
/// # 0x00E00 tCtxIn
/// $TCTXMB tCtxIn REG [4]
/// ###
/// * Temporal contexts (data streamer) input
/// ###
/// @ 0x01000 (P)
/// # 0x01000 P3TCQ
/// $LUT64b P3TCQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * TC queue to vpro.hbo to PCube
/// ###
/// @ 0x01400 (P)
/// # 0x01400 pairDesc
/// $PairRow pairDesc REG
/// ###
/// * Double rows of MB-pair descriptors
/// ###
/// @ 0x01920 (P)
/// # 0x01920 DSMsgQ1
/// $LUT64b DSMsgQ1 REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to data streamer
/// ###
/// @ 0x019A0 (P)
/// # 0x019A0 tagDS1
/// $LUT64b tagDS1 REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x019A8 (P)
/// # 0x019A8 t2prop
/// $T2PROP t2prop REG
/// @ 0x01A10 (P)
/// # 0x01A10 t2prop8x8
/// $T2PROP8x8 t2prop8x8 REG
/// @ 0x01A20 (P)
/// # 0x01A20 InvScan
/// $InvScanBLK InvScan REG
/// @ 0x01BB0 (P)
/// # 0x01BB0 cn2cbp
/// $CBPLUT cn2cbp REG
/// @ 0x01C10 (P)
/// # 0x01C10 QP2CQP
/// $CQPLUT QP2CQP REG
/// @ 0x01C50 (P)
/// # 0x01C50 rIDX2BID
/// $IDX2BID rIDX2BID REG
/// @ 0x01D10 (P)
/// # 0x01D10 cibco
/// $CIBCO cibco REG
/// @ 0x01D40 (P)
/// # 0x01D40 resCtx
/// $RESLUT resCtx REG
/// @ 0x01D80 (P)
/// # 0x01D80 syncData
/// $LUT64b syncData REG [8]
/// @ 0x01DC0 (P)
/// # 0x01DC0 cmdDS1
/// $LUT64b cmdDS1 REG
/// @ 0x01DC8 (W-)
/// # # Stuffing bytes...
/// %% 448
/// @ 0x01E00 (P)
/// # 0x01E00 localPSER
/// $VSLocal localPSER REG
/// ###
/// * Local data area of stream parser
/// ###
/// @ 0x01E80 (W-)
/// # # Stuffing bytes...
/// %% 3072
/// @ 0x02000 (P)
/// # 0x02000 VCMsgQ
/// $LUT64b VCMsgQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to PCube
/// ###
/// @ 0x02400 (P)
/// # 0x02400 P3FopQ
/// $LUT64b P3FopQ REG [64]
/// ###
/// * HBO FIFO (m2h):
/// * FOP queue to vpro.hbo to PCube
/// ###
/// @ 0x02600 (P)
/// # 0x02600 rBID2IDX
/// $BID2IDX rBID2IDX REG
/// @ 0x02678 (P)
/// # 0x02678 rBID2SCL
/// $BID2SCL rBID2SCL REG
/// @ 0x029A8 (P)
/// # 0x029A8 b2CoLoc
/// $CoLocLUT b2CoLoc REG
/// @ 0x02A28 (P)
/// # 0x02A28 vcmDesc
/// $VCMLUT vcmDesc REG
/// @ 0x02AA8 (P)
/// # 0x02AA8 fopCmdPOOL
/// $FOPCmdPOOL fopCmdPOOL REG
/// @ 0x02BC8 (P)
/// # 0x02BC8 fopFuncTab
/// $FOPFuncTab fopFuncTab REG
/// @ 0x02BE8 (P)
/// # 0x02BE8 fopCmdIdx
/// $FOPCmdIDX fopCmdIdx REG
/// @ 0x02D10 (W-)
/// # # Stuffing bytes...
/// %% 896
/// @ 0x02D80 (P)
/// # 0x02D80 localSYNP
/// $VSLocal localSYNP REG
/// ###
/// * Local data area of syntax processor
/// ###
/// @ 0x02E00 (P)
/// # 0x02E00 tctxDP1
/// $tCtxDP tctxDP1 REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 11792B, bits: 89194b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_halData
#define h_halData (){}
#define halData_stackPSER 0x2000
#define halData_stackSYNP 0x3000
///////////////////////////////////////////////////////////
#define RA_halData_mbCtxQ 0x0000
///////////////////////////////////////////////////////////
#define RA_halData_mbpropQ 0x0A10
///////////////////////////////////////////////////////////
#define RA_halData_ctxPSER 0x0C10
///////////////////////////////////////////////////////////
#define RA_halData_ctxSYNP 0x0C40
///////////////////////////////////////////////////////////
#define RA_halData_tagDS 0x0C78
///////////////////////////////////////////////////////////
#define RA_halData_DSMsgQ 0x0C80
///////////////////////////////////////////////////////////
#define RA_halData_tCtxOut 0x0D00
///////////////////////////////////////////////////////////
#define RA_halData_tCtxIn 0x0E00
///////////////////////////////////////////////////////////
#define RA_halData_P3TCQ 0x1000
///////////////////////////////////////////////////////////
#define RA_halData_pairDesc 0x1400
///////////////////////////////////////////////////////////
#define RA_halData_DSMsgQ1 0x1920
///////////////////////////////////////////////////////////
#define RA_halData_tagDS1 0x19A0
///////////////////////////////////////////////////////////
#define RA_halData_t2prop 0x19A8
///////////////////////////////////////////////////////////
#define RA_halData_t2prop8x8 0x1A10
///////////////////////////////////////////////////////////
#define RA_halData_InvScan 0x1A20
///////////////////////////////////////////////////////////
#define RA_halData_cn2cbp 0x1BB0
///////////////////////////////////////////////////////////
#define RA_halData_QP2CQP 0x1C10
///////////////////////////////////////////////////////////
#define RA_halData_rIDX2BID 0x1C50
///////////////////////////////////////////////////////////
#define RA_halData_cibco 0x1D10
///////////////////////////////////////////////////////////
#define RA_halData_resCtx 0x1D40
///////////////////////////////////////////////////////////
#define RA_halData_syncData 0x1D80
///////////////////////////////////////////////////////////
#define RA_halData_cmdDS1 0x1DC0
///////////////////////////////////////////////////////////
#define RA_halData_localPSER 0x1E00
///////////////////////////////////////////////////////////
#define RA_halData_VCMsgQ 0x2000
///////////////////////////////////////////////////////////
#define RA_halData_P3FopQ 0x2400
///////////////////////////////////////////////////////////
#define RA_halData_rBID2IDX 0x2600
///////////////////////////////////////////////////////////
#define RA_halData_rBID2SCL 0x2678
///////////////////////////////////////////////////////////
#define RA_halData_b2CoLoc 0x29A8
///////////////////////////////////////////////////////////
#define RA_halData_vcmDesc 0x2A28
///////////////////////////////////////////////////////////
#define RA_halData_fopCmdPOOL 0x2AA8
///////////////////////////////////////////////////////////
#define RA_halData_fopFuncTab 0x2BC8
///////////////////////////////////////////////////////////
#define RA_halData_fopCmdIdx 0x2BE8
///////////////////////////////////////////////////////////
#define RA_halData_localSYNP 0x2D80
///////////////////////////////////////////////////////////
#define RA_halData_tctxDP1 0x2E00
///////////////////////////////////////////////////////////
typedef struct SIE_halData {
///////////////////////////////////////////////////////////
SIE_MBCTXQ ie_mbCtxQ;
///////////////////////////////////////////////////////////
SIE_MBPROP ie_mbpropQ[8];
///////////////////////////////////////////////////////////
SIE_CtxPSER ie_ctxPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC34 [12];
///////////////////////////////////////////////////////////
SIE_CtxSYNP ie_ctxSYNP;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC70 [8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ[16];
///////////////////////////////////////////////////////////
SIE_TCTXMB ie_tCtxOut[2];
///////////////////////////////////////////////////////////
SIE_TCTXMB ie_tCtxIn[4];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3TCQ[128];
///////////////////////////////////////////////////////////
SIE_PairRow ie_pairDesc;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ1[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS1;
///////////////////////////////////////////////////////////
SIE_T2PROP ie_t2prop;
///////////////////////////////////////////////////////////
SIE_T2PROP8x8 ie_t2prop8x8;
///////////////////////////////////////////////////////////
SIE_InvScanBLK ie_InvScan;
///////////////////////////////////////////////////////////
SIE_CBPLUT ie_cn2cbp;
///////////////////////////////////////////////////////////
SIE_CQPLUT ie_QP2CQP;
///////////////////////////////////////////////////////////
SIE_IDX2BID ie_rIDX2BID;
///////////////////////////////////////////////////////////
SIE_CIBCO ie_cibco;
///////////////////////////////////////////////////////////
SIE_RESLUT ie_resCtx;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_syncData[8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_cmdDS1;
///////////////////////////////////////////////////////////
UNSG8 RSVDx1DC8 [56];
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDx1E80 [384];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_VCMsgQ[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3FopQ[64];
///////////////////////////////////////////////////////////
SIE_BID2IDX ie_rBID2IDX;
///////////////////////////////////////////////////////////
SIE_BID2SCL ie_rBID2SCL;
///////////////////////////////////////////////////////////
SIE_CoLocLUT ie_b2CoLoc;
///////////////////////////////////////////////////////////
SIE_VCMLUT ie_vcmDesc;
///////////////////////////////////////////////////////////
SIE_FOPCmdPOOL ie_fopCmdPOOL;
///////////////////////////////////////////////////////////
SIE_FOPFuncTab ie_fopFuncTab;
///////////////////////////////////////////////////////////
SIE_FOPCmdIDX ie_fopCmdIdx;
///////////////////////////////////////////////////////////
UNSG8 RSVDx2D10 [112];
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localSYNP;
///////////////////////////////////////////////////////////
SIE_tCtxDP ie_tctxDP1;
///////////////////////////////////////////////////////////
} SIE_halData;
///////////////////////////////////////////////////////////
SIGN32 halData_drvrd(SIE_halData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 halData_drvwr(SIE_halData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void halData_reset(SIE_halData *p);
SIGN32 halData_cmp (SIE_halData *p, SIE_halData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define halData_check(p,pie,pfx,hLOG) halData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define halData_print(p, pfx,hLOG) halData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: halData
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BPRF64PIC (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 format
/// : h264 0x0
/// : wmv 0x1
/// ###
/// * VC-1 Main Profile
/// ###
/// : mpg2 0x2
/// : mpg4 0x4
/// : vc1ap 0x5
/// ###
/// * VC-1 Advanced Profile
/// * Format of the current video stream
/// ###
/// %unsigned 1 cabac
/// ###
/// * Whether current slice is coded in CABAC
/// ###
/// %unsigned 2 picType
/// : I 0x0
/// : P 0x1
/// : B 0x2
/// ###
/// * Used by PMV to qualify between P_skip & B_skip
/// ###
/// %unsigned 5 maxL0
/// ###
/// * H264: num_ref_idx_l0_active_minus1
/// ###
/// %unsigned 5 maxL1
/// ###
/// * H264: num_ref_idx_l1_active_minus1
/// ###
/// %unsigned 1 MbaffPic
/// ###
/// * Whether current picture is Mbaff pic or not; for FOP
/// * For VC-1:
/// * (~Mbaffpic && ~fieldPic) -> progressive
/// * (Mbaffpic && ~fieldPic) -> interlace frame
/// ###
/// %unsigned 1 fieldPic
/// ###
/// * Whether current picture is field coded or not; for FOP
/// * For VC-1:
/// * (~MbaffPic && fieldPic) -> interlace field, one ref;
/// * (MbaffPic && fieldPic) -> interlace field, two ref
/// ###
/// %unsigned 1 spatialPred
/// ###
/// * Spatial direct prediction modee; for dirMV.
/// ###
/// %unsigned 1 colPicMbaff
/// ###
/// * Whether colocated pic is Mbaff pic or not; for dirMV
/// ###
/// %unsigned 1 colPicField
/// ###
/// * Whether colocated picture is field pic or not; for dirMV
/// ###
/// %unsigned 1 colPicST
/// ###
/// * Co-located picture is a long-term (0) or short-term (1) reference picture; for dirMV.
/// ###
/// %unsigned 5 AC0Offset
/// ###
/// * = slice_alpha_c0_offset_div2<<1, -12 ~ +12, inclusive, even numbers only. For FOP only.
/// ###
/// %unsigned 5 BetaOffset
/// ###
/// * = slice_beta_offset_div2<<1, -12 ~ +12, inclusive, even numbers only. For FOP only.
/// ###
/// @ 0x00004 (P)
/// %unsigned 16 dqAcLimit
/// ###
/// * Saturation limit for AC dequantization
/// * Also apply for universal dequantization
/// ###
/// %unsigned 14 dqDcLimit
/// ###
/// * Saturation limit for DC dequantization
/// ###
/// %unsigned 2 mismatch
/// : none 0x0
/// : mpeg1 0x1
/// : mpeg2 0x2
/// ###
/// * mismatch control, for AC dequant only
/// * End of BPRF64PIC
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BPRF64PIC
#define h_BPRF64PIC (){}
#define BA_BPRF64PIC_format 0x0000
#define B16BPRF64PIC_format 0x0000
#define LSb32BPRF64PIC_format 0
#define LSb16BPRF64PIC_format 0
#define bBPRF64PIC_format 3
#define MSK32BPRF64PIC_format 0x00000007
#define BPRF64PIC_format_h264 0x0
#define BPRF64PIC_format_wmv 0x1
#define BPRF64PIC_format_mpg2 0x2
#define BPRF64PIC_format_mpg4 0x4
#define BPRF64PIC_format_vc1ap 0x5
#define BA_BPRF64PIC_cabac 0x0000
#define B16BPRF64PIC_cabac 0x0000
#define LSb32BPRF64PIC_cabac 3
#define LSb16BPRF64PIC_cabac 3
#define bBPRF64PIC_cabac 1
#define MSK32BPRF64PIC_cabac 0x00000008
#define BA_BPRF64PIC_picType 0x0000
#define B16BPRF64PIC_picType 0x0000
#define LSb32BPRF64PIC_picType 4
#define LSb16BPRF64PIC_picType 4
#define bBPRF64PIC_picType 2
#define MSK32BPRF64PIC_picType 0x00000030
#define BPRF64PIC_picType_I 0x0
#define BPRF64PIC_picType_P 0x1
#define BPRF64PIC_picType_B 0x2
#define BA_BPRF64PIC_maxL0 0x0000
#define B16BPRF64PIC_maxL0 0x0000
#define LSb32BPRF64PIC_maxL0 6
#define LSb16BPRF64PIC_maxL0 6
#define bBPRF64PIC_maxL0 5
#define MSK32BPRF64PIC_maxL0 0x000007C0
#define BA_BPRF64PIC_maxL1 0x0001
#define B16BPRF64PIC_maxL1 0x0000
#define LSb32BPRF64PIC_maxL1 11
#define LSb16BPRF64PIC_maxL1 11
#define bBPRF64PIC_maxL1 5
#define MSK32BPRF64PIC_maxL1 0x0000F800
#define BA_BPRF64PIC_MbaffPic 0x0002
#define B16BPRF64PIC_MbaffPic 0x0002
#define LSb32BPRF64PIC_MbaffPic 16
#define LSb16BPRF64PIC_MbaffPic 0
#define bBPRF64PIC_MbaffPic 1
#define MSK32BPRF64PIC_MbaffPic 0x00010000
#define BA_BPRF64PIC_fieldPic 0x0002
#define B16BPRF64PIC_fieldPic 0x0002
#define LSb32BPRF64PIC_fieldPic 17
#define LSb16BPRF64PIC_fieldPic 1
#define bBPRF64PIC_fieldPic 1
#define MSK32BPRF64PIC_fieldPic 0x00020000
#define BA_BPRF64PIC_spatialPred 0x0002
#define B16BPRF64PIC_spatialPred 0x0002
#define LSb32BPRF64PIC_spatialPred 18
#define LSb16BPRF64PIC_spatialPred 2
#define bBPRF64PIC_spatialPred 1
#define MSK32BPRF64PIC_spatialPred 0x00040000
#define BA_BPRF64PIC_colPicMbaff 0x0002
#define B16BPRF64PIC_colPicMbaff 0x0002
#define LSb32BPRF64PIC_colPicMbaff 19
#define LSb16BPRF64PIC_colPicMbaff 3
#define bBPRF64PIC_colPicMbaff 1
#define MSK32BPRF64PIC_colPicMbaff 0x00080000
#define BA_BPRF64PIC_colPicField 0x0002
#define B16BPRF64PIC_colPicField 0x0002
#define LSb32BPRF64PIC_colPicField 20
#define LSb16BPRF64PIC_colPicField 4
#define bBPRF64PIC_colPicField 1
#define MSK32BPRF64PIC_colPicField 0x00100000
#define BA_BPRF64PIC_colPicST 0x0002
#define B16BPRF64PIC_colPicST 0x0002
#define LSb32BPRF64PIC_colPicST 21
#define LSb16BPRF64PIC_colPicST 5
#define bBPRF64PIC_colPicST 1
#define MSK32BPRF64PIC_colPicST 0x00200000
#define BA_BPRF64PIC_AC0Offset 0x0002
#define B16BPRF64PIC_AC0Offset 0x0002
#define LSb32BPRF64PIC_AC0Offset 22
#define LSb16BPRF64PIC_AC0Offset 6
#define bBPRF64PIC_AC0Offset 5
#define MSK32BPRF64PIC_AC0Offset 0x07C00000
#define BA_BPRF64PIC_BetaOffset 0x0003
#define B16BPRF64PIC_BetaOffset 0x0002
#define LSb32BPRF64PIC_BetaOffset 27
#define LSb16BPRF64PIC_BetaOffset 11
#define bBPRF64PIC_BetaOffset 5
#define MSK32BPRF64PIC_BetaOffset 0xF8000000
///////////////////////////////////////////////////////////
#define BA_BPRF64PIC_dqAcLimit 0x0004
#define B16BPRF64PIC_dqAcLimit 0x0004
#define LSb32BPRF64PIC_dqAcLimit 0
#define LSb16BPRF64PIC_dqAcLimit 0
#define bBPRF64PIC_dqAcLimit 16
#define MSK32BPRF64PIC_dqAcLimit 0x0000FFFF
#define BA_BPRF64PIC_dqDcLimit 0x0006
#define B16BPRF64PIC_dqDcLimit 0x0006
#define LSb32BPRF64PIC_dqDcLimit 16
#define LSb16BPRF64PIC_dqDcLimit 0
#define bBPRF64PIC_dqDcLimit 14
#define MSK32BPRF64PIC_dqDcLimit 0x3FFF0000
#define BA_BPRF64PIC_mismatch 0x0007
#define B16BPRF64PIC_mismatch 0x0006
#define LSb32BPRF64PIC_mismatch 30
#define LSb16BPRF64PIC_mismatch 14
#define bBPRF64PIC_mismatch 2
#define MSK32BPRF64PIC_mismatch 0xC0000000
#define BPRF64PIC_mismatch_none 0x0
#define BPRF64PIC_mismatch_mpeg1 0x1
#define BPRF64PIC_mismatch_mpeg2 0x2
///////////////////////////////////////////////////////////
typedef struct SIE_BPRF64PIC {
///////////////////////////////////////////////////////////
#define GET32BPRF64PIC_format(r32) _BFGET_(r32, 2, 0)
#define SET32BPRF64PIC_format(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16BPRF64PIC_format(r16) _BFGET_(r16, 2, 0)
#define SET16BPRF64PIC_format(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32BPRF64PIC_cabac(r32) _BFGET_(r32, 3, 3)
#define SET32BPRF64PIC_cabac(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16BPRF64PIC_cabac(r16) _BFGET_(r16, 3, 3)
#define SET16BPRF64PIC_cabac(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32BPRF64PIC_picType(r32) _BFGET_(r32, 5, 4)
#define SET32BPRF64PIC_picType(r32,v) _BFSET_(r32, 5, 4,v)
#define GET16BPRF64PIC_picType(r16) _BFGET_(r16, 5, 4)
#define SET16BPRF64PIC_picType(r16,v) _BFSET_(r16, 5, 4,v)
#define GET32BPRF64PIC_maxL0(r32) _BFGET_(r32,10, 6)
#define SET32BPRF64PIC_maxL0(r32,v) _BFSET_(r32,10, 6,v)
#define GET16BPRF64PIC_maxL0(r16) _BFGET_(r16,10, 6)
#define SET16BPRF64PIC_maxL0(r16,v) _BFSET_(r16,10, 6,v)
#define GET32BPRF64PIC_maxL1(r32) _BFGET_(r32,15,11)
#define SET32BPRF64PIC_maxL1(r32,v) _BFSET_(r32,15,11,v)
#define GET16BPRF64PIC_maxL1(r16) _BFGET_(r16,15,11)
#define SET16BPRF64PIC_maxL1(r16,v) _BFSET_(r16,15,11,v)
#define GET32BPRF64PIC_MbaffPic(r32) _BFGET_(r32,16,16)
#define SET32BPRF64PIC_MbaffPic(r32,v) _BFSET_(r32,16,16,v)
#define GET16BPRF64PIC_MbaffPic(r16) _BFGET_(r16, 0, 0)
#define SET16BPRF64PIC_MbaffPic(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32BPRF64PIC_fieldPic(r32) _BFGET_(r32,17,17)
#define SET32BPRF64PIC_fieldPic(r32,v) _BFSET_(r32,17,17,v)
#define GET16BPRF64PIC_fieldPic(r16) _BFGET_(r16, 1, 1)
#define SET16BPRF64PIC_fieldPic(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32BPRF64PIC_spatialPred(r32) _BFGET_(r32,18,18)
#define SET32BPRF64PIC_spatialPred(r32,v) _BFSET_(r32,18,18,v)
#define GET16BPRF64PIC_spatialPred(r16) _BFGET_(r16, 2, 2)
#define SET16BPRF64PIC_spatialPred(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32BPRF64PIC_colPicMbaff(r32) _BFGET_(r32,19,19)
#define SET32BPRF64PIC_colPicMbaff(r32,v) _BFSET_(r32,19,19,v)
#define GET16BPRF64PIC_colPicMbaff(r16) _BFGET_(r16, 3, 3)
#define SET16BPRF64PIC_colPicMbaff(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32BPRF64PIC_colPicField(r32) _BFGET_(r32,20,20)
#define SET32BPRF64PIC_colPicField(r32,v) _BFSET_(r32,20,20,v)
#define GET16BPRF64PIC_colPicField(r16) _BFGET_(r16, 4, 4)
#define SET16BPRF64PIC_colPicField(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32BPRF64PIC_colPicST(r32) _BFGET_(r32,21,21)
#define SET32BPRF64PIC_colPicST(r32,v) _BFSET_(r32,21,21,v)
#define GET16BPRF64PIC_colPicST(r16) _BFGET_(r16, 5, 5)
#define SET16BPRF64PIC_colPicST(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32BPRF64PIC_AC0Offset(r32) _BFGET_(r32,26,22)
#define SET32BPRF64PIC_AC0Offset(r32,v) _BFSET_(r32,26,22,v)
#define GET16BPRF64PIC_AC0Offset(r16) _BFGET_(r16,10, 6)
#define SET16BPRF64PIC_AC0Offset(r16,v) _BFSET_(r16,10, 6,v)
#define GET32BPRF64PIC_BetaOffset(r32) _BFGET_(r32,31,27)
#define SET32BPRF64PIC_BetaOffset(r32,v) _BFSET_(r32,31,27,v)
#define GET16BPRF64PIC_BetaOffset(r16) _BFGET_(r16,15,11)
#define SET16BPRF64PIC_BetaOffset(r16,v) _BFSET_(r16,15,11,v)
UNSG32 u_format : 3;
UNSG32 u_cabac : 1;
UNSG32 u_picType : 2;
UNSG32 u_maxL0 : 5;
UNSG32 u_maxL1 : 5;
UNSG32 u_MbaffPic : 1;
UNSG32 u_fieldPic : 1;
UNSG32 u_spatialPred : 1;
UNSG32 u_colPicMbaff : 1;
UNSG32 u_colPicField : 1;
UNSG32 u_colPicST : 1;
UNSG32 u_AC0Offset : 5;
UNSG32 u_BetaOffset : 5;
///////////////////////////////////////////////////////////
#define GET32BPRF64PIC_dqAcLimit(r32) _BFGET_(r32,15, 0)
#define SET32BPRF64PIC_dqAcLimit(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPRF64PIC_dqAcLimit(r16) _BFGET_(r16,15, 0)
#define SET16BPRF64PIC_dqAcLimit(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPRF64PIC_dqDcLimit(r32) _BFGET_(r32,29,16)
#define SET32BPRF64PIC_dqDcLimit(r32,v) _BFSET_(r32,29,16,v)
#define GET16BPRF64PIC_dqDcLimit(r16) _BFGET_(r16,13, 0)
#define SET16BPRF64PIC_dqDcLimit(r16,v) _BFSET_(r16,13, 0,v)
#define GET32BPRF64PIC_mismatch(r32) _BFGET_(r32,31,30)
#define SET32BPRF64PIC_mismatch(r32,v) _BFSET_(r32,31,30,v)
#define GET16BPRF64PIC_mismatch(r16) _BFGET_(r16,15,14)
#define SET16BPRF64PIC_mismatch(r16,v) _BFSET_(r16,15,14,v)
UNSG32 u_dqAcLimit : 16;
UNSG32 u_dqDcLimit : 14;
UNSG32 u_mismatch : 2;
///////////////////////////////////////////////////////////
} SIE_BPRF64PIC;
///////////////////////////////////////////////////////////
SIGN32 BPRF64PIC_drvrd(SIE_BPRF64PIC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BPRF64PIC_drvwr(SIE_BPRF64PIC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BPRF64PIC_reset(SIE_BPRF64PIC *p);
SIGN32 BPRF64PIC_cmp (SIE_BPRF64PIC *p, SIE_BPRF64PIC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BPRF64PIC_check(p,pie,pfx,hLOG) BPRF64PIC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BPRF64PIC_print(p, pfx,hLOG) BPRF64PIC_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BPRF64PIC
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BPCtxPSER (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 DEC (P)
/// %unsigned 16 totalMBs
/// ###
/// * Number macroblock to decode
/// ###
/// %unsigned 16 moreSkip
/// ###
/// * Number pending skipped macroblocks
/// ###
/// # 0x00004 DEC1
/// %unsigned 16 MBs
/// ###
/// * Number macroblock successfully decoded
/// ###
/// %unsigned 8 error
/// ###
/// * Error status from entropy decoder
/// ###
/// %unsigned 1 eos
/// ###
/// * EOS-hit status from entropy decoder
/// ###
/// %unsigned 1 forceEND
/// ###
/// * Force LastInSeq after all requested MB done
/// ###
/// %% 6 # Stuffing bits...
/// @ 0x00008 SLICE (P)
/// %unsigned 16 MBX
/// ###
/// * X-location of first MB in slice
/// ###
/// %unsigned 16 MBY
/// ###
/// * Y-location of first MB in slice
/// ###
/// # 0x0000C SLICE1
/// %unsigned 16 hMBs
/// ###
/// * Horizontal MB count
/// ###
/// %unsigned 16 ID
/// ###
/// * Slice ID
/// * for vc1: this will be used as Picture height in MB
/// * unit
/// ###
/// @ 0x00010 MB (P)
/// %unsigned 16 QP
/// ###
/// * Slice initial (& current) luma QP
/// * for vc1: PQUANT
/// ###
/// %signed 8 QuDlt
/// ###
/// * [-12,12] for Cb QP delta
/// ###
/// %signed 8 QvDlt
/// ###
/// * [-12,12] for Cr QP delta
/// ###
/// # 0x00014 MB1
/// %unsigned 16 type
/// : I 0x0
/// : P 0x1
/// : B 0x2
/// : D 0x3
/// ###
/// * Slice type (D for MPEG1)
/// ###
/// %unsigned 1 MBAFF
/// ###
/// * H.264: if MBAFF picture
/// ###
/// %unsigned 1 mono
/// ###
/// * H.264: if luma only
/// ###
/// %unsigned 1 cabac
/// ###
/// * H.264: if coded by CABAC
/// ###
/// %unsigned 1 tsf8x8
/// ###
/// * H.264: if supporting 8x8 transform
/// * VC1: MB Transform switch enable flag
/// ###
/// %unsigned 1 direct8x8
/// ###
/// * H.264: direct 8x8 inference flag
/// ###
/// %unsigned 1 mtpL0
/// ###
/// * H.264: multiple reference frame in ref-List[0]
/// ###
/// %unsigned 1 mtpL1
/// ###
/// * H.264: multiple reference frame in ref-List[1]
/// ###
/// %unsigned 1 rIDX0
/// ###
/// * Run-time:
/// * Necessary to decode rIDX for ref-List[0]
/// ###
/// %unsigned 1 rIDX1
/// ###
/// * Run-time:
/// * Necessary to decode rIDX for ref-List[1]
/// ###
/// %unsigned 1 fieldMB
/// ###
/// * Run-time:
/// * Current field MB-pair in MBAFF picture
/// ###
/// %unsigned 1 fieldPendMB
/// ###
/// * Run-time:
/// * Pending field MB-pair to skip
/// ###
/// %unsigned 1 decSkip
/// ###
/// * Run-time:
/// * If to decode skip_flag/skip_run for next MB
/// ###
/// %unsigned 1 FirstInPair
/// ###
/// * Run-time:
/// * If to decode 1st MB in MBAFF pair
/// ###
/// %unsigned 1 cond_dQP
/// ###
/// * Run-time for CABAD only:
/// * Condition to decode mb_qp_delta
/// ###
/// %unsigned 1 has_dQP
/// ###
/// * Run-time for CABAD only:
/// * Whether mb_qp_delta is decoded for a MB
/// ###
/// %% 1 # Stuffing bits...
/// @ 0x00018 MaxIDX (P)
/// %unsigned 16 L0
/// ###
/// * Max rIDX in ref-list[0] (frame)
/// ###
/// %unsigned 16 L1
/// ###
/// * Max rIDX in ref-list[1] (frame)
/// ###
/// @ 0x0001C SYNPRO (P)
/// %unsigned 1 loopFlt
/// ###
/// * If enable loop-filter
/// ###
/// %unsigned 1 LFInSlice
/// ###
/// * Loop-filter within slice
/// ###
/// %unsigned 5 AC0Offset
/// ###
/// * Alpha c0 offset in slice header
/// ###
/// %unsigned 5 BetaOffset
/// ###
/// * Beta offset in slice header
/// ###
/// %% 20 # Stuffing bits...
/// @ 0x00020 IF (P)
/// %unsigned 16 err_MBs
/// ###
/// * Error MB number in current slice
/// ###
/// %unsigned 8 is_sync
/// ###
/// * Search next sync word or not
/// * End of BPCtxPSER
/// ###
/// %% 8 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 36B, bits: 253b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BPCtxPSER
#define h_BPCtxPSER (){}
#define RA_BPCtxPSER_DEC 0x0000
#define BA_BPCtxPSER_DEC_totalMBs 0x0000
#define B16BPCtxPSER_DEC_totalMBs 0x0000
#define LSb32BPCtxPSER_DEC_totalMBs 0
#define LSb16BPCtxPSER_DEC_totalMBs 0
#define bBPCtxPSER_DEC_totalMBs 16
#define MSK32BPCtxPSER_DEC_totalMBs 0x0000FFFF
#define BA_BPCtxPSER_DEC_moreSkip 0x0002
#define B16BPCtxPSER_DEC_moreSkip 0x0002
#define LSb32BPCtxPSER_DEC_moreSkip 16
#define LSb16BPCtxPSER_DEC_moreSkip 0
#define bBPCtxPSER_DEC_moreSkip 16
#define MSK32BPCtxPSER_DEC_moreSkip 0xFFFF0000
#define RA_BPCtxPSER_DEC1 0x0004
#define BA_BPCtxPSER_DEC_MBs 0x0004
#define B16BPCtxPSER_DEC_MBs 0x0004
#define LSb32BPCtxPSER_DEC_MBs 0
#define LSb16BPCtxPSER_DEC_MBs 0
#define bBPCtxPSER_DEC_MBs 16
#define MSK32BPCtxPSER_DEC_MBs 0x0000FFFF
#define BA_BPCtxPSER_DEC_error 0x0006
#define B16BPCtxPSER_DEC_error 0x0006
#define LSb32BPCtxPSER_DEC_error 16
#define LSb16BPCtxPSER_DEC_error 0
#define bBPCtxPSER_DEC_error 8
#define MSK32BPCtxPSER_DEC_error 0x00FF0000
#define BA_BPCtxPSER_DEC_eos 0x0007
#define B16BPCtxPSER_DEC_eos 0x0006
#define LSb32BPCtxPSER_DEC_eos 24
#define LSb16BPCtxPSER_DEC_eos 8
#define bBPCtxPSER_DEC_eos 1
#define MSK32BPCtxPSER_DEC_eos 0x01000000
#define BA_BPCtxPSER_DEC_forceEND 0x0007
#define B16BPCtxPSER_DEC_forceEND 0x0006
#define LSb32BPCtxPSER_DEC_forceEND 25
#define LSb16BPCtxPSER_DEC_forceEND 9
#define bBPCtxPSER_DEC_forceEND 1
#define MSK32BPCtxPSER_DEC_forceEND 0x02000000
///////////////////////////////////////////////////////////
#define RA_BPCtxPSER_SLICE 0x0008
#define BA_BPCtxPSER_SLICE_MBX 0x0008
#define B16BPCtxPSER_SLICE_MBX 0x0008
#define LSb32BPCtxPSER_SLICE_MBX 0
#define LSb16BPCtxPSER_SLICE_MBX 0
#define bBPCtxPSER_SLICE_MBX 16
#define MSK32BPCtxPSER_SLICE_MBX 0x0000FFFF
#define BA_BPCtxPSER_SLICE_MBY 0x000A
#define B16BPCtxPSER_SLICE_MBY 0x000A
#define LSb32BPCtxPSER_SLICE_MBY 16
#define LSb16BPCtxPSER_SLICE_MBY 0
#define bBPCtxPSER_SLICE_MBY 16
#define MSK32BPCtxPSER_SLICE_MBY 0xFFFF0000
#define RA_BPCtxPSER_SLICE1 0x000C
#define BA_BPCtxPSER_SLICE_hMBs 0x000C
#define B16BPCtxPSER_SLICE_hMBs 0x000C
#define LSb32BPCtxPSER_SLICE_hMBs 0
#define LSb16BPCtxPSER_SLICE_hMBs 0
#define bBPCtxPSER_SLICE_hMBs 16
#define MSK32BPCtxPSER_SLICE_hMBs 0x0000FFFF
#define BA_BPCtxPSER_SLICE_ID 0x000E
#define B16BPCtxPSER_SLICE_ID 0x000E
#define LSb32BPCtxPSER_SLICE_ID 16
#define LSb16BPCtxPSER_SLICE_ID 0
#define bBPCtxPSER_SLICE_ID 16
#define MSK32BPCtxPSER_SLICE_ID 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_BPCtxPSER_MB 0x0010
#define BA_BPCtxPSER_MB_QP 0x0010
#define B16BPCtxPSER_MB_QP 0x0010
#define LSb32BPCtxPSER_MB_QP 0
#define LSb16BPCtxPSER_MB_QP 0
#define bBPCtxPSER_MB_QP 16
#define MSK32BPCtxPSER_MB_QP 0x0000FFFF
#define BA_BPCtxPSER_MB_QuDlt 0x0012
#define B16BPCtxPSER_MB_QuDlt 0x0012
#define LSb32BPCtxPSER_MB_QuDlt 16
#define LSb16BPCtxPSER_MB_QuDlt 0
#define bBPCtxPSER_MB_QuDlt 8
#define MSK32BPCtxPSER_MB_QuDlt 0x00FF0000
#define BA_BPCtxPSER_MB_QvDlt 0x0013
#define B16BPCtxPSER_MB_QvDlt 0x0012
#define LSb32BPCtxPSER_MB_QvDlt 24
#define LSb16BPCtxPSER_MB_QvDlt 8
#define bBPCtxPSER_MB_QvDlt 8
#define MSK32BPCtxPSER_MB_QvDlt 0xFF000000
#define RA_BPCtxPSER_MB1 0x0014
#define BA_BPCtxPSER_MB_type 0x0014
#define B16BPCtxPSER_MB_type 0x0014
#define LSb32BPCtxPSER_MB_type 0
#define LSb16BPCtxPSER_MB_type 0
#define bBPCtxPSER_MB_type 16
#define MSK32BPCtxPSER_MB_type 0x0000FFFF
#define BPCtxPSER_MB_type_I 0x0
#define BPCtxPSER_MB_type_P 0x1
#define BPCtxPSER_MB_type_B 0x2
#define BPCtxPSER_MB_type_D 0x3
#define BA_BPCtxPSER_MB_MBAFF 0x0016
#define B16BPCtxPSER_MB_MBAFF 0x0016
#define LSb32BPCtxPSER_MB_MBAFF 16
#define LSb16BPCtxPSER_MB_MBAFF 0
#define bBPCtxPSER_MB_MBAFF 1
#define MSK32BPCtxPSER_MB_MBAFF 0x00010000
#define BA_BPCtxPSER_MB_mono 0x0016
#define B16BPCtxPSER_MB_mono 0x0016
#define LSb32BPCtxPSER_MB_mono 17
#define LSb16BPCtxPSER_MB_mono 1
#define bBPCtxPSER_MB_mono 1
#define MSK32BPCtxPSER_MB_mono 0x00020000
#define BA_BPCtxPSER_MB_cabac 0x0016
#define B16BPCtxPSER_MB_cabac 0x0016
#define LSb32BPCtxPSER_MB_cabac 18
#define LSb16BPCtxPSER_MB_cabac 2
#define bBPCtxPSER_MB_cabac 1
#define MSK32BPCtxPSER_MB_cabac 0x00040000
#define BA_BPCtxPSER_MB_tsf8x8 0x0016
#define B16BPCtxPSER_MB_tsf8x8 0x0016
#define LSb32BPCtxPSER_MB_tsf8x8 19
#define LSb16BPCtxPSER_MB_tsf8x8 3
#define bBPCtxPSER_MB_tsf8x8 1
#define MSK32BPCtxPSER_MB_tsf8x8 0x00080000
#define BA_BPCtxPSER_MB_direct8x8 0x0016
#define B16BPCtxPSER_MB_direct8x8 0x0016
#define LSb32BPCtxPSER_MB_direct8x8 20
#define LSb16BPCtxPSER_MB_direct8x8 4
#define bBPCtxPSER_MB_direct8x8 1
#define MSK32BPCtxPSER_MB_direct8x8 0x00100000
#define BA_BPCtxPSER_MB_mtpL0 0x0016
#define B16BPCtxPSER_MB_mtpL0 0x0016
#define LSb32BPCtxPSER_MB_mtpL0 21
#define LSb16BPCtxPSER_MB_mtpL0 5
#define bBPCtxPSER_MB_mtpL0 1
#define MSK32BPCtxPSER_MB_mtpL0 0x00200000
#define BA_BPCtxPSER_MB_mtpL1 0x0016
#define B16BPCtxPSER_MB_mtpL1 0x0016
#define LSb32BPCtxPSER_MB_mtpL1 22
#define LSb16BPCtxPSER_MB_mtpL1 6
#define bBPCtxPSER_MB_mtpL1 1
#define MSK32BPCtxPSER_MB_mtpL1 0x00400000
#define BA_BPCtxPSER_MB_rIDX0 0x0016
#define B16BPCtxPSER_MB_rIDX0 0x0016
#define LSb32BPCtxPSER_MB_rIDX0 23
#define LSb16BPCtxPSER_MB_rIDX0 7
#define bBPCtxPSER_MB_rIDX0 1
#define MSK32BPCtxPSER_MB_rIDX0 0x00800000
#define BA_BPCtxPSER_MB_rIDX1 0x0017
#define B16BPCtxPSER_MB_rIDX1 0x0016
#define LSb32BPCtxPSER_MB_rIDX1 24
#define LSb16BPCtxPSER_MB_rIDX1 8
#define bBPCtxPSER_MB_rIDX1 1
#define MSK32BPCtxPSER_MB_rIDX1 0x01000000
#define BA_BPCtxPSER_MB_fieldMB 0x0017
#define B16BPCtxPSER_MB_fieldMB 0x0016
#define LSb32BPCtxPSER_MB_fieldMB 25
#define LSb16BPCtxPSER_MB_fieldMB 9
#define bBPCtxPSER_MB_fieldMB 1
#define MSK32BPCtxPSER_MB_fieldMB 0x02000000
#define BA_BPCtxPSER_MB_fieldPendMB 0x0017
#define B16BPCtxPSER_MB_fieldPendMB 0x0016
#define LSb32BPCtxPSER_MB_fieldPendMB 26
#define LSb16BPCtxPSER_MB_fieldPendMB 10
#define bBPCtxPSER_MB_fieldPendMB 1
#define MSK32BPCtxPSER_MB_fieldPendMB 0x04000000
#define BA_BPCtxPSER_MB_decSkip 0x0017
#define B16BPCtxPSER_MB_decSkip 0x0016
#define LSb32BPCtxPSER_MB_decSkip 27
#define LSb16BPCtxPSER_MB_decSkip 11
#define bBPCtxPSER_MB_decSkip 1
#define MSK32BPCtxPSER_MB_decSkip 0x08000000
#define BA_BPCtxPSER_MB_FirstInPair 0x0017
#define B16BPCtxPSER_MB_FirstInPair 0x0016
#define LSb32BPCtxPSER_MB_FirstInPair 28
#define LSb16BPCtxPSER_MB_FirstInPair 12
#define bBPCtxPSER_MB_FirstInPair 1
#define MSK32BPCtxPSER_MB_FirstInPair 0x10000000
#define BA_BPCtxPSER_MB_cond_dQP 0x0017
#define B16BPCtxPSER_MB_cond_dQP 0x0016
#define LSb32BPCtxPSER_MB_cond_dQP 29
#define LSb16BPCtxPSER_MB_cond_dQP 13
#define bBPCtxPSER_MB_cond_dQP 1
#define MSK32BPCtxPSER_MB_cond_dQP 0x20000000
#define BA_BPCtxPSER_MB_has_dQP 0x0017
#define B16BPCtxPSER_MB_has_dQP 0x0016
#define LSb32BPCtxPSER_MB_has_dQP 30
#define LSb16BPCtxPSER_MB_has_dQP 14
#define bBPCtxPSER_MB_has_dQP 1
#define MSK32BPCtxPSER_MB_has_dQP 0x40000000
///////////////////////////////////////////////////////////
#define RA_BPCtxPSER_MaxIDX 0x0018
#define BA_BPCtxPSER_MaxIDX_L0 0x0018
#define B16BPCtxPSER_MaxIDX_L0 0x0018
#define LSb32BPCtxPSER_MaxIDX_L0 0
#define LSb16BPCtxPSER_MaxIDX_L0 0
#define bBPCtxPSER_MaxIDX_L0 16
#define MSK32BPCtxPSER_MaxIDX_L0 0x0000FFFF
#define BA_BPCtxPSER_MaxIDX_L1 0x001A
#define B16BPCtxPSER_MaxIDX_L1 0x001A
#define LSb32BPCtxPSER_MaxIDX_L1 16
#define LSb16BPCtxPSER_MaxIDX_L1 0
#define bBPCtxPSER_MaxIDX_L1 16
#define MSK32BPCtxPSER_MaxIDX_L1 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_BPCtxPSER_SYNPRO 0x001C
#define BA_BPCtxPSER_SYNPRO_loopFlt 0x001C
#define B16BPCtxPSER_SYNPRO_loopFlt 0x001C
#define LSb32BPCtxPSER_SYNPRO_loopFlt 0
#define LSb16BPCtxPSER_SYNPRO_loopFlt 0
#define bBPCtxPSER_SYNPRO_loopFlt 1
#define MSK32BPCtxPSER_SYNPRO_loopFlt 0x00000001
#define BA_BPCtxPSER_SYNPRO_LFInSlice 0x001C
#define B16BPCtxPSER_SYNPRO_LFInSlice 0x001C
#define LSb32BPCtxPSER_SYNPRO_LFInSlice 1
#define LSb16BPCtxPSER_SYNPRO_LFInSlice 1
#define bBPCtxPSER_SYNPRO_LFInSlice 1
#define MSK32BPCtxPSER_SYNPRO_LFInSlice 0x00000002
#define BA_BPCtxPSER_SYNPRO_AC0Offset 0x001C
#define B16BPCtxPSER_SYNPRO_AC0Offset 0x001C
#define LSb32BPCtxPSER_SYNPRO_AC0Offset 2
#define LSb16BPCtxPSER_SYNPRO_AC0Offset 2
#define bBPCtxPSER_SYNPRO_AC0Offset 5
#define MSK32BPCtxPSER_SYNPRO_AC0Offset 0x0000007C
#define BA_BPCtxPSER_SYNPRO_BetaOffset 0x001C
#define B16BPCtxPSER_SYNPRO_BetaOffset 0x001C
#define LSb32BPCtxPSER_SYNPRO_BetaOffset 7
#define LSb16BPCtxPSER_SYNPRO_BetaOffset 7
#define bBPCtxPSER_SYNPRO_BetaOffset 5
#define MSK32BPCtxPSER_SYNPRO_BetaOffset 0x00000F80
///////////////////////////////////////////////////////////
#define RA_BPCtxPSER_IF 0x0020
#define BA_BPCtxPSER_IF_err_MBs 0x0020
#define B16BPCtxPSER_IF_err_MBs 0x0020
#define LSb32BPCtxPSER_IF_err_MBs 0
#define LSb16BPCtxPSER_IF_err_MBs 0
#define bBPCtxPSER_IF_err_MBs 16
#define MSK32BPCtxPSER_IF_err_MBs 0x0000FFFF
#define BA_BPCtxPSER_IF_is_sync 0x0022
#define B16BPCtxPSER_IF_is_sync 0x0022
#define LSb32BPCtxPSER_IF_is_sync 16
#define LSb16BPCtxPSER_IF_is_sync 0
#define bBPCtxPSER_IF_is_sync 8
#define MSK32BPCtxPSER_IF_is_sync 0x00FF0000
///////////////////////////////////////////////////////////
typedef struct SIE_BPCtxPSER {
///////////////////////////////////////////////////////////
#define GET32BPCtxPSER_DEC_totalMBs(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxPSER_DEC_totalMBs(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxPSER_DEC_totalMBs(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxPSER_DEC_totalMBs(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxPSER_DEC_moreSkip(r32) _BFGET_(r32,31,16)
#define SET32BPCtxPSER_DEC_moreSkip(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxPSER_DEC_moreSkip(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxPSER_DEC_moreSkip(r16,v) _BFSET_(r16,15, 0,v)
#define w32BPCtxPSER_DEC {\
UNSG32 uDEC_totalMBs : 16;\
UNSG32 uDEC_moreSkip : 16;\
}
union { UNSG32 u32BPCtxPSER_DEC;
struct w32BPCtxPSER_DEC;
};
#define GET32BPCtxPSER_DEC_MBs(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxPSER_DEC_MBs(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxPSER_DEC_MBs(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxPSER_DEC_MBs(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxPSER_DEC_error(r32) _BFGET_(r32,23,16)
#define SET32BPCtxPSER_DEC_error(r32,v) _BFSET_(r32,23,16,v)
#define GET16BPCtxPSER_DEC_error(r16) _BFGET_(r16, 7, 0)
#define SET16BPCtxPSER_DEC_error(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32BPCtxPSER_DEC_eos(r32) _BFGET_(r32,24,24)
#define SET32BPCtxPSER_DEC_eos(r32,v) _BFSET_(r32,24,24,v)
#define GET16BPCtxPSER_DEC_eos(r16) _BFGET_(r16, 8, 8)
#define SET16BPCtxPSER_DEC_eos(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32BPCtxPSER_DEC_forceEND(r32) _BFGET_(r32,25,25)
#define SET32BPCtxPSER_DEC_forceEND(r32,v) _BFSET_(r32,25,25,v)
#define GET16BPCtxPSER_DEC_forceEND(r16) _BFGET_(r16, 9, 9)
#define SET16BPCtxPSER_DEC_forceEND(r16,v) _BFSET_(r16, 9, 9,v)
#define w32BPCtxPSER_DEC1 {\
UNSG32 uDEC_MBs : 16;\
UNSG32 uDEC_error : 8;\
UNSG32 uDEC_eos : 1;\
UNSG32 uDEC_forceEND : 1;\
UNSG32 RSVDx4_b26 : 6;\
}
union { UNSG32 u32BPCtxPSER_DEC1;
struct w32BPCtxPSER_DEC1;
};
///////////////////////////////////////////////////////////
#define GET32BPCtxPSER_SLICE_MBX(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxPSER_SLICE_MBX(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxPSER_SLICE_MBX(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxPSER_SLICE_MBX(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxPSER_SLICE_MBY(r32) _BFGET_(r32,31,16)
#define SET32BPCtxPSER_SLICE_MBY(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxPSER_SLICE_MBY(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxPSER_SLICE_MBY(r16,v) _BFSET_(r16,15, 0,v)
#define w32BPCtxPSER_SLICE {\
UNSG32 uSLICE_MBX : 16;\
UNSG32 uSLICE_MBY : 16;\
}
union { UNSG32 u32BPCtxPSER_SLICE;
struct w32BPCtxPSER_SLICE;
};
#define GET32BPCtxPSER_SLICE_hMBs(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxPSER_SLICE_hMBs(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxPSER_SLICE_hMBs(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxPSER_SLICE_hMBs(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxPSER_SLICE_ID(r32) _BFGET_(r32,31,16)
#define SET32BPCtxPSER_SLICE_ID(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxPSER_SLICE_ID(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxPSER_SLICE_ID(r16,v) _BFSET_(r16,15, 0,v)
#define w32BPCtxPSER_SLICE1 {\
UNSG32 uSLICE_hMBs : 16;\
UNSG32 uSLICE_ID : 16;\
}
union { UNSG32 u32BPCtxPSER_SLICE1;
struct w32BPCtxPSER_SLICE1;
};
///////////////////////////////////////////////////////////
#define GET32BPCtxPSER_MB_QP(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxPSER_MB_QP(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxPSER_MB_QP(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxPSER_MB_QP(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxPSER_MB_QuDlt(r32) _BFGET_(r32,23,16)
#define SET32BPCtxPSER_MB_QuDlt(r32,v) _BFSET_(r32,23,16,v)
#define GET16BPCtxPSER_MB_QuDlt(r16) _BFGET_(r16, 7, 0)
#define SET16BPCtxPSER_MB_QuDlt(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32BPCtxPSER_MB_QvDlt(r32) _BFGET_(r32,31,24)
#define SET32BPCtxPSER_MB_QvDlt(r32,v) _BFSET_(r32,31,24,v)
#define GET16BPCtxPSER_MB_QvDlt(r16) _BFGET_(r16,15, 8)
#define SET16BPCtxPSER_MB_QvDlt(r16,v) _BFSET_(r16,15, 8,v)
#define w32BPCtxPSER_MB {\
UNSG32 uMB_QP : 16;\
UNSG32 sMB_QuDlt : 8;\
UNSG32 sMB_QvDlt : 8;\
}
union { UNSG32 u32BPCtxPSER_MB;
struct w32BPCtxPSER_MB;
};
#define GET32BPCtxPSER_MB_type(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxPSER_MB_type(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxPSER_MB_type(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxPSER_MB_type(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxPSER_MB_MBAFF(r32) _BFGET_(r32,16,16)
#define SET32BPCtxPSER_MB_MBAFF(r32,v) _BFSET_(r32,16,16,v)
#define GET16BPCtxPSER_MB_MBAFF(r16) _BFGET_(r16, 0, 0)
#define SET16BPCtxPSER_MB_MBAFF(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32BPCtxPSER_MB_mono(r32) _BFGET_(r32,17,17)
#define SET32BPCtxPSER_MB_mono(r32,v) _BFSET_(r32,17,17,v)
#define GET16BPCtxPSER_MB_mono(r16) _BFGET_(r16, 1, 1)
#define SET16BPCtxPSER_MB_mono(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32BPCtxPSER_MB_cabac(r32) _BFGET_(r32,18,18)
#define SET32BPCtxPSER_MB_cabac(r32,v) _BFSET_(r32,18,18,v)
#define GET16BPCtxPSER_MB_cabac(r16) _BFGET_(r16, 2, 2)
#define SET16BPCtxPSER_MB_cabac(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32BPCtxPSER_MB_tsf8x8(r32) _BFGET_(r32,19,19)
#define SET32BPCtxPSER_MB_tsf8x8(r32,v) _BFSET_(r32,19,19,v)
#define GET16BPCtxPSER_MB_tsf8x8(r16) _BFGET_(r16, 3, 3)
#define SET16BPCtxPSER_MB_tsf8x8(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32BPCtxPSER_MB_direct8x8(r32) _BFGET_(r32,20,20)
#define SET32BPCtxPSER_MB_direct8x8(r32,v) _BFSET_(r32,20,20,v)
#define GET16BPCtxPSER_MB_direct8x8(r16) _BFGET_(r16, 4, 4)
#define SET16BPCtxPSER_MB_direct8x8(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32BPCtxPSER_MB_mtpL0(r32) _BFGET_(r32,21,21)
#define SET32BPCtxPSER_MB_mtpL0(r32,v) _BFSET_(r32,21,21,v)
#define GET16BPCtxPSER_MB_mtpL0(r16) _BFGET_(r16, 5, 5)
#define SET16BPCtxPSER_MB_mtpL0(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32BPCtxPSER_MB_mtpL1(r32) _BFGET_(r32,22,22)
#define SET32BPCtxPSER_MB_mtpL1(r32,v) _BFSET_(r32,22,22,v)
#define GET16BPCtxPSER_MB_mtpL1(r16) _BFGET_(r16, 6, 6)
#define SET16BPCtxPSER_MB_mtpL1(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32BPCtxPSER_MB_rIDX0(r32) _BFGET_(r32,23,23)
#define SET32BPCtxPSER_MB_rIDX0(r32,v) _BFSET_(r32,23,23,v)
#define GET16BPCtxPSER_MB_rIDX0(r16) _BFGET_(r16, 7, 7)
#define SET16BPCtxPSER_MB_rIDX0(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32BPCtxPSER_MB_rIDX1(r32) _BFGET_(r32,24,24)
#define SET32BPCtxPSER_MB_rIDX1(r32,v) _BFSET_(r32,24,24,v)
#define GET16BPCtxPSER_MB_rIDX1(r16) _BFGET_(r16, 8, 8)
#define SET16BPCtxPSER_MB_rIDX1(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32BPCtxPSER_MB_fieldMB(r32) _BFGET_(r32,25,25)
#define SET32BPCtxPSER_MB_fieldMB(r32,v) _BFSET_(r32,25,25,v)
#define GET16BPCtxPSER_MB_fieldMB(r16) _BFGET_(r16, 9, 9)
#define SET16BPCtxPSER_MB_fieldMB(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32BPCtxPSER_MB_fieldPendMB(r32) _BFGET_(r32,26,26)
#define SET32BPCtxPSER_MB_fieldPendMB(r32,v) _BFSET_(r32,26,26,v)
#define GET16BPCtxPSER_MB_fieldPendMB(r16) _BFGET_(r16,10,10)
#define SET16BPCtxPSER_MB_fieldPendMB(r16,v) _BFSET_(r16,10,10,v)
#define GET32BPCtxPSER_MB_decSkip(r32) _BFGET_(r32,27,27)
#define SET32BPCtxPSER_MB_decSkip(r32,v) _BFSET_(r32,27,27,v)
#define GET16BPCtxPSER_MB_decSkip(r16) _BFGET_(r16,11,11)
#define SET16BPCtxPSER_MB_decSkip(r16,v) _BFSET_(r16,11,11,v)
#define GET32BPCtxPSER_MB_FirstInPair(r32) _BFGET_(r32,28,28)
#define SET32BPCtxPSER_MB_FirstInPair(r32,v) _BFSET_(r32,28,28,v)
#define GET16BPCtxPSER_MB_FirstInPair(r16) _BFGET_(r16,12,12)
#define SET16BPCtxPSER_MB_FirstInPair(r16,v) _BFSET_(r16,12,12,v)
#define GET32BPCtxPSER_MB_cond_dQP(r32) _BFGET_(r32,29,29)
#define SET32BPCtxPSER_MB_cond_dQP(r32,v) _BFSET_(r32,29,29,v)
#define GET16BPCtxPSER_MB_cond_dQP(r16) _BFGET_(r16,13,13)
#define SET16BPCtxPSER_MB_cond_dQP(r16,v) _BFSET_(r16,13,13,v)
#define GET32BPCtxPSER_MB_has_dQP(r32) _BFGET_(r32,30,30)
#define SET32BPCtxPSER_MB_has_dQP(r32,v) _BFSET_(r32,30,30,v)
#define GET16BPCtxPSER_MB_has_dQP(r16) _BFGET_(r16,14,14)
#define SET16BPCtxPSER_MB_has_dQP(r16,v) _BFSET_(r16,14,14,v)
#define w32BPCtxPSER_MB1 {\
UNSG32 uMB_type : 16;\
UNSG32 uMB_MBAFF : 1;\
UNSG32 uMB_mono : 1;\
UNSG32 uMB_cabac : 1;\
UNSG32 uMB_tsf8x8 : 1;\
UNSG32 uMB_direct8x8 : 1;\
UNSG32 uMB_mtpL0 : 1;\
UNSG32 uMB_mtpL1 : 1;\
UNSG32 uMB_rIDX0 : 1;\
UNSG32 uMB_rIDX1 : 1;\
UNSG32 uMB_fieldMB : 1;\
UNSG32 uMB_fieldPendMB : 1;\
UNSG32 uMB_decSkip : 1;\
UNSG32 uMB_FirstInPair : 1;\
UNSG32 uMB_cond_dQP : 1;\
UNSG32 uMB_has_dQP : 1;\
UNSG32 RSVDx14_b31 : 1;\
}
union { UNSG32 u32BPCtxPSER_MB1;
struct w32BPCtxPSER_MB1;
};
///////////////////////////////////////////////////////////
#define GET32BPCtxPSER_MaxIDX_L0(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxPSER_MaxIDX_L0(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxPSER_MaxIDX_L0(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxPSER_MaxIDX_L0(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxPSER_MaxIDX_L1(r32) _BFGET_(r32,31,16)
#define SET32BPCtxPSER_MaxIDX_L1(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxPSER_MaxIDX_L1(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxPSER_MaxIDX_L1(r16,v) _BFSET_(r16,15, 0,v)
#define w32BPCtxPSER_MaxIDX {\
UNSG32 uMaxIDX_L0 : 16;\
UNSG32 uMaxIDX_L1 : 16;\
}
union { UNSG32 u32BPCtxPSER_MaxIDX;
struct w32BPCtxPSER_MaxIDX;
};
///////////////////////////////////////////////////////////
#define GET32BPCtxPSER_SYNPRO_loopFlt(r32) _BFGET_(r32, 0, 0)
#define SET32BPCtxPSER_SYNPRO_loopFlt(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16BPCtxPSER_SYNPRO_loopFlt(r16) _BFGET_(r16, 0, 0)
#define SET16BPCtxPSER_SYNPRO_loopFlt(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32BPCtxPSER_SYNPRO_LFInSlice(r32) _BFGET_(r32, 1, 1)
#define SET32BPCtxPSER_SYNPRO_LFInSlice(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16BPCtxPSER_SYNPRO_LFInSlice(r16) _BFGET_(r16, 1, 1)
#define SET16BPCtxPSER_SYNPRO_LFInSlice(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32BPCtxPSER_SYNPRO_AC0Offset(r32) _BFGET_(r32, 6, 2)
#define SET32BPCtxPSER_SYNPRO_AC0Offset(r32,v) _BFSET_(r32, 6, 2,v)
#define GET16BPCtxPSER_SYNPRO_AC0Offset(r16) _BFGET_(r16, 6, 2)
#define SET16BPCtxPSER_SYNPRO_AC0Offset(r16,v) _BFSET_(r16, 6, 2,v)
#define GET32BPCtxPSER_SYNPRO_BetaOffset(r32) _BFGET_(r32,11, 7)
#define SET32BPCtxPSER_SYNPRO_BetaOffset(r32,v) _BFSET_(r32,11, 7,v)
#define GET16BPCtxPSER_SYNPRO_BetaOffset(r16) _BFGET_(r16,11, 7)
#define SET16BPCtxPSER_SYNPRO_BetaOffset(r16,v) _BFSET_(r16,11, 7,v)
#define w32BPCtxPSER_SYNPRO {\
UNSG32 uSYNPRO_loopFlt : 1;\
UNSG32 uSYNPRO_LFInSlice : 1;\
UNSG32 uSYNPRO_AC0Offset : 5;\
UNSG32 uSYNPRO_BetaOffset : 5;\
UNSG32 RSVDx1C_b12 : 20;\
}
union { UNSG32 u32BPCtxPSER_SYNPRO;
struct w32BPCtxPSER_SYNPRO;
};
///////////////////////////////////////////////////////////
#define GET32BPCtxPSER_IF_err_MBs(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxPSER_IF_err_MBs(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxPSER_IF_err_MBs(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxPSER_IF_err_MBs(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxPSER_IF_is_sync(r32) _BFGET_(r32,23,16)
#define SET32BPCtxPSER_IF_is_sync(r32,v) _BFSET_(r32,23,16,v)
#define GET16BPCtxPSER_IF_is_sync(r16) _BFGET_(r16, 7, 0)
#define SET16BPCtxPSER_IF_is_sync(r16,v) _BFSET_(r16, 7, 0,v)
#define w32BPCtxPSER_IF {\
UNSG32 uIF_err_MBs : 16;\
UNSG32 uIF_is_sync : 8;\
UNSG32 RSVDx20_b24 : 8;\
}
union { UNSG32 u32BPCtxPSER_IF;
struct w32BPCtxPSER_IF;
};
///////////////////////////////////////////////////////////
} SIE_BPCtxPSER;
typedef union T32BPCtxPSER_DEC
{ UNSG32 u32;
struct w32BPCtxPSER_DEC;
} T32BPCtxPSER_DEC;
typedef union T32BPCtxPSER_DEC1
{ UNSG32 u32;
struct w32BPCtxPSER_DEC1;
} T32BPCtxPSER_DEC1;
typedef union T32BPCtxPSER_SLICE
{ UNSG32 u32;
struct w32BPCtxPSER_SLICE;
} T32BPCtxPSER_SLICE;
typedef union T32BPCtxPSER_SLICE1
{ UNSG32 u32;
struct w32BPCtxPSER_SLICE1;
} T32BPCtxPSER_SLICE1;
typedef union T32BPCtxPSER_MB
{ UNSG32 u32;
struct w32BPCtxPSER_MB;
} T32BPCtxPSER_MB;
typedef union T32BPCtxPSER_MB1
{ UNSG32 u32;
struct w32BPCtxPSER_MB1;
} T32BPCtxPSER_MB1;
typedef union T32BPCtxPSER_MaxIDX
{ UNSG32 u32;
struct w32BPCtxPSER_MaxIDX;
} T32BPCtxPSER_MaxIDX;
typedef union T32BPCtxPSER_SYNPRO
{ UNSG32 u32;
struct w32BPCtxPSER_SYNPRO;
} T32BPCtxPSER_SYNPRO;
typedef union T32BPCtxPSER_IF
{ UNSG32 u32;
struct w32BPCtxPSER_IF;
} T32BPCtxPSER_IF;
///////////////////////////////////////////////////////////
typedef union TBPCtxPSER_DEC
{ UNSG32 u32[2];
struct {
struct w32BPCtxPSER_DEC;
struct w32BPCtxPSER_DEC1;
};
} TBPCtxPSER_DEC;
typedef union TBPCtxPSER_SLICE
{ UNSG32 u32[2];
struct {
struct w32BPCtxPSER_SLICE;
struct w32BPCtxPSER_SLICE1;
};
} TBPCtxPSER_SLICE;
typedef union TBPCtxPSER_MB
{ UNSG32 u32[2];
struct {
struct w32BPCtxPSER_MB;
struct w32BPCtxPSER_MB1;
};
} TBPCtxPSER_MB;
typedef union TBPCtxPSER_MaxIDX
{ UNSG32 u32[1];
struct {
struct w32BPCtxPSER_MaxIDX;
};
} TBPCtxPSER_MaxIDX;
typedef union TBPCtxPSER_SYNPRO
{ UNSG32 u32[1];
struct {
struct w32BPCtxPSER_SYNPRO;
};
} TBPCtxPSER_SYNPRO;
typedef union TBPCtxPSER_IF
{ UNSG32 u32[1];
struct {
struct w32BPCtxPSER_IF;
};
} TBPCtxPSER_IF;
///////////////////////////////////////////////////////////
SIGN32 BPCtxPSER_drvrd(SIE_BPCtxPSER *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BPCtxPSER_drvwr(SIE_BPCtxPSER *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BPCtxPSER_reset(SIE_BPCtxPSER *p);
SIGN32 BPCtxPSER_cmp (SIE_BPCtxPSER *p, SIE_BPCtxPSER *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BPCtxPSER_check(p,pie,pfx,hLOG) BPCtxPSER_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BPCtxPSER_print(p, pfx,hLOG) BPCtxPSER_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BPCtxPSER
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BPCtxSYNP (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 prop (P)
/// %unsigned 16 start
/// ###
/// * Kick off syntax processor
/// ###
/// %unsigned 16 rBID
/// ###
/// * Current buffer ID, last 1b indicates access mode:
/// * 0: frame/progressive or top field
/// * 1: bottom field
/// ###
/// # 0x00004 prop1
/// %unsigned 1 MBAFF
/// ###
/// * H.264: if MBAFF picture
/// ###
/// %unsigned 1 PicFLD
/// ###
/// * If field picture
/// ###
/// %unsigned 1 CoLocFLD
/// ###
/// * If co-located picture is field picture
/// ###
/// %unsigned 1 PairCoLoc
/// ###
/// * If to load co-located MB pair:
/// * = (MBAFF || PicFLD) && !CoLocFLD
/// ###
/// %unsigned 1 refCtx
/// ###
/// * If to output tCtx for future co-located use
/// ###
/// %unsigned 1 sliceB
/// ###
/// * If B-slice
/// ###
/// %unsigned 1 directEnb
/// ###
/// * If B-slice and direct mode enabled
/// ###
/// %unsigned 1 direct8x8
/// ###
/// * H.264: direct 8x8 inference flag
/// ###
/// %unsigned 1 directSpatial
/// ###
/// * H.264: 0/1 for temporal/spatial direct mode
/// ###
/// %unsigned 1 loopFlt
/// ###
/// * If enable loop-filter
/// ###
/// %unsigned 1 LFInSlice
/// ###
/// * Loop-filter within slice
/// ###
/// %unsigned 1 CoLocFLDMB
/// ###
/// * Run-time: if co-located MB is field MB
/// ###
/// %unsigned 1 CoLoc8x8
/// ###
/// * Run-time: if co-located MB has no sub-8x8
/// ###
/// %unsigned 1 CoLoc16x16
/// ###
/// * Run-time: if co-located bottom MB has only 1 partition
/// ###
/// %unsigned 1 CoLoc8x8Btm
/// ###
/// * Run-time: if co-located bottom MB has no sub-8x8
/// ###
/// %unsigned 1 CoLoc16x16Btm
/// ###
/// * Run-time: if co-located MB has only 1 partition
/// ###
/// %unsigned 1 consIntra
/// ###
/// * H.264: if to constrain intra predictors
/// ###
/// %unsigned 1 btmCloser
/// ###
/// * H.264 direct mode: coloc is AFF and current is AFF and bottom POC is closer to curr POC
/// ###
/// %unsigned 1 tCtxDirect8x8
/// ###
/// * H.264 direct mode:
/// * (frame_mbs_only_flag & direct_8x8_inference_flag)
/// ###
/// %unsigned 1 nFrmFld
/// ###
/// * H.264 direct mode: not Frame Field
/// * !(!MBAFF && !PicFLD && CoLocFLD)
/// ###
/// %unsigned 1 BtmFLD
/// ###
/// * Is current picture a bottom field
/// * PicFLD must be 1 if btmFLD is 1
/// ###
/// %% 11 # Stuffing bits...
/// @ 0x00008 (P)
/// %unsigned 16 hMBs
/// ###
/// * Horizontal MB count
/// ###
/// %unsigned 16 vMBs
/// ###
/// * Vertical MB count
/// ###
/// %unsigned 16 total
/// %% 16 # Stuffing bits...
/// @ 0x00010 (P)
/// # 0x00010 pic64
/// $BPRF64PIC pic64 REG
/// ###
/// * Write only rf64pic copy, first 64 bit
/// ###
/// @ 0x00018 SN (P)
/// %unsigned 16 parser
/// ###
/// * Running MB counter of stream parsing
/// * Maintained by stream parser:
/// * parser ++;
/// ###
/// %unsigned 16 synproc
/// ###
/// * Running MB counter of syntax processing
/// * Maintained by syntax processor:
/// * synproc ++; fifo.ctxIn.pop(); fifo.ctxOut.push();
/// ###
/// # 0x0001C SN1
/// %unsigned 16 ctxIn
/// ###
/// * Running MB counter of input MB context
/// * Maintained by syntax processor:
/// * = synproc + FLOOR( fifo.ctxIn.lvl() )
/// ###
/// %unsigned 16 ctxOut
/// ###
/// * Running MB counter of output MB context
/// * Maintained by syntax processor:
/// * = synproc - CEIL( fifo.ctxOut.lvl() )
/// ###
/// # 0x00020 SN2
/// %unsigned 16 P3MsgQ
/// ###
/// * Running MB counter of P3Msg (mbprop) output
/// * Maintained by syntax processor:
/// * = synproc - CEIL( fifo.P3Msg.lvl() )
/// ###
/// %unsigned 16 P3FopQ
/// ###
/// * Running MB counter of FOP output
/// ###
/// # 0x00024 SN3
/// %unsigned 16 VCMsgQ
/// ###
/// * Running counter of vCache message output
/// ###
/// %unsigned 16 P3TCQ
/// ###
/// * Running counter of non-zero 8x8 TC output
/// ###
/// # 0x00028 SN4
/// %unsigned 16 cmdDStc
/// ###
/// * Running counter of Figo0's DS for TC
/// ###
/// %unsigned 16 cmdDS1
/// ###
/// * Running counter of Figo0's DS
/// ###
/// # 0x0002C SN5
/// %unsigned 16 cmdDSMB0
/// ###
/// * Running counter of Figo1's DS for TC
/// ###
/// %unsigned 16 cmdDSMB1
/// ###
/// * Running counter of Figo1's DS for MB
/// ###
/// # 0x00030 SN6
/// %unsigned 16 cmdDS
/// ###
/// * Running counter of data streamer command
/// * Starting from 0xFF at each picture
/// ###
/// %unsigned 16 vcmDesc
/// ###
/// * Running counter of vcMSG descriptor bank
/// * Staring from 0xFFFF at each picture
/// * End of BPCtxSYNP
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 52B, bits: 389b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BPCtxSYNP
#define h_BPCtxSYNP (){}
#define RA_BPCtxSYNP_prop 0x0000
#define BA_BPCtxSYNP_prop_start 0x0000
#define B16BPCtxSYNP_prop_start 0x0000
#define LSb32BPCtxSYNP_prop_start 0
#define LSb16BPCtxSYNP_prop_start 0
#define bBPCtxSYNP_prop_start 16
#define MSK32BPCtxSYNP_prop_start 0x0000FFFF
#define BA_BPCtxSYNP_prop_rBID 0x0002
#define B16BPCtxSYNP_prop_rBID 0x0002
#define LSb32BPCtxSYNP_prop_rBID 16
#define LSb16BPCtxSYNP_prop_rBID 0
#define bBPCtxSYNP_prop_rBID 16
#define MSK32BPCtxSYNP_prop_rBID 0xFFFF0000
#define RA_BPCtxSYNP_prop1 0x0004
#define BA_BPCtxSYNP_prop_MBAFF 0x0004
#define B16BPCtxSYNP_prop_MBAFF 0x0004
#define LSb32BPCtxSYNP_prop_MBAFF 0
#define LSb16BPCtxSYNP_prop_MBAFF 0
#define bBPCtxSYNP_prop_MBAFF 1
#define MSK32BPCtxSYNP_prop_MBAFF 0x00000001
#define BA_BPCtxSYNP_prop_PicFLD 0x0004
#define B16BPCtxSYNP_prop_PicFLD 0x0004
#define LSb32BPCtxSYNP_prop_PicFLD 1
#define LSb16BPCtxSYNP_prop_PicFLD 1
#define bBPCtxSYNP_prop_PicFLD 1
#define MSK32BPCtxSYNP_prop_PicFLD 0x00000002
#define BA_BPCtxSYNP_prop_CoLocFLD 0x0004
#define B16BPCtxSYNP_prop_CoLocFLD 0x0004
#define LSb32BPCtxSYNP_prop_CoLocFLD 2
#define LSb16BPCtxSYNP_prop_CoLocFLD 2
#define bBPCtxSYNP_prop_CoLocFLD 1
#define MSK32BPCtxSYNP_prop_CoLocFLD 0x00000004
#define BA_BPCtxSYNP_prop_PairCoLoc 0x0004
#define B16BPCtxSYNP_prop_PairCoLoc 0x0004
#define LSb32BPCtxSYNP_prop_PairCoLoc 3
#define LSb16BPCtxSYNP_prop_PairCoLoc 3
#define bBPCtxSYNP_prop_PairCoLoc 1
#define MSK32BPCtxSYNP_prop_PairCoLoc 0x00000008
#define BA_BPCtxSYNP_prop_refCtx 0x0004
#define B16BPCtxSYNP_prop_refCtx 0x0004
#define LSb32BPCtxSYNP_prop_refCtx 4
#define LSb16BPCtxSYNP_prop_refCtx 4
#define bBPCtxSYNP_prop_refCtx 1
#define MSK32BPCtxSYNP_prop_refCtx 0x00000010
#define BA_BPCtxSYNP_prop_sliceB 0x0004
#define B16BPCtxSYNP_prop_sliceB 0x0004
#define LSb32BPCtxSYNP_prop_sliceB 5
#define LSb16BPCtxSYNP_prop_sliceB 5
#define bBPCtxSYNP_prop_sliceB 1
#define MSK32BPCtxSYNP_prop_sliceB 0x00000020
#define BA_BPCtxSYNP_prop_directEnb 0x0004
#define B16BPCtxSYNP_prop_directEnb 0x0004
#define LSb32BPCtxSYNP_prop_directEnb 6
#define LSb16BPCtxSYNP_prop_directEnb 6
#define bBPCtxSYNP_prop_directEnb 1
#define MSK32BPCtxSYNP_prop_directEnb 0x00000040
#define BA_BPCtxSYNP_prop_direct8x8 0x0004
#define B16BPCtxSYNP_prop_direct8x8 0x0004
#define LSb32BPCtxSYNP_prop_direct8x8 7
#define LSb16BPCtxSYNP_prop_direct8x8 7
#define bBPCtxSYNP_prop_direct8x8 1
#define MSK32BPCtxSYNP_prop_direct8x8 0x00000080
#define BA_BPCtxSYNP_prop_directSpatial 0x0005
#define B16BPCtxSYNP_prop_directSpatial 0x0004
#define LSb32BPCtxSYNP_prop_directSpatial 8
#define LSb16BPCtxSYNP_prop_directSpatial 8
#define bBPCtxSYNP_prop_directSpatial 1
#define MSK32BPCtxSYNP_prop_directSpatial 0x00000100
#define BA_BPCtxSYNP_prop_loopFlt 0x0005
#define B16BPCtxSYNP_prop_loopFlt 0x0004
#define LSb32BPCtxSYNP_prop_loopFlt 9
#define LSb16BPCtxSYNP_prop_loopFlt 9
#define bBPCtxSYNP_prop_loopFlt 1
#define MSK32BPCtxSYNP_prop_loopFlt 0x00000200
#define BA_BPCtxSYNP_prop_LFInSlice 0x0005
#define B16BPCtxSYNP_prop_LFInSlice 0x0004
#define LSb32BPCtxSYNP_prop_LFInSlice 10
#define LSb16BPCtxSYNP_prop_LFInSlice 10
#define bBPCtxSYNP_prop_LFInSlice 1
#define MSK32BPCtxSYNP_prop_LFInSlice 0x00000400
#define BA_BPCtxSYNP_prop_CoLocFLDMB 0x0005
#define B16BPCtxSYNP_prop_CoLocFLDMB 0x0004
#define LSb32BPCtxSYNP_prop_CoLocFLDMB 11
#define LSb16BPCtxSYNP_prop_CoLocFLDMB 11
#define bBPCtxSYNP_prop_CoLocFLDMB 1
#define MSK32BPCtxSYNP_prop_CoLocFLDMB 0x00000800
#define BA_BPCtxSYNP_prop_CoLoc8x8 0x0005
#define B16BPCtxSYNP_prop_CoLoc8x8 0x0004
#define LSb32BPCtxSYNP_prop_CoLoc8x8 12
#define LSb16BPCtxSYNP_prop_CoLoc8x8 12
#define bBPCtxSYNP_prop_CoLoc8x8 1
#define MSK32BPCtxSYNP_prop_CoLoc8x8 0x00001000
#define BA_BPCtxSYNP_prop_CoLoc16x16 0x0005
#define B16BPCtxSYNP_prop_CoLoc16x16 0x0004
#define LSb32BPCtxSYNP_prop_CoLoc16x16 13
#define LSb16BPCtxSYNP_prop_CoLoc16x16 13
#define bBPCtxSYNP_prop_CoLoc16x16 1
#define MSK32BPCtxSYNP_prop_CoLoc16x16 0x00002000
#define BA_BPCtxSYNP_prop_CoLoc8x8Btm 0x0005
#define B16BPCtxSYNP_prop_CoLoc8x8Btm 0x0004
#define LSb32BPCtxSYNP_prop_CoLoc8x8Btm 14
#define LSb16BPCtxSYNP_prop_CoLoc8x8Btm 14
#define bBPCtxSYNP_prop_CoLoc8x8Btm 1
#define MSK32BPCtxSYNP_prop_CoLoc8x8Btm 0x00004000
#define BA_BPCtxSYNP_prop_CoLoc16x16Btm 0x0005
#define B16BPCtxSYNP_prop_CoLoc16x16Btm 0x0004
#define LSb32BPCtxSYNP_prop_CoLoc16x16Btm 15
#define LSb16BPCtxSYNP_prop_CoLoc16x16Btm 15
#define bBPCtxSYNP_prop_CoLoc16x16Btm 1
#define MSK32BPCtxSYNP_prop_CoLoc16x16Btm 0x00008000
#define BA_BPCtxSYNP_prop_consIntra 0x0006
#define B16BPCtxSYNP_prop_consIntra 0x0006
#define LSb32BPCtxSYNP_prop_consIntra 16
#define LSb16BPCtxSYNP_prop_consIntra 0
#define bBPCtxSYNP_prop_consIntra 1
#define MSK32BPCtxSYNP_prop_consIntra 0x00010000
#define BA_BPCtxSYNP_prop_btmCloser 0x0006
#define B16BPCtxSYNP_prop_btmCloser 0x0006
#define LSb32BPCtxSYNP_prop_btmCloser 17
#define LSb16BPCtxSYNP_prop_btmCloser 1
#define bBPCtxSYNP_prop_btmCloser 1
#define MSK32BPCtxSYNP_prop_btmCloser 0x00020000
#define BA_BPCtxSYNP_prop_tCtxDirect8x8 0x0006
#define B16BPCtxSYNP_prop_tCtxDirect8x8 0x0006
#define LSb32BPCtxSYNP_prop_tCtxDirect8x8 18
#define LSb16BPCtxSYNP_prop_tCtxDirect8x8 2
#define bBPCtxSYNP_prop_tCtxDirect8x8 1
#define MSK32BPCtxSYNP_prop_tCtxDirect8x8 0x00040000
#define BA_BPCtxSYNP_prop_nFrmFld 0x0006
#define B16BPCtxSYNP_prop_nFrmFld 0x0006
#define LSb32BPCtxSYNP_prop_nFrmFld 19
#define LSb16BPCtxSYNP_prop_nFrmFld 3
#define bBPCtxSYNP_prop_nFrmFld 1
#define MSK32BPCtxSYNP_prop_nFrmFld 0x00080000
#define BA_BPCtxSYNP_prop_BtmFLD 0x0006
#define B16BPCtxSYNP_prop_BtmFLD 0x0006
#define LSb32BPCtxSYNP_prop_BtmFLD 20
#define LSb16BPCtxSYNP_prop_BtmFLD 4
#define bBPCtxSYNP_prop_BtmFLD 1
#define MSK32BPCtxSYNP_prop_BtmFLD 0x00100000
///////////////////////////////////////////////////////////
#define BA_BPCtxSYNP_hMBs 0x0008
#define B16BPCtxSYNP_hMBs 0x0008
#define LSb32BPCtxSYNP_hMBs 0
#define LSb16BPCtxSYNP_hMBs 0
#define bBPCtxSYNP_hMBs 16
#define MSK32BPCtxSYNP_hMBs 0x0000FFFF
#define BA_BPCtxSYNP_vMBs 0x000A
#define B16BPCtxSYNP_vMBs 0x000A
#define LSb32BPCtxSYNP_vMBs 16
#define LSb16BPCtxSYNP_vMBs 0
#define bBPCtxSYNP_vMBs 16
#define MSK32BPCtxSYNP_vMBs 0xFFFF0000
#define BA_BPCtxSYNP_total 0x000C
#define B16BPCtxSYNP_total 0x000C
#define LSb32BPCtxSYNP_total 0
#define LSb16BPCtxSYNP_total 0
#define bBPCtxSYNP_total 16
#define MSK32BPCtxSYNP_total 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_BPCtxSYNP_pic64 0x0010
///////////////////////////////////////////////////////////
#define RA_BPCtxSYNP_SN 0x0018
#define BA_BPCtxSYNP_SN_parser 0x0018
#define B16BPCtxSYNP_SN_parser 0x0018
#define LSb32BPCtxSYNP_SN_parser 0
#define LSb16BPCtxSYNP_SN_parser 0
#define bBPCtxSYNP_SN_parser 16
#define MSK32BPCtxSYNP_SN_parser 0x0000FFFF
#define BA_BPCtxSYNP_SN_synproc 0x001A
#define B16BPCtxSYNP_SN_synproc 0x001A
#define LSb32BPCtxSYNP_SN_synproc 16
#define LSb16BPCtxSYNP_SN_synproc 0
#define bBPCtxSYNP_SN_synproc 16
#define MSK32BPCtxSYNP_SN_synproc 0xFFFF0000
#define RA_BPCtxSYNP_SN1 0x001C
#define BA_BPCtxSYNP_SN_ctxIn 0x001C
#define B16BPCtxSYNP_SN_ctxIn 0x001C
#define LSb32BPCtxSYNP_SN_ctxIn 0
#define LSb16BPCtxSYNP_SN_ctxIn 0
#define bBPCtxSYNP_SN_ctxIn 16
#define MSK32BPCtxSYNP_SN_ctxIn 0x0000FFFF
#define BA_BPCtxSYNP_SN_ctxOut 0x001E
#define B16BPCtxSYNP_SN_ctxOut 0x001E
#define LSb32BPCtxSYNP_SN_ctxOut 16
#define LSb16BPCtxSYNP_SN_ctxOut 0
#define bBPCtxSYNP_SN_ctxOut 16
#define MSK32BPCtxSYNP_SN_ctxOut 0xFFFF0000
#define RA_BPCtxSYNP_SN2 0x0020
#define BA_BPCtxSYNP_SN_P3MsgQ 0x0020
#define B16BPCtxSYNP_SN_P3MsgQ 0x0020
#define LSb32BPCtxSYNP_SN_P3MsgQ 0
#define LSb16BPCtxSYNP_SN_P3MsgQ 0
#define bBPCtxSYNP_SN_P3MsgQ 16
#define MSK32BPCtxSYNP_SN_P3MsgQ 0x0000FFFF
#define BA_BPCtxSYNP_SN_P3FopQ 0x0022
#define B16BPCtxSYNP_SN_P3FopQ 0x0022
#define LSb32BPCtxSYNP_SN_P3FopQ 16
#define LSb16BPCtxSYNP_SN_P3FopQ 0
#define bBPCtxSYNP_SN_P3FopQ 16
#define MSK32BPCtxSYNP_SN_P3FopQ 0xFFFF0000
#define RA_BPCtxSYNP_SN3 0x0024
#define BA_BPCtxSYNP_SN_VCMsgQ 0x0024
#define B16BPCtxSYNP_SN_VCMsgQ 0x0024
#define LSb32BPCtxSYNP_SN_VCMsgQ 0
#define LSb16BPCtxSYNP_SN_VCMsgQ 0
#define bBPCtxSYNP_SN_VCMsgQ 16
#define MSK32BPCtxSYNP_SN_VCMsgQ 0x0000FFFF
#define BA_BPCtxSYNP_SN_P3TCQ 0x0026
#define B16BPCtxSYNP_SN_P3TCQ 0x0026
#define LSb32BPCtxSYNP_SN_P3TCQ 16
#define LSb16BPCtxSYNP_SN_P3TCQ 0
#define bBPCtxSYNP_SN_P3TCQ 16
#define MSK32BPCtxSYNP_SN_P3TCQ 0xFFFF0000
#define RA_BPCtxSYNP_SN4 0x0028
#define BA_BPCtxSYNP_SN_cmdDStc 0x0028
#define B16BPCtxSYNP_SN_cmdDStc 0x0028
#define LSb32BPCtxSYNP_SN_cmdDStc 0
#define LSb16BPCtxSYNP_SN_cmdDStc 0
#define bBPCtxSYNP_SN_cmdDStc 16
#define MSK32BPCtxSYNP_SN_cmdDStc 0x0000FFFF
#define BA_BPCtxSYNP_SN_cmdDS1 0x002A
#define B16BPCtxSYNP_SN_cmdDS1 0x002A
#define LSb32BPCtxSYNP_SN_cmdDS1 16
#define LSb16BPCtxSYNP_SN_cmdDS1 0
#define bBPCtxSYNP_SN_cmdDS1 16
#define MSK32BPCtxSYNP_SN_cmdDS1 0xFFFF0000
#define RA_BPCtxSYNP_SN5 0x002C
#define BA_BPCtxSYNP_SN_cmdDSMB0 0x002C
#define B16BPCtxSYNP_SN_cmdDSMB0 0x002C
#define LSb32BPCtxSYNP_SN_cmdDSMB0 0
#define LSb16BPCtxSYNP_SN_cmdDSMB0 0
#define bBPCtxSYNP_SN_cmdDSMB0 16
#define MSK32BPCtxSYNP_SN_cmdDSMB0 0x0000FFFF
#define BA_BPCtxSYNP_SN_cmdDSMB1 0x002E
#define B16BPCtxSYNP_SN_cmdDSMB1 0x002E
#define LSb32BPCtxSYNP_SN_cmdDSMB1 16
#define LSb16BPCtxSYNP_SN_cmdDSMB1 0
#define bBPCtxSYNP_SN_cmdDSMB1 16
#define MSK32BPCtxSYNP_SN_cmdDSMB1 0xFFFF0000
#define RA_BPCtxSYNP_SN6 0x0030
#define BA_BPCtxSYNP_SN_cmdDS 0x0030
#define B16BPCtxSYNP_SN_cmdDS 0x0030
#define LSb32BPCtxSYNP_SN_cmdDS 0
#define LSb16BPCtxSYNP_SN_cmdDS 0
#define bBPCtxSYNP_SN_cmdDS 16
#define MSK32BPCtxSYNP_SN_cmdDS 0x0000FFFF
#define BA_BPCtxSYNP_SN_vcmDesc 0x0032
#define B16BPCtxSYNP_SN_vcmDesc 0x0032
#define LSb32BPCtxSYNP_SN_vcmDesc 16
#define LSb16BPCtxSYNP_SN_vcmDesc 0
#define bBPCtxSYNP_SN_vcmDesc 16
#define MSK32BPCtxSYNP_SN_vcmDesc 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_BPCtxSYNP {
///////////////////////////////////////////////////////////
#define GET32BPCtxSYNP_prop_start(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxSYNP_prop_start(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxSYNP_prop_start(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_prop_start(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxSYNP_prop_rBID(r32) _BFGET_(r32,31,16)
#define SET32BPCtxSYNP_prop_rBID(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxSYNP_prop_rBID(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_prop_rBID(r16,v) _BFSET_(r16,15, 0,v)
#define w32BPCtxSYNP_prop {\
UNSG32 uprop_start : 16;\
UNSG32 uprop_rBID : 16;\
}
union { UNSG32 u32BPCtxSYNP_prop;
struct w32BPCtxSYNP_prop;
};
#define GET32BPCtxSYNP_prop_MBAFF(r32) _BFGET_(r32, 0, 0)
#define SET32BPCtxSYNP_prop_MBAFF(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16BPCtxSYNP_prop_MBAFF(r16) _BFGET_(r16, 0, 0)
#define SET16BPCtxSYNP_prop_MBAFF(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32BPCtxSYNP_prop_PicFLD(r32) _BFGET_(r32, 1, 1)
#define SET32BPCtxSYNP_prop_PicFLD(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16BPCtxSYNP_prop_PicFLD(r16) _BFGET_(r16, 1, 1)
#define SET16BPCtxSYNP_prop_PicFLD(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32BPCtxSYNP_prop_CoLocFLD(r32) _BFGET_(r32, 2, 2)
#define SET32BPCtxSYNP_prop_CoLocFLD(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16BPCtxSYNP_prop_CoLocFLD(r16) _BFGET_(r16, 2, 2)
#define SET16BPCtxSYNP_prop_CoLocFLD(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32BPCtxSYNP_prop_PairCoLoc(r32) _BFGET_(r32, 3, 3)
#define SET32BPCtxSYNP_prop_PairCoLoc(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16BPCtxSYNP_prop_PairCoLoc(r16) _BFGET_(r16, 3, 3)
#define SET16BPCtxSYNP_prop_PairCoLoc(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32BPCtxSYNP_prop_refCtx(r32) _BFGET_(r32, 4, 4)
#define SET32BPCtxSYNP_prop_refCtx(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16BPCtxSYNP_prop_refCtx(r16) _BFGET_(r16, 4, 4)
#define SET16BPCtxSYNP_prop_refCtx(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32BPCtxSYNP_prop_sliceB(r32) _BFGET_(r32, 5, 5)
#define SET32BPCtxSYNP_prop_sliceB(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16BPCtxSYNP_prop_sliceB(r16) _BFGET_(r16, 5, 5)
#define SET16BPCtxSYNP_prop_sliceB(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32BPCtxSYNP_prop_directEnb(r32) _BFGET_(r32, 6, 6)
#define SET32BPCtxSYNP_prop_directEnb(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16BPCtxSYNP_prop_directEnb(r16) _BFGET_(r16, 6, 6)
#define SET16BPCtxSYNP_prop_directEnb(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32BPCtxSYNP_prop_direct8x8(r32) _BFGET_(r32, 7, 7)
#define SET32BPCtxSYNP_prop_direct8x8(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16BPCtxSYNP_prop_direct8x8(r16) _BFGET_(r16, 7, 7)
#define SET16BPCtxSYNP_prop_direct8x8(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32BPCtxSYNP_prop_directSpatial(r32) _BFGET_(r32, 8, 8)
#define SET32BPCtxSYNP_prop_directSpatial(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16BPCtxSYNP_prop_directSpatial(r16) _BFGET_(r16, 8, 8)
#define SET16BPCtxSYNP_prop_directSpatial(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32BPCtxSYNP_prop_loopFlt(r32) _BFGET_(r32, 9, 9)
#define SET32BPCtxSYNP_prop_loopFlt(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16BPCtxSYNP_prop_loopFlt(r16) _BFGET_(r16, 9, 9)
#define SET16BPCtxSYNP_prop_loopFlt(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32BPCtxSYNP_prop_LFInSlice(r32) _BFGET_(r32,10,10)
#define SET32BPCtxSYNP_prop_LFInSlice(r32,v) _BFSET_(r32,10,10,v)
#define GET16BPCtxSYNP_prop_LFInSlice(r16) _BFGET_(r16,10,10)
#define SET16BPCtxSYNP_prop_LFInSlice(r16,v) _BFSET_(r16,10,10,v)
#define GET32BPCtxSYNP_prop_CoLocFLDMB(r32) _BFGET_(r32,11,11)
#define SET32BPCtxSYNP_prop_CoLocFLDMB(r32,v) _BFSET_(r32,11,11,v)
#define GET16BPCtxSYNP_prop_CoLocFLDMB(r16) _BFGET_(r16,11,11)
#define SET16BPCtxSYNP_prop_CoLocFLDMB(r16,v) _BFSET_(r16,11,11,v)
#define GET32BPCtxSYNP_prop_CoLoc8x8(r32) _BFGET_(r32,12,12)
#define SET32BPCtxSYNP_prop_CoLoc8x8(r32,v) _BFSET_(r32,12,12,v)
#define GET16BPCtxSYNP_prop_CoLoc8x8(r16) _BFGET_(r16,12,12)
#define SET16BPCtxSYNP_prop_CoLoc8x8(r16,v) _BFSET_(r16,12,12,v)
#define GET32BPCtxSYNP_prop_CoLoc16x16(r32) _BFGET_(r32,13,13)
#define SET32BPCtxSYNP_prop_CoLoc16x16(r32,v) _BFSET_(r32,13,13,v)
#define GET16BPCtxSYNP_prop_CoLoc16x16(r16) _BFGET_(r16,13,13)
#define SET16BPCtxSYNP_prop_CoLoc16x16(r16,v) _BFSET_(r16,13,13,v)
#define GET32BPCtxSYNP_prop_CoLoc8x8Btm(r32) _BFGET_(r32,14,14)
#define SET32BPCtxSYNP_prop_CoLoc8x8Btm(r32,v) _BFSET_(r32,14,14,v)
#define GET16BPCtxSYNP_prop_CoLoc8x8Btm(r16) _BFGET_(r16,14,14)
#define SET16BPCtxSYNP_prop_CoLoc8x8Btm(r16,v) _BFSET_(r16,14,14,v)
#define GET32BPCtxSYNP_prop_CoLoc16x16Btm(r32) _BFGET_(r32,15,15)
#define SET32BPCtxSYNP_prop_CoLoc16x16Btm(r32,v) _BFSET_(r32,15,15,v)
#define GET16BPCtxSYNP_prop_CoLoc16x16Btm(r16) _BFGET_(r16,15,15)
#define SET16BPCtxSYNP_prop_CoLoc16x16Btm(r16,v) _BFSET_(r16,15,15,v)
#define GET32BPCtxSYNP_prop_consIntra(r32) _BFGET_(r32,16,16)
#define SET32BPCtxSYNP_prop_consIntra(r32,v) _BFSET_(r32,16,16,v)
#define GET16BPCtxSYNP_prop_consIntra(r16) _BFGET_(r16, 0, 0)
#define SET16BPCtxSYNP_prop_consIntra(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32BPCtxSYNP_prop_btmCloser(r32) _BFGET_(r32,17,17)
#define SET32BPCtxSYNP_prop_btmCloser(r32,v) _BFSET_(r32,17,17,v)
#define GET16BPCtxSYNP_prop_btmCloser(r16) _BFGET_(r16, 1, 1)
#define SET16BPCtxSYNP_prop_btmCloser(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32BPCtxSYNP_prop_tCtxDirect8x8(r32) _BFGET_(r32,18,18)
#define SET32BPCtxSYNP_prop_tCtxDirect8x8(r32,v) _BFSET_(r32,18,18,v)
#define GET16BPCtxSYNP_prop_tCtxDirect8x8(r16) _BFGET_(r16, 2, 2)
#define SET16BPCtxSYNP_prop_tCtxDirect8x8(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32BPCtxSYNP_prop_nFrmFld(r32) _BFGET_(r32,19,19)
#define SET32BPCtxSYNP_prop_nFrmFld(r32,v) _BFSET_(r32,19,19,v)
#define GET16BPCtxSYNP_prop_nFrmFld(r16) _BFGET_(r16, 3, 3)
#define SET16BPCtxSYNP_prop_nFrmFld(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32BPCtxSYNP_prop_BtmFLD(r32) _BFGET_(r32,20,20)
#define SET32BPCtxSYNP_prop_BtmFLD(r32,v) _BFSET_(r32,20,20,v)
#define GET16BPCtxSYNP_prop_BtmFLD(r16) _BFGET_(r16, 4, 4)
#define SET16BPCtxSYNP_prop_BtmFLD(r16,v) _BFSET_(r16, 4, 4,v)
#define w32BPCtxSYNP_prop1 {\
UNSG32 uprop_MBAFF : 1;\
UNSG32 uprop_PicFLD : 1;\
UNSG32 uprop_CoLocFLD : 1;\
UNSG32 uprop_PairCoLoc : 1;\
UNSG32 uprop_refCtx : 1;\
UNSG32 uprop_sliceB : 1;\
UNSG32 uprop_directEnb : 1;\
UNSG32 uprop_direct8x8 : 1;\
UNSG32 uprop_directSpatial : 1;\
UNSG32 uprop_loopFlt : 1;\
UNSG32 uprop_LFInSlice : 1;\
UNSG32 uprop_CoLocFLDMB : 1;\
UNSG32 uprop_CoLoc8x8 : 1;\
UNSG32 uprop_CoLoc16x16 : 1;\
UNSG32 uprop_CoLoc8x8Btm : 1;\
UNSG32 uprop_CoLoc16x16Btm : 1;\
UNSG32 uprop_consIntra : 1;\
UNSG32 uprop_btmCloser : 1;\
UNSG32 uprop_tCtxDirect8x8 : 1;\
UNSG32 uprop_nFrmFld : 1;\
UNSG32 uprop_BtmFLD : 1;\
UNSG32 RSVDx4_b21 : 11;\
}
union { UNSG32 u32BPCtxSYNP_prop1;
struct w32BPCtxSYNP_prop1;
};
///////////////////////////////////////////////////////////
#define GET32BPCtxSYNP_hMBs(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxSYNP_hMBs(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxSYNP_hMBs(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_hMBs(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxSYNP_vMBs(r32) _BFGET_(r32,31,16)
#define SET32BPCtxSYNP_vMBs(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxSYNP_vMBs(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_vMBs(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_hMBs : 16;
UNSG32 u_vMBs : 16;
///////////////////////////////////////////////////////////
#define GET32BPCtxSYNP_total(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxSYNP_total(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxSYNP_total(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_total(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_total : 16;
UNSG32 RSVDxC_b16 : 16;
///////////////////////////////////////////////////////////
SIE_BPRF64PIC ie_pic64;
///////////////////////////////////////////////////////////
#define GET32BPCtxSYNP_SN_parser(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxSYNP_SN_parser(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxSYNP_SN_parser(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_parser(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxSYNP_SN_synproc(r32) _BFGET_(r32,31,16)
#define SET32BPCtxSYNP_SN_synproc(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxSYNP_SN_synproc(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_synproc(r16,v) _BFSET_(r16,15, 0,v)
#define w32BPCtxSYNP_SN {\
UNSG32 uSN_parser : 16;\
UNSG32 uSN_synproc : 16;\
}
union { UNSG32 u32BPCtxSYNP_SN;
struct w32BPCtxSYNP_SN;
};
#define GET32BPCtxSYNP_SN_ctxIn(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxSYNP_SN_ctxIn(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxSYNP_SN_ctxIn(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_ctxIn(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxSYNP_SN_ctxOut(r32) _BFGET_(r32,31,16)
#define SET32BPCtxSYNP_SN_ctxOut(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxSYNP_SN_ctxOut(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_ctxOut(r16,v) _BFSET_(r16,15, 0,v)
#define w32BPCtxSYNP_SN1 {\
UNSG32 uSN_ctxIn : 16;\
UNSG32 uSN_ctxOut : 16;\
}
union { UNSG32 u32BPCtxSYNP_SN1;
struct w32BPCtxSYNP_SN1;
};
#define GET32BPCtxSYNP_SN_P3MsgQ(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxSYNP_SN_P3MsgQ(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxSYNP_SN_P3MsgQ(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_P3MsgQ(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxSYNP_SN_P3FopQ(r32) _BFGET_(r32,31,16)
#define SET32BPCtxSYNP_SN_P3FopQ(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxSYNP_SN_P3FopQ(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_P3FopQ(r16,v) _BFSET_(r16,15, 0,v)
#define w32BPCtxSYNP_SN2 {\
UNSG32 uSN_P3MsgQ : 16;\
UNSG32 uSN_P3FopQ : 16;\
}
union { UNSG32 u32BPCtxSYNP_SN2;
struct w32BPCtxSYNP_SN2;
};
#define GET32BPCtxSYNP_SN_VCMsgQ(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxSYNP_SN_VCMsgQ(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxSYNP_SN_VCMsgQ(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_VCMsgQ(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxSYNP_SN_P3TCQ(r32) _BFGET_(r32,31,16)
#define SET32BPCtxSYNP_SN_P3TCQ(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxSYNP_SN_P3TCQ(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_P3TCQ(r16,v) _BFSET_(r16,15, 0,v)
#define w32BPCtxSYNP_SN3 {\
UNSG32 uSN_VCMsgQ : 16;\
UNSG32 uSN_P3TCQ : 16;\
}
union { UNSG32 u32BPCtxSYNP_SN3;
struct w32BPCtxSYNP_SN3;
};
#define GET32BPCtxSYNP_SN_cmdDStc(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxSYNP_SN_cmdDStc(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxSYNP_SN_cmdDStc(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_cmdDStc(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxSYNP_SN_cmdDS1(r32) _BFGET_(r32,31,16)
#define SET32BPCtxSYNP_SN_cmdDS1(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxSYNP_SN_cmdDS1(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_cmdDS1(r16,v) _BFSET_(r16,15, 0,v)
#define w32BPCtxSYNP_SN4 {\
UNSG32 uSN_cmdDStc : 16;\
UNSG32 uSN_cmdDS1 : 16;\
}
union { UNSG32 u32BPCtxSYNP_SN4;
struct w32BPCtxSYNP_SN4;
};
#define GET32BPCtxSYNP_SN_cmdDSMB0(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxSYNP_SN_cmdDSMB0(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxSYNP_SN_cmdDSMB0(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_cmdDSMB0(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxSYNP_SN_cmdDSMB1(r32) _BFGET_(r32,31,16)
#define SET32BPCtxSYNP_SN_cmdDSMB1(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxSYNP_SN_cmdDSMB1(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_cmdDSMB1(r16,v) _BFSET_(r16,15, 0,v)
#define w32BPCtxSYNP_SN5 {\
UNSG32 uSN_cmdDSMB0 : 16;\
UNSG32 uSN_cmdDSMB1 : 16;\
}
union { UNSG32 u32BPCtxSYNP_SN5;
struct w32BPCtxSYNP_SN5;
};
#define GET32BPCtxSYNP_SN_cmdDS(r32) _BFGET_(r32,15, 0)
#define SET32BPCtxSYNP_SN_cmdDS(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCtxSYNP_SN_cmdDS(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_cmdDS(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCtxSYNP_SN_vcmDesc(r32) _BFGET_(r32,31,16)
#define SET32BPCtxSYNP_SN_vcmDesc(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPCtxSYNP_SN_vcmDesc(r16) _BFGET_(r16,15, 0)
#define SET16BPCtxSYNP_SN_vcmDesc(r16,v) _BFSET_(r16,15, 0,v)
#define w32BPCtxSYNP_SN6 {\
UNSG32 uSN_cmdDS : 16;\
UNSG32 uSN_vcmDesc : 16;\
}
union { UNSG32 u32BPCtxSYNP_SN6;
struct w32BPCtxSYNP_SN6;
};
///////////////////////////////////////////////////////////
} SIE_BPCtxSYNP;
typedef union T32BPCtxSYNP_prop
{ UNSG32 u32;
struct w32BPCtxSYNP_prop;
} T32BPCtxSYNP_prop;
typedef union T32BPCtxSYNP_prop1
{ UNSG32 u32;
struct w32BPCtxSYNP_prop1;
} T32BPCtxSYNP_prop1;
typedef union T32BPCtxSYNP_SN
{ UNSG32 u32;
struct w32BPCtxSYNP_SN;
} T32BPCtxSYNP_SN;
typedef union T32BPCtxSYNP_SN1
{ UNSG32 u32;
struct w32BPCtxSYNP_SN1;
} T32BPCtxSYNP_SN1;
typedef union T32BPCtxSYNP_SN2
{ UNSG32 u32;
struct w32BPCtxSYNP_SN2;
} T32BPCtxSYNP_SN2;
typedef union T32BPCtxSYNP_SN3
{ UNSG32 u32;
struct w32BPCtxSYNP_SN3;
} T32BPCtxSYNP_SN3;
typedef union T32BPCtxSYNP_SN4
{ UNSG32 u32;
struct w32BPCtxSYNP_SN4;
} T32BPCtxSYNP_SN4;
typedef union T32BPCtxSYNP_SN5
{ UNSG32 u32;
struct w32BPCtxSYNP_SN5;
} T32BPCtxSYNP_SN5;
typedef union T32BPCtxSYNP_SN6
{ UNSG32 u32;
struct w32BPCtxSYNP_SN6;
} T32BPCtxSYNP_SN6;
///////////////////////////////////////////////////////////
typedef union TBPCtxSYNP_prop
{ UNSG32 u32[2];
struct {
struct w32BPCtxSYNP_prop;
struct w32BPCtxSYNP_prop1;
};
} TBPCtxSYNP_prop;
typedef union TBPCtxSYNP_SN
{ UNSG32 u32[7];
struct {
struct w32BPCtxSYNP_SN;
struct w32BPCtxSYNP_SN1;
struct w32BPCtxSYNP_SN2;
struct w32BPCtxSYNP_SN3;
struct w32BPCtxSYNP_SN4;
struct w32BPCtxSYNP_SN5;
struct w32BPCtxSYNP_SN6;
};
} TBPCtxSYNP_SN;
///////////////////////////////////////////////////////////
SIGN32 BPCtxSYNP_drvrd(SIE_BPCtxSYNP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BPCtxSYNP_drvwr(SIE_BPCtxSYNP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BPCtxSYNP_reset(SIE_BPCtxSYNP *p);
SIGN32 BPCtxSYNP_cmp (SIE_BPCtxSYNP *p, SIE_BPCtxSYNP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BPCtxSYNP_check(p,pie,pfx,hLOG) BPCtxSYNP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BPCtxSYNP_print(p, pfx,hLOG) BPCtxSYNP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BPCtxSYNP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BPInvScanBLK (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 4x4
/// $LUT8b 4x4 REG [4]
/// ###
/// * For 4x4 transform, cast to:
/// * 8b Scan[16]:
/// * - zigzag for MBAFF or progressive
/// * - field scan for field picture
/// ###
/// @ 0x00010 (P)
/// # 0x00010 4x4DC
/// $LUT8b 4x4DC REG [4]
/// ###
/// * For 4x4 Hadamard transform, cast to:
/// * 8b Scan[16] (decoding order to raster)
/// ###
/// @ 0x00020 (P)
/// # 0x00020 2x2DC
/// $LUT8b 2x2DC REG [2]
/// ###
/// * For 2x2 Hadamard transform, cast to:
/// * 8b Scan[4] (Scan[i] = i)
/// ###
/// @ 0x00028 (P)
/// # 0x00028 IPCMY
/// $LUT8b IPCMY REG [32]
/// ###
/// * Cast to 16b scan[64=16*16/4]
/// * NOTE: every 4 pix share same entry address
/// ###
/// @ 0x000A8 (P)
/// # 0x000A8 IPCMUV
/// $LUT8b IPCMUV REG [16]
/// ###
/// * Cast to 16b scan[32=8*8/4*2]
/// * NOTE: every 4 pix share same entry address
/// * End of BPInvScanBLK
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 232B, bits: 1856b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BPInvScanBLK
#define h_BPInvScanBLK (){}
#define RA_BPInvScanBLK_4x4 0x0000
///////////////////////////////////////////////////////////
#define RA_BPInvScanBLK_4x4DC 0x0010
///////////////////////////////////////////////////////////
#define RA_BPInvScanBLK_2x2DC 0x0020
///////////////////////////////////////////////////////////
#define RA_BPInvScanBLK_IPCMY 0x0028
///////////////////////////////////////////////////////////
#define RA_BPInvScanBLK_IPCMUV 0x00A8
///////////////////////////////////////////////////////////
typedef struct SIE_BPInvScanBLK {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_4x4[4];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_4x4DC[4];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_2x2DC[2];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_IPCMY[32];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_IPCMUV[16];
///////////////////////////////////////////////////////////
} SIE_BPInvScanBLK;
///////////////////////////////////////////////////////////
SIGN32 BPInvScanBLK_drvrd(SIE_BPInvScanBLK *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BPInvScanBLK_drvwr(SIE_BPInvScanBLK *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BPInvScanBLK_reset(SIE_BPInvScanBLK *p);
SIGN32 BPInvScanBLK_cmp (SIE_BPInvScanBLK *p, SIE_BPInvScanBLK *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BPInvScanBLK_check(p,pie,pfx,hLOG) BPInvScanBLK_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BPInvScanBLK_print(p, pfx,hLOG) BPInvScanBLK_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BPInvScanBLK
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BPFOPCmdIDX (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 FRMA_FRMX_FRMB
/// $LUT8b FRMA_FRMX_FRMB REG [8]
/// ###
/// * Cast to 8b index[16+16]
/// * End of BPFOPCmdIDX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 256b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BPFOPCmdIDX
#define h_BPFOPCmdIDX (){}
#define RA_BPFOPCmdIDX_FRMA_FRMX_FRMB 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_BPFOPCmdIDX {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_FRMA_FRMX_FRMB[8];
///////////////////////////////////////////////////////////
} SIE_BPFOPCmdIDX;
///////////////////////////////////////////////////////////
SIGN32 BPFOPCmdIDX_drvrd(SIE_BPFOPCmdIDX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BPFOPCmdIDX_drvwr(SIE_BPFOPCmdIDX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BPFOPCmdIDX_reset(SIE_BPFOPCmdIDX *p);
SIGN32 BPFOPCmdIDX_cmp (SIE_BPFOPCmdIDX *p, SIE_BPFOPCmdIDX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BPFOPCmdIDX_check(p,pie,pfx,hLOG) BPFOPCmdIDX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BPFOPCmdIDX_print(p, pfx,hLOG) BPFOPCmdIDX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BPFOPCmdIDX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BPMBPROP (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 type
/// ###
/// * Refer to BLK_xxx in decHal_mbLvl.sxw.txt
/// ###
/// %unsigned 2 partition
/// ###
/// * See BLK.partition
/// ###
/// %unsigned 1 t8x8
/// ###
/// * 0/1 as 4x4/8x8 transform
/// * IntraPROP.t8x8I & Parse( transform_8x8_flag )
/// * InterPROP.t8x8PB & cbpLuma & !flat4x4 &
/// * Parse( transform_8x8_flag )
/// * for vc1: OVERFLAGMB from stream-parser to
/// * syntax-processor in raw mode
/// ###
/// %unsigned 1 MBAFF
/// ###
/// * H.264 MBAFF picture
/// * MPEG2/4/VC1: use for frame or field DCT
/// ###
/// %unsigned 1 FLD
/// ###
/// * - if current MB is MBAFF field MB
/// * MPEG2: use for frame or field MV
/// * MPEG4: field_prediction
/// * (information of field_reference also decoded, not decide whether need to transfer,maybe slice level info)
/// ###
/// %unsigned 1 FLDNeighborA
/// ###
/// * - if left MB is available when filter_idc = 0
/// ###
/// %unsigned 1 FLDNeighborB
/// ###
/// * - if upper MB is available when filter_idc = 0
/// ###
/// %unsigned 1 FLDNeighborC
/// ###
/// * - if upper-right MB is available when filter_idc = 0
/// ###
/// %unsigned 1 FLDNeighborD
/// ###
/// * - if upper-left MB is available when filter_idc = 0
/// ###
/// %unsigned 1 NeighborA
/// ###
/// * From stream-parser to syntax-processor:
/// * - if left MB is available
/// * From vScope to PCube:
/// * - if left MB is available as intra predictor
/// ###
/// %unsigned 1 NeighborB
/// ###
/// * From stream-parser to syntax-processor:
/// * - if upper MB is available
/// * From vScope to PCube:
/// * - if upper MB is available as intra predictor
/// ###
/// %unsigned 1 NeighborC
/// ###
/// * From stream-parser to syntax-processor:
/// * - if upper-right MB is available
/// * From vScope to PCube:
/// * - if upper-right MB is available as intra predictor
/// ###
/// %unsigned 1 NeighborD
/// ###
/// * From stream-parser to syntax-processor:
/// * - if upper-left MB is available
/// * From vScope to PCube:
/// * - if upper-left MB is available as intra predictor
/// ###
/// %unsigned 1 LastInSeq
/// ###
/// * If last MB in sequence
/// ###
/// %unsigned 3 NumBLK
/// ###
/// * Number of non-zero blocks (0~6) associated with CBP below
/// ###
/// %unsigned 1 loopFlt
/// ###
/// * If enable loop-filter
/// ###
/// %unsigned 1 LFInSlice
/// ###
/// * Loop-filter within slice
/// ###
/// %unsigned 5 AC0Offset
/// ###
/// * Alpha c0 offset in slice header
/// ###
/// %unsigned 5 BetaOffset
/// ###
/// * Beta offset in slice header
/// ###
/// @ 0x00004 (P)
/// %unsigned 8 MBX
/// ###
/// * X-location of current MB
/// ###
/// %unsigned 8 MBY
/// ###
/// * Y-location of current MB
/// ###
/// %unsigned 8 CBP
/// ###
/// * All zero flags for 8x8 blocks
/// * - H264 luma (intra 16x16): all 4 CBP bits are 1
/// * - H264 luma (others): same as decoded CBP bit
/// * - H264 chroma: U/V use same (=0 if CBPUV=0)
/// ###
/// %unsigned 8 CBPDC
/// ###
/// * DC-only flags for 8x8 (4 of 4x4) blocks
/// * - H264 luma (intra 16x16): not decoded CBP
/// * - H264 luma (8x8): CBP=1 && only (0,0) is none-zero
/// * - H264 luma (4x4): CBP=1 && all-zero or only (0,0) is non-zero for each 4x4 block in 8x8
/// * - H264 chroma: U/V use same (=1 if CBPUV=1)
/// ###
/// @ 0x00008 (P)
/// # 0x00008 BLK
/// $BLK BLK REG
/// ###
/// * Cast to 8b BLK[4] (flatten for each 8x8)
/// * - 1mv: BLK[0]=BLK[1]=BLK[2]=BLK[3]
/// * - 2mvLR: BLK[0]=BLK[2], BLK[1]=BLK[3]
/// * - 2mvTB: BLK[0]=BLK[1], BLK[2]=BLK[3]
/// ###
/// @ 0x0000C (P)
/// %unsigned 2 chroma
/// : DC 0x0
/// : Horizontal 0x1
/// : Vertical 0x2
/// : Plane 0x3
/// ###
/// * Intra prediction mode for chroma blocks
/// ###
/// : ACP_OFF 0x0
/// : ACP_ON 0x1
/// ###
/// * MPEG4/VC1: 1 bit to identify AC_Pred
/// ###
/// %unsigned 2 first_rnd
/// ###
/// * Reserved
/// ###
/// %unsigned 1 vLumaDB
/// ###
/// * If luma vertical edges to be filtered
/// ###
/// %unsigned 1 vChromaDB
/// ###
/// * If chroma vertical edges to be filtered
/// ###
/// %unsigned 1 hLumaDB
/// ###
/// * If luma horizontal edges to be filtered
/// ###
/// %unsigned 1 hChromaDB
/// ###
/// * If chroma horizontal edges to be filtered
/// ###
/// %unsigned 8 QP
/// ###
/// * MB QP for luma
/// * VP6: 6-bit flag to indicate loop-filtering of vertical edges for each 8x8 block
/// ###
/// %unsigned 8 Qu
/// ###
/// * MB QP for Cb
/// * VP6: 6-bit flag to indicate loop-filtering of horizontal edges for each 8x8 block
/// ###
/// %unsigned 8 Qv
/// ###
/// * MB QP for Cr
/// ###
/// @ 0x00010 (P)
/// # 0x00010 pred
/// $IntraLuma pred REG [4]
/// ###
/// * - Intra16x16: 8b IntraLuma[1]
/// * - Intra8x8: 8b IntraLuma[4:idx8x8]
/// * - Intra4x4: 8b IntraLuma[4:idx8x8][4:idx4x4]
/// * NOTE: IntraNxN use {1b-prev,3b-rem} (before prediction) between parser & syntax processor
/// * Inter: cast to 16b rIDX[4:BLK][2:L0/L1] (flatten for all 8x8)
/// * - 1mv: pred[0]=pred[1]=pred[2]=pred[3]
/// * - 2mvLR: pred[0]=pred[2], pred[1]=pred[3]
/// * - 2mvTB: pred[0]=pred[1], pred[2]=pred[3]
/// * End of BPMBPROP
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 256b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BPMBPROP
#define h_BPMBPROP (){}
#define BA_BPMBPROP_type 0x0000
#define B16BPMBPROP_type 0x0000
#define LSb32BPMBPROP_type 0
#define LSb16BPMBPROP_type 0
#define bBPMBPROP_type 3
#define MSK32BPMBPROP_type 0x00000007
#define BA_BPMBPROP_partition 0x0000
#define B16BPMBPROP_partition 0x0000
#define LSb32BPMBPROP_partition 3
#define LSb16BPMBPROP_partition 3
#define bBPMBPROP_partition 2
#define MSK32BPMBPROP_partition 0x00000018
#define BA_BPMBPROP_t8x8 0x0000
#define B16BPMBPROP_t8x8 0x0000
#define LSb32BPMBPROP_t8x8 5
#define LSb16BPMBPROP_t8x8 5
#define bBPMBPROP_t8x8 1
#define MSK32BPMBPROP_t8x8 0x00000020
#define BA_BPMBPROP_MBAFF 0x0000
#define B16BPMBPROP_MBAFF 0x0000
#define LSb32BPMBPROP_MBAFF 6
#define LSb16BPMBPROP_MBAFF 6
#define bBPMBPROP_MBAFF 1
#define MSK32BPMBPROP_MBAFF 0x00000040
#define BA_BPMBPROP_FLD 0x0000
#define B16BPMBPROP_FLD 0x0000
#define LSb32BPMBPROP_FLD 7
#define LSb16BPMBPROP_FLD 7
#define bBPMBPROP_FLD 1
#define MSK32BPMBPROP_FLD 0x00000080
#define BA_BPMBPROP_FLDNeighborA 0x0001
#define B16BPMBPROP_FLDNeighborA 0x0000
#define LSb32BPMBPROP_FLDNeighborA 8
#define LSb16BPMBPROP_FLDNeighborA 8
#define bBPMBPROP_FLDNeighborA 1
#define MSK32BPMBPROP_FLDNeighborA 0x00000100
#define BA_BPMBPROP_FLDNeighborB 0x0001
#define B16BPMBPROP_FLDNeighborB 0x0000
#define LSb32BPMBPROP_FLDNeighborB 9
#define LSb16BPMBPROP_FLDNeighborB 9
#define bBPMBPROP_FLDNeighborB 1
#define MSK32BPMBPROP_FLDNeighborB 0x00000200
#define BA_BPMBPROP_FLDNeighborC 0x0001
#define B16BPMBPROP_FLDNeighborC 0x0000
#define LSb32BPMBPROP_FLDNeighborC 10
#define LSb16BPMBPROP_FLDNeighborC 10
#define bBPMBPROP_FLDNeighborC 1
#define MSK32BPMBPROP_FLDNeighborC 0x00000400
#define BA_BPMBPROP_FLDNeighborD 0x0001
#define B16BPMBPROP_FLDNeighborD 0x0000
#define LSb32BPMBPROP_FLDNeighborD 11
#define LSb16BPMBPROP_FLDNeighborD 11
#define bBPMBPROP_FLDNeighborD 1
#define MSK32BPMBPROP_FLDNeighborD 0x00000800
#define BA_BPMBPROP_NeighborA 0x0001
#define B16BPMBPROP_NeighborA 0x0000
#define LSb32BPMBPROP_NeighborA 12
#define LSb16BPMBPROP_NeighborA 12
#define bBPMBPROP_NeighborA 1
#define MSK32BPMBPROP_NeighborA 0x00001000
#define BA_BPMBPROP_NeighborB 0x0001
#define B16BPMBPROP_NeighborB 0x0000
#define LSb32BPMBPROP_NeighborB 13
#define LSb16BPMBPROP_NeighborB 13
#define bBPMBPROP_NeighborB 1
#define MSK32BPMBPROP_NeighborB 0x00002000
#define BA_BPMBPROP_NeighborC 0x0001
#define B16BPMBPROP_NeighborC 0x0000
#define LSb32BPMBPROP_NeighborC 14
#define LSb16BPMBPROP_NeighborC 14
#define bBPMBPROP_NeighborC 1
#define MSK32BPMBPROP_NeighborC 0x00004000
#define BA_BPMBPROP_NeighborD 0x0001
#define B16BPMBPROP_NeighborD 0x0000
#define LSb32BPMBPROP_NeighborD 15
#define LSb16BPMBPROP_NeighborD 15
#define bBPMBPROP_NeighborD 1
#define MSK32BPMBPROP_NeighborD 0x00008000
#define BA_BPMBPROP_LastInSeq 0x0002
#define B16BPMBPROP_LastInSeq 0x0002
#define LSb32BPMBPROP_LastInSeq 16
#define LSb16BPMBPROP_LastInSeq 0
#define bBPMBPROP_LastInSeq 1
#define MSK32BPMBPROP_LastInSeq 0x00010000
#define BA_BPMBPROP_NumBLK 0x0002
#define B16BPMBPROP_NumBLK 0x0002
#define LSb32BPMBPROP_NumBLK 17
#define LSb16BPMBPROP_NumBLK 1
#define bBPMBPROP_NumBLK 3
#define MSK32BPMBPROP_NumBLK 0x000E0000
#define BA_BPMBPROP_loopFlt 0x0002
#define B16BPMBPROP_loopFlt 0x0002
#define LSb32BPMBPROP_loopFlt 20
#define LSb16BPMBPROP_loopFlt 4
#define bBPMBPROP_loopFlt 1
#define MSK32BPMBPROP_loopFlt 0x00100000
#define BA_BPMBPROP_LFInSlice 0x0002
#define B16BPMBPROP_LFInSlice 0x0002
#define LSb32BPMBPROP_LFInSlice 21
#define LSb16BPMBPROP_LFInSlice 5
#define bBPMBPROP_LFInSlice 1
#define MSK32BPMBPROP_LFInSlice 0x00200000
#define BA_BPMBPROP_AC0Offset 0x0002
#define B16BPMBPROP_AC0Offset 0x0002
#define LSb32BPMBPROP_AC0Offset 22
#define LSb16BPMBPROP_AC0Offset 6
#define bBPMBPROP_AC0Offset 5
#define MSK32BPMBPROP_AC0Offset 0x07C00000
#define BA_BPMBPROP_BetaOffset 0x0003
#define B16BPMBPROP_BetaOffset 0x0002
#define LSb32BPMBPROP_BetaOffset 27
#define LSb16BPMBPROP_BetaOffset 11
#define bBPMBPROP_BetaOffset 5
#define MSK32BPMBPROP_BetaOffset 0xF8000000
///////////////////////////////////////////////////////////
#define BA_BPMBPROP_MBX 0x0004
#define B16BPMBPROP_MBX 0x0004
#define LSb32BPMBPROP_MBX 0
#define LSb16BPMBPROP_MBX 0
#define bBPMBPROP_MBX 8
#define MSK32BPMBPROP_MBX 0x000000FF
#define BA_BPMBPROP_MBY 0x0005
#define B16BPMBPROP_MBY 0x0004
#define LSb32BPMBPROP_MBY 8
#define LSb16BPMBPROP_MBY 8
#define bBPMBPROP_MBY 8
#define MSK32BPMBPROP_MBY 0x0000FF00
#define BA_BPMBPROP_CBP 0x0006
#define B16BPMBPROP_CBP 0x0006
#define LSb32BPMBPROP_CBP 16
#define LSb16BPMBPROP_CBP 0
#define bBPMBPROP_CBP 8
#define MSK32BPMBPROP_CBP 0x00FF0000
#define BA_BPMBPROP_CBPDC 0x0007
#define B16BPMBPROP_CBPDC 0x0006
#define LSb32BPMBPROP_CBPDC 24
#define LSb16BPMBPROP_CBPDC 8
#define bBPMBPROP_CBPDC 8
#define MSK32BPMBPROP_CBPDC 0xFF000000
///////////////////////////////////////////////////////////
#define RA_BPMBPROP_BLK 0x0008
///////////////////////////////////////////////////////////
#define BA_BPMBPROP_chroma 0x000C
#define B16BPMBPROP_chroma 0x000C
#define LSb32BPMBPROP_chroma 0
#define LSb16BPMBPROP_chroma 0
#define bBPMBPROP_chroma 2
#define MSK32BPMBPROP_chroma 0x00000003
#define BPMBPROP_chroma_DC 0x0
#define BPMBPROP_chroma_Horizontal 0x1
#define BPMBPROP_chroma_Vertical 0x2
#define BPMBPROP_chroma_Plane 0x3
#define BPMBPROP_chroma_ACP_OFF 0x0
#define BPMBPROP_chroma_ACP_ON 0x1
#define BA_BPMBPROP_first_rnd 0x000C
#define B16BPMBPROP_first_rnd 0x000C
#define LSb32BPMBPROP_first_rnd 2
#define LSb16BPMBPROP_first_rnd 2
#define bBPMBPROP_first_rnd 2
#define MSK32BPMBPROP_first_rnd 0x0000000C
#define BA_BPMBPROP_vLumaDB 0x000C
#define B16BPMBPROP_vLumaDB 0x000C
#define LSb32BPMBPROP_vLumaDB 4
#define LSb16BPMBPROP_vLumaDB 4
#define bBPMBPROP_vLumaDB 1
#define MSK32BPMBPROP_vLumaDB 0x00000010
#define BA_BPMBPROP_vChromaDB 0x000C
#define B16BPMBPROP_vChromaDB 0x000C
#define LSb32BPMBPROP_vChromaDB 5
#define LSb16BPMBPROP_vChromaDB 5
#define bBPMBPROP_vChromaDB 1
#define MSK32BPMBPROP_vChromaDB 0x00000020
#define BA_BPMBPROP_hLumaDB 0x000C
#define B16BPMBPROP_hLumaDB 0x000C
#define LSb32BPMBPROP_hLumaDB 6
#define LSb16BPMBPROP_hLumaDB 6
#define bBPMBPROP_hLumaDB 1
#define MSK32BPMBPROP_hLumaDB 0x00000040
#define BA_BPMBPROP_hChromaDB 0x000C
#define B16BPMBPROP_hChromaDB 0x000C
#define LSb32BPMBPROP_hChromaDB 7
#define LSb16BPMBPROP_hChromaDB 7
#define bBPMBPROP_hChromaDB 1
#define MSK32BPMBPROP_hChromaDB 0x00000080
#define BA_BPMBPROP_QP 0x000D
#define B16BPMBPROP_QP 0x000C
#define LSb32BPMBPROP_QP 8
#define LSb16BPMBPROP_QP 8
#define bBPMBPROP_QP 8
#define MSK32BPMBPROP_QP 0x0000FF00
#define BA_BPMBPROP_Qu 0x000E
#define B16BPMBPROP_Qu 0x000E
#define LSb32BPMBPROP_Qu 16
#define LSb16BPMBPROP_Qu 0
#define bBPMBPROP_Qu 8
#define MSK32BPMBPROP_Qu 0x00FF0000
#define BA_BPMBPROP_Qv 0x000F
#define B16BPMBPROP_Qv 0x000E
#define LSb32BPMBPROP_Qv 24
#define LSb16BPMBPROP_Qv 8
#define bBPMBPROP_Qv 8
#define MSK32BPMBPROP_Qv 0xFF000000
///////////////////////////////////////////////////////////
#define RA_BPMBPROP_pred 0x0010
///////////////////////////////////////////////////////////
typedef struct SIE_BPMBPROP {
///////////////////////////////////////////////////////////
#define GET32BPMBPROP_type(r32) _BFGET_(r32, 2, 0)
#define SET32BPMBPROP_type(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16BPMBPROP_type(r16) _BFGET_(r16, 2, 0)
#define SET16BPMBPROP_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32BPMBPROP_partition(r32) _BFGET_(r32, 4, 3)
#define SET32BPMBPROP_partition(r32,v) _BFSET_(r32, 4, 3,v)
#define GET16BPMBPROP_partition(r16) _BFGET_(r16, 4, 3)
#define SET16BPMBPROP_partition(r16,v) _BFSET_(r16, 4, 3,v)
#define GET32BPMBPROP_t8x8(r32) _BFGET_(r32, 5, 5)
#define SET32BPMBPROP_t8x8(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16BPMBPROP_t8x8(r16) _BFGET_(r16, 5, 5)
#define SET16BPMBPROP_t8x8(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32BPMBPROP_MBAFF(r32) _BFGET_(r32, 6, 6)
#define SET32BPMBPROP_MBAFF(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16BPMBPROP_MBAFF(r16) _BFGET_(r16, 6, 6)
#define SET16BPMBPROP_MBAFF(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32BPMBPROP_FLD(r32) _BFGET_(r32, 7, 7)
#define SET32BPMBPROP_FLD(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16BPMBPROP_FLD(r16) _BFGET_(r16, 7, 7)
#define SET16BPMBPROP_FLD(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32BPMBPROP_FLDNeighborA(r32) _BFGET_(r32, 8, 8)
#define SET32BPMBPROP_FLDNeighborA(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16BPMBPROP_FLDNeighborA(r16) _BFGET_(r16, 8, 8)
#define SET16BPMBPROP_FLDNeighborA(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32BPMBPROP_FLDNeighborB(r32) _BFGET_(r32, 9, 9)
#define SET32BPMBPROP_FLDNeighborB(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16BPMBPROP_FLDNeighborB(r16) _BFGET_(r16, 9, 9)
#define SET16BPMBPROP_FLDNeighborB(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32BPMBPROP_FLDNeighborC(r32) _BFGET_(r32,10,10)
#define SET32BPMBPROP_FLDNeighborC(r32,v) _BFSET_(r32,10,10,v)
#define GET16BPMBPROP_FLDNeighborC(r16) _BFGET_(r16,10,10)
#define SET16BPMBPROP_FLDNeighborC(r16,v) _BFSET_(r16,10,10,v)
#define GET32BPMBPROP_FLDNeighborD(r32) _BFGET_(r32,11,11)
#define SET32BPMBPROP_FLDNeighborD(r32,v) _BFSET_(r32,11,11,v)
#define GET16BPMBPROP_FLDNeighborD(r16) _BFGET_(r16,11,11)
#define SET16BPMBPROP_FLDNeighborD(r16,v) _BFSET_(r16,11,11,v)
#define GET32BPMBPROP_NeighborA(r32) _BFGET_(r32,12,12)
#define SET32BPMBPROP_NeighborA(r32,v) _BFSET_(r32,12,12,v)
#define GET16BPMBPROP_NeighborA(r16) _BFGET_(r16,12,12)
#define SET16BPMBPROP_NeighborA(r16,v) _BFSET_(r16,12,12,v)
#define GET32BPMBPROP_NeighborB(r32) _BFGET_(r32,13,13)
#define SET32BPMBPROP_NeighborB(r32,v) _BFSET_(r32,13,13,v)
#define GET16BPMBPROP_NeighborB(r16) _BFGET_(r16,13,13)
#define SET16BPMBPROP_NeighborB(r16,v) _BFSET_(r16,13,13,v)
#define GET32BPMBPROP_NeighborC(r32) _BFGET_(r32,14,14)
#define SET32BPMBPROP_NeighborC(r32,v) _BFSET_(r32,14,14,v)
#define GET16BPMBPROP_NeighborC(r16) _BFGET_(r16,14,14)
#define SET16BPMBPROP_NeighborC(r16,v) _BFSET_(r16,14,14,v)
#define GET32BPMBPROP_NeighborD(r32) _BFGET_(r32,15,15)
#define SET32BPMBPROP_NeighborD(r32,v) _BFSET_(r32,15,15,v)
#define GET16BPMBPROP_NeighborD(r16) _BFGET_(r16,15,15)
#define SET16BPMBPROP_NeighborD(r16,v) _BFSET_(r16,15,15,v)
#define GET32BPMBPROP_LastInSeq(r32) _BFGET_(r32,16,16)
#define SET32BPMBPROP_LastInSeq(r32,v) _BFSET_(r32,16,16,v)
#define GET16BPMBPROP_LastInSeq(r16) _BFGET_(r16, 0, 0)
#define SET16BPMBPROP_LastInSeq(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32BPMBPROP_NumBLK(r32) _BFGET_(r32,19,17)
#define SET32BPMBPROP_NumBLK(r32,v) _BFSET_(r32,19,17,v)
#define GET16BPMBPROP_NumBLK(r16) _BFGET_(r16, 3, 1)
#define SET16BPMBPROP_NumBLK(r16,v) _BFSET_(r16, 3, 1,v)
#define GET32BPMBPROP_loopFlt(r32) _BFGET_(r32,20,20)
#define SET32BPMBPROP_loopFlt(r32,v) _BFSET_(r32,20,20,v)
#define GET16BPMBPROP_loopFlt(r16) _BFGET_(r16, 4, 4)
#define SET16BPMBPROP_loopFlt(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32BPMBPROP_LFInSlice(r32) _BFGET_(r32,21,21)
#define SET32BPMBPROP_LFInSlice(r32,v) _BFSET_(r32,21,21,v)
#define GET16BPMBPROP_LFInSlice(r16) _BFGET_(r16, 5, 5)
#define SET16BPMBPROP_LFInSlice(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32BPMBPROP_AC0Offset(r32) _BFGET_(r32,26,22)
#define SET32BPMBPROP_AC0Offset(r32,v) _BFSET_(r32,26,22,v)
#define GET16BPMBPROP_AC0Offset(r16) _BFGET_(r16,10, 6)
#define SET16BPMBPROP_AC0Offset(r16,v) _BFSET_(r16,10, 6,v)
#define GET32BPMBPROP_BetaOffset(r32) _BFGET_(r32,31,27)
#define SET32BPMBPROP_BetaOffset(r32,v) _BFSET_(r32,31,27,v)
#define GET16BPMBPROP_BetaOffset(r16) _BFGET_(r16,15,11)
#define SET16BPMBPROP_BetaOffset(r16,v) _BFSET_(r16,15,11,v)
UNSG32 u_type : 3;
UNSG32 u_partition : 2;
UNSG32 u_t8x8 : 1;
UNSG32 u_MBAFF : 1;
UNSG32 u_FLD : 1;
UNSG32 u_FLDNeighborA : 1;
UNSG32 u_FLDNeighborB : 1;
UNSG32 u_FLDNeighborC : 1;
UNSG32 u_FLDNeighborD : 1;
UNSG32 u_NeighborA : 1;
UNSG32 u_NeighborB : 1;
UNSG32 u_NeighborC : 1;
UNSG32 u_NeighborD : 1;
UNSG32 u_LastInSeq : 1;
UNSG32 u_NumBLK : 3;
UNSG32 u_loopFlt : 1;
UNSG32 u_LFInSlice : 1;
UNSG32 u_AC0Offset : 5;
UNSG32 u_BetaOffset : 5;
///////////////////////////////////////////////////////////
#define GET32BPMBPROP_MBX(r32) _BFGET_(r32, 7, 0)
#define SET32BPMBPROP_MBX(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16BPMBPROP_MBX(r16) _BFGET_(r16, 7, 0)
#define SET16BPMBPROP_MBX(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32BPMBPROP_MBY(r32) _BFGET_(r32,15, 8)
#define SET32BPMBPROP_MBY(r32,v) _BFSET_(r32,15, 8,v)
#define GET16BPMBPROP_MBY(r16) _BFGET_(r16,15, 8)
#define SET16BPMBPROP_MBY(r16,v) _BFSET_(r16,15, 8,v)
#define GET32BPMBPROP_CBP(r32) _BFGET_(r32,23,16)
#define SET32BPMBPROP_CBP(r32,v) _BFSET_(r32,23,16,v)
#define GET16BPMBPROP_CBP(r16) _BFGET_(r16, 7, 0)
#define SET16BPMBPROP_CBP(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32BPMBPROP_CBPDC(r32) _BFGET_(r32,31,24)
#define SET32BPMBPROP_CBPDC(r32,v) _BFSET_(r32,31,24,v)
#define GET16BPMBPROP_CBPDC(r16) _BFGET_(r16,15, 8)
#define SET16BPMBPROP_CBPDC(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_MBX : 8;
UNSG32 u_MBY : 8;
UNSG32 u_CBP : 8;
UNSG32 u_CBPDC : 8;
///////////////////////////////////////////////////////////
SIE_BLK ie_BLK;
///////////////////////////////////////////////////////////
#define GET32BPMBPROP_chroma(r32) _BFGET_(r32, 1, 0)
#define SET32BPMBPROP_chroma(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16BPMBPROP_chroma(r16) _BFGET_(r16, 1, 0)
#define SET16BPMBPROP_chroma(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32BPMBPROP_first_rnd(r32) _BFGET_(r32, 3, 2)
#define SET32BPMBPROP_first_rnd(r32,v) _BFSET_(r32, 3, 2,v)
#define GET16BPMBPROP_first_rnd(r16) _BFGET_(r16, 3, 2)
#define SET16BPMBPROP_first_rnd(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32BPMBPROP_vLumaDB(r32) _BFGET_(r32, 4, 4)
#define SET32BPMBPROP_vLumaDB(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16BPMBPROP_vLumaDB(r16) _BFGET_(r16, 4, 4)
#define SET16BPMBPROP_vLumaDB(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32BPMBPROP_vChromaDB(r32) _BFGET_(r32, 5, 5)
#define SET32BPMBPROP_vChromaDB(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16BPMBPROP_vChromaDB(r16) _BFGET_(r16, 5, 5)
#define SET16BPMBPROP_vChromaDB(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32BPMBPROP_hLumaDB(r32) _BFGET_(r32, 6, 6)
#define SET32BPMBPROP_hLumaDB(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16BPMBPROP_hLumaDB(r16) _BFGET_(r16, 6, 6)
#define SET16BPMBPROP_hLumaDB(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32BPMBPROP_hChromaDB(r32) _BFGET_(r32, 7, 7)
#define SET32BPMBPROP_hChromaDB(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16BPMBPROP_hChromaDB(r16) _BFGET_(r16, 7, 7)
#define SET16BPMBPROP_hChromaDB(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32BPMBPROP_QP(r32) _BFGET_(r32,15, 8)
#define SET32BPMBPROP_QP(r32,v) _BFSET_(r32,15, 8,v)
#define GET16BPMBPROP_QP(r16) _BFGET_(r16,15, 8)
#define SET16BPMBPROP_QP(r16,v) _BFSET_(r16,15, 8,v)
#define GET32BPMBPROP_Qu(r32) _BFGET_(r32,23,16)
#define SET32BPMBPROP_Qu(r32,v) _BFSET_(r32,23,16,v)
#define GET16BPMBPROP_Qu(r16) _BFGET_(r16, 7, 0)
#define SET16BPMBPROP_Qu(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32BPMBPROP_Qv(r32) _BFGET_(r32,31,24)
#define SET32BPMBPROP_Qv(r32,v) _BFSET_(r32,31,24,v)
#define GET16BPMBPROP_Qv(r16) _BFGET_(r16,15, 8)
#define SET16BPMBPROP_Qv(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_chroma : 2;
UNSG32 u_first_rnd : 2;
UNSG32 u_vLumaDB : 1;
UNSG32 u_vChromaDB : 1;
UNSG32 u_hLumaDB : 1;
UNSG32 u_hChromaDB : 1;
UNSG32 u_QP : 8;
UNSG32 u_Qu : 8;
UNSG32 u_Qv : 8;
///////////////////////////////////////////////////////////
SIE_IntraLuma ie_pred[4];
///////////////////////////////////////////////////////////
} SIE_BPMBPROP;
///////////////////////////////////////////////////////////
SIGN32 BPMBPROP_drvrd(SIE_BPMBPROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BPMBPROP_drvwr(SIE_BPMBPROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BPMBPROP_reset(SIE_BPMBPROP *p);
SIGN32 BPMBPROP_cmp (SIE_BPMBPROP *p, SIE_BPMBPROP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BPMBPROP_check(p,pie,pfx,hLOG) BPMBPROP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BPMBPROP_print(p, pfx,hLOG) BPMBPROP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BPMBPROP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FMOMBCTX (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 mbprop
/// $BPMBPROP mbprop REG
/// ###
/// * First 32 bytes of MBPROP
/// ###
/// @ 0x00020 (P)
/// # 0x00020 fctx
/// $FCTX fctx REG [16]
/// ###
/// * All the FCTX of current MB
/// * End of FMOMBCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 160B, bits: 1280b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FMOMBCTX
#define h_FMOMBCTX (){}
#define RA_FMOMBCTX_mbprop 0x0000
///////////////////////////////////////////////////////////
#define RA_FMOMBCTX_fctx 0x0020
///////////////////////////////////////////////////////////
typedef struct SIE_FMOMBCTX {
///////////////////////////////////////////////////////////
SIE_BPMBPROP ie_mbprop;
///////////////////////////////////////////////////////////
SIE_FCTX ie_fctx[16];
///////////////////////////////////////////////////////////
} SIE_FMOMBCTX;
///////////////////////////////////////////////////////////
SIGN32 FMOMBCTX_drvrd(SIE_FMOMBCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FMOMBCTX_drvwr(SIE_FMOMBCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FMOMBCTX_reset(SIE_FMOMBCTX *p);
SIGN32 FMOMBCTX_cmp (SIE_FMOMBCTX *p, SIE_FMOMBCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FMOMBCTX_check(p,pie,pfx,hLOG) FMOMBCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FMOMBCTX_print(p, pfx,hLOG) FMOMBCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FMOMBCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE MBMsg (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 mbprop
/// $BPMBPROP mbprop REG
/// ###
/// * First 32 bytes of MBPROP
/// ###
/// @ 0x00020 (P)
/// # 0x00020 fctx
/// $FCTX fctx REG [16]
/// ###
/// * All the FCTX of current MB
/// * End of MBMsg
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 160B, bits: 1280b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_MBMsg
#define h_MBMsg (){}
#define RA_MBMsg_mbprop 0x0000
///////////////////////////////////////////////////////////
#define RA_MBMsg_fctx 0x0020
///////////////////////////////////////////////////////////
typedef struct SIE_MBMsg {
///////////////////////////////////////////////////////////
SIE_BPMBPROP ie_mbprop;
///////////////////////////////////////////////////////////
SIE_FCTX ie_fctx[16];
///////////////////////////////////////////////////////////
} SIE_MBMsg;
///////////////////////////////////////////////////////////
SIGN32 MBMsg_drvrd(SIE_MBMsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 MBMsg_drvwr(SIE_MBMsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void MBMsg_reset(SIE_MBMsg *p);
SIGN32 MBMsg_cmp (SIE_MBMsg *p, SIE_MBMsg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define MBMsg_check(p,pie,pfx,hLOG) MBMsg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define MBMsg_print(p, pfx,hLOG) MBMsg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: MBMsg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FMOMBMsg (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 mbprop
/// $BPMBPROP mbprop REG
/// ###
/// * First 32 bytes of MBPROP
/// ###
/// @ 0x00020 (P)
/// # 0x00020 fctx
/// $FCTX fctx REG [16]
/// ###
/// * All the FCTX of current MB
/// ###
/// @ 0x000A0 (P)
/// # 0x000A0 tc
/// $LUT64b tc REG [96]
/// ###
/// * Six 8x8 blocks TC coefficients
/// * End of FMOMBMsg
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 928B, bits: 7424b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FMOMBMsg
#define h_FMOMBMsg (){}
#define RA_FMOMBMsg_mbprop 0x0000
///////////////////////////////////////////////////////////
#define RA_FMOMBMsg_fctx 0x0020
///////////////////////////////////////////////////////////
#define RA_FMOMBMsg_tc 0x00A0
///////////////////////////////////////////////////////////
typedef struct SIE_FMOMBMsg {
///////////////////////////////////////////////////////////
SIE_BPMBPROP ie_mbprop;
///////////////////////////////////////////////////////////
SIE_FCTX ie_fctx[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tc[96];
///////////////////////////////////////////////////////////
} SIE_FMOMBMsg;
///////////////////////////////////////////////////////////
SIGN32 FMOMBMsg_drvrd(SIE_FMOMBMsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FMOMBMsg_drvwr(SIE_FMOMBMsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FMOMBMsg_reset(SIE_FMOMBMsg *p);
SIGN32 FMOMBMsg_cmp (SIE_FMOMBMsg *p, SIE_FMOMBMsg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FMOMBMsg_check(p,pie,pfx,hLOG) FMOMBMsg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FMOMBMsg_print(p, pfx,hLOG) FMOMBMsg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FMOMBMsg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BPCTX (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 16 SID
/// ###
/// * Slice ID of Current MB
/// ###
/// %unsigned 5 NCU0
/// ###
/// * NC for 1st 4x4 Cb AC block
/// ###
/// %unsigned 5 NCU1
/// ###
/// * NC for 2nd 4x4 Cb AC block
/// ###
/// %% 6 # Stuffing bits...
/// @ 0x00004 (P)
/// %unsigned 5 NCY0
/// ###
/// * NC for 1st 4x4 Luma AC block
/// ###
/// %unsigned 5 NCY1
/// ###
/// * NC for 2nd 4x4 Luma AC block
/// ###
/// %unsigned 5 NCY2
/// ###
/// * NC for 3rd 4x4 Luma AC block
/// ###
/// %% 1 # Stuffing bits...
/// %unsigned 5 NCY3
/// ###
/// * NC for 4th 4x4 Luma AC block
/// ###
/// %unsigned 5 NCV0
/// ###
/// * NC for 1st 4x4 Cr AC block
/// ###
/// %unsigned 5 NCV1
/// ###
/// * NC for 2nd 4x4 Cr AC block
/// * End of BPCTX
/// ###
/// %% 1 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 56b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BPCTX
#define h_BPCTX (){}
#define BA_BPCTX_SID 0x0000
#define B16BPCTX_SID 0x0000
#define LSb32BPCTX_SID 0
#define LSb16BPCTX_SID 0
#define bBPCTX_SID 16
#define MSK32BPCTX_SID 0x0000FFFF
#define BA_BPCTX_NCU0 0x0002
#define B16BPCTX_NCU0 0x0002
#define LSb32BPCTX_NCU0 16
#define LSb16BPCTX_NCU0 0
#define bBPCTX_NCU0 5
#define MSK32BPCTX_NCU0 0x001F0000
#define BA_BPCTX_NCU1 0x0002
#define B16BPCTX_NCU1 0x0002
#define LSb32BPCTX_NCU1 21
#define LSb16BPCTX_NCU1 5
#define bBPCTX_NCU1 5
#define MSK32BPCTX_NCU1 0x03E00000
///////////////////////////////////////////////////////////
#define BA_BPCTX_NCY0 0x0004
#define B16BPCTX_NCY0 0x0004
#define LSb32BPCTX_NCY0 0
#define LSb16BPCTX_NCY0 0
#define bBPCTX_NCY0 5
#define MSK32BPCTX_NCY0 0x0000001F
#define BA_BPCTX_NCY1 0x0004
#define B16BPCTX_NCY1 0x0004
#define LSb32BPCTX_NCY1 5
#define LSb16BPCTX_NCY1 5
#define bBPCTX_NCY1 5
#define MSK32BPCTX_NCY1 0x000003E0
#define BA_BPCTX_NCY2 0x0005
#define B16BPCTX_NCY2 0x0004
#define LSb32BPCTX_NCY2 10
#define LSb16BPCTX_NCY2 10
#define bBPCTX_NCY2 5
#define MSK32BPCTX_NCY2 0x00007C00
#define BA_BPCTX_NCY3 0x0006
#define B16BPCTX_NCY3 0x0006
#define LSb32BPCTX_NCY3 16
#define LSb16BPCTX_NCY3 0
#define bBPCTX_NCY3 5
#define MSK32BPCTX_NCY3 0x001F0000
#define BA_BPCTX_NCV0 0x0006
#define B16BPCTX_NCV0 0x0006
#define LSb32BPCTX_NCV0 21
#define LSb16BPCTX_NCV0 5
#define bBPCTX_NCV0 5
#define MSK32BPCTX_NCV0 0x03E00000
#define BA_BPCTX_NCV1 0x0007
#define B16BPCTX_NCV1 0x0006
#define LSb32BPCTX_NCV1 26
#define LSb16BPCTX_NCV1 10
#define bBPCTX_NCV1 5
#define MSK32BPCTX_NCV1 0x7C000000
///////////////////////////////////////////////////////////
typedef struct SIE_BPCTX {
///////////////////////////////////////////////////////////
#define GET32BPCTX_SID(r32) _BFGET_(r32,15, 0)
#define SET32BPCTX_SID(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPCTX_SID(r16) _BFGET_(r16,15, 0)
#define SET16BPCTX_SID(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPCTX_NCU0(r32) _BFGET_(r32,20,16)
#define SET32BPCTX_NCU0(r32,v) _BFSET_(r32,20,16,v)
#define GET16BPCTX_NCU0(r16) _BFGET_(r16, 4, 0)
#define SET16BPCTX_NCU0(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BPCTX_NCU1(r32) _BFGET_(r32,25,21)
#define SET32BPCTX_NCU1(r32,v) _BFSET_(r32,25,21,v)
#define GET16BPCTX_NCU1(r16) _BFGET_(r16, 9, 5)
#define SET16BPCTX_NCU1(r16,v) _BFSET_(r16, 9, 5,v)
UNSG32 u_SID : 16;
UNSG32 u_NCU0 : 5;
UNSG32 u_NCU1 : 5;
UNSG32 RSVDx0_b26 : 6;
///////////////////////////////////////////////////////////
#define GET32BPCTX_NCY0(r32) _BFGET_(r32, 4, 0)
#define SET32BPCTX_NCY0(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BPCTX_NCY0(r16) _BFGET_(r16, 4, 0)
#define SET16BPCTX_NCY0(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BPCTX_NCY1(r32) _BFGET_(r32, 9, 5)
#define SET32BPCTX_NCY1(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16BPCTX_NCY1(r16) _BFGET_(r16, 9, 5)
#define SET16BPCTX_NCY1(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32BPCTX_NCY2(r32) _BFGET_(r32,14,10)
#define SET32BPCTX_NCY2(r32,v) _BFSET_(r32,14,10,v)
#define GET16BPCTX_NCY2(r16) _BFGET_(r16,14,10)
#define SET16BPCTX_NCY2(r16,v) _BFSET_(r16,14,10,v)
#define GET32BPCTX_NCY3(r32) _BFGET_(r32,20,16)
#define SET32BPCTX_NCY3(r32,v) _BFSET_(r32,20,16,v)
#define GET16BPCTX_NCY3(r16) _BFGET_(r16, 4, 0)
#define SET16BPCTX_NCY3(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BPCTX_NCV0(r32) _BFGET_(r32,25,21)
#define SET32BPCTX_NCV0(r32,v) _BFSET_(r32,25,21,v)
#define GET16BPCTX_NCV0(r16) _BFGET_(r16, 9, 5)
#define SET16BPCTX_NCV0(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32BPCTX_NCV1(r32) _BFGET_(r32,30,26)
#define SET32BPCTX_NCV1(r32,v) _BFSET_(r32,30,26,v)
#define GET16BPCTX_NCV1(r16) _BFGET_(r16,14,10)
#define SET16BPCTX_NCV1(r16,v) _BFSET_(r16,14,10,v)
UNSG32 u_NCY0 : 5;
UNSG32 u_NCY1 : 5;
UNSG32 u_NCY2 : 5;
UNSG32 RSVDx4_b15 : 1;
UNSG32 u_NCY3 : 5;
UNSG32 u_NCV0 : 5;
UNSG32 u_NCV1 : 5;
UNSG32 RSVDx4_b31 : 1;
///////////////////////////////////////////////////////////
} SIE_BPCTX;
///////////////////////////////////////////////////////////
SIGN32 BPCTX_drvrd(SIE_BPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BPCTX_drvwr(SIE_BPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BPCTX_reset(SIE_BPCTX *p);
SIGN32 BPCTX_cmp (SIE_BPCTX *p, SIE_BPCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BPCTX_check(p,pie,pfx,hLOG) BPCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BPCTX_print(p, pfx,hLOG) BPCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BPCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FMOAddr (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 fmo_des
/// ###
/// * Fmo msg destination address, for parser
/// ###
/// @ 0x00004 (P)
/// %unsigned 32 fmo_src
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FMOAddr
#define h_FMOAddr (){}
#define BA_FMOAddr_fmo_des 0x0000
#define B16FMOAddr_fmo_des 0x0000
#define LSb32FMOAddr_fmo_des 0
#define LSb16FMOAddr_fmo_des 0
#define bFMOAddr_fmo_des 32
#define MSK32FMOAddr_fmo_des 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_FMOAddr_fmo_src 0x0004
#define B16FMOAddr_fmo_src 0x0004
#define LSb32FMOAddr_fmo_src 0
#define LSb16FMOAddr_fmo_src 0
#define bFMOAddr_fmo_src 32
#define MSK32FMOAddr_fmo_src 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FMOAddr {
///////////////////////////////////////////////////////////
#define GET32FMOAddr_fmo_des(r32) _BFGET_(r32,31, 0)
#define SET32FMOAddr_fmo_des(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_fmo_des : 32;
///////////////////////////////////////////////////////////
#define GET32FMOAddr_fmo_src(r32) _BFGET_(r32,31, 0)
#define SET32FMOAddr_fmo_src(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_fmo_src : 32;
///////////////////////////////////////////////////////////
} SIE_FMOAddr;
///////////////////////////////////////////////////////////
SIGN32 FMOAddr_drvrd(SIE_FMOAddr *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FMOAddr_drvwr(SIE_FMOAddr *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FMOAddr_reset(SIE_FMOAddr *p);
SIGN32 FMOAddr_cmp (SIE_FMOAddr *p, SIE_FMOAddr *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FMOAddr_check(p,pie,pfx,hLOG) FMOAddr_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FMOAddr_print(p, pfx,hLOG) FMOAddr_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FMOAddr
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BPLocal (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 16 data_0i
/// %unsigned 16 data_1i
/// %unsigned 16 data_2i
/// %unsigned 16 data_3i
/// %unsigned 16 data_4i
/// %unsigned 16 data_5i
/// %unsigned 16 data_6i
/// %unsigned 16 data_7i
/// %unsigned 16 data_8i
/// %unsigned 16 data_9i
/// %unsigned 16 data_10i
/// %unsigned 16 data_11i
/// %unsigned 16 data_12i
/// %unsigned 16 data_13i
/// %unsigned 16 data_14i
/// %unsigned 16 data_15i
/// %unsigned 16 data_16i
/// %unsigned 16 data_17i
/// %unsigned 16 data_18i
/// %unsigned 16 data_19i
/// %unsigned 16 data_20i
/// %unsigned 16 data_21i
/// %unsigned 16 data_22i
/// %unsigned 16 data_23i
/// %unsigned 16 data_24i
/// %unsigned 16 data_25i
/// %unsigned 16 data_26i
/// %unsigned 16 data_27i
/// %unsigned 16 data_28i
/// %unsigned 16 data_29i
/// %unsigned 16 data_30i
/// %unsigned 16 data_31i
/// ###
/// * H264 bp's local data space
/// * End of FMOAddr
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 512b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BPLocal
#define h_BPLocal (){}
#define BA_BPLocal_data_0i 0x0000
#define B16BPLocal_data_0i 0x0000
#define LSb32BPLocal_data_0i 0
#define LSb16BPLocal_data_0i 0
#define bBPLocal_data_0i 16
#define MSK32BPLocal_data_0i 0x0000FFFF
#define BA_BPLocal_data_1i 0x0002
#define B16BPLocal_data_1i 0x0002
#define LSb32BPLocal_data_1i 16
#define LSb16BPLocal_data_1i 0
#define bBPLocal_data_1i 16
#define MSK32BPLocal_data_1i 0xFFFF0000
#define BA_BPLocal_data_2i 0x0004
#define B16BPLocal_data_2i 0x0004
#define LSb32BPLocal_data_2i 0
#define LSb16BPLocal_data_2i 0
#define bBPLocal_data_2i 16
#define MSK32BPLocal_data_2i 0x0000FFFF
#define BA_BPLocal_data_3i 0x0006
#define B16BPLocal_data_3i 0x0006
#define LSb32BPLocal_data_3i 16
#define LSb16BPLocal_data_3i 0
#define bBPLocal_data_3i 16
#define MSK32BPLocal_data_3i 0xFFFF0000
#define BA_BPLocal_data_4i 0x0008
#define B16BPLocal_data_4i 0x0008
#define LSb32BPLocal_data_4i 0
#define LSb16BPLocal_data_4i 0
#define bBPLocal_data_4i 16
#define MSK32BPLocal_data_4i 0x0000FFFF
#define BA_BPLocal_data_5i 0x000A
#define B16BPLocal_data_5i 0x000A
#define LSb32BPLocal_data_5i 16
#define LSb16BPLocal_data_5i 0
#define bBPLocal_data_5i 16
#define MSK32BPLocal_data_5i 0xFFFF0000
#define BA_BPLocal_data_6i 0x000C
#define B16BPLocal_data_6i 0x000C
#define LSb32BPLocal_data_6i 0
#define LSb16BPLocal_data_6i 0
#define bBPLocal_data_6i 16
#define MSK32BPLocal_data_6i 0x0000FFFF
#define BA_BPLocal_data_7i 0x000E
#define B16BPLocal_data_7i 0x000E
#define LSb32BPLocal_data_7i 16
#define LSb16BPLocal_data_7i 0
#define bBPLocal_data_7i 16
#define MSK32BPLocal_data_7i 0xFFFF0000
#define BA_BPLocal_data_8i 0x0010
#define B16BPLocal_data_8i 0x0010
#define LSb32BPLocal_data_8i 0
#define LSb16BPLocal_data_8i 0
#define bBPLocal_data_8i 16
#define MSK32BPLocal_data_8i 0x0000FFFF
#define BA_BPLocal_data_9i 0x0012
#define B16BPLocal_data_9i 0x0012
#define LSb32BPLocal_data_9i 16
#define LSb16BPLocal_data_9i 0
#define bBPLocal_data_9i 16
#define MSK32BPLocal_data_9i 0xFFFF0000
#define BA_BPLocal_data_10i 0x0014
#define B16BPLocal_data_10i 0x0014
#define LSb32BPLocal_data_10i 0
#define LSb16BPLocal_data_10i 0
#define bBPLocal_data_10i 16
#define MSK32BPLocal_data_10i 0x0000FFFF
#define BA_BPLocal_data_11i 0x0016
#define B16BPLocal_data_11i 0x0016
#define LSb32BPLocal_data_11i 16
#define LSb16BPLocal_data_11i 0
#define bBPLocal_data_11i 16
#define MSK32BPLocal_data_11i 0xFFFF0000
#define BA_BPLocal_data_12i 0x0018
#define B16BPLocal_data_12i 0x0018
#define LSb32BPLocal_data_12i 0
#define LSb16BPLocal_data_12i 0
#define bBPLocal_data_12i 16
#define MSK32BPLocal_data_12i 0x0000FFFF
#define BA_BPLocal_data_13i 0x001A
#define B16BPLocal_data_13i 0x001A
#define LSb32BPLocal_data_13i 16
#define LSb16BPLocal_data_13i 0
#define bBPLocal_data_13i 16
#define MSK32BPLocal_data_13i 0xFFFF0000
#define BA_BPLocal_data_14i 0x001C
#define B16BPLocal_data_14i 0x001C
#define LSb32BPLocal_data_14i 0
#define LSb16BPLocal_data_14i 0
#define bBPLocal_data_14i 16
#define MSK32BPLocal_data_14i 0x0000FFFF
#define BA_BPLocal_data_15i 0x001E
#define B16BPLocal_data_15i 0x001E
#define LSb32BPLocal_data_15i 16
#define LSb16BPLocal_data_15i 0
#define bBPLocal_data_15i 16
#define MSK32BPLocal_data_15i 0xFFFF0000
#define BA_BPLocal_data_16i 0x0020
#define B16BPLocal_data_16i 0x0020
#define LSb32BPLocal_data_16i 0
#define LSb16BPLocal_data_16i 0
#define bBPLocal_data_16i 16
#define MSK32BPLocal_data_16i 0x0000FFFF
#define BA_BPLocal_data_17i 0x0022
#define B16BPLocal_data_17i 0x0022
#define LSb32BPLocal_data_17i 16
#define LSb16BPLocal_data_17i 0
#define bBPLocal_data_17i 16
#define MSK32BPLocal_data_17i 0xFFFF0000
#define BA_BPLocal_data_18i 0x0024
#define B16BPLocal_data_18i 0x0024
#define LSb32BPLocal_data_18i 0
#define LSb16BPLocal_data_18i 0
#define bBPLocal_data_18i 16
#define MSK32BPLocal_data_18i 0x0000FFFF
#define BA_BPLocal_data_19i 0x0026
#define B16BPLocal_data_19i 0x0026
#define LSb32BPLocal_data_19i 16
#define LSb16BPLocal_data_19i 0
#define bBPLocal_data_19i 16
#define MSK32BPLocal_data_19i 0xFFFF0000
#define BA_BPLocal_data_20i 0x0028
#define B16BPLocal_data_20i 0x0028
#define LSb32BPLocal_data_20i 0
#define LSb16BPLocal_data_20i 0
#define bBPLocal_data_20i 16
#define MSK32BPLocal_data_20i 0x0000FFFF
#define BA_BPLocal_data_21i 0x002A
#define B16BPLocal_data_21i 0x002A
#define LSb32BPLocal_data_21i 16
#define LSb16BPLocal_data_21i 0
#define bBPLocal_data_21i 16
#define MSK32BPLocal_data_21i 0xFFFF0000
#define BA_BPLocal_data_22i 0x002C
#define B16BPLocal_data_22i 0x002C
#define LSb32BPLocal_data_22i 0
#define LSb16BPLocal_data_22i 0
#define bBPLocal_data_22i 16
#define MSK32BPLocal_data_22i 0x0000FFFF
#define BA_BPLocal_data_23i 0x002E
#define B16BPLocal_data_23i 0x002E
#define LSb32BPLocal_data_23i 16
#define LSb16BPLocal_data_23i 0
#define bBPLocal_data_23i 16
#define MSK32BPLocal_data_23i 0xFFFF0000
#define BA_BPLocal_data_24i 0x0030
#define B16BPLocal_data_24i 0x0030
#define LSb32BPLocal_data_24i 0
#define LSb16BPLocal_data_24i 0
#define bBPLocal_data_24i 16
#define MSK32BPLocal_data_24i 0x0000FFFF
#define BA_BPLocal_data_25i 0x0032
#define B16BPLocal_data_25i 0x0032
#define LSb32BPLocal_data_25i 16
#define LSb16BPLocal_data_25i 0
#define bBPLocal_data_25i 16
#define MSK32BPLocal_data_25i 0xFFFF0000
#define BA_BPLocal_data_26i 0x0034
#define B16BPLocal_data_26i 0x0034
#define LSb32BPLocal_data_26i 0
#define LSb16BPLocal_data_26i 0
#define bBPLocal_data_26i 16
#define MSK32BPLocal_data_26i 0x0000FFFF
#define BA_BPLocal_data_27i 0x0036
#define B16BPLocal_data_27i 0x0036
#define LSb32BPLocal_data_27i 16
#define LSb16BPLocal_data_27i 0
#define bBPLocal_data_27i 16
#define MSK32BPLocal_data_27i 0xFFFF0000
#define BA_BPLocal_data_28i 0x0038
#define B16BPLocal_data_28i 0x0038
#define LSb32BPLocal_data_28i 0
#define LSb16BPLocal_data_28i 0
#define bBPLocal_data_28i 16
#define MSK32BPLocal_data_28i 0x0000FFFF
#define BA_BPLocal_data_29i 0x003A
#define B16BPLocal_data_29i 0x003A
#define LSb32BPLocal_data_29i 16
#define LSb16BPLocal_data_29i 0
#define bBPLocal_data_29i 16
#define MSK32BPLocal_data_29i 0xFFFF0000
#define BA_BPLocal_data_30i 0x003C
#define B16BPLocal_data_30i 0x003C
#define LSb32BPLocal_data_30i 0
#define LSb16BPLocal_data_30i 0
#define bBPLocal_data_30i 16
#define MSK32BPLocal_data_30i 0x0000FFFF
#define BA_BPLocal_data_31i 0x003E
#define B16BPLocal_data_31i 0x003E
#define LSb32BPLocal_data_31i 16
#define LSb16BPLocal_data_31i 0
#define bBPLocal_data_31i 16
#define MSK32BPLocal_data_31i 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_BPLocal {
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_0i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_0i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_0i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_0i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_1i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_1i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_1i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_1i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_0i : 16;
UNSG32 u_data_1i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_2i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_2i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_2i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_2i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_3i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_3i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_3i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_3i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_2i : 16;
UNSG32 u_data_3i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_4i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_4i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_4i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_4i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_5i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_5i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_5i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_5i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_4i : 16;
UNSG32 u_data_5i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_6i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_6i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_6i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_6i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_7i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_7i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_7i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_7i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_6i : 16;
UNSG32 u_data_7i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_8i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_8i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_8i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_8i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_9i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_9i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_9i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_9i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_8i : 16;
UNSG32 u_data_9i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_10i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_10i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_10i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_10i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_11i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_11i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_11i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_11i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_10i : 16;
UNSG32 u_data_11i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_12i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_12i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_12i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_12i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_13i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_13i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_13i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_13i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_12i : 16;
UNSG32 u_data_13i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_14i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_14i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_14i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_14i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_15i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_15i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_15i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_15i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_14i : 16;
UNSG32 u_data_15i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_16i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_16i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_16i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_16i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_17i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_17i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_17i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_17i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_16i : 16;
UNSG32 u_data_17i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_18i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_18i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_18i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_18i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_19i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_19i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_19i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_19i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_18i : 16;
UNSG32 u_data_19i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_20i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_20i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_20i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_20i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_21i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_21i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_21i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_21i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_20i : 16;
UNSG32 u_data_21i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_22i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_22i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_22i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_22i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_23i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_23i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_23i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_23i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_22i : 16;
UNSG32 u_data_23i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_24i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_24i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_24i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_24i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_25i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_25i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_25i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_25i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_24i : 16;
UNSG32 u_data_25i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_26i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_26i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_26i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_26i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_27i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_27i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_27i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_27i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_26i : 16;
UNSG32 u_data_27i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_28i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_28i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_28i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_28i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_29i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_29i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_29i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_29i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_28i : 16;
UNSG32 u_data_29i : 16;
///////////////////////////////////////////////////////////
#define GET32BPLocal_data_30i(r32) _BFGET_(r32,15, 0)
#define SET32BPLocal_data_30i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16BPLocal_data_30i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_30i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32BPLocal_data_31i(r32) _BFGET_(r32,31,16)
#define SET32BPLocal_data_31i(r32,v) _BFSET_(r32,31,16,v)
#define GET16BPLocal_data_31i(r16) _BFGET_(r16,15, 0)
#define SET16BPLocal_data_31i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_data_30i : 16;
UNSG32 u_data_31i : 16;
///////////////////////////////////////////////////////////
} SIE_BPLocal;
///////////////////////////////////////////////////////////
SIGN32 BPLocal_drvrd(SIE_BPLocal *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BPLocal_drvwr(SIE_BPLocal *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BPLocal_reset(SIE_BPLocal *p);
SIGN32 BPLocal_cmp (SIE_BPLocal *p, SIE_BPLocal *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BPLocal_check(p,pie,pfx,hLOG) BPLocal_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BPLocal_print(p, pfx,hLOG) BPLocal_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BPLocal
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE h264bpHalData (4,4)
/// # # ----------------------------------------------------------
/// : stackPSER 0x2000
/// : stackSYNP 0x3000
/// @ 0x00000 (P)
/// # 0x00000 mbCtxQ
/// $MBCTXQ mbCtxQ REG
/// ###
/// * 8 bank MB context buffer
/// * Including history context in & out
/// ###
/// @ 0x00A10 (P)
/// # 0x00A10 mbpropQ
/// $MBPROP mbpropQ REG [4]
/// ###
/// * MB properties to syntax processor
/// * Also know as P3MsgQ:
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to vCache
/// ###
/// @ 0x00B10 (P)
/// # 0x00B10 fmoaddr
/// $FMOAddr fmoaddr REG
/// ###
/// * DDR address for fmo msg
/// ###
/// @ 0x00B18 (P)
/// # 0x00B18 leftCtx
/// $BPCTX leftCtx REG
/// ###
/// * Ctx for A MB
/// ###
/// @ 0x00B20 (P)
/// # 0x00B20 tcSN
/// $LUT64b tcSN REG
/// ###
/// * 8x8blk tc counter in fmo msg
/// ###
/// @ 0x00B28 (P)
/// # 0x00B28 localMB
/// $MBMsg localMB REG
/// ###
/// * local MBMSG for Ping-Pang
/// ###
/// @ 0x00BC8 (P)
/// # 0x00BC8 bpLocal
/// $BPLocal bpLocal REG
/// ###
/// * Extra local space
/// ###
/// @ 0x00C08 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00C10 (P)
/// # 0x00C10 ctxPSER
/// $BPCtxPSER ctxPSER REG
/// ###
/// * Context of stream parser
/// ###
/// @ 0x00C34 (W-)
/// # # Stuffing bytes...
/// %% 96
/// @ 0x00C40 (P)
/// # 0x00C40 ctxSYNP
/// $BPCtxSYNP ctxSYNP REG
/// ###
/// * Context of syntax processor
/// ###
/// @ 0x00C74 (W-)
/// # # Stuffing bytes...
/// %% 32
/// @ 0x00C78 (P)
/// # 0x00C78 tagDS
/// $LUT64b tagDS REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x00C80 (P)
/// # 0x00C80 DSMsgQ
/// $LUT64b DSMsgQ REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to data streamer
/// ###
/// @ 0x00D00 (P)
/// # 0x00D00 localTCQ
/// $LUT64b localTCQ REG
/// ###
/// * 768 = 128 * 6 for one MB's TC data Ping_pang
/// ###
/// @ 0x00D08 (W-)
/// # # Stuffing bytes...
/// %% 6080
/// @ 0x01000 (P)
/// # 0x01000 P3TCQ
/// $LUT64b P3TCQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * TC queue to vpro.hbo to PCube
/// ###
/// @ 0x01400 (P)
/// # 0x01400 fmomsg0
/// $FMOMBMsg fmomsg0 REG
/// ###
/// * FMO parser output, including MBPROP/FCTX/TC, size ~1K bytes
/// ###
/// @ 0x017A0 (P)
/// # 0x017A0 cn2cbp
/// $CBPLUT cn2cbp REG
/// ###
/// * CBP lookup table used in parser.
/// ###
/// @ 0x01800 (P)
/// # 0x01800 DSMsgQ1
/// $LUT64b DSMsgQ1 REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to data streamer
/// ###
/// @ 0x01880 (P)
/// # 0x01880 tagDS1
/// $LUT64b tagDS1 REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x01888 (P)
/// # 0x01888 sgrpMAP
/// $LUT64b sgrpMAP REG [128]
/// ###
/// * Bit map for slice groups in FMO
/// ###
/// @ 0x01C88 (P)
/// # 0x01C88 t2prop8x8
/// $LUT64b t2prop8x8 REG
/// @ 0x01C90 (P)
/// # 0x01C90 t2prop
/// $LUT64b t2prop REG [8]
/// @ 0x01CD0 (P)
/// # 0x01CD0 InvScan
/// $BPInvScanBLK InvScan REG
/// @ 0x01DB8 (P)
/// # 0x01DB8 QP2CQP
/// $CQPLUT QP2CQP REG
/// @ 0x01DF8 (W-)
/// # # Stuffing bytes...
/// %% 1088
/// @ 0x01E80 (P)
/// # 0x01E80 localPSER
/// $VSLocal localPSER REG
/// ###
/// * Local data area of stream parser
/// ###
/// @ 0x01F00 (W-)
/// # # Stuffing bytes...
/// %% 2048
/// @ 0x02000 (P)
/// # 0x02000 VCMsgQ
/// $LUT64b VCMsgQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to PCube
/// ###
/// @ 0x02400 (P)
/// # 0x02400 P3FopQ
/// $LUT64b P3FopQ REG [64]
/// ###
/// * HBO FIFO (m2h):
/// * FOP queue to vpro.hbo to PCube
/// ###
/// @ 0x02600 (P)
/// # 0x02600 NeighbQP
/// $LUT64b NeighbQP REG [32]
/// ###
/// * One row of {Qpy: 8bits, Qpu: 8bits}pair, with the last one indicates the left MB's QP
/// ###
/// @ 0x02700 (P)
/// # 0x02700 datBuf
/// $LUT64b datBuf REG [112]
/// @ 0x02A80 (P)
/// # 0x02A80 mbF0Msg
/// $LUT64b mbF0Msg REG [4]
/// ###
/// * 32 bytes' BPMBPROP for Figo0
/// ###
/// @ 0x02AA0 (P)
/// # 0x02AA0 vcmDesc
/// $VCMLUT vcmDesc REG
/// @ 0x02B20 (P)
/// # 0x02B20 fopCmdPOOL
/// $FOPCmdPOOL fopCmdPOOL REG
/// @ 0x02C40 (P)
/// # 0x02C40 fopFuncTab
/// $FOPFuncTab fopFuncTab REG
/// @ 0x02C60 (P)
/// # 0x02C60 fopCmdIdx
/// $BPFOPCmdIDX fopCmdIdx REG
/// @ 0x02C80 (P)
/// # 0x02C80 rIDX2BID
/// $IDX2BID rIDX2BID REG
/// @ 0x02D40 (W-)
/// # # Stuffing bytes...
/// %% 2560
/// @ 0x02E80 (P)
/// # 0x02E80 localSYNP
/// $VSLocal localSYNP REG
/// ###
/// * Local data area of syntax processor
/// * End of h264bpHalData
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 12032B, bits: 84146b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_h264bpHalData
#define h_h264bpHalData (){}
#define h264bpHalData_stackPSER 0x2000
#define h264bpHalData_stackSYNP 0x3000
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_mbCtxQ 0x0000
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_mbpropQ 0x0A10
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_fmoaddr 0x0B10
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_leftCtx 0x0B18
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_tcSN 0x0B20
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_localMB 0x0B28
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_bpLocal 0x0BC8
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_ctxPSER 0x0C10
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_ctxSYNP 0x0C40
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_tagDS 0x0C78
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_DSMsgQ 0x0C80
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_localTCQ 0x0D00
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_P3TCQ 0x1000
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_fmomsg0 0x1400
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_cn2cbp 0x17A0
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_DSMsgQ1 0x1800
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_tagDS1 0x1880
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_sgrpMAP 0x1888
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_t2prop8x8 0x1C88
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_t2prop 0x1C90
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_InvScan 0x1CD0
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_QP2CQP 0x1DB8
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_localPSER 0x1E80
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_VCMsgQ 0x2000
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_P3FopQ 0x2400
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_NeighbQP 0x2600
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_datBuf 0x2700
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_mbF0Msg 0x2A80
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_vcmDesc 0x2AA0
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_fopCmdPOOL 0x2B20
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_fopFuncTab 0x2C40
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_fopCmdIdx 0x2C60
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_rIDX2BID 0x2C80
///////////////////////////////////////////////////////////
#define RA_h264bpHalData_localSYNP 0x2E80
///////////////////////////////////////////////////////////
typedef struct SIE_h264bpHalData {
///////////////////////////////////////////////////////////
SIE_MBCTXQ ie_mbCtxQ;
///////////////////////////////////////////////////////////
SIE_MBPROP ie_mbpropQ[4];
///////////////////////////////////////////////////////////
SIE_FMOAddr ie_fmoaddr;
///////////////////////////////////////////////////////////
SIE_BPCTX ie_leftCtx;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tcSN;
///////////////////////////////////////////////////////////
SIE_MBMsg ie_localMB;
///////////////////////////////////////////////////////////
SIE_BPLocal ie_bpLocal;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC08 [8];
///////////////////////////////////////////////////////////
SIE_BPCtxPSER ie_ctxPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC34 [12];
///////////////////////////////////////////////////////////
SIE_BPCtxSYNP ie_ctxSYNP;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC74 [4];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_localTCQ;
///////////////////////////////////////////////////////////
UNSG8 RSVDxD08 [760];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3TCQ[128];
///////////////////////////////////////////////////////////
SIE_FMOMBMsg ie_fmomsg0;
///////////////////////////////////////////////////////////
SIE_CBPLUT ie_cn2cbp;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ1[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS1;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_sgrpMAP[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_t2prop8x8;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_t2prop[8];
///////////////////////////////////////////////////////////
SIE_BPInvScanBLK ie_InvScan;
///////////////////////////////////////////////////////////
SIE_CQPLUT ie_QP2CQP;
///////////////////////////////////////////////////////////
UNSG8 RSVDx1DF8 [136];
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDx1F00 [256];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_VCMsgQ[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3FopQ[64];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_NeighbQP[32];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_datBuf[112];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_mbF0Msg[4];
///////////////////////////////////////////////////////////
SIE_VCMLUT ie_vcmDesc;
///////////////////////////////////////////////////////////
SIE_FOPCmdPOOL ie_fopCmdPOOL;
///////////////////////////////////////////////////////////
SIE_FOPFuncTab ie_fopFuncTab;
///////////////////////////////////////////////////////////
SIE_BPFOPCmdIDX ie_fopCmdIdx;
///////////////////////////////////////////////////////////
SIE_IDX2BID ie_rIDX2BID;
///////////////////////////////////////////////////////////
UNSG8 RSVDx2D40 [320];
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localSYNP;
///////////////////////////////////////////////////////////
} SIE_h264bpHalData;
///////////////////////////////////////////////////////////
SIGN32 h264bpHalData_drvrd(SIE_h264bpHalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 h264bpHalData_drvwr(SIE_h264bpHalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void h264bpHalData_reset(SIE_h264bpHalData *p);
SIGN32 h264bpHalData_cmp (SIE_h264bpHalData *p, SIE_h264bpHalData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define h264bpHalData_check(p,pie,pfx,hLOG) h264bpHalData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define h264bpHalData_print(p, pfx,hLOG) h264bpHalData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: h264bpHalData
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE mpgData (4,4)
/// # # ----------------------------------------------------------
/// : stackPSER 0x2000
/// : stackSYNP 0x3000
/// @ 0x00000 (P)
/// # 0x00000 mbCtxQ
/// $MBCTXQ mbCtxQ REG
/// ###
/// * 8 bank MB context buffer
/// * Including history context in & out
/// ###
/// @ 0x00A10 (P)
/// # 0x00A10 mbpropQ
/// $MBPROP mbpropQ REG [8]
/// ###
/// * MB properties to syntax processor
/// * Also know as P3MsgQ:
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to vCache
/// ###
/// @ 0x00C10 (P)
/// # 0x00C10 ctxPSER
/// $CtxPSER ctxPSER REG
/// ###
/// * Context of stream parser
/// ###
/// @ 0x00C34 (W-)
/// # # Stuffing bytes...
/// %% 96
/// @ 0x00C40 (P)
/// # 0x00C40 ctxSYNP
/// $CtxSYNP ctxSYNP REG
/// ###
/// * Context of syntax processor
/// ###
/// @ 0x00C70 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00C78 (P)
/// # 0x00C78 tagDS
/// $LUT64b tagDS REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x00C80 (P)
/// # 0x00C80 DSMsgQ
/// $LUT64b DSMsgQ REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to data streamer
/// ###
/// @ 0x00D00 (P)
/// # 0x00D00 tCtxOut
/// $TCTX tCtxOut REG [2]
/// ###
/// * Temporal contexts (data streamer) output
/// ###
/// @ 0x00D40 (P)
/// # 0x00D40 tCtxIn
/// $TCTX tCtxIn REG [2]
/// ###
/// * Temporal contexts (data streamer) input
/// ###
/// @ 0x00D80 (P)
/// # 0x00D80 ctxMPGx
/// $CtxMPGx ctxMPGx REG
/// ###
/// * Context of MPEGx
/// ###
/// @ 0x00D90 (P)
/// # 0x00D90 localPSER
/// $VSLocal localPSER REG
/// ###
/// * Local data area of stream parser
/// ###
/// @ 0x00E10 (P)
/// # 0x00E10 localSYNP
/// $VSLocal localSYNP REG
/// ###
/// * Local data area of syntax processor
/// ###
/// @ 0x00E90 (P)
/// %unsigned 32 fop_param
/// ###
/// * Fop param include Alpha, Beta, C0
/// ###
/// @ 0x00E94 (P)
/// # 0x00E94 alpha_beta_C_tab
/// $LUT64b alpha_beta_C_tab REG [32]
/// ###
/// * Fop table include Alpha, Beta, C0
/// ###
/// @ 0x00F94 (W-)
/// # # Stuffing bytes...
/// %% 864
/// @ 0x01000 (P)
/// # 0x01000 P3TCQ
/// $LUT64b P3TCQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * TC queue to vpro.hbo to PCube
/// ###
/// @ 0x01400 (P)
/// # 0x01400 pairDesc
/// $PairRow pairDesc REG
/// ###
/// * Non-H264 may only require a sub-set?
/// ###
/// @ 0x01920 (P)
/// # 0x01920 t2prop
/// $T2PROP t2prop REG
/// @ 0x01988 (P)
/// # 0x01988 InvScan
/// $InvScanMPG InvScan REG
/// @ 0x01B08 (P)
/// # 0x01B08 quant
/// $QuantMatrix quant REG
/// @ 0x01B88 (P)
/// # 0x01B88 scale
/// $ScaleLUT scale REG
/// @ 0x01BA8 (W-)
/// # # Stuffing bytes...
/// %% 8896
/// @ 0x02000 (P)
/// # 0x02000 VCMsgQ
/// $LUT64b VCMsgQ REG [64]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to PCube
/// ###
/// @ 0x02200 (W-)
/// # # Stuffing bytes...
/// %% 4096
/// @ 0x02400 (P)
/// # 0x02400 P3FopQ
/// $LUT64b P3FopQ REG [64]
/// ###
/// * HBO FIFO (m2h):
/// * FOP queue to vpro.hbo to PCube
/// * End of mpgData
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 9728B, bits: 63304b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_mpgData
#define h_mpgData (){}
#define mpgData_stackPSER 0x2000
#define mpgData_stackSYNP 0x3000
///////////////////////////////////////////////////////////
#define RA_mpgData_mbCtxQ 0x0000
///////////////////////////////////////////////////////////
#define RA_mpgData_mbpropQ 0x0A10
///////////////////////////////////////////////////////////
#define RA_mpgData_ctxPSER 0x0C10
///////////////////////////////////////////////////////////
#define RA_mpgData_ctxSYNP 0x0C40
///////////////////////////////////////////////////////////
#define RA_mpgData_tagDS 0x0C78
///////////////////////////////////////////////////////////
#define RA_mpgData_DSMsgQ 0x0C80
///////////////////////////////////////////////////////////
#define RA_mpgData_tCtxOut 0x0D00
///////////////////////////////////////////////////////////
#define RA_mpgData_tCtxIn 0x0D40
///////////////////////////////////////////////////////////
#define RA_mpgData_ctxMPGx 0x0D80
///////////////////////////////////////////////////////////
#define RA_mpgData_localPSER 0x0D90
///////////////////////////////////////////////////////////
#define RA_mpgData_localSYNP 0x0E10
///////////////////////////////////////////////////////////
#define BA_mpgData_fop_param 0x0E90
#define B16mpgData_fop_param 0x0E90
#define LSb32mpgData_fop_param 0
#define LSb16mpgData_fop_param 0
#define bmpgData_fop_param 32
#define MSK32mpgData_fop_param 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_mpgData_alpha_beta_C_tab 0x0E94
///////////////////////////////////////////////////////////
#define RA_mpgData_P3TCQ 0x1000
///////////////////////////////////////////////////////////
#define RA_mpgData_pairDesc 0x1400
///////////////////////////////////////////////////////////
#define RA_mpgData_t2prop 0x1920
///////////////////////////////////////////////////////////
#define RA_mpgData_InvScan 0x1988
///////////////////////////////////////////////////////////
#define RA_mpgData_quant 0x1B08
///////////////////////////////////////////////////////////
#define RA_mpgData_scale 0x1B88
///////////////////////////////////////////////////////////
#define RA_mpgData_VCMsgQ 0x2000
///////////////////////////////////////////////////////////
#define RA_mpgData_P3FopQ 0x2400
///////////////////////////////////////////////////////////
typedef struct SIE_mpgData {
///////////////////////////////////////////////////////////
SIE_MBCTXQ ie_mbCtxQ;
///////////////////////////////////////////////////////////
SIE_MBPROP ie_mbpropQ[8];
///////////////////////////////////////////////////////////
SIE_CtxPSER ie_ctxPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC34 [12];
///////////////////////////////////////////////////////////
SIE_CtxSYNP ie_ctxSYNP;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC70 [8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ[16];
///////////////////////////////////////////////////////////
SIE_TCTX ie_tCtxOut[2];
///////////////////////////////////////////////////////////
SIE_TCTX ie_tCtxIn[2];
///////////////////////////////////////////////////////////
SIE_CtxMPGx ie_ctxMPGx;
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localPSER;
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localSYNP;
///////////////////////////////////////////////////////////
#define GET32mpgData_fop_param(r32) _BFGET_(r32,31, 0)
#define SET32mpgData_fop_param(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_fop_param : 32;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_alpha_beta_C_tab[32];
///////////////////////////////////////////////////////////
UNSG8 RSVDxF94 [108];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3TCQ[128];
///////////////////////////////////////////////////////////
SIE_PairRow ie_pairDesc;
///////////////////////////////////////////////////////////
SIE_T2PROP ie_t2prop;
///////////////////////////////////////////////////////////
SIE_InvScanMPG ie_InvScan;
///////////////////////////////////////////////////////////
SIE_QuantMatrix ie_quant;
///////////////////////////////////////////////////////////
SIE_ScaleLUT ie_scale;
///////////////////////////////////////////////////////////
UNSG8 RSVDx1BA8 [1112];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_VCMsgQ[64];
///////////////////////////////////////////////////////////
UNSG8 RSVDx2200 [512];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3FopQ[64];
///////////////////////////////////////////////////////////
} SIE_mpgData;
///////////////////////////////////////////////////////////
SIGN32 mpgData_drvrd(SIE_mpgData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 mpgData_drvwr(SIE_mpgData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void mpgData_reset(SIE_mpgData *p);
SIGN32 mpgData_cmp (SIE_mpgData *p, SIE_mpgData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define mpgData_check(p,pie,pfx,hLOG) mpgData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define mpgData_print(p, pfx,hLOG) mpgData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: mpgData
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vc1HalData (4,4)
/// # # ----------------------------------------------------------
/// : stackPSER 0x2000
/// : stackSYNP 0x3000
/// @ 0x00000 (P)
/// # 0x00000 mbCtxQ
/// $MBCTXQ mbCtxQ REG
/// ###
/// * 8 bank MB context buffer
/// * Including history context in & out
/// ###
/// @ 0x00A10 (P)
/// # 0x00A10 mbpropQ
/// $MBPROP mbpropQ REG [8]
/// ###
/// * MB properties to syntax processor
/// * Also know as P3MsgQ:
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to vCache
/// ###
/// @ 0x00C10 (P)
/// # 0x00C10 ctxPSER
/// $CtxPSER ctxPSER REG
/// ###
/// * Context of stream parser
/// ###
/// @ 0x00C34 (W-)
/// # # Stuffing bytes...
/// %% 96
/// @ 0x00C40 (P)
/// # 0x00C40 ctxSYNP
/// $CtxSYNP ctxSYNP REG
/// ###
/// * Context of syntax processor
/// ###
/// @ 0x00C70 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00C78 (P)
/// # 0x00C78 tagDS
/// $LUT64b tagDS REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x00C80 (P)
/// # 0x00C80 DSMsgQ
/// $LUT64b DSMsgQ REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to data streamer
/// ###
/// @ 0x00D00 (P)
/// # 0x00D00 tCtxOut
/// $TCTX tCtxOut REG [2]
/// ###
/// * Temporal contexts (data streamer) output
/// ###
/// @ 0x00D40 (P)
/// # 0x00D40 tCtxIn
/// $TCTX tCtxIn REG [2]
/// ###
/// * Temporal contexts (data streamer) input
/// ###
/// @ 0x00D80 (P)
/// # 0x00D80 ctxMPGx
/// $CtxMPGx ctxMPGx REG
/// ###
/// * Common context of MPEGx and vc1
/// ###
/// @ 0x00D90 (P)
/// # 0x00D90 localPSER
/// $VSLocal localPSER REG
/// ###
/// * Local data area of stream parser
/// ###
/// @ 0x00E10 (P)
/// # 0x00E10 localSYNP
/// $VSLocal localSYNP REG
/// ###
/// * Local data area of syntax processor
/// ###
/// @ 0x00E90 (W-)
/// # # Stuffing bytes...
/// %% 2944
/// @ 0x01000 (P)
/// # 0x01000 P3TCQ
/// $LUT64b P3TCQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * TC queue to vpro.hbo to PCube
/// ###
/// @ 0x01400 (P)
/// # 0x01400 bpfld
/// $BitPlane bpfld REG [2]
/// ###
/// * For I/BI: ACPRED
/// * For P : SKIPMB, MVTYPEMB
/// * For B field: FORWADMB
/// * For B progressive: DIRECTMB, SKIPMB
/// * For B interlaced frame: SKIPMB, DIRECTMB
/// ###
/// @ 0x01C00 (P)
/// # 0x01C00 InvScan
/// $InvScanMPG InvScan REG
/// @ 0x01D80 (P)
/// # 0x01D80 mvdsize
/// $MVDSize mvdsize REG
/// @ 0x01D90 (P)
/// # 0x01D90 mvdoffset
/// $MVDOffset mvdoffset REG
/// @ 0x01D98 (P)
/// # 0x01D98 mvdoffset2
/// $MVDOffset mvdoffset2 REG
/// @ 0x01DA0 (P)
/// # 0x01DA0 modtab
/// $ModTable modtab REG
/// @ 0x01E20 (P)
/// # 0x01E20 nIntraLut
/// $NIntraCtx nIntraLut REG [6]
/// @ 0x01E80 (W-)
/// # # Stuffing bytes...
/// %% 3072
/// @ 0x02000 (P)
/// # 0x02000 VCMsgQ
/// $LUT64b VCMsgQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to PCube
/// ###
/// @ 0x02400 (P)
/// # 0x02400 P3FopQ
/// $LUT64b P3FopQ REG [64]
/// ###
/// * HBO FIFO (m2h):
/// * FOP queue to vpro.hbo to PCube
/// ###
/// @ 0x02600 (P)
/// # 0x02600 bplanes
/// $BitPlane bplanes REG [2]
/// ###
/// * VC-1 bit planes:
/// * For I/BI picture: FIELDTX, OVERFLAGS
/// * End of vc1HalData
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 11776B, bits: 87996b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vc1HalData
#define h_vc1HalData (){}
#define vc1HalData_stackPSER 0x2000
#define vc1HalData_stackSYNP 0x3000
///////////////////////////////////////////////////////////
#define RA_vc1HalData_mbCtxQ 0x0000
///////////////////////////////////////////////////////////
#define RA_vc1HalData_mbpropQ 0x0A10
///////////////////////////////////////////////////////////
#define RA_vc1HalData_ctxPSER 0x0C10
///////////////////////////////////////////////////////////
#define RA_vc1HalData_ctxSYNP 0x0C40
///////////////////////////////////////////////////////////
#define RA_vc1HalData_tagDS 0x0C78
///////////////////////////////////////////////////////////
#define RA_vc1HalData_DSMsgQ 0x0C80
///////////////////////////////////////////////////////////
#define RA_vc1HalData_tCtxOut 0x0D00
///////////////////////////////////////////////////////////
#define RA_vc1HalData_tCtxIn 0x0D40
///////////////////////////////////////////////////////////
#define RA_vc1HalData_ctxMPGx 0x0D80
///////////////////////////////////////////////////////////
#define RA_vc1HalData_localPSER 0x0D90
///////////////////////////////////////////////////////////
#define RA_vc1HalData_localSYNP 0x0E10
///////////////////////////////////////////////////////////
#define RA_vc1HalData_P3TCQ 0x1000
///////////////////////////////////////////////////////////
#define RA_vc1HalData_bpfld 0x1400
///////////////////////////////////////////////////////////
#define RA_vc1HalData_InvScan 0x1C00
///////////////////////////////////////////////////////////
#define RA_vc1HalData_mvdsize 0x1D80
///////////////////////////////////////////////////////////
#define RA_vc1HalData_mvdoffset 0x1D90
///////////////////////////////////////////////////////////
#define RA_vc1HalData_mvdoffset2 0x1D98
///////////////////////////////////////////////////////////
#define RA_vc1HalData_modtab 0x1DA0
///////////////////////////////////////////////////////////
#define RA_vc1HalData_nIntraLut 0x1E20
///////////////////////////////////////////////////////////
#define RA_vc1HalData_VCMsgQ 0x2000
///////////////////////////////////////////////////////////
#define RA_vc1HalData_P3FopQ 0x2400
///////////////////////////////////////////////////////////
#define RA_vc1HalData_bplanes 0x2600
///////////////////////////////////////////////////////////
typedef struct SIE_vc1HalData {
///////////////////////////////////////////////////////////
SIE_MBCTXQ ie_mbCtxQ;
///////////////////////////////////////////////////////////
SIE_MBPROP ie_mbpropQ[8];
///////////////////////////////////////////////////////////
SIE_CtxPSER ie_ctxPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC34 [12];
///////////////////////////////////////////////////////////
SIE_CtxSYNP ie_ctxSYNP;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC70 [8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ[16];
///////////////////////////////////////////////////////////
SIE_TCTX ie_tCtxOut[2];
///////////////////////////////////////////////////////////
SIE_TCTX ie_tCtxIn[2];
///////////////////////////////////////////////////////////
SIE_CtxMPGx ie_ctxMPGx;
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localPSER;
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localSYNP;
///////////////////////////////////////////////////////////
UNSG8 RSVDxE90 [368];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3TCQ[128];
///////////////////////////////////////////////////////////
SIE_BitPlane ie_bpfld[2];
///////////////////////////////////////////////////////////
SIE_InvScanMPG ie_InvScan;
///////////////////////////////////////////////////////////
SIE_MVDSize ie_mvdsize;
///////////////////////////////////////////////////////////
SIE_MVDOffset ie_mvdoffset;
///////////////////////////////////////////////////////////
SIE_MVDOffset ie_mvdoffset2;
///////////////////////////////////////////////////////////
SIE_ModTable ie_modtab;
///////////////////////////////////////////////////////////
SIE_NIntraCtx ie_nIntraLut[6];
///////////////////////////////////////////////////////////
UNSG8 RSVDx1E80 [384];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_VCMsgQ[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3FopQ[64];
///////////////////////////////////////////////////////////
SIE_BitPlane ie_bplanes[2];
///////////////////////////////////////////////////////////
} SIE_vc1HalData;
///////////////////////////////////////////////////////////
SIGN32 vc1HalData_drvrd(SIE_vc1HalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vc1HalData_drvwr(SIE_vc1HalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vc1HalData_reset(SIE_vc1HalData *p);
SIGN32 vc1HalData_cmp (SIE_vc1HalData *p, SIE_vc1HalData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vc1HalData_check(p,pie,pfx,hLOG) vc1HalData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vc1HalData_print(p, pfx,hLOG) vc1HalData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vc1HalData
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vc1_IC_ctx (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 prop (P)
/// %unsigned 16 rBID
/// ###
/// * Reference buffer ID, last 1b indicates access mode:
/// * 0: frame/progressive or top field
/// * 1: bottom field
/// ###
/// %unsigned 16 curr_pict_struct
/// ###
/// * Current picture format
/// * 0: progressive
/// * 1: interlaced field/top field
/// * 2: interlaced frame
/// * 3: bottom field
/// ###
/// # 0x00004 prop1
/// %unsigned 16 ref_pict_struct
/// ###
/// * Reference picture format
/// * 0: progressive
/// * 1: interlaced field/top field
/// * 2: interlaced frame
/// * 3: bottom field
/// ###
/// %unsigned 16 fldMB
/// ###
/// * 1: if current picture is field picture, and reference picture is NOT progressive picture.
/// * 0: otherwise
/// ###
/// # 0x00008 prop2
/// %unsigned 16 width_in_mb
/// ###
/// * Frame width in number of MBs
/// ###
/// %unsigned 16 height_in_mb
/// ###
/// * Frame height in number of MBs
/// * Note: if current picture is field picture and reference picture is progressive, use the height of progressive (i.e., do not divide by 2).
/// ###
/// @ 0x0000C SN (P)
/// %unsigned 16 VCMsgQ
/// ###
/// * Running counter of vCache message output
/// ###
/// %unsigned 16 vcmDesc
/// ###
/// * Running counter of vcMSG descriptor bank
/// * Staring from 0xFFFF at each picture
/// ###
/// @ 0x00010 tmp (P)
/// %unsigned 16 v_0i
/// %unsigned 16 v_1i
/// # 0x00014 tmp1
/// %unsigned 16 v_2i
/// %unsigned 16 v_3i
/// # 0x00018 tmp2
/// %unsigned 16 v_4i
/// %unsigned 16 v_5i
/// # 0x0001C tmp3
/// %unsigned 16 v_6i
/// %unsigned 16 v_7i
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 256b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vc1_IC_ctx
#define h_vc1_IC_ctx (){}
#define RA_vc1_IC_ctx_prop 0x0000
#define BA_vc1_IC_ctx_prop_rBID 0x0000
#define B16vc1_IC_ctx_prop_rBID 0x0000
#define LSb32vc1_IC_ctx_prop_rBID 0
#define LSb16vc1_IC_ctx_prop_rBID 0
#define bvc1_IC_ctx_prop_rBID 16
#define MSK32vc1_IC_ctx_prop_rBID 0x0000FFFF
#define BA_vc1_IC_ctx_prop_curr_pict_struct 0x0002
#define B16vc1_IC_ctx_prop_curr_pict_struct 0x0002
#define LSb32vc1_IC_ctx_prop_curr_pict_struct 16
#define LSb16vc1_IC_ctx_prop_curr_pict_struct 0
#define bvc1_IC_ctx_prop_curr_pict_struct 16
#define MSK32vc1_IC_ctx_prop_curr_pict_struct 0xFFFF0000
#define RA_vc1_IC_ctx_prop1 0x0004
#define BA_vc1_IC_ctx_prop_ref_pict_struct 0x0004
#define B16vc1_IC_ctx_prop_ref_pict_struct 0x0004
#define LSb32vc1_IC_ctx_prop_ref_pict_struct 0
#define LSb16vc1_IC_ctx_prop_ref_pict_struct 0
#define bvc1_IC_ctx_prop_ref_pict_struct 16
#define MSK32vc1_IC_ctx_prop_ref_pict_struct 0x0000FFFF
#define BA_vc1_IC_ctx_prop_fldMB 0x0006
#define B16vc1_IC_ctx_prop_fldMB 0x0006
#define LSb32vc1_IC_ctx_prop_fldMB 16
#define LSb16vc1_IC_ctx_prop_fldMB 0
#define bvc1_IC_ctx_prop_fldMB 16
#define MSK32vc1_IC_ctx_prop_fldMB 0xFFFF0000
#define RA_vc1_IC_ctx_prop2 0x0008
#define BA_vc1_IC_ctx_prop_width_in_mb 0x0008
#define B16vc1_IC_ctx_prop_width_in_mb 0x0008
#define LSb32vc1_IC_ctx_prop_width_in_mb 0
#define LSb16vc1_IC_ctx_prop_width_in_mb 0
#define bvc1_IC_ctx_prop_width_in_mb 16
#define MSK32vc1_IC_ctx_prop_width_in_mb 0x0000FFFF
#define BA_vc1_IC_ctx_prop_height_in_mb 0x000A
#define B16vc1_IC_ctx_prop_height_in_mb 0x000A
#define LSb32vc1_IC_ctx_prop_height_in_mb 16
#define LSb16vc1_IC_ctx_prop_height_in_mb 0
#define bvc1_IC_ctx_prop_height_in_mb 16
#define MSK32vc1_IC_ctx_prop_height_in_mb 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_vc1_IC_ctx_SN 0x000C
#define BA_vc1_IC_ctx_SN_VCMsgQ 0x000C
#define B16vc1_IC_ctx_SN_VCMsgQ 0x000C
#define LSb32vc1_IC_ctx_SN_VCMsgQ 0
#define LSb16vc1_IC_ctx_SN_VCMsgQ 0
#define bvc1_IC_ctx_SN_VCMsgQ 16
#define MSK32vc1_IC_ctx_SN_VCMsgQ 0x0000FFFF
#define BA_vc1_IC_ctx_SN_vcmDesc 0x000E
#define B16vc1_IC_ctx_SN_vcmDesc 0x000E
#define LSb32vc1_IC_ctx_SN_vcmDesc 16
#define LSb16vc1_IC_ctx_SN_vcmDesc 0
#define bvc1_IC_ctx_SN_vcmDesc 16
#define MSK32vc1_IC_ctx_SN_vcmDesc 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_vc1_IC_ctx_tmp 0x0010
#define BA_vc1_IC_ctx_tmp_v_0i 0x0010
#define B16vc1_IC_ctx_tmp_v_0i 0x0010
#define LSb32vc1_IC_ctx_tmp_v_0i 0
#define LSb16vc1_IC_ctx_tmp_v_0i 0
#define bvc1_IC_ctx_tmp_v_0i 16
#define MSK32vc1_IC_ctx_tmp_v_0i 0x0000FFFF
#define BA_vc1_IC_ctx_tmp_v_1i 0x0012
#define B16vc1_IC_ctx_tmp_v_1i 0x0012
#define LSb32vc1_IC_ctx_tmp_v_1i 16
#define LSb16vc1_IC_ctx_tmp_v_1i 0
#define bvc1_IC_ctx_tmp_v_1i 16
#define MSK32vc1_IC_ctx_tmp_v_1i 0xFFFF0000
#define RA_vc1_IC_ctx_tmp1 0x0014
#define BA_vc1_IC_ctx_tmp_v_2i 0x0014
#define B16vc1_IC_ctx_tmp_v_2i 0x0014
#define LSb32vc1_IC_ctx_tmp_v_2i 0
#define LSb16vc1_IC_ctx_tmp_v_2i 0
#define bvc1_IC_ctx_tmp_v_2i 16
#define MSK32vc1_IC_ctx_tmp_v_2i 0x0000FFFF
#define BA_vc1_IC_ctx_tmp_v_3i 0x0016
#define B16vc1_IC_ctx_tmp_v_3i 0x0016
#define LSb32vc1_IC_ctx_tmp_v_3i 16
#define LSb16vc1_IC_ctx_tmp_v_3i 0
#define bvc1_IC_ctx_tmp_v_3i 16
#define MSK32vc1_IC_ctx_tmp_v_3i 0xFFFF0000
#define RA_vc1_IC_ctx_tmp2 0x0018
#define BA_vc1_IC_ctx_tmp_v_4i 0x0018
#define B16vc1_IC_ctx_tmp_v_4i 0x0018
#define LSb32vc1_IC_ctx_tmp_v_4i 0
#define LSb16vc1_IC_ctx_tmp_v_4i 0
#define bvc1_IC_ctx_tmp_v_4i 16
#define MSK32vc1_IC_ctx_tmp_v_4i 0x0000FFFF
#define BA_vc1_IC_ctx_tmp_v_5i 0x001A
#define B16vc1_IC_ctx_tmp_v_5i 0x001A
#define LSb32vc1_IC_ctx_tmp_v_5i 16
#define LSb16vc1_IC_ctx_tmp_v_5i 0
#define bvc1_IC_ctx_tmp_v_5i 16
#define MSK32vc1_IC_ctx_tmp_v_5i 0xFFFF0000
#define RA_vc1_IC_ctx_tmp3 0x001C
#define BA_vc1_IC_ctx_tmp_v_6i 0x001C
#define B16vc1_IC_ctx_tmp_v_6i 0x001C
#define LSb32vc1_IC_ctx_tmp_v_6i 0
#define LSb16vc1_IC_ctx_tmp_v_6i 0
#define bvc1_IC_ctx_tmp_v_6i 16
#define MSK32vc1_IC_ctx_tmp_v_6i 0x0000FFFF
#define BA_vc1_IC_ctx_tmp_v_7i 0x001E
#define B16vc1_IC_ctx_tmp_v_7i 0x001E
#define LSb32vc1_IC_ctx_tmp_v_7i 16
#define LSb16vc1_IC_ctx_tmp_v_7i 0
#define bvc1_IC_ctx_tmp_v_7i 16
#define MSK32vc1_IC_ctx_tmp_v_7i 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_vc1_IC_ctx {
///////////////////////////////////////////////////////////
#define GET32vc1_IC_ctx_prop_rBID(r32) _BFGET_(r32,15, 0)
#define SET32vc1_IC_ctx_prop_rBID(r32,v) _BFSET_(r32,15, 0,v)
#define GET16vc1_IC_ctx_prop_rBID(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_prop_rBID(r16,v) _BFSET_(r16,15, 0,v)
#define GET32vc1_IC_ctx_prop_curr_pict_struct(r32) _BFGET_(r32,31,16)
#define SET32vc1_IC_ctx_prop_curr_pict_struct(r32,v) _BFSET_(r32,31,16,v)
#define GET16vc1_IC_ctx_prop_curr_pict_struct(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_prop_curr_pict_struct(r16,v) _BFSET_(r16,15, 0,v)
#define w32vc1_IC_ctx_prop {\
UNSG32 uprop_rBID : 16;\
UNSG32 uprop_curr_pict_struct : 16;\
}
union { UNSG32 u32vc1_IC_ctx_prop;
struct w32vc1_IC_ctx_prop;
};
#define GET32vc1_IC_ctx_prop_ref_pict_struct(r32) _BFGET_(r32,15, 0)
#define SET32vc1_IC_ctx_prop_ref_pict_struct(r32,v) _BFSET_(r32,15, 0,v)
#define GET16vc1_IC_ctx_prop_ref_pict_struct(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_prop_ref_pict_struct(r16,v) _BFSET_(r16,15, 0,v)
#define GET32vc1_IC_ctx_prop_fldMB(r32) _BFGET_(r32,31,16)
#define SET32vc1_IC_ctx_prop_fldMB(r32,v) _BFSET_(r32,31,16,v)
#define GET16vc1_IC_ctx_prop_fldMB(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_prop_fldMB(r16,v) _BFSET_(r16,15, 0,v)
#define w32vc1_IC_ctx_prop1 {\
UNSG32 uprop_ref_pict_struct : 16;\
UNSG32 uprop_fldMB : 16;\
}
union { UNSG32 u32vc1_IC_ctx_prop1;
struct w32vc1_IC_ctx_prop1;
};
#define GET32vc1_IC_ctx_prop_width_in_mb(r32) _BFGET_(r32,15, 0)
#define SET32vc1_IC_ctx_prop_width_in_mb(r32,v) _BFSET_(r32,15, 0,v)
#define GET16vc1_IC_ctx_prop_width_in_mb(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_prop_width_in_mb(r16,v) _BFSET_(r16,15, 0,v)
#define GET32vc1_IC_ctx_prop_height_in_mb(r32) _BFGET_(r32,31,16)
#define SET32vc1_IC_ctx_prop_height_in_mb(r32,v) _BFSET_(r32,31,16,v)
#define GET16vc1_IC_ctx_prop_height_in_mb(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_prop_height_in_mb(r16,v) _BFSET_(r16,15, 0,v)
#define w32vc1_IC_ctx_prop2 {\
UNSG32 uprop_width_in_mb : 16;\
UNSG32 uprop_height_in_mb : 16;\
}
union { UNSG32 u32vc1_IC_ctx_prop2;
struct w32vc1_IC_ctx_prop2;
};
///////////////////////////////////////////////////////////
#define GET32vc1_IC_ctx_SN_VCMsgQ(r32) _BFGET_(r32,15, 0)
#define SET32vc1_IC_ctx_SN_VCMsgQ(r32,v) _BFSET_(r32,15, 0,v)
#define GET16vc1_IC_ctx_SN_VCMsgQ(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_SN_VCMsgQ(r16,v) _BFSET_(r16,15, 0,v)
#define GET32vc1_IC_ctx_SN_vcmDesc(r32) _BFGET_(r32,31,16)
#define SET32vc1_IC_ctx_SN_vcmDesc(r32,v) _BFSET_(r32,31,16,v)
#define GET16vc1_IC_ctx_SN_vcmDesc(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_SN_vcmDesc(r16,v) _BFSET_(r16,15, 0,v)
#define w32vc1_IC_ctx_SN {\
UNSG32 uSN_VCMsgQ : 16;\
UNSG32 uSN_vcmDesc : 16;\
}
union { UNSG32 u32vc1_IC_ctx_SN;
struct w32vc1_IC_ctx_SN;
};
///////////////////////////////////////////////////////////
#define GET32vc1_IC_ctx_tmp_v_0i(r32) _BFGET_(r32,15, 0)
#define SET32vc1_IC_ctx_tmp_v_0i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16vc1_IC_ctx_tmp_v_0i(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_tmp_v_0i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32vc1_IC_ctx_tmp_v_1i(r32) _BFGET_(r32,31,16)
#define SET32vc1_IC_ctx_tmp_v_1i(r32,v) _BFSET_(r32,31,16,v)
#define GET16vc1_IC_ctx_tmp_v_1i(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_tmp_v_1i(r16,v) _BFSET_(r16,15, 0,v)
#define w32vc1_IC_ctx_tmp {\
UNSG32 utmp_v_0i : 16;\
UNSG32 utmp_v_1i : 16;\
}
union { UNSG32 u32vc1_IC_ctx_tmp;
struct w32vc1_IC_ctx_tmp;
};
#define GET32vc1_IC_ctx_tmp_v_2i(r32) _BFGET_(r32,15, 0)
#define SET32vc1_IC_ctx_tmp_v_2i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16vc1_IC_ctx_tmp_v_2i(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_tmp_v_2i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32vc1_IC_ctx_tmp_v_3i(r32) _BFGET_(r32,31,16)
#define SET32vc1_IC_ctx_tmp_v_3i(r32,v) _BFSET_(r32,31,16,v)
#define GET16vc1_IC_ctx_tmp_v_3i(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_tmp_v_3i(r16,v) _BFSET_(r16,15, 0,v)
#define w32vc1_IC_ctx_tmp1 {\
UNSG32 utmp_v_2i : 16;\
UNSG32 utmp_v_3i : 16;\
}
union { UNSG32 u32vc1_IC_ctx_tmp1;
struct w32vc1_IC_ctx_tmp1;
};
#define GET32vc1_IC_ctx_tmp_v_4i(r32) _BFGET_(r32,15, 0)
#define SET32vc1_IC_ctx_tmp_v_4i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16vc1_IC_ctx_tmp_v_4i(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_tmp_v_4i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32vc1_IC_ctx_tmp_v_5i(r32) _BFGET_(r32,31,16)
#define SET32vc1_IC_ctx_tmp_v_5i(r32,v) _BFSET_(r32,31,16,v)
#define GET16vc1_IC_ctx_tmp_v_5i(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_tmp_v_5i(r16,v) _BFSET_(r16,15, 0,v)
#define w32vc1_IC_ctx_tmp2 {\
UNSG32 utmp_v_4i : 16;\
UNSG32 utmp_v_5i : 16;\
}
union { UNSG32 u32vc1_IC_ctx_tmp2;
struct w32vc1_IC_ctx_tmp2;
};
#define GET32vc1_IC_ctx_tmp_v_6i(r32) _BFGET_(r32,15, 0)
#define SET32vc1_IC_ctx_tmp_v_6i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16vc1_IC_ctx_tmp_v_6i(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_tmp_v_6i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32vc1_IC_ctx_tmp_v_7i(r32) _BFGET_(r32,31,16)
#define SET32vc1_IC_ctx_tmp_v_7i(r32,v) _BFSET_(r32,31,16,v)
#define GET16vc1_IC_ctx_tmp_v_7i(r16) _BFGET_(r16,15, 0)
#define SET16vc1_IC_ctx_tmp_v_7i(r16,v) _BFSET_(r16,15, 0,v)
#define w32vc1_IC_ctx_tmp3 {\
UNSG32 utmp_v_6i : 16;\
UNSG32 utmp_v_7i : 16;\
}
union { UNSG32 u32vc1_IC_ctx_tmp3;
struct w32vc1_IC_ctx_tmp3;
};
///////////////////////////////////////////////////////////
} SIE_vc1_IC_ctx;
typedef union T32vc1_IC_ctx_prop
{ UNSG32 u32;
struct w32vc1_IC_ctx_prop;
} T32vc1_IC_ctx_prop;
typedef union T32vc1_IC_ctx_prop1
{ UNSG32 u32;
struct w32vc1_IC_ctx_prop1;
} T32vc1_IC_ctx_prop1;
typedef union T32vc1_IC_ctx_prop2
{ UNSG32 u32;
struct w32vc1_IC_ctx_prop2;
} T32vc1_IC_ctx_prop2;
typedef union T32vc1_IC_ctx_SN
{ UNSG32 u32;
struct w32vc1_IC_ctx_SN;
} T32vc1_IC_ctx_SN;
typedef union T32vc1_IC_ctx_tmp
{ UNSG32 u32;
struct w32vc1_IC_ctx_tmp;
} T32vc1_IC_ctx_tmp;
typedef union T32vc1_IC_ctx_tmp1
{ UNSG32 u32;
struct w32vc1_IC_ctx_tmp1;
} T32vc1_IC_ctx_tmp1;
typedef union T32vc1_IC_ctx_tmp2
{ UNSG32 u32;
struct w32vc1_IC_ctx_tmp2;
} T32vc1_IC_ctx_tmp2;
typedef union T32vc1_IC_ctx_tmp3
{ UNSG32 u32;
struct w32vc1_IC_ctx_tmp3;
} T32vc1_IC_ctx_tmp3;
///////////////////////////////////////////////////////////
typedef union Tvc1_IC_ctx_prop
{ UNSG32 u32[3];
struct {
struct w32vc1_IC_ctx_prop;
struct w32vc1_IC_ctx_prop1;
struct w32vc1_IC_ctx_prop2;
};
} Tvc1_IC_ctx_prop;
typedef union Tvc1_IC_ctx_SN
{ UNSG32 u32[1];
struct {
struct w32vc1_IC_ctx_SN;
};
} Tvc1_IC_ctx_SN;
typedef union Tvc1_IC_ctx_tmp
{ UNSG32 u32[4];
struct {
struct w32vc1_IC_ctx_tmp;
struct w32vc1_IC_ctx_tmp1;
struct w32vc1_IC_ctx_tmp2;
struct w32vc1_IC_ctx_tmp3;
};
} Tvc1_IC_ctx_tmp;
///////////////////////////////////////////////////////////
SIGN32 vc1_IC_ctx_drvrd(SIE_vc1_IC_ctx *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vc1_IC_ctx_drvwr(SIE_vc1_IC_ctx *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vc1_IC_ctx_reset(SIE_vc1_IC_ctx *p);
SIGN32 vc1_IC_ctx_cmp (SIE_vc1_IC_ctx *p, SIE_vc1_IC_ctx *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vc1_IC_ctx_check(p,pie,pfx,hLOG) vc1_IC_ctx_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vc1_IC_ctx_print(p, pfx,hLOG) vc1_IC_ctx_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vc1_IC_ctx
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE GMCParam (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %signed 32 a
/// %signed 32 b
/// ###
/// * x' = ax+by+c
/// ###
/// %signed 32 MvSumBase
/// ###
/// * mv sum of MB(0,0)
/// ###
/// @ 0x0000C (P)
/// %unsigned 16 alphaP
/// ###
/// * number of fraction bits
/// ###
/// %unsigned 16 mask
/// ###
/// * Mask = (1<<alphaP)-1
/// ###
/// @ 0x00010 (P)
/// %unsigned 16 fracs_len
/// ###
/// * len of fraction array of MB(0,0)
/// ###
/// %unsigned 16 PointsNum
/// %unsigned 16 WarpingAccuracy
/// %unsigned 16 avgShiftBits
/// @ 0x00018 (P)
/// %unsigned 16 avgShiftRnd
/// ###
/// * avgShiftRnd = 1<<(avgShiftBits-1)
/// ###
/// %unsigned 16 unused_0i
/// %unsigned 16 unused_1i
/// %unsigned 16 unused_2i
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 256b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_GMCParam
#define h_GMCParam (){}
#define BA_GMCParam_a 0x0000
#define B16GMCParam_a 0x0000
#define LSb32GMCParam_a 0
#define LSb16GMCParam_a 0
#define bGMCParam_a 32
#define MSK32GMCParam_a 0xFFFFFFFF
#define BA_GMCParam_b 0x0004
#define B16GMCParam_b 0x0004
#define LSb32GMCParam_b 0
#define LSb16GMCParam_b 0
#define bGMCParam_b 32
#define MSK32GMCParam_b 0xFFFFFFFF
#define BA_GMCParam_MvSumBase 0x0008
#define B16GMCParam_MvSumBase 0x0008
#define LSb32GMCParam_MvSumBase 0
#define LSb16GMCParam_MvSumBase 0
#define bGMCParam_MvSumBase 32
#define MSK32GMCParam_MvSumBase 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_GMCParam_alphaP 0x000C
#define B16GMCParam_alphaP 0x000C
#define LSb32GMCParam_alphaP 0
#define LSb16GMCParam_alphaP 0
#define bGMCParam_alphaP 16
#define MSK32GMCParam_alphaP 0x0000FFFF
#define BA_GMCParam_mask 0x000E
#define B16GMCParam_mask 0x000E
#define LSb32GMCParam_mask 16
#define LSb16GMCParam_mask 0
#define bGMCParam_mask 16
#define MSK32GMCParam_mask 0xFFFF0000
///////////////////////////////////////////////////////////
#define BA_GMCParam_fracs_len 0x0010
#define B16GMCParam_fracs_len 0x0010
#define LSb32GMCParam_fracs_len 0
#define LSb16GMCParam_fracs_len 0
#define bGMCParam_fracs_len 16
#define MSK32GMCParam_fracs_len 0x0000FFFF
#define BA_GMCParam_PointsNum 0x0012
#define B16GMCParam_PointsNum 0x0012
#define LSb32GMCParam_PointsNum 16
#define LSb16GMCParam_PointsNum 0
#define bGMCParam_PointsNum 16
#define MSK32GMCParam_PointsNum 0xFFFF0000
#define BA_GMCParam_WarpingAccuracy 0x0014
#define B16GMCParam_WarpingAccuracy 0x0014
#define LSb32GMCParam_WarpingAccuracy 0
#define LSb16GMCParam_WarpingAccuracy 0
#define bGMCParam_WarpingAccuracy 16
#define MSK32GMCParam_WarpingAccuracy 0x0000FFFF
#define BA_GMCParam_avgShiftBits 0x0016
#define B16GMCParam_avgShiftBits 0x0016
#define LSb32GMCParam_avgShiftBits 16
#define LSb16GMCParam_avgShiftBits 0
#define bGMCParam_avgShiftBits 16
#define MSK32GMCParam_avgShiftBits 0xFFFF0000
///////////////////////////////////////////////////////////
#define BA_GMCParam_avgShiftRnd 0x0018
#define B16GMCParam_avgShiftRnd 0x0018
#define LSb32GMCParam_avgShiftRnd 0
#define LSb16GMCParam_avgShiftRnd 0
#define bGMCParam_avgShiftRnd 16
#define MSK32GMCParam_avgShiftRnd 0x0000FFFF
#define BA_GMCParam_unused_0i 0x001A
#define B16GMCParam_unused_0i 0x001A
#define LSb32GMCParam_unused_0i 16
#define LSb16GMCParam_unused_0i 0
#define bGMCParam_unused_0i 16
#define MSK32GMCParam_unused_0i 0xFFFF0000
#define BA_GMCParam_unused_1i 0x001C
#define B16GMCParam_unused_1i 0x001C
#define LSb32GMCParam_unused_1i 0
#define LSb16GMCParam_unused_1i 0
#define bGMCParam_unused_1i 16
#define MSK32GMCParam_unused_1i 0x0000FFFF
#define BA_GMCParam_unused_2i 0x001E
#define B16GMCParam_unused_2i 0x001E
#define LSb32GMCParam_unused_2i 16
#define LSb16GMCParam_unused_2i 0
#define bGMCParam_unused_2i 16
#define MSK32GMCParam_unused_2i 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_GMCParam {
///////////////////////////////////////////////////////////
#define GET32GMCParam_a(r32) _BFGET_(r32,31, 0)
#define SET32GMCParam_a(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 s_a : 32;
///////////////////////////////////////////////////////////
#define GET32GMCParam_b(r32) _BFGET_(r32,31, 0)
#define SET32GMCParam_b(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 s_b : 32;
///////////////////////////////////////////////////////////
#define GET32GMCParam_MvSumBase(r32) _BFGET_(r32,31, 0)
#define SET32GMCParam_MvSumBase(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 s_MvSumBase : 32;
///////////////////////////////////////////////////////////
#define GET32GMCParam_alphaP(r32) _BFGET_(r32,15, 0)
#define SET32GMCParam_alphaP(r32,v) _BFSET_(r32,15, 0,v)
#define GET16GMCParam_alphaP(r16) _BFGET_(r16,15, 0)
#define SET16GMCParam_alphaP(r16,v) _BFSET_(r16,15, 0,v)
#define GET32GMCParam_mask(r32) _BFGET_(r32,31,16)
#define SET32GMCParam_mask(r32,v) _BFSET_(r32,31,16,v)
#define GET16GMCParam_mask(r16) _BFGET_(r16,15, 0)
#define SET16GMCParam_mask(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_alphaP : 16;
UNSG32 u_mask : 16;
///////////////////////////////////////////////////////////
#define GET32GMCParam_fracs_len(r32) _BFGET_(r32,15, 0)
#define SET32GMCParam_fracs_len(r32,v) _BFSET_(r32,15, 0,v)
#define GET16GMCParam_fracs_len(r16) _BFGET_(r16,15, 0)
#define SET16GMCParam_fracs_len(r16,v) _BFSET_(r16,15, 0,v)
#define GET32GMCParam_PointsNum(r32) _BFGET_(r32,31,16)
#define SET32GMCParam_PointsNum(r32,v) _BFSET_(r32,31,16,v)
#define GET16GMCParam_PointsNum(r16) _BFGET_(r16,15, 0)
#define SET16GMCParam_PointsNum(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_fracs_len : 16;
UNSG32 u_PointsNum : 16;
///////////////////////////////////////////////////////////
#define GET32GMCParam_WarpingAccuracy(r32) _BFGET_(r32,15, 0)
#define SET32GMCParam_WarpingAccuracy(r32,v) _BFSET_(r32,15, 0,v)
#define GET16GMCParam_WarpingAccuracy(r16) _BFGET_(r16,15, 0)
#define SET16GMCParam_WarpingAccuracy(r16,v) _BFSET_(r16,15, 0,v)
#define GET32GMCParam_avgShiftBits(r32) _BFGET_(r32,31,16)
#define SET32GMCParam_avgShiftBits(r32,v) _BFSET_(r32,31,16,v)
#define GET16GMCParam_avgShiftBits(r16) _BFGET_(r16,15, 0)
#define SET16GMCParam_avgShiftBits(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_WarpingAccuracy : 16;
UNSG32 u_avgShiftBits : 16;
///////////////////////////////////////////////////////////
#define GET32GMCParam_avgShiftRnd(r32) _BFGET_(r32,15, 0)
#define SET32GMCParam_avgShiftRnd(r32,v) _BFSET_(r32,15, 0,v)
#define GET16GMCParam_avgShiftRnd(r16) _BFGET_(r16,15, 0)
#define SET16GMCParam_avgShiftRnd(r16,v) _BFSET_(r16,15, 0,v)
#define GET32GMCParam_unused_0i(r32) _BFGET_(r32,31,16)
#define SET32GMCParam_unused_0i(r32,v) _BFSET_(r32,31,16,v)
#define GET16GMCParam_unused_0i(r16) _BFGET_(r16,15, 0)
#define SET16GMCParam_unused_0i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_avgShiftRnd : 16;
UNSG32 u_unused_0i : 16;
///////////////////////////////////////////////////////////
#define GET32GMCParam_unused_1i(r32) _BFGET_(r32,15, 0)
#define SET32GMCParam_unused_1i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16GMCParam_unused_1i(r16) _BFGET_(r16,15, 0)
#define SET16GMCParam_unused_1i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32GMCParam_unused_2i(r32) _BFGET_(r32,31,16)
#define SET32GMCParam_unused_2i(r32,v) _BFSET_(r32,31,16,v)
#define GET16GMCParam_unused_2i(r16) _BFGET_(r16,15, 0)
#define SET16GMCParam_unused_2i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_unused_1i : 16;
UNSG32 u_unused_2i : 16;
///////////////////////////////////////////////////////////
} SIE_GMCParam;
///////////////////////////////////////////////////////////
SIGN32 GMCParam_drvrd(SIE_GMCParam *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 GMCParam_drvwr(SIE_GMCParam *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void GMCParam_reset(SIE_GMCParam *p);
SIGN32 GMCParam_cmp (SIE_GMCParam *p, SIE_GMCParam *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define GMCParam_check(p,pie,pfx,hLOG) GMCParam_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define GMCParam_print(p, pfx,hLOG) GMCParam_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: GMCParam
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ITypeDc (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 4 cbpc
/// %unsigned 3 mbtype
/// %unsigned 5 qp
/// %unsigned 1 hasDc
/// %unsigned 3 unused
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ITypeDc
#define h_ITypeDc (){}
#define BA_ITypeDc_cbpc 0x0000
#define B16ITypeDc_cbpc 0x0000
#define LSb32ITypeDc_cbpc 0
#define LSb16ITypeDc_cbpc 0
#define bITypeDc_cbpc 4
#define MSK32ITypeDc_cbpc 0x0000000F
#define BA_ITypeDc_mbtype 0x0000
#define B16ITypeDc_mbtype 0x0000
#define LSb32ITypeDc_mbtype 4
#define LSb16ITypeDc_mbtype 4
#define bITypeDc_mbtype 3
#define MSK32ITypeDc_mbtype 0x00000070
#define BA_ITypeDc_qp 0x0000
#define B16ITypeDc_qp 0x0000
#define LSb32ITypeDc_qp 7
#define LSb16ITypeDc_qp 7
#define bITypeDc_qp 5
#define MSK32ITypeDc_qp 0x00000F80
#define BA_ITypeDc_hasDc 0x0001
#define B16ITypeDc_hasDc 0x0000
#define LSb32ITypeDc_hasDc 12
#define LSb16ITypeDc_hasDc 12
#define bITypeDc_hasDc 1
#define MSK32ITypeDc_hasDc 0x00001000
#define BA_ITypeDc_unused 0x0001
#define B16ITypeDc_unused 0x0000
#define LSb32ITypeDc_unused 13
#define LSb16ITypeDc_unused 13
#define bITypeDc_unused 3
#define MSK32ITypeDc_unused 0x0000E000
///////////////////////////////////////////////////////////
typedef struct SIE_ITypeDc {
///////////////////////////////////////////////////////////
#define GET32ITypeDc_cbpc(r32) _BFGET_(r32, 3, 0)
#define SET32ITypeDc_cbpc(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16ITypeDc_cbpc(r16) _BFGET_(r16, 3, 0)
#define SET16ITypeDc_cbpc(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32ITypeDc_mbtype(r32) _BFGET_(r32, 6, 4)
#define SET32ITypeDc_mbtype(r32,v) _BFSET_(r32, 6, 4,v)
#define GET16ITypeDc_mbtype(r16) _BFGET_(r16, 6, 4)
#define SET16ITypeDc_mbtype(r16,v) _BFSET_(r16, 6, 4,v)
#define GET32ITypeDc_qp(r32) _BFGET_(r32,11, 7)
#define SET32ITypeDc_qp(r32,v) _BFSET_(r32,11, 7,v)
#define GET16ITypeDc_qp(r16) _BFGET_(r16,11, 7)
#define SET16ITypeDc_qp(r16,v) _BFSET_(r16,11, 7,v)
#define GET32ITypeDc_hasDc(r32) _BFGET_(r32,12,12)
#define SET32ITypeDc_hasDc(r32,v) _BFSET_(r32,12,12,v)
#define GET16ITypeDc_hasDc(r16) _BFGET_(r16,12,12)
#define SET16ITypeDc_hasDc(r16,v) _BFSET_(r16,12,12,v)
#define GET32ITypeDc_unused(r32) _BFGET_(r32,15,13)
#define SET32ITypeDc_unused(r32,v) _BFSET_(r32,15,13,v)
#define GET16ITypeDc_unused(r16) _BFGET_(r16,15,13)
#define SET16ITypeDc_unused(r16,v) _BFSET_(r16,15,13,v)
UNSG32 u_cbpc : 4;
UNSG32 u_mbtype : 3;
UNSG32 u_qp : 5;
UNSG32 u_hasDc : 1;
UNSG32 u_unused : 3;
///////////////////////////////////////////////////////////
} SIE_ITypeDc;
///////////////////////////////////////////////////////////
SIGN32 ITypeDc_drvrd(SIE_ITypeDc *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ITypeDc_drvwr(SIE_ITypeDc *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ITypeDc_reset(SIE_ITypeDc *p);
SIGN32 ITypeDc_cmp (SIE_ITypeDc *p, SIE_ITypeDc *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ITypeDc_check(p,pie,pfx,hLOG) ITypeDc_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ITypeDc_print(p, pfx,hLOG) ITypeDc_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ITypeDc
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE IAcpredCbp (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 acPredFlag
/// %unsigned 12 cbpy
/// ###
/// * Low 8b is inter cbpy; high 4b is intra cbpy
/// ###
/// %unsigned 3 unused
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_IAcpredCbp
#define h_IAcpredCbp (){}
#define BA_IAcpredCbp_acPredFlag 0x0000
#define B16IAcpredCbp_acPredFlag 0x0000
#define LSb32IAcpredCbp_acPredFlag 0
#define LSb16IAcpredCbp_acPredFlag 0
#define bIAcpredCbp_acPredFlag 1
#define MSK32IAcpredCbp_acPredFlag 0x00000001
#define BA_IAcpredCbp_cbpy 0x0000
#define B16IAcpredCbp_cbpy 0x0000
#define LSb32IAcpredCbp_cbpy 1
#define LSb16IAcpredCbp_cbpy 1
#define bIAcpredCbp_cbpy 12
#define MSK32IAcpredCbp_cbpy 0x00001FFE
#define BA_IAcpredCbp_unused 0x0001
#define B16IAcpredCbp_unused 0x0000
#define LSb32IAcpredCbp_unused 13
#define LSb16IAcpredCbp_unused 13
#define bIAcpredCbp_unused 3
#define MSK32IAcpredCbp_unused 0x0000E000
///////////////////////////////////////////////////////////
typedef struct SIE_IAcpredCbp {
///////////////////////////////////////////////////////////
#define GET32IAcpredCbp_acPredFlag(r32) _BFGET_(r32, 0, 0)
#define SET32IAcpredCbp_acPredFlag(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16IAcpredCbp_acPredFlag(r16) _BFGET_(r16, 0, 0)
#define SET16IAcpredCbp_acPredFlag(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32IAcpredCbp_cbpy(r32) _BFGET_(r32,12, 1)
#define SET32IAcpredCbp_cbpy(r32,v) _BFSET_(r32,12, 1,v)
#define GET16IAcpredCbp_cbpy(r16) _BFGET_(r16,12, 1)
#define SET16IAcpredCbp_cbpy(r16,v) _BFSET_(r16,12, 1,v)
#define GET32IAcpredCbp_unused(r32) _BFGET_(r32,15,13)
#define SET32IAcpredCbp_unused(r32,v) _BFSET_(r32,15,13,v)
#define GET16IAcpredCbp_unused(r16) _BFGET_(r16,15,13)
#define SET16IAcpredCbp_unused(r16,v) _BFSET_(r16,15,13,v)
UNSG32 u_acPredFlag : 1;
UNSG32 u_cbpy : 12;
UNSG32 u_unused : 3;
///////////////////////////////////////////////////////////
} SIE_IAcpredCbp;
///////////////////////////////////////////////////////////
SIGN32 IAcpredCbp_drvrd(SIE_IAcpredCbp *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 IAcpredCbp_drvwr(SIE_IAcpredCbp *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void IAcpredCbp_reset(SIE_IAcpredCbp *p);
SIGN32 IAcpredCbp_cmp (SIE_IAcpredCbp *p, SIE_IAcpredCbp *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define IAcpredCbp_check(p,pie,pfx,hLOG) IAcpredCbp_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define IAcpredCbp_print(p, pfx,hLOG) IAcpredCbp_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: IAcpredCbp
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE PTypeMv (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 4 cbpc
/// %unsigned 3 mbtype
/// %unsigned 3 mv_num
/// %unsigned 1 not_coded
/// %unsigned 1 mcsel
/// %unsigned 4 unused
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_PTypeMv
#define h_PTypeMv (){}
#define BA_PTypeMv_cbpc 0x0000
#define B16PTypeMv_cbpc 0x0000
#define LSb32PTypeMv_cbpc 0
#define LSb16PTypeMv_cbpc 0
#define bPTypeMv_cbpc 4
#define MSK32PTypeMv_cbpc 0x0000000F
#define BA_PTypeMv_mbtype 0x0000
#define B16PTypeMv_mbtype 0x0000
#define LSb32PTypeMv_mbtype 4
#define LSb16PTypeMv_mbtype 4
#define bPTypeMv_mbtype 3
#define MSK32PTypeMv_mbtype 0x00000070
#define BA_PTypeMv_mv_num 0x0000
#define B16PTypeMv_mv_num 0x0000
#define LSb32PTypeMv_mv_num 7
#define LSb16PTypeMv_mv_num 7
#define bPTypeMv_mv_num 3
#define MSK32PTypeMv_mv_num 0x00000380
#define BA_PTypeMv_not_coded 0x0001
#define B16PTypeMv_not_coded 0x0000
#define LSb32PTypeMv_not_coded 10
#define LSb16PTypeMv_not_coded 10
#define bPTypeMv_not_coded 1
#define MSK32PTypeMv_not_coded 0x00000400
#define BA_PTypeMv_mcsel 0x0001
#define B16PTypeMv_mcsel 0x0000
#define LSb32PTypeMv_mcsel 11
#define LSb16PTypeMv_mcsel 11
#define bPTypeMv_mcsel 1
#define MSK32PTypeMv_mcsel 0x00000800
#define BA_PTypeMv_unused 0x0001
#define B16PTypeMv_unused 0x0000
#define LSb32PTypeMv_unused 12
#define LSb16PTypeMv_unused 12
#define bPTypeMv_unused 4
#define MSK32PTypeMv_unused 0x0000F000
///////////////////////////////////////////////////////////
typedef struct SIE_PTypeMv {
///////////////////////////////////////////////////////////
#define GET32PTypeMv_cbpc(r32) _BFGET_(r32, 3, 0)
#define SET32PTypeMv_cbpc(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16PTypeMv_cbpc(r16) _BFGET_(r16, 3, 0)
#define SET16PTypeMv_cbpc(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32PTypeMv_mbtype(r32) _BFGET_(r32, 6, 4)
#define SET32PTypeMv_mbtype(r32,v) _BFSET_(r32, 6, 4,v)
#define GET16PTypeMv_mbtype(r16) _BFGET_(r16, 6, 4)
#define SET16PTypeMv_mbtype(r16,v) _BFSET_(r16, 6, 4,v)
#define GET32PTypeMv_mv_num(r32) _BFGET_(r32, 9, 7)
#define SET32PTypeMv_mv_num(r32,v) _BFSET_(r32, 9, 7,v)
#define GET16PTypeMv_mv_num(r16) _BFGET_(r16, 9, 7)
#define SET16PTypeMv_mv_num(r16,v) _BFSET_(r16, 9, 7,v)
#define GET32PTypeMv_not_coded(r32) _BFGET_(r32,10,10)
#define SET32PTypeMv_not_coded(r32,v) _BFSET_(r32,10,10,v)
#define GET16PTypeMv_not_coded(r16) _BFGET_(r16,10,10)
#define SET16PTypeMv_not_coded(r16,v) _BFSET_(r16,10,10,v)
#define GET32PTypeMv_mcsel(r32) _BFGET_(r32,11,11)
#define SET32PTypeMv_mcsel(r32,v) _BFSET_(r32,11,11,v)
#define GET16PTypeMv_mcsel(r16) _BFGET_(r16,11,11)
#define SET16PTypeMv_mcsel(r16,v) _BFSET_(r16,11,11,v)
#define GET32PTypeMv_unused(r32) _BFGET_(r32,15,12)
#define SET32PTypeMv_unused(r32,v) _BFSET_(r32,15,12,v)
#define GET16PTypeMv_unused(r16) _BFGET_(r16,15,12)
#define SET16PTypeMv_unused(r16,v) _BFSET_(r16,15,12,v)
UNSG32 u_cbpc : 4;
UNSG32 u_mbtype : 3;
UNSG32 u_mv_num : 3;
UNSG32 u_not_coded : 1;
UNSG32 u_mcsel : 1;
UNSG32 u_unused : 4;
///////////////////////////////////////////////////////////
} SIE_PTypeMv;
///////////////////////////////////////////////////////////
SIGN32 PTypeMv_drvrd(SIE_PTypeMv *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 PTypeMv_drvwr(SIE_PTypeMv *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void PTypeMv_reset(SIE_PTypeMv *p);
SIGN32 PTypeMv_cmp (SIE_PTypeMv *p, SIE_PTypeMv *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define PTypeMv_check(p,pie,pfx,hLOG) PTypeMv_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define PTypeMv_print(p, pfx,hLOG) PTypeMv_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: PTypeMv
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE PAcpredCbp (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 acPredFlag
/// %unsigned 4 cbpy
/// %unsigned 5 qp
/// %unsigned 1 hasDc
/// %unsigned 5 unused
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_PAcpredCbp
#define h_PAcpredCbp (){}
#define BA_PAcpredCbp_acPredFlag 0x0000
#define B16PAcpredCbp_acPredFlag 0x0000
#define LSb32PAcpredCbp_acPredFlag 0
#define LSb16PAcpredCbp_acPredFlag 0
#define bPAcpredCbp_acPredFlag 1
#define MSK32PAcpredCbp_acPredFlag 0x00000001
#define BA_PAcpredCbp_cbpy 0x0000
#define B16PAcpredCbp_cbpy 0x0000
#define LSb32PAcpredCbp_cbpy 1
#define LSb16PAcpredCbp_cbpy 1
#define bPAcpredCbp_cbpy 4
#define MSK32PAcpredCbp_cbpy 0x0000001E
#define BA_PAcpredCbp_qp 0x0000
#define B16PAcpredCbp_qp 0x0000
#define LSb32PAcpredCbp_qp 5
#define LSb16PAcpredCbp_qp 5
#define bPAcpredCbp_qp 5
#define MSK32PAcpredCbp_qp 0x000003E0
#define BA_PAcpredCbp_hasDc 0x0001
#define B16PAcpredCbp_hasDc 0x0000
#define LSb32PAcpredCbp_hasDc 10
#define LSb16PAcpredCbp_hasDc 10
#define bPAcpredCbp_hasDc 1
#define MSK32PAcpredCbp_hasDc 0x00000400
#define BA_PAcpredCbp_unused 0x0001
#define B16PAcpredCbp_unused 0x0000
#define LSb32PAcpredCbp_unused 11
#define LSb16PAcpredCbp_unused 11
#define bPAcpredCbp_unused 5
#define MSK32PAcpredCbp_unused 0x0000F800
///////////////////////////////////////////////////////////
typedef struct SIE_PAcpredCbp {
///////////////////////////////////////////////////////////
#define GET32PAcpredCbp_acPredFlag(r32) _BFGET_(r32, 0, 0)
#define SET32PAcpredCbp_acPredFlag(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16PAcpredCbp_acPredFlag(r16) _BFGET_(r16, 0, 0)
#define SET16PAcpredCbp_acPredFlag(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32PAcpredCbp_cbpy(r32) _BFGET_(r32, 4, 1)
#define SET32PAcpredCbp_cbpy(r32,v) _BFSET_(r32, 4, 1,v)
#define GET16PAcpredCbp_cbpy(r16) _BFGET_(r16, 4, 1)
#define SET16PAcpredCbp_cbpy(r16,v) _BFSET_(r16, 4, 1,v)
#define GET32PAcpredCbp_qp(r32) _BFGET_(r32, 9, 5)
#define SET32PAcpredCbp_qp(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16PAcpredCbp_qp(r16) _BFGET_(r16, 9, 5)
#define SET16PAcpredCbp_qp(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32PAcpredCbp_hasDc(r32) _BFGET_(r32,10,10)
#define SET32PAcpredCbp_hasDc(r32,v) _BFSET_(r32,10,10,v)
#define GET16PAcpredCbp_hasDc(r16) _BFGET_(r16,10,10)
#define SET16PAcpredCbp_hasDc(r16,v) _BFSET_(r16,10,10,v)
#define GET32PAcpredCbp_unused(r32) _BFGET_(r32,15,11)
#define SET32PAcpredCbp_unused(r32,v) _BFSET_(r32,15,11,v)
#define GET16PAcpredCbp_unused(r16) _BFGET_(r16,15,11)
#define SET16PAcpredCbp_unused(r16,v) _BFSET_(r16,15,11,v)
UNSG32 u_acPredFlag : 1;
UNSG32 u_cbpy : 4;
UNSG32 u_qp : 5;
UNSG32 u_hasDc : 1;
UNSG32 u_unused : 5;
///////////////////////////////////////////////////////////
} SIE_PAcpredCbp;
///////////////////////////////////////////////////////////
SIGN32 PAcpredCbp_drvrd(SIE_PAcpredCbp *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 PAcpredCbp_drvwr(SIE_PAcpredCbp *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void PAcpredCbp_reset(SIE_PAcpredCbp *p);
SIGN32 PAcpredCbp_cmp (SIE_PAcpredCbp *p, SIE_PAcpredCbp *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define PAcpredCbp_check(p,pie,pfx,hLOG) PAcpredCbp_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define PAcpredCbp_print(p, pfx,hLOG) PAcpredCbp_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: PAcpredCbp
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE mp4HalData (4,4)
/// # # ----------------------------------------------------------
/// : stackPSER 0x2000
/// : stackSYNP 0x3000
/// @ 0x00000 (P)
/// # 0x00000 mbCtxQ
/// $MBCTXQ mbCtxQ REG
/// ###
/// * 8 bank MB context buffer
/// * Including history context in & out
/// ###
/// @ 0x00A10 (P)
/// # 0x00A10 mbpropQ
/// $MBPROP mbpropQ REG [8]
/// ###
/// * MB properties to syntax processor
/// * Also know as P3MsgQ:
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to vCache
/// ###
/// @ 0x00C10 (P)
/// # 0x00C10 ctxPSER
/// $CtxPSER ctxPSER REG
/// ###
/// * Context of stream parser
/// ###
/// @ 0x00C34 (W-)
/// # # Stuffing bytes...
/// %% 96
/// @ 0x00C40 (P)
/// # 0x00C40 ctxSYNP
/// $CtxSYNP ctxSYNP REG
/// ###
/// * Context of syntax processor
/// ###
/// @ 0x00C70 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00C78 (P)
/// # 0x00C78 tagDS
/// $LUT64b tagDS REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x00C80 (P)
/// # 0x00C80 DSMsgQ
/// $LUT64b DSMsgQ REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to data streamer
/// ###
/// @ 0x00D00 (P)
/// # 0x00D00 tCtxOut
/// $TCTX tCtxOut REG [2]
/// ###
/// * Temporal contexts (data streamer) output
/// ###
/// @ 0x00D40 (P)
/// # 0x00D40 tCtxIn
/// $TCTX tCtxIn REG [2]
/// ###
/// * Temporal contexts (data streamer) input
/// ###
/// @ 0x00D80 (P)
/// # 0x00D80 ctxMPGx
/// $CtxMPGx ctxMPGx REG
/// ###
/// * Common context of MPEGx and vc1
/// ###
/// @ 0x00D90 (P)
/// # 0x00D90 localPSER
/// $VSLocal localPSER REG
/// ###
/// * Local data area of stream parser
/// ###
/// @ 0x00E10 (P)
/// # 0x00E10 localSYNP
/// $VSLocal localSYNP REG
/// ###
/// * Local data area of syntax processor
/// ###
/// @ 0x00E90 (P)
/// # 0x00E90 gmcDSmsg
/// $DSmsg gmcDSmsg REG
/// @ 0x00E98 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00EA0 (P)
/// # 0x00EA0 gmcBitMapBuf
/// $LUT64b gmcBitMapBuf REG [4]
/// ###
/// * Local buff for gmc mb bit map
/// ###
/// @ 0x00EC0 (P)
/// # 0x00EC0 tagDS1
/// $LUT64b tagDS1 REG
/// @ 0x00EC8 (P)
/// # 0x00EC8 DpTemp2
/// $LUT64b DpTemp2 REG [16]
/// @ 0x00F48 (P)
/// # 0x00F48 cmdDS1
/// $LUT64b cmdDS1 REG
/// @ 0x00F50 (P)
/// # 0x00F50 DpTemp
/// $LUT64b DpTemp REG [16]
/// @ 0x00FD0 (P)
/// %unsigned 16 DpParam1
/// %unsigned 16 DpParam2
/// @ 0x00FD4 (P)
/// # 0x00FD4 dpTempData_addr
/// $LUT64b dpTempData_addr REG [2]
/// @ 0x00FE4 (W-)
/// # # Stuffing bytes...
/// %% 224
/// @ 0x01000 (P)
/// # 0x01000 P3TCQ
/// $LUT64b P3TCQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * TC queue to vpro.hbo to PCube
/// ###
/// @ 0x01400 (P)
/// # 0x01400 InvScan
/// $InvScanMPG InvScan REG
/// @ 0x01580 (P)
/// # 0x01580 intraQMatrix
/// $LUT64b intraQMatrix REG [24]
/// ###
/// * unsigned8 qintra[3][64]
/// * Intra quant matrix, combined with three scan mode: standard, horizontal,vertical zigzag.
/// ###
/// @ 0x01640 (P)
/// # 0x01640 interQMatrix
/// $LUT64b interQMatrix REG [24]
/// ###
/// * unsigned8 qinter[3][64]
/// * Inter quant matrix, combined with three scan mode: standard, horizontal,vertical zigzag.
/// ###
/// @ 0x01700 (P)
/// # 0x01700 PredBuf
/// $LUT64b PredBuf REG [16]
/// ###
/// * To check it is 128 byte aligned
/// ###
/// @ 0x01780 (P)
/// # 0x01780 DCScalarY
/// $LUT64b DCScalarY REG [4]
/// ###
/// * Cast to unsigned8 dcscalary[32]
/// * Refer to: Table 7-1 mpeg4 spec
/// ###
/// @ 0x017A0 (P)
/// # 0x017A0 DCScalarUV
/// $LUT64b DCScalarUV REG [4]
/// ###
/// * Cast to unsigned8 dcscalaruv[32]
/// ###
/// @ 0x017C0 (P)
/// # 0x017C0 gmcParam_x
/// $GMCParam gmcParam_x REG
/// @ 0x017E0 (P)
/// # 0x017E0 gmcParam_y
/// $GMCParam gmcParam_y REG
/// ###
/// * parameter set for GMC average mv calculation
/// ###
/// @ 0x01800 (P)
/// # 0x01800 frac_x_array
/// $LUT64b frac_x_array REG [64]
/// @ 0x01A00 (P)
/// # 0x01A00 frac_y_array
/// $LUT64b frac_y_array REG [64]
/// @ 0x01C00 (P)
/// # 0x01C00 mb_info_buf
/// $LUT64b mb_info_buf REG [64]
/// @ 0x01E00 (P)
/// # 0x01E00 fop_param
/// $LUT64b fop_param REG
/// ###
/// * Fop param include Alpha, Beta, C0
/// ###
/// @ 0x01E08 (P)
/// # 0x01E08 alpha_beta_C_tab
/// $LUT64b alpha_beta_C_tab REG [32]
/// ###
/// * Fop table include Alpha, Beta, C0
/// ###
/// @ 0x01F08 (P)
/// # 0x01F08 DSMsgQ1
/// $LUT64b DSMsgQ1 REG [16]
/// @ 0x01F88 (P)
/// %unsigned 32 Dp_temp_dc_mv_addr
/// @ 0x01F8C (W-)
/// # # Stuffing bytes...
/// %% 928
/// @ 0x02000 (P)
/// # 0x02000 REG
/// $LUT64b REG REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to PCube
/// ###
/// @ 0x02400 (P)
/// # 0x02400 P3FopQ
/// $LUT64b P3FopQ REG [64]
/// ###
/// * HBO FIFO (m2h):
/// * FOP queue to vpro.hbo to PCube
/// * End of mp4HalData
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 9728B, bits: 76412b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_mp4HalData
#define h_mp4HalData (){}
#define mp4HalData_stackPSER 0x2000
#define mp4HalData_stackSYNP 0x3000
///////////////////////////////////////////////////////////
#define RA_mp4HalData_mbCtxQ 0x0000
///////////////////////////////////////////////////////////
#define RA_mp4HalData_mbpropQ 0x0A10
///////////////////////////////////////////////////////////
#define RA_mp4HalData_ctxPSER 0x0C10
///////////////////////////////////////////////////////////
#define RA_mp4HalData_ctxSYNP 0x0C40
///////////////////////////////////////////////////////////
#define RA_mp4HalData_tagDS 0x0C78
///////////////////////////////////////////////////////////
#define RA_mp4HalData_DSMsgQ 0x0C80
///////////////////////////////////////////////////////////
#define RA_mp4HalData_tCtxOut 0x0D00
///////////////////////////////////////////////////////////
#define RA_mp4HalData_tCtxIn 0x0D40
///////////////////////////////////////////////////////////
#define RA_mp4HalData_ctxMPGx 0x0D80
///////////////////////////////////////////////////////////
#define RA_mp4HalData_localPSER 0x0D90
///////////////////////////////////////////////////////////
#define RA_mp4HalData_localSYNP 0x0E10
///////////////////////////////////////////////////////////
#define RA_mp4HalData_gmcDSmsg 0x0E90
///////////////////////////////////////////////////////////
#define RA_mp4HalData_gmcBitMapBuf 0x0EA0
///////////////////////////////////////////////////////////
#define RA_mp4HalData_tagDS1 0x0EC0
///////////////////////////////////////////////////////////
#define RA_mp4HalData_DpTemp2 0x0EC8
///////////////////////////////////////////////////////////
#define RA_mp4HalData_cmdDS1 0x0F48
///////////////////////////////////////////////////////////
#define RA_mp4HalData_DpTemp 0x0F50
///////////////////////////////////////////////////////////
#define BA_mp4HalData_DpParam1 0x0FD0
#define B16mp4HalData_DpParam1 0x0FD0
#define LSb32mp4HalData_DpParam1 0
#define LSb16mp4HalData_DpParam1 0
#define bmp4HalData_DpParam1 16
#define MSK32mp4HalData_DpParam1 0x0000FFFF
#define BA_mp4HalData_DpParam2 0x0FD2
#define B16mp4HalData_DpParam2 0x0FD2
#define LSb32mp4HalData_DpParam2 16
#define LSb16mp4HalData_DpParam2 0
#define bmp4HalData_DpParam2 16
#define MSK32mp4HalData_DpParam2 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_mp4HalData_dpTempData_addr 0x0FD4
///////////////////////////////////////////////////////////
#define RA_mp4HalData_P3TCQ 0x1000
///////////////////////////////////////////////////////////
#define RA_mp4HalData_InvScan 0x1400
///////////////////////////////////////////////////////////
#define RA_mp4HalData_intraQMatrix 0x1580
///////////////////////////////////////////////////////////
#define RA_mp4HalData_interQMatrix 0x1640
///////////////////////////////////////////////////////////
#define RA_mp4HalData_PredBuf 0x1700
///////////////////////////////////////////////////////////
#define RA_mp4HalData_DCScalarY 0x1780
///////////////////////////////////////////////////////////
#define RA_mp4HalData_DCScalarUV 0x17A0
///////////////////////////////////////////////////////////
#define RA_mp4HalData_gmcParam_x 0x17C0
///////////////////////////////////////////////////////////
#define RA_mp4HalData_gmcParam_y 0x17E0
///////////////////////////////////////////////////////////
#define RA_mp4HalData_frac_x_array 0x1800
///////////////////////////////////////////////////////////
#define RA_mp4HalData_frac_y_array 0x1A00
///////////////////////////////////////////////////////////
#define RA_mp4HalData_mb_info_buf 0x1C00
///////////////////////////////////////////////////////////
#define RA_mp4HalData_fop_param 0x1E00
///////////////////////////////////////////////////////////
#define RA_mp4HalData_alpha_beta_C_tab 0x1E08
///////////////////////////////////////////////////////////
#define RA_mp4HalData_DSMsgQ1 0x1F08
///////////////////////////////////////////////////////////
#define BA_mp4HalData_Dp_temp_dc_mv_addr 0x1F88
#define B16mp4HalData_Dp_temp_dc_mv_addr 0x1F88
#define LSb32mp4HalData_Dp_temp_dc_mv_addr 0
#define LSb16mp4HalData_Dp_temp_dc_mv_addr 0
#define bmp4HalData_Dp_temp_dc_mv_addr 32
#define MSK32mp4HalData_Dp_temp_dc_mv_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_mp4HalData_REG 0x2000
///////////////////////////////////////////////////////////
#define RA_mp4HalData_P3FopQ 0x2400
///////////////////////////////////////////////////////////
typedef struct SIE_mp4HalData {
///////////////////////////////////////////////////////////
SIE_MBCTXQ ie_mbCtxQ;
///////////////////////////////////////////////////////////
SIE_MBPROP ie_mbpropQ[8];
///////////////////////////////////////////////////////////
SIE_CtxPSER ie_ctxPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC34 [12];
///////////////////////////////////////////////////////////
SIE_CtxSYNP ie_ctxSYNP;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC70 [8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ[16];
///////////////////////////////////////////////////////////
SIE_TCTX ie_tCtxOut[2];
///////////////////////////////////////////////////////////
SIE_TCTX ie_tCtxIn[2];
///////////////////////////////////////////////////////////
SIE_CtxMPGx ie_ctxMPGx;
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localPSER;
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localSYNP;
///////////////////////////////////////////////////////////
SIE_DSmsg ie_gmcDSmsg;
///////////////////////////////////////////////////////////
UNSG8 RSVDxE98 [8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_gmcBitMapBuf[4];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS1;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DpTemp2[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_cmdDS1;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DpTemp[16];
///////////////////////////////////////////////////////////
#define GET32mp4HalData_DpParam1(r32) _BFGET_(r32,15, 0)
#define SET32mp4HalData_DpParam1(r32,v) _BFSET_(r32,15, 0,v)
#define GET16mp4HalData_DpParam1(r16) _BFGET_(r16,15, 0)
#define SET16mp4HalData_DpParam1(r16,v) _BFSET_(r16,15, 0,v)
#define GET32mp4HalData_DpParam2(r32) _BFGET_(r32,31,16)
#define SET32mp4HalData_DpParam2(r32,v) _BFSET_(r32,31,16,v)
#define GET16mp4HalData_DpParam2(r16) _BFGET_(r16,15, 0)
#define SET16mp4HalData_DpParam2(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_DpParam1 : 16;
UNSG32 u_DpParam2 : 16;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_dpTempData_addr[2];
///////////////////////////////////////////////////////////
UNSG8 RSVDxFE4 [28];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3TCQ[128];
///////////////////////////////////////////////////////////
SIE_InvScanMPG ie_InvScan;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_intraQMatrix[24];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_interQMatrix[24];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_PredBuf[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DCScalarY[4];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DCScalarUV[4];
///////////////////////////////////////////////////////////
SIE_GMCParam ie_gmcParam_x;
///////////////////////////////////////////////////////////
SIE_GMCParam ie_gmcParam_y;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_frac_x_array[64];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_frac_y_array[64];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_mb_info_buf[64];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_fop_param;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_alpha_beta_C_tab[32];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ1[16];
///////////////////////////////////////////////////////////
#define GET32mp4HalData_Dp_temp_dc_mv_addr(r32) _BFGET_(r32,31, 0)
#define SET32mp4HalData_Dp_temp_dc_mv_addr(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_Dp_temp_dc_mv_addr : 32;
///////////////////////////////////////////////////////////
UNSG8 RSVDx1F8C [116];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_REG[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3FopQ[64];
///////////////////////////////////////////////////////////
} SIE_mp4HalData;
///////////////////////////////////////////////////////////
SIGN32 mp4HalData_drvrd(SIE_mp4HalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 mp4HalData_drvwr(SIE_mp4HalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void mp4HalData_reset(SIE_mp4HalData *p);
SIGN32 mp4HalData_cmp (SIE_mp4HalData *p, SIE_mp4HalData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define mp4HalData_check(p,pie,pfx,hLOG) mp4HalData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define mp4HalData_print(p, pfx,hLOG) mp4HalData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: mp4HalData
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE jpegHalData (4,4)
/// # # ----------------------------------------------------------
/// : stackPSER 0x2000
/// : stackSYNP 0x3000
/// @ 0x00000 (P)
/// # 0x00000 localTCQ
/// $LUT64b localTCQ REG [256]
/// ###
/// * local FIFO:
/// * TC queue to FIGO[1] to FIGO[0].
/// ###
/// @ 0x00800 (P)
/// # 0x00800 AcVldTab0
/// $LUT64b AcVldTab0 REG [64]
/// ###
/// * Ac VLD lookup table 0
/// * 1 tables * 256 entrys * 2 bytes
/// ###
/// @ 0x00A00 (P)
/// # 0x00A00 AcVldTab1
/// $LUT64b AcVldTab1 REG [64]
/// ###
/// * Ac VLD lookup table 1
/// * 1 tables * 256 entrys * 2 bytes
/// ###
/// @ 0x00C00 (W-)
/// # # Stuffing bytes...
/// %% 128
/// @ 0x00C10 (P)
/// # 0x00C10 ctxPSER
/// $CtxPSER ctxPSER REG
/// ###
/// * Context of stream parser
/// ###
/// @ 0x00C34 (W-)
/// # # Stuffing bytes...
/// %% 96
/// @ 0x00C40 (P)
/// # 0x00C40 ctxSYNP
/// $CtxSYNP ctxSYNP REG
/// ###
/// * Context of syntax processor
/// ###
/// @ 0x00C70 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00C78 (P)
/// # 0x00C78 tagDS
/// $LUT64b tagDS REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x00C80 (P)
/// # 0x00C80 DSMsgQ
/// $LUT64b DSMsgQ REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to data streamer
/// ###
/// @ 0x00D00 (P)
/// # 0x00D00 mbpropQ
/// $MBPROPJPEG mbpropQ REG [8]
/// ###
/// * MB properties to syntax processor
/// * Also know as P3MsgQ:
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to vCache
/// ###
/// @ 0x00D40 (P)
/// # 0x00D40 localPSER
/// $VSLocal localPSER REG
/// ###
/// * Local data area of stream parser
/// ###
/// @ 0x00DC0 (P)
/// # 0x00DC0 InvScanTab1
/// $LUT64b InvScanTab1 REG [16]
/// ###
/// * Inverse scan table. For FIGO[1] if necessary.
/// ###
/// @ 0x00E40 (P)
/// # 0x00E40 ctxJPEG
/// $CtxJPEG ctxJPEG REG
/// ###
/// * Common context of JPEG
/// ###
/// @ 0x00EC0 (W-)
/// # # Stuffing bytes...
/// %% 2560
/// @ 0x01000 (P)
/// # 0x01000 P3TCQ
/// $LUT64b P3TCQ REG [256]
/// ###
/// * HBO FIFO (m2h):
/// * TC queue to vpro.hbo to PCube
/// ###
/// @ 0x01800 (P)
/// # 0x01800 DcVldTab0
/// $LUT64b DcVldTab0 REG [64]
/// ###
/// * Dc VLD lookup table 0.
/// * 1 tables * 256 entrys * 2 bytes.
/// ###
/// @ 0x01A00 (P)
/// # 0x01A00 DcVldTab1
/// $LUT64b DcVldTab1 REG [64]
/// ###
/// * Dc VLD lookup table 1.
/// * 1 tables * 256 entrys * 2 bytes.
/// ###
/// @ 0x01C00 (P)
/// # 0x01C00 DcHuffTab
/// $HuffCodeTab DcHuffTab REG [2]
/// ###
/// * Two dc tables for choice.
/// ###
/// @ 0x01C80 (P)
/// # 0x01C80 AcHuffTab
/// $HuffCodeTab AcHuffTab REG [2]
/// ###
/// * Two ac tables for choice in base-line.
/// ###
/// @ 0x01D00 (P)
/// # 0x01D00 DcSize
/// $LUT64b DcSize REG [4]
/// ###
/// * unsigned8 DcSizeTab[2][16].
/// ###
/// @ 0x01D20 (P)
/// # 0x01D20 AcEvent
/// $LUT64b AcEvent REG [64]
/// ###
/// * unsigned8 AcEventTab[2][256].
/// ###
/// @ 0x01F20 (W-)
/// # # Stuffing bytes...
/// %% 1792
/// @ 0x02000 (P)
/// # 0x02000 VCMsgQ
/// $LUT64b VCMsgQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to PCube
/// ###
/// @ 0x02400 (P)
/// # 0x02400 P3FopQ
/// $LUT64b P3FopQ REG [64]
/// ###
/// * HBO FIFO (m2h):
/// * FOP queue to vpro.hbo to PCube
/// ###
/// @ 0x02600 (P)
/// # 0x02600 InvScan
/// $LUT64b InvScan REG [16]
/// ###
/// * Inverse scan table for FIGO[0].
/// ###
/// @ 0x02680 (P)
/// # 0x02680 QMatrix
/// $LUT64b QMatrix REG [32]
/// ###
/// * unsigned8 qmatrix[4][64]
/// * Four quant matrix for JPEG.
/// ###
/// @ 0x02780 (P)
/// # 0x02780 localSYNP
/// $VSLocal localSYNP REG
/// ###
/// * Local data area of syntax processor.
/// * End of jpegHalData
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 10240B, bits: 77216b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_jpegHalData
#define h_jpegHalData (){}
#define jpegHalData_stackPSER 0x2000
#define jpegHalData_stackSYNP 0x3000
///////////////////////////////////////////////////////////
#define RA_jpegHalData_localTCQ 0x0000
///////////////////////////////////////////////////////////
#define RA_jpegHalData_AcVldTab0 0x0800
///////////////////////////////////////////////////////////
#define RA_jpegHalData_AcVldTab1 0x0A00
///////////////////////////////////////////////////////////
#define RA_jpegHalData_ctxPSER 0x0C10
///////////////////////////////////////////////////////////
#define RA_jpegHalData_ctxSYNP 0x0C40
///////////////////////////////////////////////////////////
#define RA_jpegHalData_tagDS 0x0C78
///////////////////////////////////////////////////////////
#define RA_jpegHalData_DSMsgQ 0x0C80
///////////////////////////////////////////////////////////
#define RA_jpegHalData_mbpropQ 0x0D00
///////////////////////////////////////////////////////////
#define RA_jpegHalData_localPSER 0x0D40
///////////////////////////////////////////////////////////
#define RA_jpegHalData_InvScanTab1 0x0DC0
///////////////////////////////////////////////////////////
#define RA_jpegHalData_ctxJPEG 0x0E40
///////////////////////////////////////////////////////////
#define RA_jpegHalData_P3TCQ 0x1000
///////////////////////////////////////////////////////////
#define RA_jpegHalData_DcVldTab0 0x1800
///////////////////////////////////////////////////////////
#define RA_jpegHalData_DcVldTab1 0x1A00
///////////////////////////////////////////////////////////
#define RA_jpegHalData_DcHuffTab 0x1C00
///////////////////////////////////////////////////////////
#define RA_jpegHalData_AcHuffTab 0x1C80
///////////////////////////////////////////////////////////
#define RA_jpegHalData_DcSize 0x1D00
///////////////////////////////////////////////////////////
#define RA_jpegHalData_AcEvent 0x1D20
///////////////////////////////////////////////////////////
#define RA_jpegHalData_VCMsgQ 0x2000
///////////////////////////////////////////////////////////
#define RA_jpegHalData_P3FopQ 0x2400
///////////////////////////////////////////////////////////
#define RA_jpegHalData_InvScan 0x2600
///////////////////////////////////////////////////////////
#define RA_jpegHalData_QMatrix 0x2680
///////////////////////////////////////////////////////////
#define RA_jpegHalData_localSYNP 0x2780
///////////////////////////////////////////////////////////
typedef struct SIE_jpegHalData {
///////////////////////////////////////////////////////////
SIE_LUT64b ie_localTCQ[256];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_AcVldTab0[64];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_AcVldTab1[64];
///////////////////////////////////////////////////////////
UNSG8 RSVDxC00 [16];
///////////////////////////////////////////////////////////
SIE_CtxPSER ie_ctxPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC34 [12];
///////////////////////////////////////////////////////////
SIE_CtxSYNP ie_ctxSYNP;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC70 [8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ[16];
///////////////////////////////////////////////////////////
SIE_MBPROPJPEG ie_mbpropQ[8];
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localPSER;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_InvScanTab1[16];
///////////////////////////////////////////////////////////
SIE_CtxJPEG ie_ctxJPEG;
///////////////////////////////////////////////////////////
UNSG8 RSVDxEC0 [320];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3TCQ[256];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DcVldTab0[64];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DcVldTab1[64];
///////////////////////////////////////////////////////////
SIE_HuffCodeTab ie_DcHuffTab[2];
///////////////////////////////////////////////////////////
SIE_HuffCodeTab ie_AcHuffTab[2];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DcSize[4];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_AcEvent[64];
///////////////////////////////////////////////////////////
UNSG8 RSVDx1F20 [224];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_VCMsgQ[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3FopQ[64];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_InvScan[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_QMatrix[32];
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localSYNP;
///////////////////////////////////////////////////////////
} SIE_jpegHalData;
///////////////////////////////////////////////////////////
SIGN32 jpegHalData_drvrd(SIE_jpegHalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 jpegHalData_drvwr(SIE_jpegHalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void jpegHalData_reset(SIE_jpegHalData *p);
SIGN32 jpegHalData_cmp (SIE_jpegHalData *p, SIE_jpegHalData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define jpegHalData_check(p,pie,pfx,hLOG) jpegHalData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define jpegHalData_print(p, pfx,hLOG) jpegHalData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: jpegHalData
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE VP6_MBMsg (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 mbprop
/// $MBPROP mbprop REG
/// ###
/// * Current MBPROP (64 bytes)
/// ###
/// @ 0x00040 (W-)
/// # # Stuffing bytes...
/// %% 512
/// @ 0x00080 (P)
/// # 0x00080 fctx
/// $FCTX fctx REG [5]
/// ###
/// * All the FCTX of current MB
/// ###
/// @ 0x000A8 (W-)
/// # # Stuffing bytes...
/// %% 704
/// @ 0x00100 (P)
/// # 0x00100 tc
/// $LUT64b tc REG [96]
/// ###
/// * Six 8x8 blocks TC coefficients
/// * End of vp6_FMOMBMsg
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 1024B, bits: 6976b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_VP6_MBMsg
#define h_VP6_MBMsg (){}
#define RA_VP6_MBMsg_mbprop 0x0000
///////////////////////////////////////////////////////////
#define RA_VP6_MBMsg_fctx 0x0080
///////////////////////////////////////////////////////////
#define RA_VP6_MBMsg_tc 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_VP6_MBMsg {
///////////////////////////////////////////////////////////
SIE_MBPROP ie_mbprop;
///////////////////////////////////////////////////////////
UNSG8 RSVDx40 [64];
///////////////////////////////////////////////////////////
SIE_FCTX ie_fctx[5];
///////////////////////////////////////////////////////////
UNSG8 RSVDxA8 [88];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tc[96];
///////////////////////////////////////////////////////////
} SIE_VP6_MBMsg;
///////////////////////////////////////////////////////////
SIGN32 VP6_MBMsg_drvrd(SIE_VP6_MBMsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 VP6_MBMsg_drvwr(SIE_VP6_MBMsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void VP6_MBMsg_reset(SIE_VP6_MBMsg *p);
SIGN32 VP6_MBMsg_cmp (SIE_VP6_MBMsg *p, SIE_VP6_MBMsg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define VP6_MBMsg_check(p,pie,pfx,hLOG) VP6_MBMsg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define VP6_MBMsg_print(p, pfx,hLOG) VP6_MBMsg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: VP6_MBMsg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vp6HalData (4,4)
/// # # ----------------------------------------------------------
/// : stackPSER 0x2000
/// : stackSYNP 0x3000
/// @ 0x00000 (P)
/// # 0x00000 mbCtxQ
/// $MBCTXQ mbCtxQ REG
/// ###
/// * 8 bank MB context buffer
/// * Including history context in & out
/// ###
/// @ 0x00A10 (P)
/// # 0x00A10 mbpropQ
/// $MBPROP mbpropQ REG [8]
/// ###
/// * MB properties to syntax processor
/// * Also know as P3MsgQ:
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to vCache
/// ###
/// @ 0x00C10 (P)
/// # 0x00C10 ctxPSER
/// $CtxPSER ctxPSER REG
/// ###
/// * Context of stream parser
/// ###
/// @ 0x00C34 (W-)
/// # # Stuffing bytes...
/// %% 96
/// @ 0x00C40 (P)
/// # 0x00C40 ctxSYNP
/// $CtxSYNP ctxSYNP REG
/// ###
/// * Context of syntax processor
/// ###
/// @ 0x00C70 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00C78 (P)
/// # 0x00C78 tagDS
/// $LUT64b tagDS REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x00C80 (P)
/// # 0x00C80 DSMsgQ
/// $LUT64b DSMsgQ REG [16]
/// ###
/// * HBO FIFO (h2m):
/// * vscope_dtcm to DDR (parser)
/// ###
/// @ 0x00D00 (P)
/// # 0x00D00 dsmsg0
/// $DSmsg dsmsg0 REG
/// ###
/// * Dsmsg for parser
/// ###
/// @ 0x00D08 (P)
/// # 0x00D08 dsmsg1
/// $DSmsg dsmsg1 REG
/// ###
/// * Dsmsg for synpro
/// ###
/// @ 0x00D10 (P)
/// # 0x00D10 tcSN
/// $LUT8b tcSN REG
/// ###
/// * 8x8blk tc counter in vp6_mb msg
/// ###
/// @ 0x00D14 (W-)
/// # # Stuffing bytes...
/// %% 5984
/// @ 0x01000 (P)
/// # 0x01000 P3TCQ
/// $LUT64b P3TCQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * TC queue to vpro.hbo to PCube
/// ###
/// @ 0x01400 (P)
/// # 0x01400 vp6_mbmsg0
/// $VP6_MBMsg vp6_mbmsg0 REG
/// ###
/// * parser output to DDR, including MBPROP/FCTX/TC, size is 1K bytes
/// ###
/// @ 0x01800 (P)
/// # 0x01800 DSMsgQ1
/// $LUT64b DSMsgQ1 REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * DDR to vscope_dtcm (synpro)
/// ###
/// @ 0x01880 (P)
/// # 0x01880 tagDS1
/// $LUT64b tagDS1 REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x01888 (W-)
/// # # Stuffing bytes...
/// %% 12224
/// @ 0x01E80 (P)
/// # 0x01E80 localPSER
/// $VSLocal localPSER REG
/// ###
/// * Local data area of stream parser
/// ###
/// @ 0x01F00 (W-)
/// # # Stuffing bytes...
/// %% 2048
/// @ 0x02000 (P)
/// # 0x02000 VCMsgQ
/// $LUT64b VCMsgQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to PCube
/// ###
/// @ 0x02400 (P)
/// # 0x02400 vp6_mbmsg1
/// $VP6_MBMsg vp6_mbmsg1 REG
/// ###
/// * DDR to synpro, including MBPROP/FCTX/TC, size is 1K bytes
/// ###
/// @ 0x02800 (P)
/// # 0x02800 vcmDesc
/// $VCMLUT vcmDesc REG
/// @ 0x02880 (W-)
/// # # Stuffing bytes...
/// %% 12288
/// @ 0x02E80 (P)
/// # 0x02E80 localSYNP
/// $VSLocal localSYNP REG
/// ###
/// * Local data area of syntax processor
/// * End of vp6HalData
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 12032B, bits: 61094b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vp6HalData
#define h_vp6HalData (){}
#define vp6HalData_stackPSER 0x2000
#define vp6HalData_stackSYNP 0x3000
///////////////////////////////////////////////////////////
#define RA_vp6HalData_mbCtxQ 0x0000
///////////////////////////////////////////////////////////
#define RA_vp6HalData_mbpropQ 0x0A10
///////////////////////////////////////////////////////////
#define RA_vp6HalData_ctxPSER 0x0C10
///////////////////////////////////////////////////////////
#define RA_vp6HalData_ctxSYNP 0x0C40
///////////////////////////////////////////////////////////
#define RA_vp6HalData_tagDS 0x0C78
///////////////////////////////////////////////////////////
#define RA_vp6HalData_DSMsgQ 0x0C80
///////////////////////////////////////////////////////////
#define RA_vp6HalData_dsmsg0 0x0D00
///////////////////////////////////////////////////////////
#define RA_vp6HalData_dsmsg1 0x0D08
///////////////////////////////////////////////////////////
#define RA_vp6HalData_tcSN 0x0D10
///////////////////////////////////////////////////////////
#define RA_vp6HalData_P3TCQ 0x1000
///////////////////////////////////////////////////////////
#define RA_vp6HalData_vp6_mbmsg0 0x1400
///////////////////////////////////////////////////////////
#define RA_vp6HalData_DSMsgQ1 0x1800
///////////////////////////////////////////////////////////
#define RA_vp6HalData_tagDS1 0x1880
///////////////////////////////////////////////////////////
#define RA_vp6HalData_localPSER 0x1E80
///////////////////////////////////////////////////////////
#define RA_vp6HalData_VCMsgQ 0x2000
///////////////////////////////////////////////////////////
#define RA_vp6HalData_vp6_mbmsg1 0x2400
///////////////////////////////////////////////////////////
#define RA_vp6HalData_vcmDesc 0x2800
///////////////////////////////////////////////////////////
#define RA_vp6HalData_localSYNP 0x2E80
///////////////////////////////////////////////////////////
typedef struct SIE_vp6HalData {
///////////////////////////////////////////////////////////
SIE_MBCTXQ ie_mbCtxQ;
///////////////////////////////////////////////////////////
SIE_MBPROP ie_mbpropQ[8];
///////////////////////////////////////////////////////////
SIE_CtxPSER ie_ctxPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC34 [12];
///////////////////////////////////////////////////////////
SIE_CtxSYNP ie_ctxSYNP;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC70 [8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ[16];
///////////////////////////////////////////////////////////
SIE_DSmsg ie_dsmsg0;
///////////////////////////////////////////////////////////
SIE_DSmsg ie_dsmsg1;
///////////////////////////////////////////////////////////
SIE_LUT8b ie_tcSN;
///////////////////////////////////////////////////////////
UNSG8 RSVDxD14 [748];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3TCQ[128];
///////////////////////////////////////////////////////////
SIE_VP6_MBMsg ie_vp6_mbmsg0;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ1[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS1;
///////////////////////////////////////////////////////////
UNSG8 RSVDx1888 [1528];
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDx1F00 [256];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_VCMsgQ[128];
///////////////////////////////////////////////////////////
SIE_VP6_MBMsg ie_vp6_mbmsg1;
///////////////////////////////////////////////////////////
SIE_VCMLUT ie_vcmDesc;
///////////////////////////////////////////////////////////
UNSG8 RSVDx2880 [1536];
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localSYNP;
///////////////////////////////////////////////////////////
} SIE_vp6HalData;
///////////////////////////////////////////////////////////
SIGN32 vp6HalData_drvrd(SIE_vp6HalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vp6HalData_drvwr(SIE_vp6HalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vp6HalData_reset(SIE_vp6HalData *p);
SIGN32 vp6HalData_cmp (SIE_vp6HalData *p, SIE_vp6HalData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vp6HalData_check(p,pie,pfx,hLOG) vp6HalData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vp6HalData_print(p, pfx,hLOG) vp6HalData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vp6HalData
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE rvHalData (4,4)
/// # # ----------------------------------------------------------
/// : stackPSER 0x2000
/// : stackSYNP 0x3000
/// @ 0x00000 (P)
/// # 0x00000 mbCtxQ
/// $MBCTXQ mbCtxQ REG
/// ###
/// * 8 bank MB context buffer
/// * Including history context in & out
/// ###
/// @ 0x00A10 (P)
/// # 0x00A10 mbpropQ
/// $MBPROP mbpropQ REG [8]
/// ###
/// * MB properties to syntax processor
/// * Also know as P3MsgQ:
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to vCache
/// ###
/// @ 0x00C10 (P)
/// # 0x00C10 ctxPSER
/// $CtxPSER ctxPSER REG
/// ###
/// * Context of stream parser
/// ###
/// @ 0x00C34 (W-)
/// # # Stuffing bytes...
/// %% 96
/// @ 0x00C40 (P)
/// # 0x00C40 ctxSYNP
/// $CtxSYNP ctxSYNP REG
/// ###
/// * Context of syntax processor
/// ###
/// @ 0x00C70 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00C78 (P)
/// # 0x00C78 tagDS
/// $LUT64b tagDS REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x00C80 (P)
/// # 0x00C80 DSMsgQ
/// $LUT64b DSMsgQ REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to data streamer
/// ###
/// @ 0x00D00 (P)
/// # 0x00D00 tCtxOut
/// $TCTX tCtxOut REG [2]
/// ###
/// * Temporal contexts (data streamer) output
/// ###
/// @ 0x00D40 (P)
/// # 0x00D40 tCtxIn
/// $TCTX tCtxIn REG [2]
/// ###
/// * Temporal contexts (data streamer) input
/// ###
/// @ 0x00D80 (P)
/// # 0x00D80 ctxMPGx
/// $CtxMPGx ctxMPGx REG
/// ###
/// * Common context of MPEGx and vc1
/// ###
/// @ 0x00D90 (P)
/// # 0x00D90 localPSER
/// $VSLocal localPSER REG
/// ###
/// * Local data area of stream parser
/// ###
/// @ 0x00E10 (P)
/// # 0x00E10 localSYNP
/// $VSLocal localSYNP REG
/// ###
/// * Local data area of syntax processor
/// ###
/// @ 0x00E90 (P)
/// # 0x00E90 rv8TypeTbl
/// $LUT64b rv8TypeTbl REG
/// ###
/// * Table for rv8 mb type decoding
/// ###
/// @ 0x00E98 (W-)
/// # # Stuffing bytes...
/// %% 2880
/// @ 0x01000 (P)
/// # 0x01000 P3TCQ
/// $LUT64b P3TCQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * TC queue to vpro.hbo to PCube
/// ###
/// @ 0x01400 (P)
/// # 0x01400 NlocCmd
/// $LUT64b NlocCmd REG [4]
/// ###
/// * Nloc Cmd array
/// ###
/// @ 0x01420 (P)
/// # 0x01420 FopBs
/// $LUT64b FopBs REG [8]
/// ###
/// * Fop bs array
/// ###
/// @ 0x01460 (P)
/// # 0x01460 BsTbl
/// $LUT64b BsTbl REG [4]
/// ###
/// * Bs = bstbl[qp]
/// ###
/// @ 0x01480 (P)
/// # 0x01480 Tab2Mode
/// $LUT64b Tab2Mode REG [128]
/// @ 0x01880 (P)
/// # 0x01880 TabDquantMQ
/// $LUT64b TabDquantMQ REG [16]
/// @ 0x01900 (P)
/// # 0x01900 TabIntraQp2Idx
/// $LUT64b TabIntraQp2Idx REG [8]
/// @ 0x01940 (P)
/// # 0x01940 TabInterQp2Idx
/// $LUT64b TabInterQp2Idx REG [8]
/// @ 0x01980 (P)
/// # 0x01980 TabChromaQp
/// $LUT64b TabChromaQp REG [8]
/// @ 0x019C0 (P)
/// # 0x019C0 TabChromaQpDc
/// $LUT64b TabChromaQpDc REG [8]
/// @ 0x01A00 (P)
/// # 0x01A00 TabLumaIntraQpDc
/// $LUT64b TabLumaIntraQpDc REG [8]
/// @ 0x01A40 (P)
/// # 0x01A40 TabLumaInterQpDc
/// $LUT64b TabLumaInterQpDc REG [8]
/// @ 0x01A80 (P)
/// # 0x01A80 TabRaster2Idx
/// $LUT64b TabRaster2Idx REG [4]
/// @ 0x01AA0 (P)
/// # 0x01AA0 TabCbpyMask
/// $LUT64b TabCbpyMask REG [4]
/// @ 0x01AC0 (P)
/// # 0x01AC0 TabCbpyMaskC
/// $LUT64b TabCbpyMaskC REG [2]
/// @ 0x01AD0 (P)
/// # 0x01AD0 TabMv
/// $LUT64b TabMv REG [2]
/// @ 0x01AE0 (P)
/// # 0x01AE0 Tab4x4map
/// $LUT64b Tab4x4map REG [4]
/// @ 0x01B00 (P)
/// # 0x01B00 VLCDecodeTable
/// $LUT64b VLCDecodeTable REG [32]
/// @ 0x01C00 (P)
/// # 0x01C00 IProbRV8
/// $LUT64b IProbRV8 REG [24]
/// @ 0x01CC0 (P)
/// # 0x01CC0 TabBquantTable
/// $LUT64b TabBquantTable REG [8]
/// @ 0x01D00 (W-)
/// # # Stuffing bytes...
/// %% 6144
/// @ 0x02000 (P)
/// # 0x02000 VCMsgQ
/// $LUT64b VCMsgQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to PCube
/// ###
/// @ 0x02400 (P)
/// # 0x02400 P3FopQ
/// $LUT64b P3FopQ REG [72]
/// ###
/// * HBO FIFO (m2h):
/// * FOP queue to vpro.hbo to PCube
/// * End of rvHalData
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 9792B, bits: 69116b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_rvHalData
#define h_rvHalData (){}
#define rvHalData_stackPSER 0x2000
#define rvHalData_stackSYNP 0x3000
///////////////////////////////////////////////////////////
#define RA_rvHalData_mbCtxQ 0x0000
///////////////////////////////////////////////////////////
#define RA_rvHalData_mbpropQ 0x0A10
///////////////////////////////////////////////////////////
#define RA_rvHalData_ctxPSER 0x0C10
///////////////////////////////////////////////////////////
#define RA_rvHalData_ctxSYNP 0x0C40
///////////////////////////////////////////////////////////
#define RA_rvHalData_tagDS 0x0C78
///////////////////////////////////////////////////////////
#define RA_rvHalData_DSMsgQ 0x0C80
///////////////////////////////////////////////////////////
#define RA_rvHalData_tCtxOut 0x0D00
///////////////////////////////////////////////////////////
#define RA_rvHalData_tCtxIn 0x0D40
///////////////////////////////////////////////////////////
#define RA_rvHalData_ctxMPGx 0x0D80
///////////////////////////////////////////////////////////
#define RA_rvHalData_localPSER 0x0D90
///////////////////////////////////////////////////////////
#define RA_rvHalData_localSYNP 0x0E10
///////////////////////////////////////////////////////////
#define RA_rvHalData_rv8TypeTbl 0x0E90
///////////////////////////////////////////////////////////
#define RA_rvHalData_P3TCQ 0x1000
///////////////////////////////////////////////////////////
#define RA_rvHalData_NlocCmd 0x1400
///////////////////////////////////////////////////////////
#define RA_rvHalData_FopBs 0x1420
///////////////////////////////////////////////////////////
#define RA_rvHalData_BsTbl 0x1460
///////////////////////////////////////////////////////////
#define RA_rvHalData_Tab2Mode 0x1480
///////////////////////////////////////////////////////////
#define RA_rvHalData_TabDquantMQ 0x1880
///////////////////////////////////////////////////////////
#define RA_rvHalData_TabIntraQp2Idx 0x1900
///////////////////////////////////////////////////////////
#define RA_rvHalData_TabInterQp2Idx 0x1940
///////////////////////////////////////////////////////////
#define RA_rvHalData_TabChromaQp 0x1980
///////////////////////////////////////////////////////////
#define RA_rvHalData_TabChromaQpDc 0x19C0
///////////////////////////////////////////////////////////
#define RA_rvHalData_TabLumaIntraQpDc 0x1A00
///////////////////////////////////////////////////////////
#define RA_rvHalData_TabLumaInterQpDc 0x1A40
///////////////////////////////////////////////////////////
#define RA_rvHalData_TabRaster2Idx 0x1A80
///////////////////////////////////////////////////////////
#define RA_rvHalData_TabCbpyMask 0x1AA0
///////////////////////////////////////////////////////////
#define RA_rvHalData_TabCbpyMaskC 0x1AC0
///////////////////////////////////////////////////////////
#define RA_rvHalData_TabMv 0x1AD0
///////////////////////////////////////////////////////////
#define RA_rvHalData_Tab4x4map 0x1AE0
///////////////////////////////////////////////////////////
#define RA_rvHalData_VLCDecodeTable 0x1B00
///////////////////////////////////////////////////////////
#define RA_rvHalData_IProbRV8 0x1C00
///////////////////////////////////////////////////////////
#define RA_rvHalData_TabBquantTable 0x1CC0
///////////////////////////////////////////////////////////
#define RA_rvHalData_VCMsgQ 0x2000
///////////////////////////////////////////////////////////
#define RA_rvHalData_P3FopQ 0x2400
///////////////////////////////////////////////////////////
typedef struct SIE_rvHalData {
///////////////////////////////////////////////////////////
SIE_MBCTXQ ie_mbCtxQ;
///////////////////////////////////////////////////////////
SIE_MBPROP ie_mbpropQ[8];
///////////////////////////////////////////////////////////
SIE_CtxPSER ie_ctxPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC34 [12];
///////////////////////////////////////////////////////////
SIE_CtxSYNP ie_ctxSYNP;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC70 [8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ[16];
///////////////////////////////////////////////////////////
SIE_TCTX ie_tCtxOut[2];
///////////////////////////////////////////////////////////
SIE_TCTX ie_tCtxIn[2];
///////////////////////////////////////////////////////////
SIE_CtxMPGx ie_ctxMPGx;
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localPSER;
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localSYNP;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_rv8TypeTbl;
///////////////////////////////////////////////////////////
UNSG8 RSVDxE98 [360];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3TCQ[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_NlocCmd[4];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_FopBs[8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_BsTbl[4];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_Tab2Mode[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_TabDquantMQ[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_TabIntraQp2Idx[8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_TabInterQp2Idx[8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_TabChromaQp[8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_TabChromaQpDc[8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_TabLumaIntraQpDc[8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_TabLumaInterQpDc[8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_TabRaster2Idx[4];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_TabCbpyMask[4];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_TabCbpyMaskC[2];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_TabMv[2];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_Tab4x4map[4];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_VLCDecodeTable[32];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_IProbRV8[24];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_TabBquantTable[8];
///////////////////////////////////////////////////////////
UNSG8 RSVDx1D00 [768];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_VCMsgQ[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3FopQ[72];
///////////////////////////////////////////////////////////
} SIE_rvHalData;
///////////////////////////////////////////////////////////
SIGN32 rvHalData_drvrd(SIE_rvHalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 rvHalData_drvwr(SIE_rvHalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void rvHalData_reset(SIE_rvHalData *p);
SIGN32 rvHalData_cmp (SIE_rvHalData *p, SIE_rvHalData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define rvHalData_check(p,pie,pfx,hLOG) rvHalData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define rvHalData_print(p, pfx,hLOG) rvHalData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: rvHalData
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE avsHalData (4,4)
/// # # ----------------------------------------------------------
/// : stackPSER 0x2000
/// : stackSYNP 0x3000
/// @ 0x00000 (P)
/// # 0x00000 mbCtxQ
/// $MBCTXQ mbCtxQ REG
/// ###
/// * 8 bank MB context buffer
/// * Including history context in & out
/// ###
/// @ 0x00A10 (P)
/// # 0x00A10 mbpropQ
/// $MBPROP mbpropQ REG [8]
/// ###
/// * MB properties to syntax processor
/// * Also know as P3MsgQ:
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to vCache
/// ###
/// @ 0x00C10 (P)
/// # 0x00C10 ctxPSER
/// $CtxPSER ctxPSER REG
/// ###
/// * Context of stream parser
/// ###
/// @ 0x00C34 (W-)
/// # # Stuffing bytes...
/// %% 96
/// @ 0x00C40 (P)
/// # 0x00C40 ctxSYNP
/// $CtxSYNP ctxSYNP REG
/// ###
/// * Context of syntax processor
/// ###
/// @ 0x00C70 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00C78 (P)
/// # 0x00C78 tagDS
/// $LUT64b tagDS REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x00C80 (P)
/// # 0x00C80 DSMsgQ
/// $LUT64b DSMsgQ REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to data streamer
/// ###
/// @ 0x00D00 (P)
/// # 0x00D00 tCtxOut
/// $TCTX tCtxOut REG [2]
/// ###
/// * Temporal contexts (data streamer) output
/// ###
/// @ 0x00D40 (P)
/// # 0x00D40 tCtxIn
/// $TCTX tCtxIn REG [2]
/// ###
/// * Temporal contexts (data streamer) input
/// ###
/// @ 0x00D80 (P)
/// # 0x00D80 ctxMPGx
/// $CtxMPGx ctxMPGx REG
/// ###
/// * Common context of MPEGx and vc1
/// ###
/// @ 0x00D90 (P)
/// # 0x00D90 localPSER
/// $VSLocal localPSER REG
/// ###
/// * Local data area of stream parser
/// ###
/// @ 0x00E10 (P)
/// # 0x00E10 localSYNP
/// $VSLocal localSYNP REG
/// ###
/// * Local data area of syntax processor
/// ###
/// @ 0x00E90 (W-)
/// # # Stuffing bytes...
/// %% 2944
/// @ 0x01000 (P)
/// # 0x01000 P3TCQ
/// $LUT64b P3TCQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * TC queue to vpro.hbo to PCube
/// ###
/// @ 0x01400 (P)
/// # 0x01400 DQCmdTable
/// $LUT64b DQCmdTable REG [32]
/// @ 0x01500 (P)
/// # 0x01500 IntraCbpTable
/// $LUT64b IntraCbpTable REG [8]
/// ###
/// * UNSG8 intra_cbp_table[64].
/// * Intra cbp = intra_cbp_table[codenum]
/// ###
/// @ 0x01540 (P)
/// # 0x01540 ChromaQPTable
/// $LUT64b ChromaQPTable REG [8]
/// ###
/// * UNSG8 chroma_qp_table[64]
/// * chroma qp = chroma_qp_table[qp]
/// ###
/// @ 0x01580 (P)
/// # 0x01580 BTPMTable
/// $LUT64b BTPMTable REG [7]
/// ###
/// * Type, parition, mv_num, motion, table for B picture
/// ###
/// @ 0x015B8 (P)
/// # 0x015B8 PTPMTable
/// $LUT64b PTPMTable REG
/// ###
/// * Type, parition, mv_num, table for P picture
/// ###
/// @ 0x015C0 (P)
/// # 0x015C0 RunLvlbuf
/// $LUT64b RunLvlbuf REG [65]
/// ###
/// * 64 pair of run level last plus EOB
/// ###
/// @ 0x017C8 (P)
/// # 0x017C8 SymMvScaler
/// $LUT64b SymMvScaler REG
/// ###
/// * UNSG32 SymBwScaler = SymMvScaler[fw_idx]
/// * fw_idx take 1 bit
/// ###
/// @ 0x017D0 (P)
/// # 0x017D0 BwMvScaler
/// $LUT64b BwMvScaler REG [2]
/// ###
/// * UNSG32 bwScaler = bwMvScaler[nidx*2+xidx]
/// * each idx take 1 bits
/// ###
/// @ 0x017E0 (P)
/// # 0x017E0 DirMvScaler
/// $LUT64b DirMvScaler REG [4]
/// ###
/// * [BlockDistanceFw, BlockDistanceBw, InvBlockDistanceRef, 0] = (UNSG 64) dirMvScaler[colocated_Idx];
/// * each idx take 2 bits
/// ###
/// @ 0x01800 (P)
/// # 0x01800 FwMvScaler
/// $LUT64b FwMvScaler REG [8]
/// ###
/// * UNSG32 fwScaler = fwMvScaler[nidx*4+xidx]
/// * each idx take 2 bits
/// ###
/// @ 0x01840 (P)
/// # 0x01840 IntraModeTab
/// $LUT64b IntraModeTab REG [16]
/// ###
/// * Table for intra pred mode look up
/// ###
/// @ 0x018C0 (P)
/// # 0x018C0 WpScaleShiftTab
/// $LUT64b WpScaleShiftTab REG [2]
/// @ 0x018D0 (P)
/// # 0x018D0 InvScan
/// $LUT64b InvScan REG [8]
/// @ 0x01910 (P)
/// # 0x01910 FldInvScan
/// $LUT64b FldInvScan REG [8]
/// @ 0x01950 (W-)
/// # # Stuffing bytes...
/// %% 13696
/// @ 0x02000 (P)
/// # 0x02000 VCMsgQ
/// $LUT64b VCMsgQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to PCube
/// ###
/// @ 0x02400 (P)
/// # 0x02400 P3FopQ
/// $LUT64b P3FopQ REG [64]
/// ###
/// * HBO FIFO (m2h):
/// * FOP queue to vpro.hbo to PCube
/// * End of mp4HalData
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 9728B, bits: 60988b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_avsHalData
#define h_avsHalData (){}
#define avsHalData_stackPSER 0x2000
#define avsHalData_stackSYNP 0x3000
///////////////////////////////////////////////////////////
#define RA_avsHalData_mbCtxQ 0x0000
///////////////////////////////////////////////////////////
#define RA_avsHalData_mbpropQ 0x0A10
///////////////////////////////////////////////////////////
#define RA_avsHalData_ctxPSER 0x0C10
///////////////////////////////////////////////////////////
#define RA_avsHalData_ctxSYNP 0x0C40
///////////////////////////////////////////////////////////
#define RA_avsHalData_tagDS 0x0C78
///////////////////////////////////////////////////////////
#define RA_avsHalData_DSMsgQ 0x0C80
///////////////////////////////////////////////////////////
#define RA_avsHalData_tCtxOut 0x0D00
///////////////////////////////////////////////////////////
#define RA_avsHalData_tCtxIn 0x0D40
///////////////////////////////////////////////////////////
#define RA_avsHalData_ctxMPGx 0x0D80
///////////////////////////////////////////////////////////
#define RA_avsHalData_localPSER 0x0D90
///////////////////////////////////////////////////////////
#define RA_avsHalData_localSYNP 0x0E10
///////////////////////////////////////////////////////////
#define RA_avsHalData_P3TCQ 0x1000
///////////////////////////////////////////////////////////
#define RA_avsHalData_DQCmdTable 0x1400
///////////////////////////////////////////////////////////
#define RA_avsHalData_IntraCbpTable 0x1500
///////////////////////////////////////////////////////////
#define RA_avsHalData_ChromaQPTable 0x1540
///////////////////////////////////////////////////////////
#define RA_avsHalData_BTPMTable 0x1580
///////////////////////////////////////////////////////////
#define RA_avsHalData_PTPMTable 0x15B8
///////////////////////////////////////////////////////////
#define RA_avsHalData_RunLvlbuf 0x15C0
///////////////////////////////////////////////////////////
#define RA_avsHalData_SymMvScaler 0x17C8
///////////////////////////////////////////////////////////
#define RA_avsHalData_BwMvScaler 0x17D0
///////////////////////////////////////////////////////////
#define RA_avsHalData_DirMvScaler 0x17E0
///////////////////////////////////////////////////////////
#define RA_avsHalData_FwMvScaler 0x1800
///////////////////////////////////////////////////////////
#define RA_avsHalData_IntraModeTab 0x1840
///////////////////////////////////////////////////////////
#define RA_avsHalData_WpScaleShiftTab 0x18C0
///////////////////////////////////////////////////////////
#define RA_avsHalData_InvScan 0x18D0
///////////////////////////////////////////////////////////
#define RA_avsHalData_FldInvScan 0x1910
///////////////////////////////////////////////////////////
#define RA_avsHalData_VCMsgQ 0x2000
///////////////////////////////////////////////////////////
#define RA_avsHalData_P3FopQ 0x2400
///////////////////////////////////////////////////////////
typedef struct SIE_avsHalData {
///////////////////////////////////////////////////////////
SIE_MBCTXQ ie_mbCtxQ;
///////////////////////////////////////////////////////////
SIE_MBPROP ie_mbpropQ[8];
///////////////////////////////////////////////////////////
SIE_CtxPSER ie_ctxPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC34 [12];
///////////////////////////////////////////////////////////
SIE_CtxSYNP ie_ctxSYNP;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC70 [8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ[16];
///////////////////////////////////////////////////////////
SIE_TCTX ie_tCtxOut[2];
///////////////////////////////////////////////////////////
SIE_TCTX ie_tCtxIn[2];
///////////////////////////////////////////////////////////
SIE_CtxMPGx ie_ctxMPGx;
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localPSER;
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localSYNP;
///////////////////////////////////////////////////////////
UNSG8 RSVDxE90 [368];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3TCQ[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DQCmdTable[32];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_IntraCbpTable[8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_ChromaQPTable[8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_BTPMTable[7];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_PTPMTable;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RunLvlbuf[65];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_SymMvScaler;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_BwMvScaler[2];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DirMvScaler[4];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_FwMvScaler[8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_IntraModeTab[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_WpScaleShiftTab[2];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_InvScan[8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_FldInvScan[8];
///////////////////////////////////////////////////////////
UNSG8 RSVDx1950 [1712];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_VCMsgQ[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3FopQ[64];
///////////////////////////////////////////////////////////
} SIE_avsHalData;
///////////////////////////////////////////////////////////
SIGN32 avsHalData_drvrd(SIE_avsHalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 avsHalData_drvwr(SIE_avsHalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void avsHalData_reset(SIE_avsHalData *p);
SIGN32 avsHalData_cmp (SIE_avsHalData *p, SIE_avsHalData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define avsHalData_check(p,pie,pfx,hLOG) avsHalData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define avsHalData_print(p, pfx,hLOG) avsHalData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: avsHalData
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE temp (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 16 v_0i
/// %unsigned 16 v_1i
/// %unsigned 16 v_2i
/// %unsigned 16 v_3i
/// %unsigned 16 v_4i
/// %unsigned 16 v_5i
/// %unsigned 16 v_6i
/// %unsigned 16 v_7i
/// %unsigned 16 v_8i
/// %unsigned 16 v_9i
/// %unsigned 16 v_10i
/// %unsigned 16 v_11i
/// %unsigned 16 v_12i
/// %unsigned 16 v_13i
/// %unsigned 16 v_14i
/// %unsigned 16 v_15i
/// %unsigned 16 v_16i
/// %unsigned 16 v_17i
/// %unsigned 16 v_18i
/// %unsigned 16 v_19i
/// %unsigned 16 v_20i
/// %unsigned 16 v_21i
/// %unsigned 16 v_22i
/// %unsigned 16 v_23i
/// %unsigned 16 v_24i
/// %unsigned 16 v_25i
/// %unsigned 16 v_26i
/// %unsigned 16 v_27i
/// %unsigned 16 v_28i
/// %unsigned 16 v_29i
/// %unsigned 16 v_30i
/// %unsigned 16 v_31i
/// %unsigned 16 v_32i
/// %unsigned 16 v_33i
/// %unsigned 16 v_34i
/// %unsigned 16 v_35i
/// %unsigned 16 v_36i
/// %unsigned 16 v_37i
/// %unsigned 16 v_38i
/// %unsigned 16 v_39i
/// %unsigned 16 v_40i
/// %unsigned 16 v_41i
/// %unsigned 16 v_42i
/// %unsigned 16 v_43i
/// %unsigned 16 v_44i
/// %unsigned 16 v_45i
/// %unsigned 16 v_46i
/// %unsigned 16 v_47i
/// %unsigned 16 v_48i
/// %unsigned 16 v_49i
/// %unsigned 16 v_50i
/// %unsigned 16 v_51i
/// %unsigned 16 v_52i
/// %unsigned 16 v_53i
/// %unsigned 16 v_54i
/// %unsigned 16 v_55i
/// %unsigned 16 v_56i
/// %unsigned 16 v_57i
/// %unsigned 16 v_58i
/// %unsigned 16 v_59i
/// %unsigned 16 v_60i
/// %unsigned 16 v_61i
/// %unsigned 16 v_62i
/// %unsigned 16 v_63i
/// %unsigned 16 v_64i
/// %unsigned 16 v_65i
/// %unsigned 16 v_66i
/// %unsigned 16 v_67i
/// %unsigned 16 v_68i
/// %unsigned 16 v_69i
/// %unsigned 16 v_70i
/// %unsigned 16 v_71i
/// %unsigned 16 v_72i
/// %unsigned 16 v_73i
/// %unsigned 16 v_74i
/// %unsigned 16 v_75i
/// %unsigned 16 v_76i
/// %unsigned 16 v_77i
/// %unsigned 16 v_78i
/// %unsigned 16 v_79i
/// %unsigned 16 v_80i
/// %unsigned 16 v_81i
/// %unsigned 16 v_82i
/// %unsigned 16 v_83i
/// %unsigned 16 v_84i
/// %unsigned 16 v_85i
/// %unsigned 16 v_86i
/// %unsigned 16 v_87i
/// %unsigned 16 v_88i
/// %unsigned 16 v_89i
/// %unsigned 16 v_90i
/// %unsigned 16 v_91i
/// %unsigned 16 v_92i
/// %unsigned 16 v_93i
/// %unsigned 16 v_94i
/// %unsigned 16 v_95i
/// %unsigned 16 v_96i
/// %unsigned 16 v_97i
/// %unsigned 16 v_98i
/// %unsigned 16 v_99i
/// %unsigned 16 v_100i
/// %unsigned 16 v_101i
/// %unsigned 16 v_102i
/// %unsigned 16 v_103i
/// %unsigned 16 v_104i
/// %unsigned 16 v_105i
/// %unsigned 16 v_106i
/// %unsigned 16 v_107i
/// %unsigned 16 v_108i
/// %unsigned 16 v_109i
/// %unsigned 16 v_110i
/// %unsigned 16 v_111i
/// %unsigned 16 v_112i
/// %unsigned 16 v_113i
/// %unsigned 16 v_114i
/// %unsigned 16 v_115i
/// %unsigned 16 v_116i
/// %unsigned 16 v_117i
/// %unsigned 16 v_118i
/// %unsigned 16 v_119i
/// %unsigned 16 v_120i
/// %unsigned 16 v_121i
/// %unsigned 16 v_122i
/// %unsigned 16 v_123i
/// %unsigned 16 v_124i
/// %unsigned 16 v_125i
/// %unsigned 16 v_126i
/// %unsigned 16 v_127i
/// %unsigned 16 v_128i
/// %unsigned 16 v_129i
/// %unsigned 16 v_130i
/// %unsigned 16 v_131i
/// %unsigned 16 v_132i
/// %unsigned 16 v_133i
/// %unsigned 16 v_134i
/// %unsigned 16 v_135i
/// %unsigned 16 v_136i
/// %unsigned 16 v_137i
/// %unsigned 16 v_138i
/// %unsigned 16 v_139i
/// %unsigned 16 v_140i
/// %unsigned 16 v_141i
/// %unsigned 16 v_142i
/// %unsigned 16 v_143i
/// %unsigned 16 v_144i
/// %unsigned 16 v_145i
/// %unsigned 16 v_146i
/// %unsigned 16 v_147i
/// %unsigned 16 v_148i
/// %unsigned 16 v_149i
/// %unsigned 16 v_150i
/// %unsigned 16 v_151i
/// %unsigned 16 v_152i
/// %unsigned 16 v_153i
/// %unsigned 16 v_154i
/// %unsigned 16 v_155i
/// %unsigned 16 v_156i
/// %unsigned 16 v_157i
/// %unsigned 16 v_158i
/// %unsigned 16 v_159i
/// %unsigned 16 v_160i
/// %unsigned 16 v_161i
/// %unsigned 16 v_162i
/// %unsigned 16 v_163i
/// %unsigned 16 v_164i
/// %unsigned 16 v_165i
/// %unsigned 16 v_166i
/// %unsigned 16 v_167i
/// %unsigned 16 v_168i
/// %unsigned 16 v_169i
/// %unsigned 16 v_170i
/// %unsigned 16 v_171i
/// %unsigned 16 v_172i
/// %unsigned 16 v_173i
/// %unsigned 16 v_174i
/// %unsigned 16 v_175i
/// %unsigned 16 v_176i
/// %unsigned 16 v_177i
/// %unsigned 16 v_178i
/// %unsigned 16 v_179i
/// %unsigned 16 v_180i
/// %unsigned 16 v_181i
/// %unsigned 16 v_182i
/// %unsigned 16 v_183i
/// %unsigned 16 v_184i
/// %unsigned 16 v_185i
/// %unsigned 16 v_186i
/// %unsigned 16 v_187i
/// %unsigned 16 v_188i
/// %unsigned 16 v_189i
/// %unsigned 16 v_190i
/// %unsigned 16 v_191i
/// %unsigned 16 v_192i
/// %unsigned 16 v_193i
/// %unsigned 16 v_194i
/// %unsigned 16 v_195i
/// %unsigned 16 v_196i
/// %unsigned 16 v_197i
/// %unsigned 16 v_198i
/// %unsigned 16 v_199i
/// %unsigned 16 v_200i
/// %unsigned 16 v_201i
/// %unsigned 16 v_202i
/// %unsigned 16 v_203i
/// %unsigned 16 v_204i
/// %unsigned 16 v_205i
/// %unsigned 16 v_206i
/// %unsigned 16 v_207i
/// %unsigned 16 v_208i
/// %unsigned 16 v_209i
/// %unsigned 16 v_210i
/// %unsigned 16 v_211i
/// %unsigned 16 v_212i
/// %unsigned 16 v_213i
/// %unsigned 16 v_214i
/// %unsigned 16 v_215i
/// %unsigned 16 v_216i
/// %unsigned 16 v_217i
/// %unsigned 16 v_218i
/// %unsigned 16 v_219i
/// %unsigned 16 v_220i
/// %unsigned 16 v_221i
/// %unsigned 16 v_222i
/// %unsigned 16 v_223i
/// %unsigned 16 v_224i
/// %unsigned 16 v_225i
/// %unsigned 16 v_226i
/// %unsigned 16 v_227i
/// %unsigned 16 v_228i
/// %unsigned 16 v_229i
/// %unsigned 16 v_230i
/// %unsigned 16 v_231i
/// %unsigned 16 v_232i
/// %unsigned 16 v_233i
/// %unsigned 16 v_234i
/// %unsigned 16 v_235i
/// %unsigned 16 v_236i
/// %unsigned 16 v_237i
/// %unsigned 16 v_238i
/// %unsigned 16 v_239i
/// %unsigned 16 v_240i
/// %unsigned 16 v_241i
/// %unsigned 16 v_242i
/// %unsigned 16 v_243i
/// %unsigned 16 v_244i
/// %unsigned 16 v_245i
/// %unsigned 16 v_246i
/// %unsigned 16 v_247i
/// %unsigned 16 v_248i
/// %unsigned 16 v_249i
/// %unsigned 16 v_250i
/// %unsigned 16 v_251i
/// %unsigned 16 v_252i
/// %unsigned 16 v_253i
/// %unsigned 16 v_254i
/// %unsigned 16 v_255i
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_temp
#define h_temp (){}
#define BA_temp_v_0i 0x0000
#define B16temp_v_0i 0x0000
#define LSb32temp_v_0i 0
#define LSb16temp_v_0i 0
#define btemp_v_0i 16
#define MSK32temp_v_0i 0x0000FFFF
#define BA_temp_v_1i 0x0002
#define B16temp_v_1i 0x0002
#define LSb32temp_v_1i 16
#define LSb16temp_v_1i 0
#define btemp_v_1i 16
#define MSK32temp_v_1i 0xFFFF0000
#define BA_temp_v_2i 0x0004
#define B16temp_v_2i 0x0004
#define LSb32temp_v_2i 0
#define LSb16temp_v_2i 0
#define btemp_v_2i 16
#define MSK32temp_v_2i 0x0000FFFF
#define BA_temp_v_3i 0x0006
#define B16temp_v_3i 0x0006
#define LSb32temp_v_3i 16
#define LSb16temp_v_3i 0
#define btemp_v_3i 16
#define MSK32temp_v_3i 0xFFFF0000
#define BA_temp_v_4i 0x0008
#define B16temp_v_4i 0x0008
#define LSb32temp_v_4i 0
#define LSb16temp_v_4i 0
#define btemp_v_4i 16
#define MSK32temp_v_4i 0x0000FFFF
#define BA_temp_v_5i 0x000A
#define B16temp_v_5i 0x000A
#define LSb32temp_v_5i 16
#define LSb16temp_v_5i 0
#define btemp_v_5i 16
#define MSK32temp_v_5i 0xFFFF0000
#define BA_temp_v_6i 0x000C
#define B16temp_v_6i 0x000C
#define LSb32temp_v_6i 0
#define LSb16temp_v_6i 0
#define btemp_v_6i 16
#define MSK32temp_v_6i 0x0000FFFF
#define BA_temp_v_7i 0x000E
#define B16temp_v_7i 0x000E
#define LSb32temp_v_7i 16
#define LSb16temp_v_7i 0
#define btemp_v_7i 16
#define MSK32temp_v_7i 0xFFFF0000
#define BA_temp_v_8i 0x0010
#define B16temp_v_8i 0x0010
#define LSb32temp_v_8i 0
#define LSb16temp_v_8i 0
#define btemp_v_8i 16
#define MSK32temp_v_8i 0x0000FFFF
#define BA_temp_v_9i 0x0012
#define B16temp_v_9i 0x0012
#define LSb32temp_v_9i 16
#define LSb16temp_v_9i 0
#define btemp_v_9i 16
#define MSK32temp_v_9i 0xFFFF0000
#define BA_temp_v_10i 0x0014
#define B16temp_v_10i 0x0014
#define LSb32temp_v_10i 0
#define LSb16temp_v_10i 0
#define btemp_v_10i 16
#define MSK32temp_v_10i 0x0000FFFF
#define BA_temp_v_11i 0x0016
#define B16temp_v_11i 0x0016
#define LSb32temp_v_11i 16
#define LSb16temp_v_11i 0
#define btemp_v_11i 16
#define MSK32temp_v_11i 0xFFFF0000
#define BA_temp_v_12i 0x0018
#define B16temp_v_12i 0x0018
#define LSb32temp_v_12i 0
#define LSb16temp_v_12i 0
#define btemp_v_12i 16
#define MSK32temp_v_12i 0x0000FFFF
#define BA_temp_v_13i 0x001A
#define B16temp_v_13i 0x001A
#define LSb32temp_v_13i 16
#define LSb16temp_v_13i 0
#define btemp_v_13i 16
#define MSK32temp_v_13i 0xFFFF0000
#define BA_temp_v_14i 0x001C
#define B16temp_v_14i 0x001C
#define LSb32temp_v_14i 0
#define LSb16temp_v_14i 0
#define btemp_v_14i 16
#define MSK32temp_v_14i 0x0000FFFF
#define BA_temp_v_15i 0x001E
#define B16temp_v_15i 0x001E
#define LSb32temp_v_15i 16
#define LSb16temp_v_15i 0
#define btemp_v_15i 16
#define MSK32temp_v_15i 0xFFFF0000
#define BA_temp_v_16i 0x0020
#define B16temp_v_16i 0x0020
#define LSb32temp_v_16i 0
#define LSb16temp_v_16i 0
#define btemp_v_16i 16
#define MSK32temp_v_16i 0x0000FFFF
#define BA_temp_v_17i 0x0022
#define B16temp_v_17i 0x0022
#define LSb32temp_v_17i 16
#define LSb16temp_v_17i 0
#define btemp_v_17i 16
#define MSK32temp_v_17i 0xFFFF0000
#define BA_temp_v_18i 0x0024
#define B16temp_v_18i 0x0024
#define LSb32temp_v_18i 0
#define LSb16temp_v_18i 0
#define btemp_v_18i 16
#define MSK32temp_v_18i 0x0000FFFF
#define BA_temp_v_19i 0x0026
#define B16temp_v_19i 0x0026
#define LSb32temp_v_19i 16
#define LSb16temp_v_19i 0
#define btemp_v_19i 16
#define MSK32temp_v_19i 0xFFFF0000
#define BA_temp_v_20i 0x0028
#define B16temp_v_20i 0x0028
#define LSb32temp_v_20i 0
#define LSb16temp_v_20i 0
#define btemp_v_20i 16
#define MSK32temp_v_20i 0x0000FFFF
#define BA_temp_v_21i 0x002A
#define B16temp_v_21i 0x002A
#define LSb32temp_v_21i 16
#define LSb16temp_v_21i 0
#define btemp_v_21i 16
#define MSK32temp_v_21i 0xFFFF0000
#define BA_temp_v_22i 0x002C
#define B16temp_v_22i 0x002C
#define LSb32temp_v_22i 0
#define LSb16temp_v_22i 0
#define btemp_v_22i 16
#define MSK32temp_v_22i 0x0000FFFF
#define BA_temp_v_23i 0x002E
#define B16temp_v_23i 0x002E
#define LSb32temp_v_23i 16
#define LSb16temp_v_23i 0
#define btemp_v_23i 16
#define MSK32temp_v_23i 0xFFFF0000
#define BA_temp_v_24i 0x0030
#define B16temp_v_24i 0x0030
#define LSb32temp_v_24i 0
#define LSb16temp_v_24i 0
#define btemp_v_24i 16
#define MSK32temp_v_24i 0x0000FFFF
#define BA_temp_v_25i 0x0032
#define B16temp_v_25i 0x0032
#define LSb32temp_v_25i 16
#define LSb16temp_v_25i 0
#define btemp_v_25i 16
#define MSK32temp_v_25i 0xFFFF0000
#define BA_temp_v_26i 0x0034
#define B16temp_v_26i 0x0034
#define LSb32temp_v_26i 0
#define LSb16temp_v_26i 0
#define btemp_v_26i 16
#define MSK32temp_v_26i 0x0000FFFF
#define BA_temp_v_27i 0x0036
#define B16temp_v_27i 0x0036
#define LSb32temp_v_27i 16
#define LSb16temp_v_27i 0
#define btemp_v_27i 16
#define MSK32temp_v_27i 0xFFFF0000
#define BA_temp_v_28i 0x0038
#define B16temp_v_28i 0x0038
#define LSb32temp_v_28i 0
#define LSb16temp_v_28i 0
#define btemp_v_28i 16
#define MSK32temp_v_28i 0x0000FFFF
#define BA_temp_v_29i 0x003A
#define B16temp_v_29i 0x003A
#define LSb32temp_v_29i 16
#define LSb16temp_v_29i 0
#define btemp_v_29i 16
#define MSK32temp_v_29i 0xFFFF0000
#define BA_temp_v_30i 0x003C
#define B16temp_v_30i 0x003C
#define LSb32temp_v_30i 0
#define LSb16temp_v_30i 0
#define btemp_v_30i 16
#define MSK32temp_v_30i 0x0000FFFF
#define BA_temp_v_31i 0x003E
#define B16temp_v_31i 0x003E
#define LSb32temp_v_31i 16
#define LSb16temp_v_31i 0
#define btemp_v_31i 16
#define MSK32temp_v_31i 0xFFFF0000
#define BA_temp_v_32i 0x0040
#define B16temp_v_32i 0x0040
#define LSb32temp_v_32i 0
#define LSb16temp_v_32i 0
#define btemp_v_32i 16
#define MSK32temp_v_32i 0x0000FFFF
#define BA_temp_v_33i 0x0042
#define B16temp_v_33i 0x0042
#define LSb32temp_v_33i 16
#define LSb16temp_v_33i 0
#define btemp_v_33i 16
#define MSK32temp_v_33i 0xFFFF0000
#define BA_temp_v_34i 0x0044
#define B16temp_v_34i 0x0044
#define LSb32temp_v_34i 0
#define LSb16temp_v_34i 0
#define btemp_v_34i 16
#define MSK32temp_v_34i 0x0000FFFF
#define BA_temp_v_35i 0x0046
#define B16temp_v_35i 0x0046
#define LSb32temp_v_35i 16
#define LSb16temp_v_35i 0
#define btemp_v_35i 16
#define MSK32temp_v_35i 0xFFFF0000
#define BA_temp_v_36i 0x0048
#define B16temp_v_36i 0x0048
#define LSb32temp_v_36i 0
#define LSb16temp_v_36i 0
#define btemp_v_36i 16
#define MSK32temp_v_36i 0x0000FFFF
#define BA_temp_v_37i 0x004A
#define B16temp_v_37i 0x004A
#define LSb32temp_v_37i 16
#define LSb16temp_v_37i 0
#define btemp_v_37i 16
#define MSK32temp_v_37i 0xFFFF0000
#define BA_temp_v_38i 0x004C
#define B16temp_v_38i 0x004C
#define LSb32temp_v_38i 0
#define LSb16temp_v_38i 0
#define btemp_v_38i 16
#define MSK32temp_v_38i 0x0000FFFF
#define BA_temp_v_39i 0x004E
#define B16temp_v_39i 0x004E
#define LSb32temp_v_39i 16
#define LSb16temp_v_39i 0
#define btemp_v_39i 16
#define MSK32temp_v_39i 0xFFFF0000
#define BA_temp_v_40i 0x0050
#define B16temp_v_40i 0x0050
#define LSb32temp_v_40i 0
#define LSb16temp_v_40i 0
#define btemp_v_40i 16
#define MSK32temp_v_40i 0x0000FFFF
#define BA_temp_v_41i 0x0052
#define B16temp_v_41i 0x0052
#define LSb32temp_v_41i 16
#define LSb16temp_v_41i 0
#define btemp_v_41i 16
#define MSK32temp_v_41i 0xFFFF0000
#define BA_temp_v_42i 0x0054
#define B16temp_v_42i 0x0054
#define LSb32temp_v_42i 0
#define LSb16temp_v_42i 0
#define btemp_v_42i 16
#define MSK32temp_v_42i 0x0000FFFF
#define BA_temp_v_43i 0x0056
#define B16temp_v_43i 0x0056
#define LSb32temp_v_43i 16
#define LSb16temp_v_43i 0
#define btemp_v_43i 16
#define MSK32temp_v_43i 0xFFFF0000
#define BA_temp_v_44i 0x0058
#define B16temp_v_44i 0x0058
#define LSb32temp_v_44i 0
#define LSb16temp_v_44i 0
#define btemp_v_44i 16
#define MSK32temp_v_44i 0x0000FFFF
#define BA_temp_v_45i 0x005A
#define B16temp_v_45i 0x005A
#define LSb32temp_v_45i 16
#define LSb16temp_v_45i 0
#define btemp_v_45i 16
#define MSK32temp_v_45i 0xFFFF0000
#define BA_temp_v_46i 0x005C
#define B16temp_v_46i 0x005C
#define LSb32temp_v_46i 0
#define LSb16temp_v_46i 0
#define btemp_v_46i 16
#define MSK32temp_v_46i 0x0000FFFF
#define BA_temp_v_47i 0x005E
#define B16temp_v_47i 0x005E
#define LSb32temp_v_47i 16
#define LSb16temp_v_47i 0
#define btemp_v_47i 16
#define MSK32temp_v_47i 0xFFFF0000
#define BA_temp_v_48i 0x0060
#define B16temp_v_48i 0x0060
#define LSb32temp_v_48i 0
#define LSb16temp_v_48i 0
#define btemp_v_48i 16
#define MSK32temp_v_48i 0x0000FFFF
#define BA_temp_v_49i 0x0062
#define B16temp_v_49i 0x0062
#define LSb32temp_v_49i 16
#define LSb16temp_v_49i 0
#define btemp_v_49i 16
#define MSK32temp_v_49i 0xFFFF0000
#define BA_temp_v_50i 0x0064
#define B16temp_v_50i 0x0064
#define LSb32temp_v_50i 0
#define LSb16temp_v_50i 0
#define btemp_v_50i 16
#define MSK32temp_v_50i 0x0000FFFF
#define BA_temp_v_51i 0x0066
#define B16temp_v_51i 0x0066
#define LSb32temp_v_51i 16
#define LSb16temp_v_51i 0
#define btemp_v_51i 16
#define MSK32temp_v_51i 0xFFFF0000
#define BA_temp_v_52i 0x0068
#define B16temp_v_52i 0x0068
#define LSb32temp_v_52i 0
#define LSb16temp_v_52i 0
#define btemp_v_52i 16
#define MSK32temp_v_52i 0x0000FFFF
#define BA_temp_v_53i 0x006A
#define B16temp_v_53i 0x006A
#define LSb32temp_v_53i 16
#define LSb16temp_v_53i 0
#define btemp_v_53i 16
#define MSK32temp_v_53i 0xFFFF0000
#define BA_temp_v_54i 0x006C
#define B16temp_v_54i 0x006C
#define LSb32temp_v_54i 0
#define LSb16temp_v_54i 0
#define btemp_v_54i 16
#define MSK32temp_v_54i 0x0000FFFF
#define BA_temp_v_55i 0x006E
#define B16temp_v_55i 0x006E
#define LSb32temp_v_55i 16
#define LSb16temp_v_55i 0
#define btemp_v_55i 16
#define MSK32temp_v_55i 0xFFFF0000
#define BA_temp_v_56i 0x0070
#define B16temp_v_56i 0x0070
#define LSb32temp_v_56i 0
#define LSb16temp_v_56i 0
#define btemp_v_56i 16
#define MSK32temp_v_56i 0x0000FFFF
#define BA_temp_v_57i 0x0072
#define B16temp_v_57i 0x0072
#define LSb32temp_v_57i 16
#define LSb16temp_v_57i 0
#define btemp_v_57i 16
#define MSK32temp_v_57i 0xFFFF0000
#define BA_temp_v_58i 0x0074
#define B16temp_v_58i 0x0074
#define LSb32temp_v_58i 0
#define LSb16temp_v_58i 0
#define btemp_v_58i 16
#define MSK32temp_v_58i 0x0000FFFF
#define BA_temp_v_59i 0x0076
#define B16temp_v_59i 0x0076
#define LSb32temp_v_59i 16
#define LSb16temp_v_59i 0
#define btemp_v_59i 16
#define MSK32temp_v_59i 0xFFFF0000
#define BA_temp_v_60i 0x0078
#define B16temp_v_60i 0x0078
#define LSb32temp_v_60i 0
#define LSb16temp_v_60i 0
#define btemp_v_60i 16
#define MSK32temp_v_60i 0x0000FFFF
#define BA_temp_v_61i 0x007A
#define B16temp_v_61i 0x007A
#define LSb32temp_v_61i 16
#define LSb16temp_v_61i 0
#define btemp_v_61i 16
#define MSK32temp_v_61i 0xFFFF0000
#define BA_temp_v_62i 0x007C
#define B16temp_v_62i 0x007C
#define LSb32temp_v_62i 0
#define LSb16temp_v_62i 0
#define btemp_v_62i 16
#define MSK32temp_v_62i 0x0000FFFF
#define BA_temp_v_63i 0x007E
#define B16temp_v_63i 0x007E
#define LSb32temp_v_63i 16
#define LSb16temp_v_63i 0
#define btemp_v_63i 16
#define MSK32temp_v_63i 0xFFFF0000
#define BA_temp_v_64i 0x0080
#define B16temp_v_64i 0x0080
#define LSb32temp_v_64i 0
#define LSb16temp_v_64i 0
#define btemp_v_64i 16
#define MSK32temp_v_64i 0x0000FFFF
#define BA_temp_v_65i 0x0082
#define B16temp_v_65i 0x0082
#define LSb32temp_v_65i 16
#define LSb16temp_v_65i 0
#define btemp_v_65i 16
#define MSK32temp_v_65i 0xFFFF0000
#define BA_temp_v_66i 0x0084
#define B16temp_v_66i 0x0084
#define LSb32temp_v_66i 0
#define LSb16temp_v_66i 0
#define btemp_v_66i 16
#define MSK32temp_v_66i 0x0000FFFF
#define BA_temp_v_67i 0x0086
#define B16temp_v_67i 0x0086
#define LSb32temp_v_67i 16
#define LSb16temp_v_67i 0
#define btemp_v_67i 16
#define MSK32temp_v_67i 0xFFFF0000
#define BA_temp_v_68i 0x0088
#define B16temp_v_68i 0x0088
#define LSb32temp_v_68i 0
#define LSb16temp_v_68i 0
#define btemp_v_68i 16
#define MSK32temp_v_68i 0x0000FFFF
#define BA_temp_v_69i 0x008A
#define B16temp_v_69i 0x008A
#define LSb32temp_v_69i 16
#define LSb16temp_v_69i 0
#define btemp_v_69i 16
#define MSK32temp_v_69i 0xFFFF0000
#define BA_temp_v_70i 0x008C
#define B16temp_v_70i 0x008C
#define LSb32temp_v_70i 0
#define LSb16temp_v_70i 0
#define btemp_v_70i 16
#define MSK32temp_v_70i 0x0000FFFF
#define BA_temp_v_71i 0x008E
#define B16temp_v_71i 0x008E
#define LSb32temp_v_71i 16
#define LSb16temp_v_71i 0
#define btemp_v_71i 16
#define MSK32temp_v_71i 0xFFFF0000
#define BA_temp_v_72i 0x0090
#define B16temp_v_72i 0x0090
#define LSb32temp_v_72i 0
#define LSb16temp_v_72i 0
#define btemp_v_72i 16
#define MSK32temp_v_72i 0x0000FFFF
#define BA_temp_v_73i 0x0092
#define B16temp_v_73i 0x0092
#define LSb32temp_v_73i 16
#define LSb16temp_v_73i 0
#define btemp_v_73i 16
#define MSK32temp_v_73i 0xFFFF0000
#define BA_temp_v_74i 0x0094
#define B16temp_v_74i 0x0094
#define LSb32temp_v_74i 0
#define LSb16temp_v_74i 0
#define btemp_v_74i 16
#define MSK32temp_v_74i 0x0000FFFF
#define BA_temp_v_75i 0x0096
#define B16temp_v_75i 0x0096
#define LSb32temp_v_75i 16
#define LSb16temp_v_75i 0
#define btemp_v_75i 16
#define MSK32temp_v_75i 0xFFFF0000
#define BA_temp_v_76i 0x0098
#define B16temp_v_76i 0x0098
#define LSb32temp_v_76i 0
#define LSb16temp_v_76i 0
#define btemp_v_76i 16
#define MSK32temp_v_76i 0x0000FFFF
#define BA_temp_v_77i 0x009A
#define B16temp_v_77i 0x009A
#define LSb32temp_v_77i 16
#define LSb16temp_v_77i 0
#define btemp_v_77i 16
#define MSK32temp_v_77i 0xFFFF0000
#define BA_temp_v_78i 0x009C
#define B16temp_v_78i 0x009C
#define LSb32temp_v_78i 0
#define LSb16temp_v_78i 0
#define btemp_v_78i 16
#define MSK32temp_v_78i 0x0000FFFF
#define BA_temp_v_79i 0x009E
#define B16temp_v_79i 0x009E
#define LSb32temp_v_79i 16
#define LSb16temp_v_79i 0
#define btemp_v_79i 16
#define MSK32temp_v_79i 0xFFFF0000
#define BA_temp_v_80i 0x00A0
#define B16temp_v_80i 0x00A0
#define LSb32temp_v_80i 0
#define LSb16temp_v_80i 0
#define btemp_v_80i 16
#define MSK32temp_v_80i 0x0000FFFF
#define BA_temp_v_81i 0x00A2
#define B16temp_v_81i 0x00A2
#define LSb32temp_v_81i 16
#define LSb16temp_v_81i 0
#define btemp_v_81i 16
#define MSK32temp_v_81i 0xFFFF0000
#define BA_temp_v_82i 0x00A4
#define B16temp_v_82i 0x00A4
#define LSb32temp_v_82i 0
#define LSb16temp_v_82i 0
#define btemp_v_82i 16
#define MSK32temp_v_82i 0x0000FFFF
#define BA_temp_v_83i 0x00A6
#define B16temp_v_83i 0x00A6
#define LSb32temp_v_83i 16
#define LSb16temp_v_83i 0
#define btemp_v_83i 16
#define MSK32temp_v_83i 0xFFFF0000
#define BA_temp_v_84i 0x00A8
#define B16temp_v_84i 0x00A8
#define LSb32temp_v_84i 0
#define LSb16temp_v_84i 0
#define btemp_v_84i 16
#define MSK32temp_v_84i 0x0000FFFF
#define BA_temp_v_85i 0x00AA
#define B16temp_v_85i 0x00AA
#define LSb32temp_v_85i 16
#define LSb16temp_v_85i 0
#define btemp_v_85i 16
#define MSK32temp_v_85i 0xFFFF0000
#define BA_temp_v_86i 0x00AC
#define B16temp_v_86i 0x00AC
#define LSb32temp_v_86i 0
#define LSb16temp_v_86i 0
#define btemp_v_86i 16
#define MSK32temp_v_86i 0x0000FFFF
#define BA_temp_v_87i 0x00AE
#define B16temp_v_87i 0x00AE
#define LSb32temp_v_87i 16
#define LSb16temp_v_87i 0
#define btemp_v_87i 16
#define MSK32temp_v_87i 0xFFFF0000
#define BA_temp_v_88i 0x00B0
#define B16temp_v_88i 0x00B0
#define LSb32temp_v_88i 0
#define LSb16temp_v_88i 0
#define btemp_v_88i 16
#define MSK32temp_v_88i 0x0000FFFF
#define BA_temp_v_89i 0x00B2
#define B16temp_v_89i 0x00B2
#define LSb32temp_v_89i 16
#define LSb16temp_v_89i 0
#define btemp_v_89i 16
#define MSK32temp_v_89i 0xFFFF0000
#define BA_temp_v_90i 0x00B4
#define B16temp_v_90i 0x00B4
#define LSb32temp_v_90i 0
#define LSb16temp_v_90i 0
#define btemp_v_90i 16
#define MSK32temp_v_90i 0x0000FFFF
#define BA_temp_v_91i 0x00B6
#define B16temp_v_91i 0x00B6
#define LSb32temp_v_91i 16
#define LSb16temp_v_91i 0
#define btemp_v_91i 16
#define MSK32temp_v_91i 0xFFFF0000
#define BA_temp_v_92i 0x00B8
#define B16temp_v_92i 0x00B8
#define LSb32temp_v_92i 0
#define LSb16temp_v_92i 0
#define btemp_v_92i 16
#define MSK32temp_v_92i 0x0000FFFF
#define BA_temp_v_93i 0x00BA
#define B16temp_v_93i 0x00BA
#define LSb32temp_v_93i 16
#define LSb16temp_v_93i 0
#define btemp_v_93i 16
#define MSK32temp_v_93i 0xFFFF0000
#define BA_temp_v_94i 0x00BC
#define B16temp_v_94i 0x00BC
#define LSb32temp_v_94i 0
#define LSb16temp_v_94i 0
#define btemp_v_94i 16
#define MSK32temp_v_94i 0x0000FFFF
#define BA_temp_v_95i 0x00BE
#define B16temp_v_95i 0x00BE
#define LSb32temp_v_95i 16
#define LSb16temp_v_95i 0
#define btemp_v_95i 16
#define MSK32temp_v_95i 0xFFFF0000
#define BA_temp_v_96i 0x00C0
#define B16temp_v_96i 0x00C0
#define LSb32temp_v_96i 0
#define LSb16temp_v_96i 0
#define btemp_v_96i 16
#define MSK32temp_v_96i 0x0000FFFF
#define BA_temp_v_97i 0x00C2
#define B16temp_v_97i 0x00C2
#define LSb32temp_v_97i 16
#define LSb16temp_v_97i 0
#define btemp_v_97i 16
#define MSK32temp_v_97i 0xFFFF0000
#define BA_temp_v_98i 0x00C4
#define B16temp_v_98i 0x00C4
#define LSb32temp_v_98i 0
#define LSb16temp_v_98i 0
#define btemp_v_98i 16
#define MSK32temp_v_98i 0x0000FFFF
#define BA_temp_v_99i 0x00C6
#define B16temp_v_99i 0x00C6
#define LSb32temp_v_99i 16
#define LSb16temp_v_99i 0
#define btemp_v_99i 16
#define MSK32temp_v_99i 0xFFFF0000
#define BA_temp_v_100i 0x00C8
#define B16temp_v_100i 0x00C8
#define LSb32temp_v_100i 0
#define LSb16temp_v_100i 0
#define btemp_v_100i 16
#define MSK32temp_v_100i 0x0000FFFF
#define BA_temp_v_101i 0x00CA
#define B16temp_v_101i 0x00CA
#define LSb32temp_v_101i 16
#define LSb16temp_v_101i 0
#define btemp_v_101i 16
#define MSK32temp_v_101i 0xFFFF0000
#define BA_temp_v_102i 0x00CC
#define B16temp_v_102i 0x00CC
#define LSb32temp_v_102i 0
#define LSb16temp_v_102i 0
#define btemp_v_102i 16
#define MSK32temp_v_102i 0x0000FFFF
#define BA_temp_v_103i 0x00CE
#define B16temp_v_103i 0x00CE
#define LSb32temp_v_103i 16
#define LSb16temp_v_103i 0
#define btemp_v_103i 16
#define MSK32temp_v_103i 0xFFFF0000
#define BA_temp_v_104i 0x00D0
#define B16temp_v_104i 0x00D0
#define LSb32temp_v_104i 0
#define LSb16temp_v_104i 0
#define btemp_v_104i 16
#define MSK32temp_v_104i 0x0000FFFF
#define BA_temp_v_105i 0x00D2
#define B16temp_v_105i 0x00D2
#define LSb32temp_v_105i 16
#define LSb16temp_v_105i 0
#define btemp_v_105i 16
#define MSK32temp_v_105i 0xFFFF0000
#define BA_temp_v_106i 0x00D4
#define B16temp_v_106i 0x00D4
#define LSb32temp_v_106i 0
#define LSb16temp_v_106i 0
#define btemp_v_106i 16
#define MSK32temp_v_106i 0x0000FFFF
#define BA_temp_v_107i 0x00D6
#define B16temp_v_107i 0x00D6
#define LSb32temp_v_107i 16
#define LSb16temp_v_107i 0
#define btemp_v_107i 16
#define MSK32temp_v_107i 0xFFFF0000
#define BA_temp_v_108i 0x00D8
#define B16temp_v_108i 0x00D8
#define LSb32temp_v_108i 0
#define LSb16temp_v_108i 0
#define btemp_v_108i 16
#define MSK32temp_v_108i 0x0000FFFF
#define BA_temp_v_109i 0x00DA
#define B16temp_v_109i 0x00DA
#define LSb32temp_v_109i 16
#define LSb16temp_v_109i 0
#define btemp_v_109i 16
#define MSK32temp_v_109i 0xFFFF0000
#define BA_temp_v_110i 0x00DC
#define B16temp_v_110i 0x00DC
#define LSb32temp_v_110i 0
#define LSb16temp_v_110i 0
#define btemp_v_110i 16
#define MSK32temp_v_110i 0x0000FFFF
#define BA_temp_v_111i 0x00DE
#define B16temp_v_111i 0x00DE
#define LSb32temp_v_111i 16
#define LSb16temp_v_111i 0
#define btemp_v_111i 16
#define MSK32temp_v_111i 0xFFFF0000
#define BA_temp_v_112i 0x00E0
#define B16temp_v_112i 0x00E0
#define LSb32temp_v_112i 0
#define LSb16temp_v_112i 0
#define btemp_v_112i 16
#define MSK32temp_v_112i 0x0000FFFF
#define BA_temp_v_113i 0x00E2
#define B16temp_v_113i 0x00E2
#define LSb32temp_v_113i 16
#define LSb16temp_v_113i 0
#define btemp_v_113i 16
#define MSK32temp_v_113i 0xFFFF0000
#define BA_temp_v_114i 0x00E4
#define B16temp_v_114i 0x00E4
#define LSb32temp_v_114i 0
#define LSb16temp_v_114i 0
#define btemp_v_114i 16
#define MSK32temp_v_114i 0x0000FFFF
#define BA_temp_v_115i 0x00E6
#define B16temp_v_115i 0x00E6
#define LSb32temp_v_115i 16
#define LSb16temp_v_115i 0
#define btemp_v_115i 16
#define MSK32temp_v_115i 0xFFFF0000
#define BA_temp_v_116i 0x00E8
#define B16temp_v_116i 0x00E8
#define LSb32temp_v_116i 0
#define LSb16temp_v_116i 0
#define btemp_v_116i 16
#define MSK32temp_v_116i 0x0000FFFF
#define BA_temp_v_117i 0x00EA
#define B16temp_v_117i 0x00EA
#define LSb32temp_v_117i 16
#define LSb16temp_v_117i 0
#define btemp_v_117i 16
#define MSK32temp_v_117i 0xFFFF0000
#define BA_temp_v_118i 0x00EC
#define B16temp_v_118i 0x00EC
#define LSb32temp_v_118i 0
#define LSb16temp_v_118i 0
#define btemp_v_118i 16
#define MSK32temp_v_118i 0x0000FFFF
#define BA_temp_v_119i 0x00EE
#define B16temp_v_119i 0x00EE
#define LSb32temp_v_119i 16
#define LSb16temp_v_119i 0
#define btemp_v_119i 16
#define MSK32temp_v_119i 0xFFFF0000
#define BA_temp_v_120i 0x00F0
#define B16temp_v_120i 0x00F0
#define LSb32temp_v_120i 0
#define LSb16temp_v_120i 0
#define btemp_v_120i 16
#define MSK32temp_v_120i 0x0000FFFF
#define BA_temp_v_121i 0x00F2
#define B16temp_v_121i 0x00F2
#define LSb32temp_v_121i 16
#define LSb16temp_v_121i 0
#define btemp_v_121i 16
#define MSK32temp_v_121i 0xFFFF0000
#define BA_temp_v_122i 0x00F4
#define B16temp_v_122i 0x00F4
#define LSb32temp_v_122i 0
#define LSb16temp_v_122i 0
#define btemp_v_122i 16
#define MSK32temp_v_122i 0x0000FFFF
#define BA_temp_v_123i 0x00F6
#define B16temp_v_123i 0x00F6
#define LSb32temp_v_123i 16
#define LSb16temp_v_123i 0
#define btemp_v_123i 16
#define MSK32temp_v_123i 0xFFFF0000
#define BA_temp_v_124i 0x00F8
#define B16temp_v_124i 0x00F8
#define LSb32temp_v_124i 0
#define LSb16temp_v_124i 0
#define btemp_v_124i 16
#define MSK32temp_v_124i 0x0000FFFF
#define BA_temp_v_125i 0x00FA
#define B16temp_v_125i 0x00FA
#define LSb32temp_v_125i 16
#define LSb16temp_v_125i 0
#define btemp_v_125i 16
#define MSK32temp_v_125i 0xFFFF0000
#define BA_temp_v_126i 0x00FC
#define B16temp_v_126i 0x00FC
#define LSb32temp_v_126i 0
#define LSb16temp_v_126i 0
#define btemp_v_126i 16
#define MSK32temp_v_126i 0x0000FFFF
#define BA_temp_v_127i 0x00FE
#define B16temp_v_127i 0x00FE
#define LSb32temp_v_127i 16
#define LSb16temp_v_127i 0
#define btemp_v_127i 16
#define MSK32temp_v_127i 0xFFFF0000
#define BA_temp_v_128i 0x0100
#define B16temp_v_128i 0x0100
#define LSb32temp_v_128i 0
#define LSb16temp_v_128i 0
#define btemp_v_128i 16
#define MSK32temp_v_128i 0x0000FFFF
#define BA_temp_v_129i 0x0102
#define B16temp_v_129i 0x0102
#define LSb32temp_v_129i 16
#define LSb16temp_v_129i 0
#define btemp_v_129i 16
#define MSK32temp_v_129i 0xFFFF0000
#define BA_temp_v_130i 0x0104
#define B16temp_v_130i 0x0104
#define LSb32temp_v_130i 0
#define LSb16temp_v_130i 0
#define btemp_v_130i 16
#define MSK32temp_v_130i 0x0000FFFF
#define BA_temp_v_131i 0x0106
#define B16temp_v_131i 0x0106
#define LSb32temp_v_131i 16
#define LSb16temp_v_131i 0
#define btemp_v_131i 16
#define MSK32temp_v_131i 0xFFFF0000
#define BA_temp_v_132i 0x0108
#define B16temp_v_132i 0x0108
#define LSb32temp_v_132i 0
#define LSb16temp_v_132i 0
#define btemp_v_132i 16
#define MSK32temp_v_132i 0x0000FFFF
#define BA_temp_v_133i 0x010A
#define B16temp_v_133i 0x010A
#define LSb32temp_v_133i 16
#define LSb16temp_v_133i 0
#define btemp_v_133i 16
#define MSK32temp_v_133i 0xFFFF0000
#define BA_temp_v_134i 0x010C
#define B16temp_v_134i 0x010C
#define LSb32temp_v_134i 0
#define LSb16temp_v_134i 0
#define btemp_v_134i 16
#define MSK32temp_v_134i 0x0000FFFF
#define BA_temp_v_135i 0x010E
#define B16temp_v_135i 0x010E
#define LSb32temp_v_135i 16
#define LSb16temp_v_135i 0
#define btemp_v_135i 16
#define MSK32temp_v_135i 0xFFFF0000
#define BA_temp_v_136i 0x0110
#define B16temp_v_136i 0x0110
#define LSb32temp_v_136i 0
#define LSb16temp_v_136i 0
#define btemp_v_136i 16
#define MSK32temp_v_136i 0x0000FFFF
#define BA_temp_v_137i 0x0112
#define B16temp_v_137i 0x0112
#define LSb32temp_v_137i 16
#define LSb16temp_v_137i 0
#define btemp_v_137i 16
#define MSK32temp_v_137i 0xFFFF0000
#define BA_temp_v_138i 0x0114
#define B16temp_v_138i 0x0114
#define LSb32temp_v_138i 0
#define LSb16temp_v_138i 0
#define btemp_v_138i 16
#define MSK32temp_v_138i 0x0000FFFF
#define BA_temp_v_139i 0x0116
#define B16temp_v_139i 0x0116
#define LSb32temp_v_139i 16
#define LSb16temp_v_139i 0
#define btemp_v_139i 16
#define MSK32temp_v_139i 0xFFFF0000
#define BA_temp_v_140i 0x0118
#define B16temp_v_140i 0x0118
#define LSb32temp_v_140i 0
#define LSb16temp_v_140i 0
#define btemp_v_140i 16
#define MSK32temp_v_140i 0x0000FFFF
#define BA_temp_v_141i 0x011A
#define B16temp_v_141i 0x011A
#define LSb32temp_v_141i 16
#define LSb16temp_v_141i 0
#define btemp_v_141i 16
#define MSK32temp_v_141i 0xFFFF0000
#define BA_temp_v_142i 0x011C
#define B16temp_v_142i 0x011C
#define LSb32temp_v_142i 0
#define LSb16temp_v_142i 0
#define btemp_v_142i 16
#define MSK32temp_v_142i 0x0000FFFF
#define BA_temp_v_143i 0x011E
#define B16temp_v_143i 0x011E
#define LSb32temp_v_143i 16
#define LSb16temp_v_143i 0
#define btemp_v_143i 16
#define MSK32temp_v_143i 0xFFFF0000
#define BA_temp_v_144i 0x0120
#define B16temp_v_144i 0x0120
#define LSb32temp_v_144i 0
#define LSb16temp_v_144i 0
#define btemp_v_144i 16
#define MSK32temp_v_144i 0x0000FFFF
#define BA_temp_v_145i 0x0122
#define B16temp_v_145i 0x0122
#define LSb32temp_v_145i 16
#define LSb16temp_v_145i 0
#define btemp_v_145i 16
#define MSK32temp_v_145i 0xFFFF0000
#define BA_temp_v_146i 0x0124
#define B16temp_v_146i 0x0124
#define LSb32temp_v_146i 0
#define LSb16temp_v_146i 0
#define btemp_v_146i 16
#define MSK32temp_v_146i 0x0000FFFF
#define BA_temp_v_147i 0x0126
#define B16temp_v_147i 0x0126
#define LSb32temp_v_147i 16
#define LSb16temp_v_147i 0
#define btemp_v_147i 16
#define MSK32temp_v_147i 0xFFFF0000
#define BA_temp_v_148i 0x0128
#define B16temp_v_148i 0x0128
#define LSb32temp_v_148i 0
#define LSb16temp_v_148i 0
#define btemp_v_148i 16
#define MSK32temp_v_148i 0x0000FFFF
#define BA_temp_v_149i 0x012A
#define B16temp_v_149i 0x012A
#define LSb32temp_v_149i 16
#define LSb16temp_v_149i 0
#define btemp_v_149i 16
#define MSK32temp_v_149i 0xFFFF0000
#define BA_temp_v_150i 0x012C
#define B16temp_v_150i 0x012C
#define LSb32temp_v_150i 0
#define LSb16temp_v_150i 0
#define btemp_v_150i 16
#define MSK32temp_v_150i 0x0000FFFF
#define BA_temp_v_151i 0x012E
#define B16temp_v_151i 0x012E
#define LSb32temp_v_151i 16
#define LSb16temp_v_151i 0
#define btemp_v_151i 16
#define MSK32temp_v_151i 0xFFFF0000
#define BA_temp_v_152i 0x0130
#define B16temp_v_152i 0x0130
#define LSb32temp_v_152i 0
#define LSb16temp_v_152i 0
#define btemp_v_152i 16
#define MSK32temp_v_152i 0x0000FFFF
#define BA_temp_v_153i 0x0132
#define B16temp_v_153i 0x0132
#define LSb32temp_v_153i 16
#define LSb16temp_v_153i 0
#define btemp_v_153i 16
#define MSK32temp_v_153i 0xFFFF0000
#define BA_temp_v_154i 0x0134
#define B16temp_v_154i 0x0134
#define LSb32temp_v_154i 0
#define LSb16temp_v_154i 0
#define btemp_v_154i 16
#define MSK32temp_v_154i 0x0000FFFF
#define BA_temp_v_155i 0x0136
#define B16temp_v_155i 0x0136
#define LSb32temp_v_155i 16
#define LSb16temp_v_155i 0
#define btemp_v_155i 16
#define MSK32temp_v_155i 0xFFFF0000
#define BA_temp_v_156i 0x0138
#define B16temp_v_156i 0x0138
#define LSb32temp_v_156i 0
#define LSb16temp_v_156i 0
#define btemp_v_156i 16
#define MSK32temp_v_156i 0x0000FFFF
#define BA_temp_v_157i 0x013A
#define B16temp_v_157i 0x013A
#define LSb32temp_v_157i 16
#define LSb16temp_v_157i 0
#define btemp_v_157i 16
#define MSK32temp_v_157i 0xFFFF0000
#define BA_temp_v_158i 0x013C
#define B16temp_v_158i 0x013C
#define LSb32temp_v_158i 0
#define LSb16temp_v_158i 0
#define btemp_v_158i 16
#define MSK32temp_v_158i 0x0000FFFF
#define BA_temp_v_159i 0x013E
#define B16temp_v_159i 0x013E
#define LSb32temp_v_159i 16
#define LSb16temp_v_159i 0
#define btemp_v_159i 16
#define MSK32temp_v_159i 0xFFFF0000
#define BA_temp_v_160i 0x0140
#define B16temp_v_160i 0x0140
#define LSb32temp_v_160i 0
#define LSb16temp_v_160i 0
#define btemp_v_160i 16
#define MSK32temp_v_160i 0x0000FFFF
#define BA_temp_v_161i 0x0142
#define B16temp_v_161i 0x0142
#define LSb32temp_v_161i 16
#define LSb16temp_v_161i 0
#define btemp_v_161i 16
#define MSK32temp_v_161i 0xFFFF0000
#define BA_temp_v_162i 0x0144
#define B16temp_v_162i 0x0144
#define LSb32temp_v_162i 0
#define LSb16temp_v_162i 0
#define btemp_v_162i 16
#define MSK32temp_v_162i 0x0000FFFF
#define BA_temp_v_163i 0x0146
#define B16temp_v_163i 0x0146
#define LSb32temp_v_163i 16
#define LSb16temp_v_163i 0
#define btemp_v_163i 16
#define MSK32temp_v_163i 0xFFFF0000
#define BA_temp_v_164i 0x0148
#define B16temp_v_164i 0x0148
#define LSb32temp_v_164i 0
#define LSb16temp_v_164i 0
#define btemp_v_164i 16
#define MSK32temp_v_164i 0x0000FFFF
#define BA_temp_v_165i 0x014A
#define B16temp_v_165i 0x014A
#define LSb32temp_v_165i 16
#define LSb16temp_v_165i 0
#define btemp_v_165i 16
#define MSK32temp_v_165i 0xFFFF0000
#define BA_temp_v_166i 0x014C
#define B16temp_v_166i 0x014C
#define LSb32temp_v_166i 0
#define LSb16temp_v_166i 0
#define btemp_v_166i 16
#define MSK32temp_v_166i 0x0000FFFF
#define BA_temp_v_167i 0x014E
#define B16temp_v_167i 0x014E
#define LSb32temp_v_167i 16
#define LSb16temp_v_167i 0
#define btemp_v_167i 16
#define MSK32temp_v_167i 0xFFFF0000
#define BA_temp_v_168i 0x0150
#define B16temp_v_168i 0x0150
#define LSb32temp_v_168i 0
#define LSb16temp_v_168i 0
#define btemp_v_168i 16
#define MSK32temp_v_168i 0x0000FFFF
#define BA_temp_v_169i 0x0152
#define B16temp_v_169i 0x0152
#define LSb32temp_v_169i 16
#define LSb16temp_v_169i 0
#define btemp_v_169i 16
#define MSK32temp_v_169i 0xFFFF0000
#define BA_temp_v_170i 0x0154
#define B16temp_v_170i 0x0154
#define LSb32temp_v_170i 0
#define LSb16temp_v_170i 0
#define btemp_v_170i 16
#define MSK32temp_v_170i 0x0000FFFF
#define BA_temp_v_171i 0x0156
#define B16temp_v_171i 0x0156
#define LSb32temp_v_171i 16
#define LSb16temp_v_171i 0
#define btemp_v_171i 16
#define MSK32temp_v_171i 0xFFFF0000
#define BA_temp_v_172i 0x0158
#define B16temp_v_172i 0x0158
#define LSb32temp_v_172i 0
#define LSb16temp_v_172i 0
#define btemp_v_172i 16
#define MSK32temp_v_172i 0x0000FFFF
#define BA_temp_v_173i 0x015A
#define B16temp_v_173i 0x015A
#define LSb32temp_v_173i 16
#define LSb16temp_v_173i 0
#define btemp_v_173i 16
#define MSK32temp_v_173i 0xFFFF0000
#define BA_temp_v_174i 0x015C
#define B16temp_v_174i 0x015C
#define LSb32temp_v_174i 0
#define LSb16temp_v_174i 0
#define btemp_v_174i 16
#define MSK32temp_v_174i 0x0000FFFF
#define BA_temp_v_175i 0x015E
#define B16temp_v_175i 0x015E
#define LSb32temp_v_175i 16
#define LSb16temp_v_175i 0
#define btemp_v_175i 16
#define MSK32temp_v_175i 0xFFFF0000
#define BA_temp_v_176i 0x0160
#define B16temp_v_176i 0x0160
#define LSb32temp_v_176i 0
#define LSb16temp_v_176i 0
#define btemp_v_176i 16
#define MSK32temp_v_176i 0x0000FFFF
#define BA_temp_v_177i 0x0162
#define B16temp_v_177i 0x0162
#define LSb32temp_v_177i 16
#define LSb16temp_v_177i 0
#define btemp_v_177i 16
#define MSK32temp_v_177i 0xFFFF0000
#define BA_temp_v_178i 0x0164
#define B16temp_v_178i 0x0164
#define LSb32temp_v_178i 0
#define LSb16temp_v_178i 0
#define btemp_v_178i 16
#define MSK32temp_v_178i 0x0000FFFF
#define BA_temp_v_179i 0x0166
#define B16temp_v_179i 0x0166
#define LSb32temp_v_179i 16
#define LSb16temp_v_179i 0
#define btemp_v_179i 16
#define MSK32temp_v_179i 0xFFFF0000
#define BA_temp_v_180i 0x0168
#define B16temp_v_180i 0x0168
#define LSb32temp_v_180i 0
#define LSb16temp_v_180i 0
#define btemp_v_180i 16
#define MSK32temp_v_180i 0x0000FFFF
#define BA_temp_v_181i 0x016A
#define B16temp_v_181i 0x016A
#define LSb32temp_v_181i 16
#define LSb16temp_v_181i 0
#define btemp_v_181i 16
#define MSK32temp_v_181i 0xFFFF0000
#define BA_temp_v_182i 0x016C
#define B16temp_v_182i 0x016C
#define LSb32temp_v_182i 0
#define LSb16temp_v_182i 0
#define btemp_v_182i 16
#define MSK32temp_v_182i 0x0000FFFF
#define BA_temp_v_183i 0x016E
#define B16temp_v_183i 0x016E
#define LSb32temp_v_183i 16
#define LSb16temp_v_183i 0
#define btemp_v_183i 16
#define MSK32temp_v_183i 0xFFFF0000
#define BA_temp_v_184i 0x0170
#define B16temp_v_184i 0x0170
#define LSb32temp_v_184i 0
#define LSb16temp_v_184i 0
#define btemp_v_184i 16
#define MSK32temp_v_184i 0x0000FFFF
#define BA_temp_v_185i 0x0172
#define B16temp_v_185i 0x0172
#define LSb32temp_v_185i 16
#define LSb16temp_v_185i 0
#define btemp_v_185i 16
#define MSK32temp_v_185i 0xFFFF0000
#define BA_temp_v_186i 0x0174
#define B16temp_v_186i 0x0174
#define LSb32temp_v_186i 0
#define LSb16temp_v_186i 0
#define btemp_v_186i 16
#define MSK32temp_v_186i 0x0000FFFF
#define BA_temp_v_187i 0x0176
#define B16temp_v_187i 0x0176
#define LSb32temp_v_187i 16
#define LSb16temp_v_187i 0
#define btemp_v_187i 16
#define MSK32temp_v_187i 0xFFFF0000
#define BA_temp_v_188i 0x0178
#define B16temp_v_188i 0x0178
#define LSb32temp_v_188i 0
#define LSb16temp_v_188i 0
#define btemp_v_188i 16
#define MSK32temp_v_188i 0x0000FFFF
#define BA_temp_v_189i 0x017A
#define B16temp_v_189i 0x017A
#define LSb32temp_v_189i 16
#define LSb16temp_v_189i 0
#define btemp_v_189i 16
#define MSK32temp_v_189i 0xFFFF0000
#define BA_temp_v_190i 0x017C
#define B16temp_v_190i 0x017C
#define LSb32temp_v_190i 0
#define LSb16temp_v_190i 0
#define btemp_v_190i 16
#define MSK32temp_v_190i 0x0000FFFF
#define BA_temp_v_191i 0x017E
#define B16temp_v_191i 0x017E
#define LSb32temp_v_191i 16
#define LSb16temp_v_191i 0
#define btemp_v_191i 16
#define MSK32temp_v_191i 0xFFFF0000
#define BA_temp_v_192i 0x0180
#define B16temp_v_192i 0x0180
#define LSb32temp_v_192i 0
#define LSb16temp_v_192i 0
#define btemp_v_192i 16
#define MSK32temp_v_192i 0x0000FFFF
#define BA_temp_v_193i 0x0182
#define B16temp_v_193i 0x0182
#define LSb32temp_v_193i 16
#define LSb16temp_v_193i 0
#define btemp_v_193i 16
#define MSK32temp_v_193i 0xFFFF0000
#define BA_temp_v_194i 0x0184
#define B16temp_v_194i 0x0184
#define LSb32temp_v_194i 0
#define LSb16temp_v_194i 0
#define btemp_v_194i 16
#define MSK32temp_v_194i 0x0000FFFF
#define BA_temp_v_195i 0x0186
#define B16temp_v_195i 0x0186
#define LSb32temp_v_195i 16
#define LSb16temp_v_195i 0
#define btemp_v_195i 16
#define MSK32temp_v_195i 0xFFFF0000
#define BA_temp_v_196i 0x0188
#define B16temp_v_196i 0x0188
#define LSb32temp_v_196i 0
#define LSb16temp_v_196i 0
#define btemp_v_196i 16
#define MSK32temp_v_196i 0x0000FFFF
#define BA_temp_v_197i 0x018A
#define B16temp_v_197i 0x018A
#define LSb32temp_v_197i 16
#define LSb16temp_v_197i 0
#define btemp_v_197i 16
#define MSK32temp_v_197i 0xFFFF0000
#define BA_temp_v_198i 0x018C
#define B16temp_v_198i 0x018C
#define LSb32temp_v_198i 0
#define LSb16temp_v_198i 0
#define btemp_v_198i 16
#define MSK32temp_v_198i 0x0000FFFF
#define BA_temp_v_199i 0x018E
#define B16temp_v_199i 0x018E
#define LSb32temp_v_199i 16
#define LSb16temp_v_199i 0
#define btemp_v_199i 16
#define MSK32temp_v_199i 0xFFFF0000
#define BA_temp_v_200i 0x0190
#define B16temp_v_200i 0x0190
#define LSb32temp_v_200i 0
#define LSb16temp_v_200i 0
#define btemp_v_200i 16
#define MSK32temp_v_200i 0x0000FFFF
#define BA_temp_v_201i 0x0192
#define B16temp_v_201i 0x0192
#define LSb32temp_v_201i 16
#define LSb16temp_v_201i 0
#define btemp_v_201i 16
#define MSK32temp_v_201i 0xFFFF0000
#define BA_temp_v_202i 0x0194
#define B16temp_v_202i 0x0194
#define LSb32temp_v_202i 0
#define LSb16temp_v_202i 0
#define btemp_v_202i 16
#define MSK32temp_v_202i 0x0000FFFF
#define BA_temp_v_203i 0x0196
#define B16temp_v_203i 0x0196
#define LSb32temp_v_203i 16
#define LSb16temp_v_203i 0
#define btemp_v_203i 16
#define MSK32temp_v_203i 0xFFFF0000
#define BA_temp_v_204i 0x0198
#define B16temp_v_204i 0x0198
#define LSb32temp_v_204i 0
#define LSb16temp_v_204i 0
#define btemp_v_204i 16
#define MSK32temp_v_204i 0x0000FFFF
#define BA_temp_v_205i 0x019A
#define B16temp_v_205i 0x019A
#define LSb32temp_v_205i 16
#define LSb16temp_v_205i 0
#define btemp_v_205i 16
#define MSK32temp_v_205i 0xFFFF0000
#define BA_temp_v_206i 0x019C
#define B16temp_v_206i 0x019C
#define LSb32temp_v_206i 0
#define LSb16temp_v_206i 0
#define btemp_v_206i 16
#define MSK32temp_v_206i 0x0000FFFF
#define BA_temp_v_207i 0x019E
#define B16temp_v_207i 0x019E
#define LSb32temp_v_207i 16
#define LSb16temp_v_207i 0
#define btemp_v_207i 16
#define MSK32temp_v_207i 0xFFFF0000
#define BA_temp_v_208i 0x01A0
#define B16temp_v_208i 0x01A0
#define LSb32temp_v_208i 0
#define LSb16temp_v_208i 0
#define btemp_v_208i 16
#define MSK32temp_v_208i 0x0000FFFF
#define BA_temp_v_209i 0x01A2
#define B16temp_v_209i 0x01A2
#define LSb32temp_v_209i 16
#define LSb16temp_v_209i 0
#define btemp_v_209i 16
#define MSK32temp_v_209i 0xFFFF0000
#define BA_temp_v_210i 0x01A4
#define B16temp_v_210i 0x01A4
#define LSb32temp_v_210i 0
#define LSb16temp_v_210i 0
#define btemp_v_210i 16
#define MSK32temp_v_210i 0x0000FFFF
#define BA_temp_v_211i 0x01A6
#define B16temp_v_211i 0x01A6
#define LSb32temp_v_211i 16
#define LSb16temp_v_211i 0
#define btemp_v_211i 16
#define MSK32temp_v_211i 0xFFFF0000
#define BA_temp_v_212i 0x01A8
#define B16temp_v_212i 0x01A8
#define LSb32temp_v_212i 0
#define LSb16temp_v_212i 0
#define btemp_v_212i 16
#define MSK32temp_v_212i 0x0000FFFF
#define BA_temp_v_213i 0x01AA
#define B16temp_v_213i 0x01AA
#define LSb32temp_v_213i 16
#define LSb16temp_v_213i 0
#define btemp_v_213i 16
#define MSK32temp_v_213i 0xFFFF0000
#define BA_temp_v_214i 0x01AC
#define B16temp_v_214i 0x01AC
#define LSb32temp_v_214i 0
#define LSb16temp_v_214i 0
#define btemp_v_214i 16
#define MSK32temp_v_214i 0x0000FFFF
#define BA_temp_v_215i 0x01AE
#define B16temp_v_215i 0x01AE
#define LSb32temp_v_215i 16
#define LSb16temp_v_215i 0
#define btemp_v_215i 16
#define MSK32temp_v_215i 0xFFFF0000
#define BA_temp_v_216i 0x01B0
#define B16temp_v_216i 0x01B0
#define LSb32temp_v_216i 0
#define LSb16temp_v_216i 0
#define btemp_v_216i 16
#define MSK32temp_v_216i 0x0000FFFF
#define BA_temp_v_217i 0x01B2
#define B16temp_v_217i 0x01B2
#define LSb32temp_v_217i 16
#define LSb16temp_v_217i 0
#define btemp_v_217i 16
#define MSK32temp_v_217i 0xFFFF0000
#define BA_temp_v_218i 0x01B4
#define B16temp_v_218i 0x01B4
#define LSb32temp_v_218i 0
#define LSb16temp_v_218i 0
#define btemp_v_218i 16
#define MSK32temp_v_218i 0x0000FFFF
#define BA_temp_v_219i 0x01B6
#define B16temp_v_219i 0x01B6
#define LSb32temp_v_219i 16
#define LSb16temp_v_219i 0
#define btemp_v_219i 16
#define MSK32temp_v_219i 0xFFFF0000
#define BA_temp_v_220i 0x01B8
#define B16temp_v_220i 0x01B8
#define LSb32temp_v_220i 0
#define LSb16temp_v_220i 0
#define btemp_v_220i 16
#define MSK32temp_v_220i 0x0000FFFF
#define BA_temp_v_221i 0x01BA
#define B16temp_v_221i 0x01BA
#define LSb32temp_v_221i 16
#define LSb16temp_v_221i 0
#define btemp_v_221i 16
#define MSK32temp_v_221i 0xFFFF0000
#define BA_temp_v_222i 0x01BC
#define B16temp_v_222i 0x01BC
#define LSb32temp_v_222i 0
#define LSb16temp_v_222i 0
#define btemp_v_222i 16
#define MSK32temp_v_222i 0x0000FFFF
#define BA_temp_v_223i 0x01BE
#define B16temp_v_223i 0x01BE
#define LSb32temp_v_223i 16
#define LSb16temp_v_223i 0
#define btemp_v_223i 16
#define MSK32temp_v_223i 0xFFFF0000
#define BA_temp_v_224i 0x01C0
#define B16temp_v_224i 0x01C0
#define LSb32temp_v_224i 0
#define LSb16temp_v_224i 0
#define btemp_v_224i 16
#define MSK32temp_v_224i 0x0000FFFF
#define BA_temp_v_225i 0x01C2
#define B16temp_v_225i 0x01C2
#define LSb32temp_v_225i 16
#define LSb16temp_v_225i 0
#define btemp_v_225i 16
#define MSK32temp_v_225i 0xFFFF0000
#define BA_temp_v_226i 0x01C4
#define B16temp_v_226i 0x01C4
#define LSb32temp_v_226i 0
#define LSb16temp_v_226i 0
#define btemp_v_226i 16
#define MSK32temp_v_226i 0x0000FFFF
#define BA_temp_v_227i 0x01C6
#define B16temp_v_227i 0x01C6
#define LSb32temp_v_227i 16
#define LSb16temp_v_227i 0
#define btemp_v_227i 16
#define MSK32temp_v_227i 0xFFFF0000
#define BA_temp_v_228i 0x01C8
#define B16temp_v_228i 0x01C8
#define LSb32temp_v_228i 0
#define LSb16temp_v_228i 0
#define btemp_v_228i 16
#define MSK32temp_v_228i 0x0000FFFF
#define BA_temp_v_229i 0x01CA
#define B16temp_v_229i 0x01CA
#define LSb32temp_v_229i 16
#define LSb16temp_v_229i 0
#define btemp_v_229i 16
#define MSK32temp_v_229i 0xFFFF0000
#define BA_temp_v_230i 0x01CC
#define B16temp_v_230i 0x01CC
#define LSb32temp_v_230i 0
#define LSb16temp_v_230i 0
#define btemp_v_230i 16
#define MSK32temp_v_230i 0x0000FFFF
#define BA_temp_v_231i 0x01CE
#define B16temp_v_231i 0x01CE
#define LSb32temp_v_231i 16
#define LSb16temp_v_231i 0
#define btemp_v_231i 16
#define MSK32temp_v_231i 0xFFFF0000
#define BA_temp_v_232i 0x01D0
#define B16temp_v_232i 0x01D0
#define LSb32temp_v_232i 0
#define LSb16temp_v_232i 0
#define btemp_v_232i 16
#define MSK32temp_v_232i 0x0000FFFF
#define BA_temp_v_233i 0x01D2
#define B16temp_v_233i 0x01D2
#define LSb32temp_v_233i 16
#define LSb16temp_v_233i 0
#define btemp_v_233i 16
#define MSK32temp_v_233i 0xFFFF0000
#define BA_temp_v_234i 0x01D4
#define B16temp_v_234i 0x01D4
#define LSb32temp_v_234i 0
#define LSb16temp_v_234i 0
#define btemp_v_234i 16
#define MSK32temp_v_234i 0x0000FFFF
#define BA_temp_v_235i 0x01D6
#define B16temp_v_235i 0x01D6
#define LSb32temp_v_235i 16
#define LSb16temp_v_235i 0
#define btemp_v_235i 16
#define MSK32temp_v_235i 0xFFFF0000
#define BA_temp_v_236i 0x01D8
#define B16temp_v_236i 0x01D8
#define LSb32temp_v_236i 0
#define LSb16temp_v_236i 0
#define btemp_v_236i 16
#define MSK32temp_v_236i 0x0000FFFF
#define BA_temp_v_237i 0x01DA
#define B16temp_v_237i 0x01DA
#define LSb32temp_v_237i 16
#define LSb16temp_v_237i 0
#define btemp_v_237i 16
#define MSK32temp_v_237i 0xFFFF0000
#define BA_temp_v_238i 0x01DC
#define B16temp_v_238i 0x01DC
#define LSb32temp_v_238i 0
#define LSb16temp_v_238i 0
#define btemp_v_238i 16
#define MSK32temp_v_238i 0x0000FFFF
#define BA_temp_v_239i 0x01DE
#define B16temp_v_239i 0x01DE
#define LSb32temp_v_239i 16
#define LSb16temp_v_239i 0
#define btemp_v_239i 16
#define MSK32temp_v_239i 0xFFFF0000
#define BA_temp_v_240i 0x01E0
#define B16temp_v_240i 0x01E0
#define LSb32temp_v_240i 0
#define LSb16temp_v_240i 0
#define btemp_v_240i 16
#define MSK32temp_v_240i 0x0000FFFF
#define BA_temp_v_241i 0x01E2
#define B16temp_v_241i 0x01E2
#define LSb32temp_v_241i 16
#define LSb16temp_v_241i 0
#define btemp_v_241i 16
#define MSK32temp_v_241i 0xFFFF0000
#define BA_temp_v_242i 0x01E4
#define B16temp_v_242i 0x01E4
#define LSb32temp_v_242i 0
#define LSb16temp_v_242i 0
#define btemp_v_242i 16
#define MSK32temp_v_242i 0x0000FFFF
#define BA_temp_v_243i 0x01E6
#define B16temp_v_243i 0x01E6
#define LSb32temp_v_243i 16
#define LSb16temp_v_243i 0
#define btemp_v_243i 16
#define MSK32temp_v_243i 0xFFFF0000
#define BA_temp_v_244i 0x01E8
#define B16temp_v_244i 0x01E8
#define LSb32temp_v_244i 0
#define LSb16temp_v_244i 0
#define btemp_v_244i 16
#define MSK32temp_v_244i 0x0000FFFF
#define BA_temp_v_245i 0x01EA
#define B16temp_v_245i 0x01EA
#define LSb32temp_v_245i 16
#define LSb16temp_v_245i 0
#define btemp_v_245i 16
#define MSK32temp_v_245i 0xFFFF0000
#define BA_temp_v_246i 0x01EC
#define B16temp_v_246i 0x01EC
#define LSb32temp_v_246i 0
#define LSb16temp_v_246i 0
#define btemp_v_246i 16
#define MSK32temp_v_246i 0x0000FFFF
#define BA_temp_v_247i 0x01EE
#define B16temp_v_247i 0x01EE
#define LSb32temp_v_247i 16
#define LSb16temp_v_247i 0
#define btemp_v_247i 16
#define MSK32temp_v_247i 0xFFFF0000
#define BA_temp_v_248i 0x01F0
#define B16temp_v_248i 0x01F0
#define LSb32temp_v_248i 0
#define LSb16temp_v_248i 0
#define btemp_v_248i 16
#define MSK32temp_v_248i 0x0000FFFF
#define BA_temp_v_249i 0x01F2
#define B16temp_v_249i 0x01F2
#define LSb32temp_v_249i 16
#define LSb16temp_v_249i 0
#define btemp_v_249i 16
#define MSK32temp_v_249i 0xFFFF0000
#define BA_temp_v_250i 0x01F4
#define B16temp_v_250i 0x01F4
#define LSb32temp_v_250i 0
#define LSb16temp_v_250i 0
#define btemp_v_250i 16
#define MSK32temp_v_250i 0x0000FFFF
#define BA_temp_v_251i 0x01F6
#define B16temp_v_251i 0x01F6
#define LSb32temp_v_251i 16
#define LSb16temp_v_251i 0
#define btemp_v_251i 16
#define MSK32temp_v_251i 0xFFFF0000
#define BA_temp_v_252i 0x01F8
#define B16temp_v_252i 0x01F8
#define LSb32temp_v_252i 0
#define LSb16temp_v_252i 0
#define btemp_v_252i 16
#define MSK32temp_v_252i 0x0000FFFF
#define BA_temp_v_253i 0x01FA
#define B16temp_v_253i 0x01FA
#define LSb32temp_v_253i 16
#define LSb16temp_v_253i 0
#define btemp_v_253i 16
#define MSK32temp_v_253i 0xFFFF0000
#define BA_temp_v_254i 0x01FC
#define B16temp_v_254i 0x01FC
#define LSb32temp_v_254i 0
#define LSb16temp_v_254i 0
#define btemp_v_254i 16
#define MSK32temp_v_254i 0x0000FFFF
#define BA_temp_v_255i 0x01FE
#define B16temp_v_255i 0x01FE
#define LSb32temp_v_255i 16
#define LSb16temp_v_255i 0
#define btemp_v_255i 16
#define MSK32temp_v_255i 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_temp {
///////////////////////////////////////////////////////////
#define GET32temp_v_0i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_0i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_0i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_0i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_1i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_1i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_1i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_1i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_0i : 16;
UNSG32 u_v_1i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_2i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_2i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_2i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_2i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_3i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_3i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_3i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_3i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_2i : 16;
UNSG32 u_v_3i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_4i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_4i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_4i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_4i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_5i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_5i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_5i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_5i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_4i : 16;
UNSG32 u_v_5i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_6i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_6i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_6i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_6i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_7i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_7i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_7i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_7i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_6i : 16;
UNSG32 u_v_7i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_8i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_8i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_8i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_8i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_9i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_9i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_9i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_9i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_8i : 16;
UNSG32 u_v_9i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_10i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_10i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_10i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_10i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_11i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_11i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_11i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_11i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_10i : 16;
UNSG32 u_v_11i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_12i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_12i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_12i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_12i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_13i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_13i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_13i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_13i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_12i : 16;
UNSG32 u_v_13i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_14i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_14i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_14i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_14i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_15i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_15i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_15i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_15i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_14i : 16;
UNSG32 u_v_15i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_16i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_16i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_16i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_16i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_17i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_17i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_17i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_17i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_16i : 16;
UNSG32 u_v_17i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_18i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_18i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_18i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_18i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_19i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_19i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_19i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_19i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_18i : 16;
UNSG32 u_v_19i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_20i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_20i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_20i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_20i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_21i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_21i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_21i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_21i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_20i : 16;
UNSG32 u_v_21i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_22i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_22i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_22i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_22i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_23i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_23i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_23i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_23i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_22i : 16;
UNSG32 u_v_23i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_24i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_24i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_24i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_24i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_25i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_25i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_25i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_25i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_24i : 16;
UNSG32 u_v_25i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_26i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_26i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_26i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_26i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_27i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_27i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_27i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_27i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_26i : 16;
UNSG32 u_v_27i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_28i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_28i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_28i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_28i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_29i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_29i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_29i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_29i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_28i : 16;
UNSG32 u_v_29i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_30i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_30i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_30i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_30i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_31i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_31i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_31i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_31i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_30i : 16;
UNSG32 u_v_31i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_32i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_32i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_32i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_32i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_33i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_33i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_33i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_33i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_32i : 16;
UNSG32 u_v_33i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_34i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_34i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_34i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_34i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_35i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_35i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_35i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_35i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_34i : 16;
UNSG32 u_v_35i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_36i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_36i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_36i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_36i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_37i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_37i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_37i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_37i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_36i : 16;
UNSG32 u_v_37i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_38i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_38i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_38i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_38i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_39i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_39i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_39i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_39i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_38i : 16;
UNSG32 u_v_39i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_40i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_40i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_40i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_40i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_41i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_41i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_41i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_41i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_40i : 16;
UNSG32 u_v_41i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_42i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_42i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_42i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_42i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_43i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_43i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_43i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_43i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_42i : 16;
UNSG32 u_v_43i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_44i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_44i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_44i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_44i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_45i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_45i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_45i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_45i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_44i : 16;
UNSG32 u_v_45i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_46i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_46i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_46i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_46i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_47i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_47i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_47i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_47i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_46i : 16;
UNSG32 u_v_47i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_48i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_48i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_48i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_48i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_49i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_49i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_49i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_49i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_48i : 16;
UNSG32 u_v_49i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_50i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_50i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_50i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_50i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_51i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_51i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_51i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_51i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_50i : 16;
UNSG32 u_v_51i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_52i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_52i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_52i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_52i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_53i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_53i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_53i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_53i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_52i : 16;
UNSG32 u_v_53i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_54i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_54i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_54i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_54i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_55i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_55i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_55i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_55i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_54i : 16;
UNSG32 u_v_55i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_56i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_56i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_56i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_56i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_57i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_57i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_57i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_57i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_56i : 16;
UNSG32 u_v_57i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_58i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_58i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_58i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_58i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_59i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_59i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_59i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_59i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_58i : 16;
UNSG32 u_v_59i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_60i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_60i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_60i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_60i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_61i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_61i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_61i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_61i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_60i : 16;
UNSG32 u_v_61i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_62i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_62i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_62i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_62i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_63i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_63i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_63i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_63i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_62i : 16;
UNSG32 u_v_63i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_64i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_64i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_64i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_64i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_65i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_65i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_65i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_65i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_64i : 16;
UNSG32 u_v_65i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_66i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_66i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_66i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_66i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_67i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_67i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_67i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_67i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_66i : 16;
UNSG32 u_v_67i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_68i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_68i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_68i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_68i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_69i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_69i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_69i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_69i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_68i : 16;
UNSG32 u_v_69i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_70i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_70i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_70i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_70i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_71i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_71i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_71i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_71i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_70i : 16;
UNSG32 u_v_71i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_72i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_72i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_72i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_72i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_73i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_73i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_73i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_73i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_72i : 16;
UNSG32 u_v_73i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_74i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_74i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_74i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_74i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_75i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_75i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_75i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_75i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_74i : 16;
UNSG32 u_v_75i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_76i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_76i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_76i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_76i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_77i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_77i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_77i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_77i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_76i : 16;
UNSG32 u_v_77i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_78i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_78i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_78i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_78i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_79i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_79i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_79i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_79i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_78i : 16;
UNSG32 u_v_79i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_80i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_80i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_80i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_80i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_81i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_81i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_81i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_81i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_80i : 16;
UNSG32 u_v_81i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_82i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_82i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_82i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_82i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_83i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_83i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_83i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_83i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_82i : 16;
UNSG32 u_v_83i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_84i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_84i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_84i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_84i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_85i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_85i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_85i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_85i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_84i : 16;
UNSG32 u_v_85i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_86i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_86i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_86i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_86i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_87i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_87i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_87i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_87i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_86i : 16;
UNSG32 u_v_87i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_88i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_88i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_88i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_88i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_89i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_89i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_89i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_89i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_88i : 16;
UNSG32 u_v_89i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_90i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_90i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_90i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_90i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_91i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_91i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_91i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_91i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_90i : 16;
UNSG32 u_v_91i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_92i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_92i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_92i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_92i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_93i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_93i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_93i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_93i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_92i : 16;
UNSG32 u_v_93i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_94i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_94i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_94i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_94i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_95i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_95i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_95i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_95i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_94i : 16;
UNSG32 u_v_95i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_96i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_96i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_96i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_96i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_97i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_97i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_97i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_97i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_96i : 16;
UNSG32 u_v_97i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_98i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_98i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_98i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_98i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_99i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_99i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_99i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_99i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_98i : 16;
UNSG32 u_v_99i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_100i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_100i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_100i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_100i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_101i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_101i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_101i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_101i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_100i : 16;
UNSG32 u_v_101i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_102i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_102i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_102i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_102i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_103i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_103i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_103i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_103i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_102i : 16;
UNSG32 u_v_103i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_104i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_104i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_104i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_104i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_105i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_105i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_105i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_105i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_104i : 16;
UNSG32 u_v_105i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_106i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_106i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_106i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_106i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_107i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_107i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_107i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_107i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_106i : 16;
UNSG32 u_v_107i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_108i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_108i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_108i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_108i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_109i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_109i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_109i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_109i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_108i : 16;
UNSG32 u_v_109i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_110i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_110i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_110i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_110i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_111i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_111i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_111i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_111i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_110i : 16;
UNSG32 u_v_111i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_112i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_112i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_112i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_112i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_113i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_113i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_113i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_113i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_112i : 16;
UNSG32 u_v_113i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_114i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_114i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_114i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_114i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_115i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_115i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_115i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_115i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_114i : 16;
UNSG32 u_v_115i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_116i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_116i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_116i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_116i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_117i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_117i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_117i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_117i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_116i : 16;
UNSG32 u_v_117i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_118i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_118i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_118i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_118i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_119i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_119i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_119i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_119i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_118i : 16;
UNSG32 u_v_119i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_120i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_120i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_120i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_120i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_121i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_121i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_121i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_121i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_120i : 16;
UNSG32 u_v_121i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_122i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_122i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_122i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_122i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_123i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_123i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_123i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_123i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_122i : 16;
UNSG32 u_v_123i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_124i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_124i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_124i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_124i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_125i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_125i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_125i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_125i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_124i : 16;
UNSG32 u_v_125i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_126i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_126i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_126i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_126i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_127i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_127i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_127i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_127i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_126i : 16;
UNSG32 u_v_127i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_128i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_128i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_128i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_128i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_129i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_129i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_129i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_129i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_128i : 16;
UNSG32 u_v_129i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_130i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_130i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_130i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_130i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_131i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_131i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_131i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_131i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_130i : 16;
UNSG32 u_v_131i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_132i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_132i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_132i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_132i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_133i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_133i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_133i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_133i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_132i : 16;
UNSG32 u_v_133i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_134i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_134i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_134i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_134i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_135i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_135i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_135i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_135i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_134i : 16;
UNSG32 u_v_135i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_136i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_136i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_136i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_136i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_137i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_137i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_137i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_137i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_136i : 16;
UNSG32 u_v_137i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_138i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_138i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_138i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_138i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_139i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_139i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_139i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_139i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_138i : 16;
UNSG32 u_v_139i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_140i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_140i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_140i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_140i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_141i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_141i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_141i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_141i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_140i : 16;
UNSG32 u_v_141i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_142i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_142i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_142i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_142i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_143i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_143i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_143i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_143i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_142i : 16;
UNSG32 u_v_143i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_144i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_144i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_144i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_144i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_145i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_145i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_145i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_145i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_144i : 16;
UNSG32 u_v_145i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_146i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_146i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_146i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_146i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_147i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_147i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_147i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_147i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_146i : 16;
UNSG32 u_v_147i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_148i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_148i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_148i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_148i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_149i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_149i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_149i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_149i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_148i : 16;
UNSG32 u_v_149i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_150i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_150i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_150i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_150i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_151i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_151i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_151i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_151i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_150i : 16;
UNSG32 u_v_151i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_152i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_152i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_152i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_152i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_153i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_153i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_153i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_153i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_152i : 16;
UNSG32 u_v_153i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_154i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_154i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_154i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_154i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_155i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_155i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_155i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_155i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_154i : 16;
UNSG32 u_v_155i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_156i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_156i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_156i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_156i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_157i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_157i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_157i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_157i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_156i : 16;
UNSG32 u_v_157i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_158i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_158i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_158i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_158i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_159i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_159i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_159i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_159i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_158i : 16;
UNSG32 u_v_159i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_160i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_160i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_160i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_160i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_161i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_161i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_161i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_161i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_160i : 16;
UNSG32 u_v_161i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_162i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_162i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_162i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_162i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_163i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_163i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_163i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_163i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_162i : 16;
UNSG32 u_v_163i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_164i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_164i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_164i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_164i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_165i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_165i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_165i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_165i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_164i : 16;
UNSG32 u_v_165i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_166i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_166i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_166i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_166i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_167i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_167i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_167i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_167i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_166i : 16;
UNSG32 u_v_167i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_168i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_168i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_168i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_168i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_169i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_169i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_169i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_169i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_168i : 16;
UNSG32 u_v_169i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_170i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_170i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_170i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_170i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_171i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_171i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_171i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_171i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_170i : 16;
UNSG32 u_v_171i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_172i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_172i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_172i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_172i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_173i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_173i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_173i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_173i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_172i : 16;
UNSG32 u_v_173i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_174i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_174i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_174i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_174i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_175i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_175i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_175i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_175i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_174i : 16;
UNSG32 u_v_175i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_176i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_176i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_176i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_176i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_177i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_177i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_177i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_177i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_176i : 16;
UNSG32 u_v_177i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_178i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_178i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_178i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_178i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_179i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_179i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_179i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_179i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_178i : 16;
UNSG32 u_v_179i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_180i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_180i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_180i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_180i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_181i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_181i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_181i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_181i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_180i : 16;
UNSG32 u_v_181i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_182i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_182i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_182i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_182i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_183i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_183i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_183i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_183i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_182i : 16;
UNSG32 u_v_183i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_184i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_184i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_184i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_184i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_185i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_185i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_185i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_185i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_184i : 16;
UNSG32 u_v_185i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_186i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_186i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_186i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_186i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_187i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_187i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_187i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_187i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_186i : 16;
UNSG32 u_v_187i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_188i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_188i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_188i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_188i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_189i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_189i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_189i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_189i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_188i : 16;
UNSG32 u_v_189i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_190i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_190i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_190i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_190i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_191i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_191i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_191i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_191i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_190i : 16;
UNSG32 u_v_191i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_192i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_192i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_192i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_192i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_193i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_193i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_193i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_193i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_192i : 16;
UNSG32 u_v_193i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_194i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_194i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_194i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_194i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_195i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_195i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_195i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_195i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_194i : 16;
UNSG32 u_v_195i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_196i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_196i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_196i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_196i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_197i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_197i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_197i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_197i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_196i : 16;
UNSG32 u_v_197i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_198i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_198i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_198i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_198i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_199i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_199i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_199i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_199i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_198i : 16;
UNSG32 u_v_199i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_200i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_200i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_200i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_200i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_201i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_201i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_201i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_201i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_200i : 16;
UNSG32 u_v_201i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_202i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_202i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_202i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_202i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_203i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_203i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_203i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_203i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_202i : 16;
UNSG32 u_v_203i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_204i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_204i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_204i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_204i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_205i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_205i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_205i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_205i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_204i : 16;
UNSG32 u_v_205i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_206i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_206i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_206i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_206i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_207i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_207i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_207i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_207i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_206i : 16;
UNSG32 u_v_207i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_208i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_208i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_208i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_208i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_209i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_209i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_209i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_209i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_208i : 16;
UNSG32 u_v_209i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_210i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_210i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_210i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_210i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_211i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_211i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_211i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_211i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_210i : 16;
UNSG32 u_v_211i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_212i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_212i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_212i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_212i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_213i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_213i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_213i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_213i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_212i : 16;
UNSG32 u_v_213i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_214i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_214i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_214i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_214i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_215i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_215i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_215i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_215i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_214i : 16;
UNSG32 u_v_215i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_216i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_216i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_216i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_216i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_217i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_217i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_217i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_217i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_216i : 16;
UNSG32 u_v_217i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_218i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_218i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_218i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_218i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_219i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_219i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_219i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_219i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_218i : 16;
UNSG32 u_v_219i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_220i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_220i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_220i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_220i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_221i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_221i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_221i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_221i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_220i : 16;
UNSG32 u_v_221i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_222i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_222i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_222i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_222i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_223i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_223i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_223i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_223i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_222i : 16;
UNSG32 u_v_223i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_224i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_224i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_224i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_224i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_225i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_225i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_225i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_225i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_224i : 16;
UNSG32 u_v_225i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_226i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_226i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_226i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_226i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_227i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_227i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_227i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_227i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_226i : 16;
UNSG32 u_v_227i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_228i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_228i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_228i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_228i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_229i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_229i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_229i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_229i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_228i : 16;
UNSG32 u_v_229i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_230i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_230i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_230i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_230i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_231i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_231i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_231i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_231i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_230i : 16;
UNSG32 u_v_231i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_232i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_232i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_232i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_232i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_233i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_233i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_233i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_233i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_232i : 16;
UNSG32 u_v_233i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_234i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_234i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_234i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_234i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_235i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_235i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_235i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_235i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_234i : 16;
UNSG32 u_v_235i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_236i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_236i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_236i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_236i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_237i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_237i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_237i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_237i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_236i : 16;
UNSG32 u_v_237i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_238i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_238i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_238i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_238i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_239i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_239i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_239i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_239i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_238i : 16;
UNSG32 u_v_239i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_240i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_240i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_240i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_240i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_241i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_241i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_241i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_241i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_240i : 16;
UNSG32 u_v_241i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_242i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_242i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_242i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_242i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_243i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_243i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_243i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_243i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_242i : 16;
UNSG32 u_v_243i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_244i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_244i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_244i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_244i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_245i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_245i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_245i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_245i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_244i : 16;
UNSG32 u_v_245i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_246i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_246i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_246i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_246i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_247i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_247i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_247i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_247i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_246i : 16;
UNSG32 u_v_247i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_248i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_248i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_248i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_248i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_249i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_249i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_249i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_249i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_248i : 16;
UNSG32 u_v_249i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_250i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_250i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_250i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_250i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_251i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_251i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_251i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_251i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_250i : 16;
UNSG32 u_v_251i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_252i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_252i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_252i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_252i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_253i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_253i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_253i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_253i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_252i : 16;
UNSG32 u_v_253i : 16;
///////////////////////////////////////////////////////////
#define GET32temp_v_254i(r32) _BFGET_(r32,15, 0)
#define SET32temp_v_254i(r32,v) _BFSET_(r32,15, 0,v)
#define GET16temp_v_254i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_254i(r16,v) _BFSET_(r16,15, 0,v)
#define GET32temp_v_255i(r32) _BFGET_(r32,31,16)
#define SET32temp_v_255i(r32,v) _BFSET_(r32,31,16,v)
#define GET16temp_v_255i(r16) _BFGET_(r16,15, 0)
#define SET16temp_v_255i(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_v_254i : 16;
UNSG32 u_v_255i : 16;
///////////////////////////////////////////////////////////
} SIE_temp;
///////////////////////////////////////////////////////////
SIGN32 temp_drvrd(SIE_temp *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 temp_drvwr(SIE_temp *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void temp_reset(SIE_temp *p);
SIGN32 temp_cmp (SIE_temp *p, SIE_temp *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define temp_check(p,pie,pfx,hLOG) temp_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define temp_print(p, pfx,hLOG) temp_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: temp
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vp8HalData (4,4)
/// # # ----------------------------------------------------------
/// : stackPSER 0x2000
/// : stackSYNP 0x3000
/// @ 0x00000 (P)
/// # 0x00000 mbCtxQ
/// $MBCTXQ mbCtxQ REG
/// ###
/// * 8 bank MB context buffer
/// * Including history context in & out
/// ###
/// @ 0x00A10 (P)
/// # 0x00A10 mbpropQ
/// $MBPROP mbpropQ REG [8]
/// ###
/// * MB properties to syntax processor
/// * Also know as P3MsgQ:
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to vCache
/// ###
/// @ 0x00C10 (P)
/// # 0x00C10 ctxPSER
/// $CtxPSER ctxPSER REG
/// ###
/// * Context of stream parser
/// ###
/// @ 0x00C34 (W-)
/// # # Stuffing bytes...
/// %% 32
/// @ 0x00C38 (P)
/// # 0x00C38 ctxSYNP
/// $CtxSYNP ctxSYNP REG
/// ###
/// * Context of syntax processor
/// ###
/// @ 0x00C68 (P)
/// # 0x00C68 tagDS
/// $LUT64b tagDS REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x00C70 (P)
/// # 0x00C70 DSMsgQ
/// $LUT64b DSMsgQ REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to data streamer
/// ###
/// @ 0x00CF0 (P)
/// # 0x00CF0 mvUpdateProbs
/// $LUT64b mvUpdateProbs REG [5]
/// @ 0x00D18 (P)
/// # 0x00D18 NlocCmd
/// $LUT64b NlocCmd REG [3]
/// @ 0x00D30 (P)
/// # 0x00D30 InvScan
/// $LUT64b InvScan REG [2]
/// @ 0x00D40 (P)
/// # 0x00D40 defaultCoefProb1
/// $LUT64b defaultCoefProb1 REG [66]
/// @ 0x00F50 (P)
/// # 0x00F50 localPSER
/// $LUT64b localPSER REG [16]
/// @ 0x00FD0 (W-)
/// # # Stuffing bytes...
/// %% 384
/// @ 0x01000 (P)
/// # 0x01000 P3TCQ
/// $LUT64b P3TCQ REG [128]
/// @ 0x01400 (P)
/// # 0x01400 vldBuf
/// $LUT64b vldBuf REG [128]
/// @ 0x01800 (P)
/// # 0x01800 coefUpdateProbs
/// $LUT64b coefUpdateProbs REG [132]
/// @ 0x01C20 (P)
/// # 0x01C20 defaultCoefProb0
/// $LUT64b defaultCoefProb0 REG [66]
/// @ 0x01E30 (P)
/// # 0x01E30 MVProb
/// $LUT64b MVProb REG [5]
/// @ 0x01E58 (P)
/// # 0x01E58 PIntraModeProb
/// $LUT64b PIntraModeProb REG
/// @ 0x01E60 (W-)
/// # # Stuffing bytes...
/// %% 3328
/// @ 0x02000 (P)
/// # 0x02000 VCMsgQ
/// $LUT64b VCMsgQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to PCube
/// ###
/// @ 0x02400 (P)
/// # 0x02400 P3FopQ
/// $LUT64b P3FopQ REG [64]
/// ###
/// * HBO FIFO (m2h):
/// * FOP queue to vpro.hbo to PCube
/// ###
/// @ 0x02600 (P)
/// # 0x02600 fopMbmodeTbl
/// $LUT64b fopMbmodeTbl REG [3]
/// @ 0x02618 (P)
/// # 0x02618 fopCmdTbl
/// $LUT64b fopCmdTbl REG [48]
/// @ 0x02798 (P)
/// # 0x02798 NeighbFindCmdTbl
/// $LUT64b NeighbFindCmdTbl REG [2]
/// @ 0x027A8 (P)
/// # 0x027A8 QPTable
/// $LUT64b QPTable REG [192]
/// @ 0x02DA8 (P)
/// # 0x02DA8 localSYNP
/// $LUT64b localSYNP REG [24]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 11880B, bits: 91270b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vp8HalData
#define h_vp8HalData (){}
#define vp8HalData_stackPSER 0x2000
#define vp8HalData_stackSYNP 0x3000
///////////////////////////////////////////////////////////
#define RA_vp8HalData_mbCtxQ 0x0000
///////////////////////////////////////////////////////////
#define RA_vp8HalData_mbpropQ 0x0A10
///////////////////////////////////////////////////////////
#define RA_vp8HalData_ctxPSER 0x0C10
///////////////////////////////////////////////////////////
#define RA_vp8HalData_ctxSYNP 0x0C38
///////////////////////////////////////////////////////////
#define RA_vp8HalData_tagDS 0x0C68
///////////////////////////////////////////////////////////
#define RA_vp8HalData_DSMsgQ 0x0C70
///////////////////////////////////////////////////////////
#define RA_vp8HalData_mvUpdateProbs 0x0CF0
///////////////////////////////////////////////////////////
#define RA_vp8HalData_NlocCmd 0x0D18
///////////////////////////////////////////////////////////
#define RA_vp8HalData_InvScan 0x0D30
///////////////////////////////////////////////////////////
#define RA_vp8HalData_defaultCoefProb1 0x0D40
///////////////////////////////////////////////////////////
#define RA_vp8HalData_localPSER 0x0F50
///////////////////////////////////////////////////////////
#define RA_vp8HalData_P3TCQ 0x1000
///////////////////////////////////////////////////////////
#define RA_vp8HalData_vldBuf 0x1400
///////////////////////////////////////////////////////////
#define RA_vp8HalData_coefUpdateProbs 0x1800
///////////////////////////////////////////////////////////
#define RA_vp8HalData_defaultCoefProb0 0x1C20
///////////////////////////////////////////////////////////
#define RA_vp8HalData_MVProb 0x1E30
///////////////////////////////////////////////////////////
#define RA_vp8HalData_PIntraModeProb 0x1E58
///////////////////////////////////////////////////////////
#define RA_vp8HalData_VCMsgQ 0x2000
///////////////////////////////////////////////////////////
#define RA_vp8HalData_P3FopQ 0x2400
///////////////////////////////////////////////////////////
#define RA_vp8HalData_fopMbmodeTbl 0x2600
///////////////////////////////////////////////////////////
#define RA_vp8HalData_fopCmdTbl 0x2618
///////////////////////////////////////////////////////////
#define RA_vp8HalData_NeighbFindCmdTbl 0x2798
///////////////////////////////////////////////////////////
#define RA_vp8HalData_QPTable 0x27A8
///////////////////////////////////////////////////////////
#define RA_vp8HalData_localSYNP 0x2DA8
///////////////////////////////////////////////////////////
typedef struct SIE_vp8HalData {
///////////////////////////////////////////////////////////
SIE_MBCTXQ ie_mbCtxQ;
///////////////////////////////////////////////////////////
SIE_MBPROP ie_mbpropQ[8];
///////////////////////////////////////////////////////////
SIE_CtxPSER ie_ctxPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC34 [4];
///////////////////////////////////////////////////////////
SIE_CtxSYNP ie_ctxSYNP;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_mvUpdateProbs[5];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_NlocCmd[3];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_InvScan[2];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_defaultCoefProb1[66];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_localPSER[16];
///////////////////////////////////////////////////////////
UNSG8 RSVDxFD0 [48];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3TCQ[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_vldBuf[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_coefUpdateProbs[132];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_defaultCoefProb0[66];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_MVProb[5];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_PIntraModeProb;
///////////////////////////////////////////////////////////
UNSG8 RSVDx1E60 [416];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_VCMsgQ[128];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3FopQ[64];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_fopMbmodeTbl[3];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_fopCmdTbl[48];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_NeighbFindCmdTbl[2];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_QPTable[192];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_localSYNP[24];
///////////////////////////////////////////////////////////
} SIE_vp8HalData;
///////////////////////////////////////////////////////////
SIGN32 vp8HalData_drvrd(SIE_vp8HalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vp8HalData_drvwr(SIE_vp8HalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vp8HalData_reset(SIE_vp8HalData *p);
SIGN32 vp8HalData_cmp (SIE_vp8HalData *p, SIE_vp8HalData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vp8HalData_check(p,pie,pfx,hLOG) vp8HalData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vp8HalData_print(p, pfx,hLOG) vp8HalData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vp8HalData
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dvHalData (4,4)
/// # # ----------------------------------------------------------
/// : stackPSER 0x2000
/// : stackSYNP 0x3000
/// @ 0x00000 (P)
/// # 0x00000 localTCQ0
/// $LUT64b localTCQ0 REG [192]
/// ###
/// * Coeff buffer for syntax processor.
/// * Receiving coeff from data streamer.
/// * Pingpong buffer, each for one MB.
/// ###
/// @ 0x00600 (W-)
/// # # Stuffing bytes...
/// %% 8320
/// @ 0x00A10 (P)
/// # 0x00A10 mbpropQ
/// $MBPROP mbpropQ REG [8]
/// ###
/// * MB properties to syntax processor
/// * Also know as P3MsgQ:
/// * HBO FIFO (m2h):
/// * Message queue to vpro.hbo to vCache
/// ###
/// @ 0x00C10 (P)
/// # 0x00C10 ctxPSER
/// $CtxPSER ctxPSER REG
/// ###
/// * Context of stream parser
/// ###
/// @ 0x00C34 (W-)
/// # # Stuffing bytes...
/// %% 96
/// @ 0x00C40 (P)
/// # 0x00C40 ctxSYNP
/// $CtxSYNP ctxSYNP REG
/// ###
/// * Context of syntax processor
/// ###
/// @ 0x00C70 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00C78 (P)
/// # 0x00C78 tagDS
/// $LUT64b tagDS REG
/// ###
/// * Receiving latest retired tag from data streamer
/// ###
/// @ 0x00C80 (P)
/// # 0x00C80 DSMsgQ
/// $LUT64b DSMsgQ REG [16]
/// ###
/// * HBO FIFO (m2h):
/// * Message queue to data streamer
/// ###
/// @ 0x00D00 (P)
/// # 0x00D00 InvScan
/// $LUT64b InvScan REG [64]
/// ###
/// * Inverse scan tables.
/// ###
/// @ 0x00F00 (P)
/// # 0x00F00 Res00
/// $LUT64b Res00 REG
/// ###
/// * Reserved.
/// ###
/// @ 0x00F08 (W-)
/// # # Stuffing bytes...
/// %% 1984
/// @ 0x01000 (P)
/// # 0x01000 P3TCQ
/// $LUT64b P3TCQ REG [128]
/// ###
/// * HBO FIFO (m2h):
/// * TC queue to vpro.hbo to PCube
/// ###
/// @ 0x01400 (W-)
/// # # Stuffing bytes...
/// %% 8192
/// @ 0x01800 (P)
/// # 0x01800 localTCQ1
/// $LUT64b localTCQ1 REG [192]
/// ###
/// * Coeff buffer for syntax processor.
/// * Receiving coeff from data streamer.
/// * Pingpong buffer, each for one MB.
/// ###
/// @ 0x01E00 (P)
/// # 0x01E00 dsmsg
/// $DSmsg dsmsg REG
/// ###
/// * Dsmsg for synpro
/// ###
/// @ 0x01E08 (P)
/// # 0x01E08 Res02
/// $LUT64b Res02 REG
/// ###
/// * Reserved.
/// ###
/// @ 0x01E10 (P)
/// # 0x01E10 localPSER
/// $VSLocal localPSER REG
/// ###
/// * Local data area of stream parser
/// ###
/// @ 0x01E90 (W-)
/// # # Stuffing bytes...
/// %% 2944
/// @ 0x02000 (P)
/// # 0x02000 QMatrix
/// $LUT64b QMatrix REG [416]
/// ###
/// * Dequant matrix tables.
/// ###
/// @ 0x02D00 (P)
/// # 0x02D00 QmIdxTab
/// $LUT64b QmIdxTab REG [16]
/// ###
/// * Index table for dequant matrix tables.
/// ###
/// @ 0x02D80 (P)
/// # 0x02D80 WeightTab
/// $LUT64b WeightTab REG [32]
/// ###
/// * Deweight tables.
/// ###
/// @ 0x02E80 (P)
/// # 0x02E80 localSYNP
/// $VSLocal localSYNP REG
/// ###
/// * Local data area of syntax processor
/// * End of dvHalData
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 12032B, bits: 74630b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dvHalData
#define h_dvHalData (){}
#define dvHalData_stackPSER 0x2000
#define dvHalData_stackSYNP 0x3000
///////////////////////////////////////////////////////////
#define RA_dvHalData_localTCQ0 0x0000
///////////////////////////////////////////////////////////
#define RA_dvHalData_mbpropQ 0x0A10
///////////////////////////////////////////////////////////
#define RA_dvHalData_ctxPSER 0x0C10
///////////////////////////////////////////////////////////
#define RA_dvHalData_ctxSYNP 0x0C40
///////////////////////////////////////////////////////////
#define RA_dvHalData_tagDS 0x0C78
///////////////////////////////////////////////////////////
#define RA_dvHalData_DSMsgQ 0x0C80
///////////////////////////////////////////////////////////
#define RA_dvHalData_InvScan 0x0D00
///////////////////////////////////////////////////////////
#define RA_dvHalData_Res00 0x0F00
///////////////////////////////////////////////////////////
#define RA_dvHalData_P3TCQ 0x1000
///////////////////////////////////////////////////////////
#define RA_dvHalData_localTCQ1 0x1800
///////////////////////////////////////////////////////////
#define RA_dvHalData_dsmsg 0x1E00
///////////////////////////////////////////////////////////
#define RA_dvHalData_Res02 0x1E08
///////////////////////////////////////////////////////////
#define RA_dvHalData_localPSER 0x1E10
///////////////////////////////////////////////////////////
#define RA_dvHalData_QMatrix 0x2000
///////////////////////////////////////////////////////////
#define RA_dvHalData_QmIdxTab 0x2D00
///////////////////////////////////////////////////////////
#define RA_dvHalData_WeightTab 0x2D80
///////////////////////////////////////////////////////////
#define RA_dvHalData_localSYNP 0x2E80
///////////////////////////////////////////////////////////
typedef struct SIE_dvHalData {
///////////////////////////////////////////////////////////
SIE_LUT64b ie_localTCQ0[192];
///////////////////////////////////////////////////////////
UNSG8 RSVDx600 [1040];
///////////////////////////////////////////////////////////
SIE_MBPROP ie_mbpropQ[8];
///////////////////////////////////////////////////////////
SIE_CtxPSER ie_ctxPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC34 [12];
///////////////////////////////////////////////////////////
SIE_CtxSYNP ie_ctxSYNP;
///////////////////////////////////////////////////////////
UNSG8 RSVDxC70 [8];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_tagDS;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_DSMsgQ[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_InvScan[64];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_Res00;
///////////////////////////////////////////////////////////
UNSG8 RSVDxF08 [248];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_P3TCQ[128];
///////////////////////////////////////////////////////////
UNSG8 RSVDx1400 [1024];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_localTCQ1[192];
///////////////////////////////////////////////////////////
SIE_DSmsg ie_dsmsg;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_Res02;
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localPSER;
///////////////////////////////////////////////////////////
UNSG8 RSVDx1E90 [368];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_QMatrix[416];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_QmIdxTab[16];
///////////////////////////////////////////////////////////
SIE_LUT64b ie_WeightTab[32];
///////////////////////////////////////////////////////////
SIE_VSLocal ie_localSYNP;
///////////////////////////////////////////////////////////
} SIE_dvHalData;
///////////////////////////////////////////////////////////
SIGN32 dvHalData_drvrd(SIE_dvHalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dvHalData_drvwr(SIE_dvHalData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dvHalData_reset(SIE_dvHalData *p);
SIGN32 dvHalData_cmp (SIE_dvHalData *p, SIE_dvHalData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dvHalData_check(p,pie,pfx,hLOG) dvHalData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dvHalData_print(p, pfx,hLOG) dvHalData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dvHalData
////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif
#pragma pack()
#endif
//////
/// ENDOFFILE: vscope_spec.h
////////////////////////////////////////////////////////////