ref: 1cc6febfeccb6d720972dfb09611341bbf49983d
dir: /g1regs.h/
enum {
/* SWREG1 */
SW_DEC_TIMEOUT = 18,
SW_DEC_ERROR_INT = 16,
SW_DEC_BUFFER_INT = 14,
SW_DEC_RDY_INT = 12,
SW_DEC_ABORT_INT = 11,
SW_DEC_IRQ = 8,
SW_DEC_ABORT_E = 5,
SW_DEC_IRQ_DIS = 4,
SW_DEC_E = 0,
/* SWREG2 */
SW_DEC_TIMEOUT_E = 23, /* enable timeouts */
SW_DEC_STRSWAP32_E = 22, /* = 1 (64-bit) */
SW_DEC_STRENDIAN_E = 21, /* = 1 (little endian) */
SW_DEC_INSWAP32_E = 20, /* = 1 (64-bit) */
SW_DEC_OUTSWAP32_E = 19, /* = 1 (64-bit) */
SW_DEC_CLK_GATE_E = 10, /* clock gate (0=gated 1=running) */
SW_DEC_IN_ENDIAN = 9, /* = 1 (little endian) */
SW_DEC_OUT_ENDIAN = 8, /* = 1 (little endian) */
SW_DEC_MAX_BURST = 0, /* = 16 for AIX is the max */
/* SWREG3 */
SW_PIC_INTERLACE_E = 23, /* = !sps.frame_mbs_only_flag &&
* (sps.mb_adaptive_frame_field_flag || sh.field_pic_flag)
*/
SW_PIC_FIELDMODE_E = 22, /* = !sps.frame_mbs_only_flag && sh.field_pic_flag */
SW_PIC_TOPFIELD_E = 19, /* = !sps.frame_mbs_only_flag && !sh.bottom_field_flag */
SW_WRITE_MVS_E = 12, /* = sps.profile_idc > 66 && sps.nal_ref_idc != 0 */
SW_SEQ_MBAFF_E = 10, /* = sps.mb_adaptive_frame_field_flag */
SW_PICORD_COUNT_E = 9, /* = sps.profile_idc > 66 (higher than baseline profile) */
SW_DEC_AXI_WR_ID = 0, /* AIX id, 0xff for autoalloc */
/* SWREG4 */
SW_PIC_MB_WIDTH = 23, /* = sps.pic_width_in_mbs_minus1 + 1 */
SW_PIC_MB_HEIGHT_P = 11, /* = sps.pic_height_in_map_units_minus1 + 1 */
SW_REF_FRAMES = 0, /* = sps.max_num_ref_frames */
/* SWREG5 */
SW_STRM_START_BIT = 26, /* = 0 (always starting at byte boundary) */
SW_TYPE1_QUANT_E = 24, /* = pps.pic_scaling_matrix_present_flag */
SW_CH_QP_OFFSET = 19, /* = pps.chroma_qp_index_offset */
SW_CH_QP_OFFSET2 = 14, /* = pps.second_chroma_qp_index_offset */
SW_FIELDPIC_FLAG_E = 0, /* = !sps.frame_mbs_only_flag */
/* SWREG6 */
SW_START_CODE_E = 31, /* = 1 */
SW_INIT_QP = 25, /* = pps.pic_init_qp_minus26 + 26 */
SW_STREAM_LEN = 0, /* = size of the available input in bytes */
/* SWREG7 */
SW_CABAC_E = 31, /* = pps.entropy_coding_mode_flag */
SW_BLACKWHITE_E = 30, /* = sps.chroma_format_idc == 0 && sps.profile_idc >= 100 (>= high profile) */
SW_DIR_8X8_INFER_E = 29, /* = sps.direct_8x8_inference_flag */
SW_WEIGHT_PRED_E = 28, /* = pps.weighted_pred_flag */
SW_WEIGHT_BIPR_IDC = 26, /* = pps.weighted_bipred_idc */
SW_FRAMENUM_LEN = 16, /* = sps.log2_max_frame_num_minus4 + 4 */
SW_FRAMENUM = 0, /* = sh.frame_num */
/* SWREG8 */
SW_CONST_INTRA_E = 31, /* = pps.constrained_intra_pred_flag */
SW_FILT_CTRL_PRES = 30, /* = pps.deblocking_filter_control_present_flag */
SW_RDPIC_CNT_PRES = 29, /* = pps.redundant_pic_cnt_present_flag */
SW_8X8TRANS_FLAG_E = 28, /* = pps.transform_8x8_mode_flag */
SW_REFPIC_MK_LEN = 17, /* = size (in bits) of sh.dec_ref_pic_marking (sps.nal_ref_idc != 0) */
SW_IDR_PIC_E = 16, /* = sh.nal_unit_type == 5 (IDR slice) */
SW_IDR_PIC_ID = 0, /* = sh.idr_pic_id */
/* SWREG9 */
SW_PPS_ID = 24, /* = pps.pic_parameter_set_id */
SW_REFIDX1_ACTIVE = 19, /* = pps.num_ref_idx_l1_default_active_minus1 + 1 */
SW_REFIDX0_ACTIVE = 14, /* = pps.num_ref_idx_l0_default_active_minus1 + 1 */
SW_POC_LENGTH = 0, /* = sum of sizes (in bits) of:
* 1) sh.pic_order_cnt_lsb
* 2) sh.delta_pic_order_cnt_bottom
* 3) sh.delta_pic_order_cnt0
* 4) sh.delta_pic_order_cnt1
*/
/* SWREG12 */
SW_RLC_VLC_BASE = 0, /* current pointer to the stream */
/* SWREG13 */
SW_DEC_OUT_BASE = 0, /* output buffer */
/* SWREG14 ... SWREG29 */
SW_REFERx_BASE = 0,
SW_REFERx_FIELD_E = 1,
SW_REFERx_TOPC_E = 0,
/* SWREG30 ... SWREG37 */
SW_REFERx_NBR_NEXT = 16,
/* SWREG38 */
SW_REFER_LTERM_E = 0, /* long term flag for ref pic id
* 31:15 set to 1 if frame is being decoded, 31 is picid=0, 30 picid=1 etc
* 31:0 set to 1 if field decode, 31 is picid=0 top, 30 picid=0 *bottom* etc
*/
/* SWREG39 */
SW_REFER_VALID_E = 0, /* valid flag for ref pic id ^ */
/* SWREG40 */
SW_QTABLE_BASE = 0, /* pointer to
* 1) CABAC init data (pps.entropy_coding_mode_flag != 0)
* (see cabac_gen.h)
* 2) picture order count table (sps.profile_idc > 66)
* (see 8.2.1.1 - 8.2.1.3)
* alternating top and bottom field order counts
* 32 + 2 - 32-bit ints
* 3) scaling lists (sps.seq_scaling_matrix_present_flag != 0 ||
* pps.pic_scaling_matrix_present_flag != 0)
* 4x4 + 8x8 - after inverse scanning process (8.5.6)
* [6][16] + [6][64] - [3][2][1][0][7][6][5][4]... (little endian, 64bit)
*/
/* SWREG41 */
SW_DIR_MV_BASE = 0, /* destination for motion vector data (sps.profile_idc > 66 && sps.nal_ref_idc != 0)
* max size is 416 bytes/MB (that's a bit more than 3Mb for full hd frame)
*/
/* SWREG42 ... SWREG47 */
SW_BINIT_RLIST_Bx = 5,
SW_BINIT_RLIST_Fx = 0,
/* SWREG49 */
SW_PRED_BC_TAP_0_0 = 22, /* = 1 (fixed 6-tap filter values) */
SW_PRED_BC_TAP_0_1 = 12, /* = -5 ^ */
SW_PRED_BC_TAP_0_2 = 2, /* = 20 ^ */
/* SWREG58 */
SW_DEC_MULTICORE_E = 30, /* is this even usable? */
SW_DEC_WRITESTAT_E = 29,
};