summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRockchip2012-03-18 21:25:45 -0800
committerRockchip2012-03-18 21:25:45 -0800
commitd68ab086119ab2fbd2ee8a64b7a6c331645a4a08 (patch)
tree1f8335fd8f606decdb373e094125eff1e220bb77
parent2c3e14ed369c6bc5ac07eedb2fa7494f7f363135 (diff)
add header for yuvtorgb
-rw-r--r--src_dec/common/8170enum.h691
-rw-r--r--src_dec/common/regdrv.h93
-rw-r--r--src_dec/inc/dwl.h176
3 files changed, 960 insertions, 0 deletions
diff --git a/src_dec/common/8170enum.h b/src_dec/common/8170enum.h
new file mode 100644
index 0000000..2c9445a
--- /dev/null
+++ b/src_dec/common/8170enum.h
@@ -0,0 +1,691 @@
+ HWIF_DEC_PIC_INF,
+ HWIF_DEC_TIMEOUT,
+ HWIF_DEC_SLICE_INT,
+ HWIF_DEC_ERROR_INT,
+ HWIF_DEC_ASO_INT,
+ HWIF_DEC_BUFFER_INT,
+ HWIF_DEC_BUS_INT,
+ HWIF_DEC_RDY_INT,
+ HWIF_DEC_IRQ,
+ HWIF_DEC_IRQ_DIS,
+ HWIF_DEC_E,
+ HWIF_DEC_AXI_RD_ID,
+ HWIF_DEC_TIMEOUT_E,
+ HWIF_DEC_STRSWAP32_E,
+ HWIF_DEC_STRENDIAN_E,
+ HWIF_DEC_INSWAP32_E,
+ HWIF_DEC_OUTSWAP32_E,
+ HWIF_DEC_DATA_DISC_E,
+ HWIF_DEC_OUT_TILED_E,
+ HWIF_DEC_LATENCY,
+ HWIF_DEC_CLK_GATE_E,
+ HWIF_DEC_IN_ENDIAN,
+ HWIF_DEC_OUT_ENDIAN,
+ HWIF_PRIORITY_MODE,
+ HWIF_DEC_ADV_PRE_DIS,
+ HWIF_DEC_SCMD_DIS,
+ HWIF_DEC_MAX_BURST,
+ HWIF_DEC_MODE,
+ HWIF_RLC_MODE_E,
+ HWIF_SKIP_MODE,
+ HWIF_DIVX3_E,
+ HWIF_PJPEG_E,
+ HWIF_PIC_INTERLACE_E,
+ HWIF_PIC_FIELDMODE_E,
+ HWIF_PIC_B_E,
+ HWIF_PIC_INTER_E,
+ HWIF_PIC_TOPFIELD_E,
+ HWIF_FWD_INTERLACE_E,
+ HWIF_SORENSON_E,
+ HWIF_REF_TOPFIELD_E,
+ HWIF_DEC_OUT_DIS,
+ HWIF_FILTERING_DIS,
+ HWIF_PIC_FIXED_QUANT,
+ HWIF_WRITE_MVS_E,
+ HWIF_REFTOPFIRST_E,
+ HWIF_SEQ_MBAFF_E,
+ HWIF_PICORD_COUNT_E,
+ HWIF_DEC_AHB_HLOCK_E,
+ HWIF_DEC_AXI_WR_ID,
+ HWIF_PIC_MB_WIDTH,
+ HWIF_MB_WIDTH_OFF,
+ HWIF_PIC_MB_HEIGHT_P,
+ HWIF_MB_HEIGHT_OFF,
+ HWIF_ALT_SCAN_E,
+ HWIF_TOPFIELDFIRST_E,
+ HWIF_REF_FRAMES,
+ HWIF_PIC_MB_W_EXT,
+ HWIF_PIC_MB_H_EXT,
+ HWIF_PIC_REFER_FLAG,
+ HWIF_STRM_START_BIT,
+ HWIF_SYNC_MARKER_E,
+ HWIF_TYPE1_QUANT_E,
+ HWIF_CH_QP_OFFSET,
+ HWIF_CH_QP_OFFSET2,
+ HWIF_FIELDPIC_FLAG_E,
+ HWIF_INTRADC_VLC_THR,
+ HWIF_VOP_TIME_INCR,
+ HWIF_DQ_PROFILE,
+ HWIF_DQBI_LEVEL,
+ HWIF_RANGE_RED_FRM_E,
+ HWIF_FAST_UVMC_E,
+ HWIF_TRANSDCTAB,
+ HWIF_TRANSACFRM,
+ HWIF_TRANSACFRM2,
+ HWIF_MB_MODE_TAB,
+ HWIF_MVTAB,
+ HWIF_CBPTAB,
+ HWIF_2MV_BLK_PAT_TAB,
+ HWIF_4MV_BLK_PAT_TAB,
+ HWIF_QSCALE_TYPE,
+ HWIF_CON_MV_E,
+ HWIF_INTRA_DC_PREC,
+ HWIF_INTRA_VLC_TAB,
+ HWIF_FRAME_PRED_DCT,
+ HWIF_JPEG_QTABLES,
+ HWIF_JPEG_MODE,
+ HWIF_JPEG_FILRIGHT_E,
+ HWIF_JPEG_STREAM_ALL,
+ HWIF_CR_AC_VLCTABLE,
+ HWIF_CB_AC_VLCTABLE,
+ HWIF_CR_DC_VLCTABLE,
+ HWIF_CB_DC_VLCTABLE,
+ HWIF_CR_DC_VLCTABLE3,
+ HWIF_CB_DC_VLCTABLE3,
+ HWIF_STRM1_START_BIT,
+ HWIF_HUFFMAN_E,
+ HWIF_MULTISTREAM_E,
+ HWIF_BOOLEAN_VALUE,
+ HWIF_BOOLEAN_RANGE,
+ HWIF_ALPHA_OFFSET,
+ HWIF_BETA_OFFSET,
+ HWIF_START_CODE_E,
+ HWIF_INIT_QP,
+ HWIF_CH_8PIX_ILEAV_E,
+ HWIF_STREAM_LEN,
+ HWIF_CABAC_E,
+ HWIF_BLACKWHITE_E,
+ HWIF_DIR_8X8_INFER_E,
+ HWIF_WEIGHT_PRED_E,
+ HWIF_WEIGHT_BIPR_IDC,
+ HWIF_FRAMENUM_LEN,
+ HWIF_FRAMENUM,
+ HWIF_BITPLANE0_E,
+ HWIF_BITPLANE1_E,
+ HWIF_BITPLANE2_E,
+ HWIF_ALT_PQUANT,
+ HWIF_DQ_EDGES,
+ HWIF_TTMBF,
+ HWIF_PQINDEX,
+ HWIF_BILIN_MC_E,
+ HWIF_UNIQP_E,
+ HWIF_HALFQP_E,
+ HWIF_TTFRM,
+ HWIF_2ND_BYTE_EMUL_E,
+ HWIF_DQUANT_E,
+ HWIF_VC1_ADV_E,
+ HWIF_PJPEG_FILDOWN_E,
+ HWIF_PJPEG_WDIV8,
+ HWIF_PJPEG_HDIV8,
+ HWIF_PJPEG_AH,
+ HWIF_PJPEG_AL,
+ HWIF_PJPEG_SS,
+ HWIF_PJPEG_SE,
+ HWIF_DCT1_START_BIT,
+ HWIF_DCT2_START_BIT,
+ HWIF_CH_MV_RES,
+ HWIF_INIT_DC_MATCH0,
+ HWIF_INIT_DC_MATCH1,
+ HWIF_VP7_VERSION,
+ HWIF_CONST_INTRA_E,
+ HWIF_FILT_CTRL_PRES,
+ HWIF_RDPIC_CNT_PRES,
+ HWIF_8X8TRANS_FLAG_E,
+ HWIF_REFPIC_MK_LEN,
+ HWIF_IDR_PIC_E,
+ HWIF_IDR_PIC_ID,
+ HWIF_MV_SCALEFACTOR,
+ HWIF_REF_DIST_FWD,
+ HWIF_REF_DIST_BWD,
+ HWIF_LOOP_FILT_LIMIT,
+ HWIF_VARIANCE_TEST_E,
+ HWIF_MV_THRESHOLD,
+ HWIF_VAR_THRESHOLD,
+ HWIF_DIVX_IDCT_E,
+ HWIF_DIVX3_SLICE_SIZE,
+ HWIF_PJPEG_REST_FREQ,
+ HWIF_RV_PROFILE,
+ HWIF_RV_OSV_QUANT,
+ HWIF_RV_FWD_SCALE,
+ HWIF_RV_BWD_SCALE,
+ HWIF_INIT_DC_COMP0,
+ HWIF_INIT_DC_COMP1,
+ HWIF_PPS_ID,
+ HWIF_REFIDX1_ACTIVE,
+ HWIF_REFIDX0_ACTIVE,
+ HWIF_POC_LENGTH,
+ HWIF_ICOMP0_E,
+ HWIF_ISCALE0,
+ HWIF_ISHIFT0,
+ HWIF_STREAM1_LEN,
+ HWIF_MB_CTRL_BASE,
+ HWIF_PIC_SLICE_AM,
+ HWIF_COEFFS_PART_AM,
+ HWIF_DIFF_MV_BASE,
+ HWIF_PINIT_RLIST_F9,
+ HWIF_PINIT_RLIST_F8,
+ HWIF_PINIT_RLIST_F7,
+ HWIF_PINIT_RLIST_F6,
+ HWIF_PINIT_RLIST_F5,
+ HWIF_PINIT_RLIST_F4,
+ HWIF_ICOMP1_E,
+ HWIF_ISCALE1,
+ HWIF_ISHIFT1,
+ HWIF_SEGMENT_BASE,
+ HWIF_SEGMENT_UPD_E,
+ HWIF_SEGMENT_E,
+ HWIF_I4X4_OR_DC_BASE,
+ HWIF_PINIT_RLIST_F15,
+ HWIF_PINIT_RLIST_F14,
+ HWIF_PINIT_RLIST_F13,
+ HWIF_PINIT_RLIST_F12,
+ HWIF_PINIT_RLIST_F11,
+ HWIF_PINIT_RLIST_F10,
+ HWIF_ICOMP2_E,
+ HWIF_ISCALE2,
+ HWIF_ISHIFT2,
+ HWIF_DCT3_START_BIT,
+ HWIF_DCT4_START_BIT,
+ HWIF_DCT5_START_BIT,
+ HWIF_DCT6_START_BIT,
+ HWIF_DCT7_START_BIT,
+ HWIF_RLC_VLC_BASE,
+ HWIF_DEC_OUT_BASE,
+ HWIF_REFER0_BASE,
+ HWIF_REFER0_FIELD_E,
+ HWIF_REFER0_TOPC_E,
+ HWIF_JPG_CH_OUT_BASE,
+ HWIF_REFER1_BASE,
+ HWIF_REFER1_FIELD_E,
+ HWIF_REFER1_TOPC_E,
+ HWIF_JPEG_SLICE_H,
+ HWIF_REFER2_BASE,
+ HWIF_REFER2_FIELD_E,
+ HWIF_REFER2_TOPC_E,
+ HWIF_AC1_CODE6_CNT,
+ HWIF_AC1_CODE5_CNT,
+ HWIF_AC1_CODE4_CNT,
+ HWIF_AC1_CODE3_CNT,
+ HWIF_AC1_CODE2_CNT,
+ HWIF_AC1_CODE1_CNT,
+ HWIF_REFER3_BASE,
+ HWIF_REFER3_FIELD_E,
+ HWIF_REFER3_TOPC_E,
+ HWIF_AC1_CODE10_CNT,
+ HWIF_AC1_CODE9_CNT,
+ HWIF_AC1_CODE8_CNT,
+ HWIF_AC1_CODE7_CNT,
+ HWIF_REFER4_BASE,
+ HWIF_REFER4_FIELD_E,
+ HWIF_REFER4_TOPC_E,
+ HWIF_PIC_HEADER_LEN,
+ HWIF_PIC_4MV_E,
+ HWIF_RANGE_RED_REF_E,
+ HWIF_VC1_DIFMV_RANGE,
+ HWIF_MV_RANGE,
+ HWIF_OVERLAP_E,
+ HWIF_OVERLAP_METHOD,
+ HWIF_ALT_SCAN_FLAG_E,
+ HWIF_FCODE_FWD_HOR,
+ HWIF_FCODE_FWD_VER,
+ HWIF_FCODE_BWD_HOR,
+ HWIF_FCODE_BWD_VER,
+ HWIF_MV_ACCURACY_FWD,
+ HWIF_MV_ACCURACY_BWD,
+ HWIF_MPEG4_VC1_RC,
+ HWIF_PREV_ANC_TYPE,
+ HWIF_AC1_CODE14_CNT,
+ HWIF_AC1_CODE13_CNT,
+ HWIF_AC1_CODE12_CNT,
+ HWIF_AC1_CODE11_CNT,
+ HWIF_GREF_SIGN_BIAS,
+ HWIF_REFER5_BASE,
+ HWIF_REFER5_FIELD_E,
+ HWIF_REFER5_TOPC_E,
+ HWIF_TRB_PER_TRD_D0,
+ HWIF_ICOMP3_E,
+ HWIF_ISCALE3,
+ HWIF_ISHIFT3,
+ HWIF_AC2_CODE4_CNT,
+ HWIF_AC2_CODE3_CNT,
+ HWIF_AC2_CODE2_CNT,
+ HWIF_AC2_CODE1_CNT,
+ HWIF_AC1_CODE16_CNT,
+ HWIF_AC1_CODE15_CNT,
+ HWIF_SCAN_MAP_1,
+ HWIF_SCAN_MAP_2,
+ HWIF_SCAN_MAP_3,
+ HWIF_SCAN_MAP_4,
+ HWIF_SCAN_MAP_5,
+ HWIF_AREF_SIGN_BIAS,
+ HWIF_REFER6_BASE,
+ HWIF_REFER6_FIELD_E,
+ HWIF_REFER6_TOPC_E,
+ HWIF_TRB_PER_TRD_DM1,
+ HWIF_ICOMP4_E,
+ HWIF_ISCALE4,
+ HWIF_ISHIFT4,
+ HWIF_AC2_CODE8_CNT,
+ HWIF_AC2_CODE7_CNT,
+ HWIF_AC2_CODE6_CNT,
+ HWIF_AC2_CODE5_CNT,
+ HWIF_SCAN_MAP_6,
+ HWIF_SCAN_MAP_7,
+ HWIF_SCAN_MAP_8,
+ HWIF_SCAN_MAP_9,
+ HWIF_SCAN_MAP_10,
+ HWIF_REFER7_BASE,
+ HWIF_REFER7_FIELD_E,
+ HWIF_REFER7_TOPC_E,
+ HWIF_TRB_PER_TRD_D1,
+ HWIF_AC2_CODE12_CNT,
+ HWIF_AC2_CODE11_CNT,
+ HWIF_AC2_CODE10_CNT,
+ HWIF_AC2_CODE9_CNT,
+ HWIF_SCAN_MAP_11,
+ HWIF_SCAN_MAP_12,
+ HWIF_SCAN_MAP_13,
+ HWIF_SCAN_MAP_14,
+ HWIF_SCAN_MAP_15,
+ HWIF_REFER8_BASE,
+ HWIF_DCT_STRM1_BASE,
+ HWIF_REFER8_FIELD_E,
+ HWIF_REFER8_TOPC_E,
+ HWIF_AC2_CODE16_CNT,
+ HWIF_AC2_CODE15_CNT,
+ HWIF_AC2_CODE14_CNT,
+ HWIF_AC2_CODE13_CNT,
+ HWIF_SCAN_MAP_16,
+ HWIF_SCAN_MAP_17,
+ HWIF_SCAN_MAP_18,
+ HWIF_SCAN_MAP_19,
+ HWIF_SCAN_MAP_20,
+ HWIF_REFER9_BASE,
+ HWIF_DCT_STRM2_BASE,
+ HWIF_REFER9_FIELD_E,
+ HWIF_REFER9_TOPC_E,
+ HWIF_DC1_CODE8_CNT,
+ HWIF_DC1_CODE7_CNT,
+ HWIF_DC1_CODE6_CNT,
+ HWIF_DC1_CODE5_CNT,
+ HWIF_DC1_CODE4_CNT,
+ HWIF_DC1_CODE3_CNT,
+ HWIF_DC1_CODE2_CNT,
+ HWIF_DC1_CODE1_CNT,
+ HWIF_SCAN_MAP_21,
+ HWIF_SCAN_MAP_22,
+ HWIF_SCAN_MAP_23,
+ HWIF_SCAN_MAP_24,
+ HWIF_SCAN_MAP_25,
+ HWIF_REFER10_BASE,
+ HWIF_DCT_STRM3_BASE,
+ HWIF_REFER10_FIELD_E,
+ HWIF_REFER10_TOPC_E,
+ HWIF_DC1_CODE16_CNT,
+ HWIF_DC1_CODE15_CNT,
+ HWIF_DC1_CODE14_CNT,
+ HWIF_DC1_CODE13_CNT,
+ HWIF_DC1_CODE12_CNT,
+ HWIF_DC1_CODE11_CNT,
+ HWIF_DC1_CODE10_CNT,
+ HWIF_DC1_CODE9_CNT,
+ HWIF_SCAN_MAP_26,
+ HWIF_SCAN_MAP_27,
+ HWIF_SCAN_MAP_28,
+ HWIF_SCAN_MAP_29,
+ HWIF_SCAN_MAP_30,
+ HWIF_REFER11_BASE,
+ HWIF_DCT_STRM4_BASE,
+ HWIF_REFER11_FIELD_E,
+ HWIF_REFER11_TOPC_E,
+ HWIF_DC2_CODE8_CNT,
+ HWIF_DC2_CODE7_CNT,
+ HWIF_DC2_CODE6_CNT,
+ HWIF_DC2_CODE5_CNT,
+ HWIF_DC2_CODE4_CNT,
+ HWIF_DC2_CODE3_CNT,
+ HWIF_DC2_CODE2_CNT,
+ HWIF_DC2_CODE1_CNT,
+ HWIF_SCAN_MAP_31,
+ HWIF_SCAN_MAP_32,
+ HWIF_SCAN_MAP_33,
+ HWIF_SCAN_MAP_34,
+ HWIF_SCAN_MAP_35,
+ HWIF_REFER12_BASE,
+ HWIF_DCT_STRM5_BASE,
+ HWIF_REFER12_FIELD_E,
+ HWIF_REFER12_TOPC_E,
+ HWIF_DC2_CODE16_CNT,
+ HWIF_DC2_CODE15_CNT,
+ HWIF_DC2_CODE14_CNT,
+ HWIF_DC2_CODE13_CNT,
+ HWIF_DC2_CODE12_CNT,
+ HWIF_DC2_CODE11_CNT,
+ HWIF_DC2_CODE10_CNT,
+ HWIF_DC2_CODE9_CNT,
+ HWIF_SCAN_MAP_36,
+ HWIF_SCAN_MAP_37,
+ HWIF_SCAN_MAP_38,
+ HWIF_SCAN_MAP_39,
+ HWIF_SCAN_MAP_40,
+ HWIF_REFER13_BASE,
+ HWIF_REFER13_FIELD_E,
+ HWIF_REFER13_TOPC_E,
+ HWIF_DC3_CODE8_CNT,
+ HWIF_DC3_CODE7_CNT,
+ HWIF_DC3_CODE6_CNT,
+ HWIF_DC3_CODE5_CNT,
+ HWIF_DC3_CODE4_CNT,
+ HWIF_DC3_CODE3_CNT,
+ HWIF_DC3_CODE2_CNT,
+ HWIF_DC3_CODE1_CNT,
+ HWIF_BITPL_CTRL_BASE,
+ HWIF_REFER14_BASE,
+ HWIF_DCT_STRM6_BASE,
+ HWIF_REFER14_FIELD_E,
+ HWIF_REFER14_TOPC_E,
+ HWIF_REF_INVD_CUR_1,
+ HWIF_REF_INVD_CUR_0,
+ HWIF_DC3_CODE16_CNT,
+ HWIF_DC3_CODE15_CNT,
+ HWIF_DC3_CODE14_CNT,
+ HWIF_DC3_CODE13_CNT,
+ HWIF_DC3_CODE12_CNT,
+ HWIF_DC3_CODE11_CNT,
+ HWIF_DC3_CODE10_CNT,
+ HWIF_DC3_CODE9_CNT,
+ HWIF_SCAN_MAP_41,
+ HWIF_SCAN_MAP_42,
+ HWIF_SCAN_MAP_43,
+ HWIF_SCAN_MAP_44,
+ HWIF_SCAN_MAP_45,
+ HWIF_REFER15_BASE,
+ HWIF_DCT_STRM7_BASE,
+ HWIF_REFER15_FIELD_E,
+ HWIF_REFER15_TOPC_E,
+ HWIF_REF_INVD_CUR_3,
+ HWIF_REF_INVD_CUR_2,
+ HWIF_SCAN_MAP_46,
+ HWIF_SCAN_MAP_47,
+ HWIF_SCAN_MAP_48,
+ HWIF_SCAN_MAP_49,
+ HWIF_SCAN_MAP_50,
+ HWIF_REFER1_NBR,
+ HWIF_REFER0_NBR,
+ HWIF_REF_DIST_CUR_1,
+ HWIF_REF_DIST_CUR_0,
+ HWIF_FILT_TYPE,
+ HWIF_FILT_SHARPNESS,
+ HWIF_FILT_MB_ADJ_0,
+ HWIF_FILT_MB_ADJ_1,
+ HWIF_FILT_MB_ADJ_2,
+ HWIF_FILT_MB_ADJ_3,
+ HWIF_REFER3_NBR,
+ HWIF_REFER2_NBR,
+ HWIF_SCAN_MAP_51,
+ HWIF_SCAN_MAP_52,
+ HWIF_SCAN_MAP_53,
+ HWIF_SCAN_MAP_54,
+ HWIF_SCAN_MAP_55,
+ HWIF_REF_DIST_CUR_3,
+ HWIF_REF_DIST_CUR_2,
+ HWIF_FILT_REF_ADJ_0,
+ HWIF_FILT_REF_ADJ_1,
+ HWIF_FILT_REF_ADJ_2,
+ HWIF_FILT_REF_ADJ_3,
+ HWIF_REFER5_NBR,
+ HWIF_REFER4_NBR,
+ HWIF_SCAN_MAP_56,
+ HWIF_SCAN_MAP_57,
+ HWIF_SCAN_MAP_58,
+ HWIF_SCAN_MAP_59,
+ HWIF_SCAN_MAP_60,
+ HWIF_REF_INVD_COL_1,
+ HWIF_REF_INVD_COL_0,
+ HWIF_FILT_LEVEL_0,
+ HWIF_FILT_LEVEL_1,
+ HWIF_FILT_LEVEL_2,
+ HWIF_FILT_LEVEL_3,
+ HWIF_REFER7_NBR,
+ HWIF_REFER6_NBR,
+ HWIF_SCAN_MAP_61,
+ HWIF_SCAN_MAP_62,
+ HWIF_SCAN_MAP_63,
+ HWIF_REF_INVD_COL_3,
+ HWIF_REF_INVD_COL_2,
+ HWIF_QUANT_DELTA_0,
+ HWIF_QUANT_DELTA_1,
+ HWIF_QUANT_0,
+ HWIF_QUANT_1,
+ HWIF_REFER9_NBR,
+ HWIF_REFER8_NBR,
+ HWIF_PRED_BC_TAP_0_3,
+ HWIF_PRED_BC_TAP_1_0,
+ HWIF_PRED_BC_TAP_1_1,
+ HWIF_REFER11_NBR,
+ HWIF_REFER10_NBR,
+ HWIF_PRED_BC_TAP_1_2,
+ HWIF_PRED_BC_TAP_1_3,
+ HWIF_PRED_BC_TAP_2_0,
+ HWIF_REFER13_NBR,
+ HWIF_REFER12_NBR,
+ HWIF_PRED_BC_TAP_2_1,
+ HWIF_PRED_BC_TAP_2_2,
+ HWIF_PRED_BC_TAP_2_3,
+ HWIF_REFER15_NBR,
+ HWIF_REFER14_NBR,
+ HWIF_PRED_BC_TAP_3_0,
+ HWIF_PRED_BC_TAP_3_1,
+ HWIF_PRED_BC_TAP_3_2,
+ HWIF_REFER_LTERM_E,
+ HWIF_PRED_BC_TAP_3_3,
+ HWIF_PRED_BC_TAP_4_0,
+ HWIF_PRED_BC_TAP_4_1,
+ HWIF_REFER_VALID_E,
+ HWIF_PRED_BC_TAP_4_2,
+ HWIF_PRED_BC_TAP_4_3,
+ HWIF_PRED_BC_TAP_5_0,
+ HWIF_QTABLE_BASE,
+ HWIF_DIR_MV_BASE,
+ HWIF_BINIT_RLIST_B2,
+ HWIF_BINIT_RLIST_F2,
+ HWIF_BINIT_RLIST_B1,
+ HWIF_BINIT_RLIST_F1,
+ HWIF_BINIT_RLIST_B0,
+ HWIF_BINIT_RLIST_F0,
+ HWIF_PRED_BC_TAP_5_1,
+ HWIF_PRED_BC_TAP_5_2,
+ HWIF_PRED_BC_TAP_5_3,
+ HWIF_PJPEG_DCCB_BASE,
+ HWIF_BINIT_RLIST_B5,
+ HWIF_BINIT_RLIST_F5,
+ HWIF_BINIT_RLIST_B4,
+ HWIF_BINIT_RLIST_F4,
+ HWIF_BINIT_RLIST_B3,
+ HWIF_BINIT_RLIST_F3,
+ HWIF_PRED_BC_TAP_6_0,
+ HWIF_PRED_BC_TAP_6_1,
+ HWIF_PRED_BC_TAP_6_2,
+ HWIF_PJPEG_DCCR_BASE,
+ HWIF_BINIT_RLIST_B8,
+ HWIF_BINIT_RLIST_F8,
+ HWIF_BINIT_RLIST_B7,
+ HWIF_BINIT_RLIST_F7,
+ HWIF_BINIT_RLIST_B6,
+ HWIF_BINIT_RLIST_F6,
+ HWIF_PRED_BC_TAP_6_3,
+ HWIF_PRED_BC_TAP_7_0,
+ HWIF_PRED_BC_TAP_7_1,
+ HWIF_BINIT_RLIST_B11,
+ HWIF_BINIT_RLIST_F11,
+ HWIF_BINIT_RLIST_B10,
+ HWIF_BINIT_RLIST_F10,
+ HWIF_BINIT_RLIST_B9,
+ HWIF_BINIT_RLIST_F9,
+ HWIF_PRED_BC_TAP_7_2,
+ HWIF_PRED_BC_TAP_7_3,
+ HWIF_PRED_TAP_2_M1,
+ HWIF_PRED_TAP_2_4,
+ HWIF_PRED_TAP_4_M1,
+ HWIF_PRED_TAP_4_4,
+ HWIF_PRED_TAP_6_M1,
+ HWIF_PRED_TAP_6_4,
+ HWIF_BINIT_RLIST_B14,
+ HWIF_BINIT_RLIST_F14,
+ HWIF_BINIT_RLIST_B13,
+ HWIF_BINIT_RLIST_F13,
+ HWIF_BINIT_RLIST_B12,
+ HWIF_BINIT_RLIST_F12,
+ HWIF_QUANT_DELTA_2,
+ HWIF_QUANT_DELTA_3,
+ HWIF_QUANT_2,
+ HWIF_QUANT_3,
+ HWIF_PINIT_RLIST_F3,
+ HWIF_PINIT_RLIST_F2,
+ HWIF_PINIT_RLIST_F1,
+ HWIF_PINIT_RLIST_F0,
+ HWIF_BINIT_RLIST_B15,
+ HWIF_BINIT_RLIST_F15,
+ HWIF_QUANT_DELTA_4,
+ HWIF_QUANT_4,
+ HWIF_QUANT_5,
+ HWIF_STARTMB_X,
+ HWIF_STARTMB_Y,
+ HWIF_PRED_BC_TAP_0_0,
+ HWIF_PRED_BC_TAP_0_1,
+ HWIF_PRED_BC_TAP_0_2,
+ HWIF_REFBU_E,
+ HWIF_REFBU_THR,
+ HWIF_REFBU_PICID,
+ HWIF_REFBU_EVAL_E,
+ HWIF_REFBU_FPARMOD_E,
+ HWIF_REFBU_Y_OFFSET,
+ HWIF_REFBU_HIT_SUM,
+ HWIF_REFBU_INTRA_SUM,
+ HWIF_REFBU_Y_MV_SUM,
+ HWIF_REFBU2_BUF_E,
+ HWIF_REFBU2_THR,
+ HWIF_REFBU2_PICID,
+ HWIF_APF_THRESHOLD,
+ HWIF_REFBU_TOP_SUM,
+ HWIF_REFBU_BOT_SUM,
+ HWIF_DEC_CH8PIX_BASE,
+ HWIF_PP_BUS_INT,
+ HWIF_PP_RDY_INT,
+ HWIF_PP_IRQ,
+ HWIF_PP_IRQ_DIS,
+ HWIF_PP_PIPELINE_E,
+ HWIF_PP_E,
+ HWIF_PP_AXI_RD_ID,
+ HWIF_PP_AXI_WR_ID,
+ HWIF_PP_AHB_HLOCK_E,
+ HWIF_PP_SCMD_DIS,
+ HWIF_PP_IN_A2_ENDSEL,
+ HWIF_PP_IN_A1_SWAP32,
+ HWIF_PP_IN_A1_ENDIAN,
+ HWIF_PP_IN_SWAP32_E,
+ HWIF_PP_DATA_DISC_E,
+ HWIF_PP_CLK_GATE_E,
+ HWIF_PP_IN_ENDIAN,
+ HWIF_PP_OUT_ENDIAN,
+ HWIF_PP_OUT_SWAP32_E,
+ HWIF_PP_MAX_BURST,
+ HWIF_DEINT_E,
+ HWIF_DEINT_THRESHOLD,
+ HWIF_DEINT_BLEND_E,
+ HWIF_DEINT_EDGE_DET,
+ HWIF_PP_IN_LU_BASE,
+ HWIF_PP_IN_CB_BASE,
+ HWIF_PP_IN_CR_BASE,
+ HWIF_PP_OUT_LU_BASE,
+ HWIF_PP_OUT_CH_BASE,
+ HWIF_CONTRAST_THR1,
+ HWIF_CONTRAST_OFF2,
+ HWIF_CONTRAST_OFF1,
+ HWIF_PP_IN_START_CH,
+ HWIF_PP_IN_CR_FIRST,
+ HWIF_PP_OUT_START_CH,
+ HWIF_PP_OUT_CR_FIRST,
+ HWIF_COLOR_COEFFA2,
+ HWIF_COLOR_COEFFA1,
+ HWIF_CONTRAST_THR2,
+ HWIF_COLOR_COEFFD,
+ HWIF_COLOR_COEFFC,
+ HWIF_COLOR_COEFFB,
+ HWIF_CROP_STARTX,
+ HWIF_ROTATION_MODE,
+ HWIF_COLOR_COEFFF,
+ HWIF_COLOR_COEFFE,
+ HWIF_CROP_STARTY,
+ HWIF_RANGEMAP_COEF_Y,
+ HWIF_PP_IN_HEIGHT,
+ HWIF_PP_IN_WIDTH,
+ HWIF_PP_BOT_YIN_BASE,
+ HWIF_PP_BOT_CIN_BASE,
+ HWIF_RANGEMAP_Y_E,
+ HWIF_RANGEMAP_C_E,
+ HWIF_YCBCR_RANGE,
+ HWIF_RGB_PIX_IN32,
+ HWIF_RGB_R_PADD,
+ HWIF_RGB_G_PADD,
+ HWIF_SCALE_WRATIO,
+ HWIF_PP_IN_STRUCT,
+ HWIF_HOR_SCALE_MODE,
+ HWIF_VER_SCALE_MODE,
+ HWIF_RGB_B_PADD,
+ HWIF_SCALE_HRATIO,
+ HWIF_WSCALE_INVRA,
+ HWIF_HSCALE_INVRA,
+ HWIF_R_MASK,
+ HWIF_G_MASK,
+ HWIF_B_MASK,
+ HWIF_PP_IN_FORMAT,
+ HWIF_PP_OUT_FORMAT,
+ HWIF_PP_OUT_HEIGHT,
+ HWIF_PP_OUT_WIDTH,
+ HWIF_PP_OUT_SWAP16_E,
+ HWIF_PP_CROP8_R_E,
+ HWIF_PP_CROP8_D_E,
+ HWIF_PP_IN_FORMAT_ES,
+ HWIF_RANGEMAP_COEF_C,
+ HWIF_MASK1_ABLEND_E,
+ HWIF_MASK1_STARTY,
+ HWIF_MASK1_STARTX,
+ HWIF_MASK2_ABLEND_E,
+ HWIF_MASK2_STARTY,
+ HWIF_MASK2_STARTX,
+ HWIF_EXT_ORIG_WIDTH,
+ HWIF_MASK1_E,
+ HWIF_MASK1_ENDY,
+ HWIF_MASK1_ENDX,
+ HWIF_MASK2_E,
+ HWIF_MASK2_ENDY,
+ HWIF_MASK2_ENDX,
+ HWIF_RIGHT_CROSS_E,
+ HWIF_LEFT_CROSS_E,
+ HWIF_UP_CROSS_E,
+ HWIF_DOWN_CROSS_E,
+ HWIF_UP_CROSS,
+ HWIF_DOWN_CROSS,
+ HWIF_DITHER_SELECT_R,
+ HWIF_DITHER_SELECT_G,
+ HWIF_DITHER_SELECT_B,
+ HWIF_RIGHT_CROSS,
+ HWIF_LEFT_CROSS,
+ HWIF_PP_IN_H_EXT,
+ HWIF_PP_IN_W_EXT,
+ HWIF_CROP_STARTY_EXT,
+ HWIF_CROP_STARTX_EXT,
+ HWIF_DISPLAY_WIDTH,
+ HWIF_ABLEND1_BASE,
+ HWIF_ABLEND2_BASE,
diff --git a/src_dec/common/regdrv.h b/src_dec/common/regdrv.h
new file mode 100644
index 0000000..f54cd1f
--- /dev/null
+++ b/src_dec/common/regdrv.h
@@ -0,0 +1,93 @@
+/*------------------------------------------------------------------------------
+-- --
+-- This software is confidential and proprietary and may be used --
+-- only as expressly authorized by a licensing agreement from --
+-- --
+-- Hantro Products Oy. --
+-- --
+-- (C) COPYRIGHT 2006 HANTRO PRODUCTS OY --
+-- ALL RIGHTS RESERVED --
+-- --
+-- The entire notice above must be reproduced --
+-- on all copies and should not be removed. --
+-- --
+--------------------------------------------------------------------------------
+--
+-- Description :
+--
+--------------------------------------------------------------------------------
+--
+-- Version control information, please leave untouched.
+--
+-- $RCSfile: regdrv.h,v $
+-- $Revision: 1.19 $
+-- $Date: 2010/05/11 09:33:47 $
+--
+------------------------------------------------------------------------------*/
+
+#ifndef REGDRV_H
+#define REGDRV_H
+
+/*------------------------------------------------------------------------------
+ Include headers
+------------------------------------------------------------------------------*/
+
+#include "vpu_type.h"
+
+/*------------------------------------------------------------------------------
+ Module defines
+------------------------------------------------------------------------------*/
+
+#define DEC_8170_IRQ_RDY 0x01
+#define DEC_8170_IRQ_BUS 0x02
+#define DEC_8170_IRQ_BUFFER 0x04
+#define DEC_8170_IRQ_ASO 0x08
+#define DEC_8170_IRQ_ERROR 0x10
+#define DEC_8170_IRQ_SLICE 0x20
+#define DEC_8170_IRQ_TIMEOUT 0x40
+
+#define DEC_8190_IRQ_RDY DEC_8170_IRQ_RDY
+#define DEC_8190_IRQ_BUS DEC_8170_IRQ_BUS
+#define DEC_8190_IRQ_BUFFER DEC_8170_IRQ_BUFFER
+#define DEC_8190_IRQ_ASO DEC_8170_IRQ_ASO
+#define DEC_8190_IRQ_ERROR DEC_8170_IRQ_ERROR
+#define DEC_8190_IRQ_SLICE DEC_8170_IRQ_SLICE
+#define DEC_8190_IRQ_TIMEOUT DEC_8170_IRQ_TIMEOUT
+
+typedef enum
+{
+/* include script-generated part */
+#include "8170enum.h"
+ HWIF_DEC_IRQ_STAT,
+ HWIF_PP_IRQ_STAT,
+ HWIF_LAST_REG,
+
+ /* aliases */
+ HWIF_MPEG4_DC_BASE = HWIF_I4X4_OR_DC_BASE,
+ HWIF_INTRA_4X4_BASE = HWIF_I4X4_OR_DC_BASE,
+ /* VP6 */
+ HWIF_VP6HWGOLDEN_BASE = HWIF_REFER4_BASE,
+ HWIF_VP6HWPART1_BASE = HWIF_REFER13_BASE,
+ HWIF_VP6HWPART2_BASE = HWIF_RLC_VLC_BASE,
+ HWIF_VP6HWPROBTBL_BASE = HWIF_QTABLE_BASE,
+ /* progressive JPEG */
+ HWIF_PJPEG_COEFF_BUF = HWIF_DIR_MV_BASE,
+
+ /* MVC */
+ HWIF_MVC_E = HWIF_DIVX3_E,
+ HWIF_INTER_VIEW_BASE = HWIF_REFER15_BASE,
+
+} hwIfName_e;
+
+/*------------------------------------------------------------------------------
+ Data types
+------------------------------------------------------------------------------*/
+
+/*------------------------------------------------------------------------------
+ Function prototypes
+------------------------------------------------------------------------------*/
+
+void SetDecRegister(RK_U32 * regBase, RK_U32 id, RK_U32 value);
+RK_U32 GetDecRegister(const RK_U32 * regBase, RK_U32 id);
+
+#endif /* #ifndef REGDRV_H */
diff --git a/src_dec/inc/dwl.h b/src_dec/inc/dwl.h
new file mode 100644
index 0000000..4aa1deb
--- /dev/null
+++ b/src_dec/inc/dwl.h
@@ -0,0 +1,176 @@
+/*------------------------------------------------------------------------------
+-- --
+-- This software is confidential and proprietary and may be used --
+-- only as expressly authorized by a licensing agreement from --
+-- --
+-- Hantro Products Oy. --
+-- --
+-- (C) COPYRIGHT 2006 HANTRO PRODUCTS OY --
+-- ALL RIGHTS RESERVED --
+-- --
+-- The entire notice above must be reproduced --
+-- on all copies and should not be removed. --
+-- --
+--------------------------------------------------------------------------------
+--
+-- Description : Sytem Wrapper Layer
+--
+------------------------------------------------------------------------------
+--
+-- Version control information, please leave untouched.
+--
+-- $RCSfile: dwl.h,v $
+-- $Revision: 1.19 $
+-- $Date: 2010/05/11 09:33:19 $
+--
+------------------------------------------------------------------------------*/
+#ifndef __DWL_H__
+#define __DWL_H__
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#include "vpu_type.h"
+#include "decapicommon.h"
+#include "vpu_mem.h"
+#include "vpu.h"
+
+#define NULL ((void *)0)
+#define DWL_OK 0
+#define DWL_ERROR -1
+
+#define DWL_HW_WAIT_OK DWL_OK
+#define DWL_HW_WAIT_ERROR DWL_ERROR
+#define DWL_HW_WAIT_TIMEOUT 1
+
+#define DWL_CLIENT_TYPE_H264_DEC 1U
+#define DWL_CLIENT_TYPE_MPEG4_DEC 2U
+#define DWL_CLIENT_TYPE_JPEG_DEC 3U
+#define DWL_CLIENT_TYPE_PP 4U
+#define DWL_CLIENT_TYPE_VC1_DEC 5U
+#define DWL_CLIENT_TYPE_MPEG2_DEC 6U
+#define DWL_CLIENT_TYPE_VP6_DEC 7U
+#define DWL_CLIENT_TYPE_AVS_DEC 9U /* TODO: fix */
+#define DWL_CLIENT_TYPE_RV_DEC 8U
+#define DWL_CLIENT_TYPE_VP8_DEC 10U
+
+ /* Linear memory area descriptor */
+ typedef struct DWLLinearMem
+ {
+ RK_U32 *virtualAddress;
+ RK_U32 busAddress;
+ RK_U32 size;
+ } DWLLinearMem_t;
+
+ /* DWLInitParam is used to pass parameters when initializing the DWL */
+ typedef struct DWLInitParam
+ {
+ RK_U32 clientType;
+ } DWLInitParam_t;
+
+ /* Hardware configuration description */
+
+ typedef struct DWLHwConfig
+ {
+ RK_U32 maxDecPicWidth; /* Maximum video decoding width supported */
+ RK_U32 maxPpOutPicWidth; /* Maximum output width of Post-Processor */
+ RK_U32 h264Support; /* HW supports h.264 */
+ RK_U32 jpegSupport; /* HW supports JPEG */
+ RK_U32 mpeg4Support; /* HW supports MPEG-4 */
+ RK_U32 customMpeg4Support; /* HW supports custom MPEG-4 features */
+ RK_U32 vc1Support; /* HW supports VC-1 Simple */
+ RK_U32 mpeg2Support; /* HW supports MPEG-2 */
+ RK_U32 ppSupport; /* HW supports post-processor */
+ RK_U32 ppConfig; /* HW post-processor functions bitmask */
+ RK_U32 sorensonSparkSupport; /* HW supports Sorenson Spark */
+ RK_U32 refBufSupport; /* HW supports reference picture buffering */
+ RK_U32 vp6Support; /* HW supports VP6 */
+ RK_U32 vp7Support; /* HW supports VP7 */
+ RK_U32 vp8Support; /* HW supports VP8 */
+ RK_U32 avsSupport; /* HW supports AVS */
+ RK_U32 jpegESupport; /* HW supports JPEG extensions */
+ RK_U32 rvSupport; /* HW supports REAL */
+ RK_U32 mvcSupport; /* HW supports H264 MVC extension */
+ } DWLHwConfig_t;
+
+ typedef struct DWLHwFuseStatus
+ {
+ RK_U32 h264SupportFuse; /* HW supports h.264 */
+ RK_U32 mpeg4SupportFuse; /* HW supports MPEG-4 */
+ RK_U32 mpeg2SupportFuse; /* HW supports MPEG-2 */
+ RK_U32 sorensonSparkSupportFuse; /* HW supports Sorenson Spark */
+ RK_U32 jpegSupportFuse; /* HW supports JPEG */
+ RK_U32 vp6SupportFuse; /* HW supports VP6 */
+ RK_U32 vp7SupportFuse; /* HW supports VP6 */
+ RK_U32 vp8SupportFuse; /* HW supports VP6 */
+ RK_U32 vc1SupportFuse; /* HW supports VC-1 Simple */
+ RK_U32 jpegProgSupportFuse; /* HW supports Progressive JPEG */
+ RK_U32 ppSupportFuse; /* HW supports post-processor */
+ RK_U32 ppConfigFuse; /* HW post-processor functions bitmask */
+ RK_U32 maxDecPicWidthFuse; /* Maximum video decoding width supported */
+ RK_U32 maxPpOutPicWidthFuse; /* Maximum output width of Post-Processor */
+ RK_U32 refBufSupportFuse; /* HW supports reference picture buffering */
+ RK_U32 avsSupportFuse; /* one of the AVS values defined above */
+ RK_U32 rvSupportFuse; /* one of the REAL values defined above */
+ RK_U32 mvcSupportFuse;
+ RK_U32 customMpeg4SupportFuse; /* Fuse for custom MPEG-4 */
+
+ } DWLHwFuseStatus_t;
+
+/* HW ID retriving, static implementation */
+ RK_U32 DWLReadAsicID(void);
+
+/* HW configuration retrieving, static implementation */
+ void DWLReadAsicConfig(DWLHwConfig_t * pHwCfg);
+
+/* HW fuse retrieving, static implementation */
+ void DWLReadAsicFuseStatus(DWLHwFuseStatus_t * pHwFuseSts);
+
+/* DWL initilaization and release */
+ const void *DWLInit(DWLInitParam_t * param);
+ RK_S32 DWLRelease(const void *instance);
+
+/* HW sharing */
+ RK_S32 DWLReserveHw(const void *instance);
+ void DWLReleaseHw(const void *instance);
+
+/* Frame buffers memory */
+ RK_S32 DWLMallocRefFrm(const void *instance, RK_U32 size, DWLLinearMem_t * info);
+ void DWLFreeRefFrm(const void *instance, DWLLinearMem_t * info);
+
+/* SW/HW shared memory */
+ RK_S32 DWLMallocLinear(const void *instance, RK_U32 size, DWLLinearMem_t * info);
+ void DWLFreeLinear(const void *instance, DWLLinearMem_t * info);
+
+/* D-Cache coherence */
+ void DWLDCacheRangeFlush(const void *instance, DWLLinearMem_t * info); /* NOT in use */
+ void DWLDCacheRangeRefresh(const void *instance, DWLLinearMem_t * info); /* NOT in use */
+
+/* Register access */
+ void DWLWriteReg(const void *instance, RK_U32 offset, RK_U32 value);
+ RK_U32 DWLReadReg(const void *instance, RK_U32 offset);
+
+ void DWLWriteRegAll(const void *instance, const RK_U32 * table, RK_U32 size); /* NOT in use */
+ void DWLReadRegAll(const void *instance, RK_U32 * table, RK_U32 size); /* NOT in use */
+
+/* HW starting/stopping */
+ void DWLEnableHW(const void *instance, RK_U32 offset, RK_U32 value);
+ void DWLDisableHW(const void *instance, RK_U32 offset, RK_U32 value);
+
+/* HW synchronization */
+ RK_S32 VPUWaitHwReady(int socket, RK_U32 timeout);
+
+ RK_S32 DWLWaitHwReady(const void *instance, RK_U32 timeout);
+/* SW/SW shared memory */
+ void *DWLmalloc(RK_U32 n);
+ void DWLfree(void *p);
+ void *DWLcalloc(RK_U32 n, RK_U32 s);
+ void *DWLmemcpy(void *d, const void *s, RK_U32 n);
+ void *DWLmemset(void *d, RK_S32 c, RK_U32 n);
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __DWL_H__ */