Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/media/platform/chips-media/coda/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 22 kB image not shown  

Quelle  coda_regs.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * linux/drivers/media/platform/chips-media/coda_regs.h
 *
 * Copyright (C) 2012 Vista Silicon SL
 *    Javier Martin <javier.martin@vista-silicon.com>
 *    Xavier Duret
 */


#ifndef _REGS_CODA_H_
#define _REGS_CODA_H_

/* HW registers */
#define CODA_REG_BIT_CODE_RUN   0x000
#define  CODA_REG_RUN_ENABLE  (1 << 0)
#define CODA_REG_BIT_CODE_DOWN   0x004
#define  CODA_DOWN_ADDRESS_SET(x) (((x) & 0xffff) << 16)
#define  CODA_DOWN_DATA_SET(x)  ((x) & 0xffff)
#define CODA_REG_BIT_HOST_IN_REQ  0x008
#define CODA_REG_BIT_INT_CLEAR   0x00c
#define  CODA_REG_BIT_INT_CLEAR_SET 0x1
#define CODA_REG_BIT_INT_STATUS  0x010
#define CODA_REG_BIT_CODE_RESET  0x014
#define  CODA_REG_RESET_ENABLE  (1 << 0)
#define CODA_REG_BIT_CUR_PC   0x018
#define CODA9_REG_BIT_SW_RESET   0x024
#define  CODA9_SW_RESET_BPU_CORE   0x008
#define  CODA9_SW_RESET_BPU_BUS    0x010
#define  CODA9_SW_RESET_VCE_CORE   0x020
#define  CODA9_SW_RESET_VCE_BUS    0x040
#define  CODA9_SW_RESET_GDI_CORE   0x080
#define  CODA9_SW_RESET_GDI_BUS    0x100
#define CODA9_REG_BIT_SW_RESET_STATUS  0x034

/* Static SW registers */
#define CODA_REG_BIT_CODE_BUF_ADDR  0x100
#define CODA_REG_BIT_WORK_BUF_ADDR  0x104
#define CODA_REG_BIT_PARA_BUF_ADDR  0x108
#define CODA_REG_BIT_STREAM_CTRL  0x10c
#define  CODA7_STREAM_BUF_PIC_RESET (1 << 4)
#define  CODADX6_STREAM_BUF_PIC_RESET (1 << 3)
#define  CODA7_STREAM_BUF_PIC_FLUSH (1 << 3)
#define  CODADX6_STREAM_BUF_PIC_FLUSH (1 << 2)
#define  CODA7_STREAM_BUF_DYNALLOC_EN (1 << 5)
#define  CODADX6_STREAM_BUF_DYNALLOC_EN (1 << 4)
#define  CODADX6_STREAM_CHKDIS_OFFSET (1 << 1)
#define  CODA7_STREAM_SEL_64BITS_ENDIAN (1 << 1)
#define  CODA_STREAM_ENDIAN_SELECT (1 << 0)
#define CODA_REG_BIT_FRAME_MEM_CTRL  0x110
#define  CODA9_FRAME_ENABLE_BWB  (1 << 12)
#define  CODA9_FRAME_TILED2LINEAR (1 << 11)
#define  CODA_FRAME_CHROMA_INTERLEAVE (1 << 2)
#define  CODA_IMAGE_ENDIAN_SELECT (1 << 0)
#define CODA_REG_BIT_BIT_STREAM_PARAM  0x114
#define  CODA_BIT_STREAM_END_FLAG (1 << 2)
#define  CODA_BIT_DEC_SEQ_INIT_ESCAPE (1 << 0)
#define CODA_REG_BIT_TEMP_BUF_ADDR  0x118
#define CODA_REG_BIT_RD_PTR(x)   (0x120 + 8 * (x))
#define CODA_REG_BIT_WR_PTR(x)   (0x124 + 8 * (x))
#define CODA_REG_BIT_FRM_DIS_FLG(x)  (0x150 + 4 * (x))
#define CODADX6_REG_BIT_SEARCH_RAM_BASE_ADDR 0x140
#define CODA7_REG_BIT_AXI_SRAM_USE  0x140
#define  CODA9_USE_HOST_BTP_ENABLE (1 << 13)
#define  CODA9_USE_HOST_OVL_ENABLE (1 << 12)
#define  CODA7_USE_HOST_ME_ENABLE (1 << 11)
#define  CODA9_USE_HOST_DBK_ENABLE (3 << 10)
#define  CODA7_USE_HOST_OVL_ENABLE (1 << 10)
#define  CODA7_USE_HOST_DBK_ENABLE (1 << 9)
#define  CODA9_USE_HOST_IP_ENABLE (1 << 9)
#define  CODA7_USE_HOST_IP_ENABLE (1 << 8)
#define  CODA9_USE_HOST_BIT_ENABLE (1 << 8)
#define  CODA7_USE_HOST_BIT_ENABLE (1 << 7)
#define  CODA9_USE_BTP_ENABLE  (1 << 5)
#define  CODA7_USE_ME_ENABLE  (1 << 4)
#define  CODA9_USE_OVL_ENABLE  (1 << 4)
#define  CODA7_USE_OVL_ENABLE  (1 << 3)
#define  CODA9_USE_DBK_ENABLE  (3 << 2)
#define  CODA7_USE_DBK_ENABLE  (1 << 2)
#define  CODA7_USE_IP_ENABLE  (1 << 1)
#define  CODA7_USE_BIT_ENABLE  (1 << 0)

#define CODA_REG_BIT_BUSY   0x160
#define  CODA_REG_BIT_BUSY_FLAG  1
#define CODA_REG_BIT_RUN_COMMAND  0x164
#define  CODA_COMMAND_SEQ_INIT  1
#define  CODA_COMMAND_SEQ_END  2
#define  CODA_COMMAND_PIC_RUN  3
#define  CODA_COMMAND_SET_FRAME_BUF 4
#define  CODA_COMMAND_ENCODE_HEADER 5
#define  CODA_COMMAND_ENC_PARA_SET 6
#define  CODA_COMMAND_DEC_PARA_SET 7
#define  CODA_COMMAND_DEC_BUF_FLUSH 8
#define  CODA_COMMAND_RC_CHANGE_PARAMETER 9
#define  CODA_COMMAND_FIRMWARE_GET 0xf
#define CODA_REG_BIT_RUN_INDEX   0x168
#define  CODA_INDEX_SET(x)  ((x) & 0x3)
#define CODA_REG_BIT_RUN_COD_STD  0x16c
#define  CODADX6_MODE_DECODE_MP4  0
#define  CODADX6_MODE_ENCODE_MP4  1
#define  CODADX6_MODE_DECODE_H264 2
#define  CODADX6_MODE_ENCODE_H264 3
#define  CODA7_MODE_DECODE_H264  0
#define  CODA7_MODE_DECODE_VC1  1
#define  CODA7_MODE_DECODE_MP2  2
#define  CODA7_MODE_DECODE_MP4  3
#define  CODA7_MODE_DECODE_DV3  3
#define  CODA7_MODE_DECODE_RV  4
#define  CODA7_MODE_DECODE_MJPG  5
#define  CODA7_MODE_ENCODE_H264  8
#define  CODA7_MODE_ENCODE_MP4  11
#define  CODA7_MODE_ENCODE_MJPG  13
#define  CODA9_MODE_DECODE_H264  0
#define  CODA9_MODE_DECODE_VC1  1
#define  CODA9_MODE_DECODE_MP2  2
#define  CODA9_MODE_DECODE_MP4  3
#define  CODA9_MODE_DECODE_DV3  3
#define  CODA9_MODE_DECODE_RV  4
#define  CODA9_MODE_DECODE_AVS  5
#define  CODA9_MODE_DECODE_MJPG  6
#define  CODA9_MODE_DECODE_VPX  7
#define  CODA9_MODE_ENCODE_H264  8
#define  CODA9_MODE_ENCODE_MP4  11
#define  CODA9_MODE_ENCODE_MJPG  13
#define  CODA_MODE_INVALID  0xffff
#define CODA_REG_BIT_INT_ENABLE  0x170
#define  CODA_INT_INTERRUPT_ENABLE (1 << 3)
#define CODA_REG_BIT_INT_REASON   0x174
#define CODA7_REG_BIT_RUN_AUX_STD  0x178
#define  CODA_MP4_AUX_MPEG4  0
#define  CODA_MP4_AUX_DIVX3  1
#define  CODA_VPX_AUX_THO  0
#define  CODA_VPX_AUX_VP6  1
#define  CODA_VPX_AUX_VP8  2
#define  CODA_H264_AUX_AVC  0
#define  CODA_H264_AUX_MVC  1

/*
 * Commands' mailbox:
 * registers with offsets in the range 0x180-0x1d0
 * have different meaning depending on the command being
 * issued.
 */


/* Decoder Sequence Initialization */
#define CODA_CMD_DEC_SEQ_BB_START  0x180
#define CODA_CMD_DEC_SEQ_BB_SIZE  0x184
#define CODA_CMD_DEC_SEQ_OPTION   0x188
#define  CODA_NO_INT_ENABLE   (1 << 10)
#define  CODA_REORDER_ENABLE   (1 << 1)
#define  CODADX6_QP_REPORT   (1 << 0)
#define  CODA7_MP4_DEBLK_ENABLE   (1 << 0)
#define CODA_CMD_DEC_SEQ_SRC_SIZE  0x18c
#define CODA_CMD_DEC_SEQ_START_BYTE  0x190
#define CODA_CMD_DEC_SEQ_PS_BB_START  0x194
#define CODA_CMD_DEC_SEQ_PS_BB_SIZE  0x198
#define CODA_CMD_DEC_SEQ_JPG_THUMB_EN  0x19c
#define CODA_CMD_DEC_SEQ_MP4_ASP_CLASS  0x19c
#define  CODA_MP4_CLASS_MPEG4   0
#define CODA_CMD_DEC_SEQ_X264_MV_EN  0x19c
#define CODA_CMD_DEC_SEQ_SPP_CHUNK_SIZE  0x1a0

#define CODA7_RET_DEC_SEQ_ASPECT  0x1b0
#define CODA9_RET_DEC_SEQ_BITRATE  0x1b4
#define CODA_RET_DEC_SEQ_SUCCESS  0x1c0
#define CODA_RET_DEC_SEQ_SRC_FMT  0x1c4 /* SRC_SIZE on CODA7 */
#define CODA_RET_DEC_SEQ_SRC_SIZE  0x1c4
#define CODA_RET_DEC_SEQ_SRC_F_RATE  0x1c8
#define CODA9_RET_DEC_SEQ_ASPECT  0x1c8
#define CODA_RET_DEC_SEQ_FRAME_NEED  0x1cc
#define CODA_RET_DEC_SEQ_FRAME_DELAY  0x1d0
#define CODA_RET_DEC_SEQ_INFO   0x1d4
#define CODA_RET_DEC_SEQ_CROP_LEFT_RIGHT 0x1d8
#define CODA_RET_DEC_SEQ_CROP_TOP_BOTTOM 0x1dc
#define CODA_RET_DEC_SEQ_NEXT_FRAME_NUM  0x1e0
#define CODA_RET_DEC_SEQ_ERR_REASON  0x1e0
#define CODA_RET_DEC_SEQ_FRATE_NR  0x1e4
#define CODA_RET_DEC_SEQ_FRATE_DR  0x1e8
#define CODA_RET_DEC_SEQ_JPG_PARA  0x1e4
#define CODA_RET_DEC_SEQ_JPG_THUMB_IND  0x1e8
#define CODA7_RET_DEC_SEQ_HEADER_REPORT  0x1ec

/* Decoder Picture Run */
#define CODA_CMD_DEC_PIC_ROT_MODE  0x180
#define CODA_CMD_DEC_PIC_ROT_ADDR_Y  0x184
#define CODA9_CMD_DEC_PIC_ROT_INDEX  0x184
#define CODA_CMD_DEC_PIC_ROT_ADDR_CB  0x188
#define CODA9_CMD_DEC_PIC_ROT_ADDR_Y  0x188
#define CODA_CMD_DEC_PIC_ROT_ADDR_CR  0x18c
#define CODA9_CMD_DEC_PIC_ROT_ADDR_CB  0x18c
#define CODA_CMD_DEC_PIC_ROT_STRIDE  0x190
#define CODA9_CMD_DEC_PIC_ROT_ADDR_CR  0x190
#define CODA9_CMD_DEC_PIC_ROT_STRIDE  0x1b8

#define CODA_CMD_DEC_PIC_OPTION   0x194
#define  CODA_PRE_SCAN_EN   (1 << 0)
#define  CODA_PRE_SCAN_MODE_DECODE  (0 << 1)
#define  CODA_PRE_SCAN_MODE_RETURN  (1 << 1)
#define  CODA_IFRAME_SEARCH_EN   (1 << 2)
#define  CODA_SKIP_FRAME_MODE   (0x3 << 3)
#define CODA_CMD_DEC_PIC_SKIP_NUM  0x198
#define CODA_CMD_DEC_PIC_CHUNK_SIZE  0x19c
#define CODA_CMD_DEC_PIC_BB_START  0x1a0
#define CODA_CMD_DEC_PIC_START_BYTE  0x1a4
#define CODA_RET_DEC_PIC_SIZE   0x1bc
#define CODA_RET_DEC_PIC_FRAME_NUM  0x1c0
#define CODA_RET_DEC_PIC_FRAME_IDX  0x1c4
#define CODA_RET_DEC_PIC_ERR_MB   0x1c8
#define CODA_RET_DEC_PIC_TYPE   0x1cc
#define  CODA_PIC_TYPE_MASK   0x7
#define  CODA_PIC_TYPE_MASK_VC1   0x3f
#define  CODA9_PIC_TYPE_FIRST_MASK  (0x7 << 3)
#define  CODA9_PIC_TYPE_IDR_MASK   (0x3 << 6)
#define  CODA7_PIC_TYPE_H264_NPF_MASK  (0x3 << 16)
#define  CODA7_PIC_TYPE_INTERLACED  (1 << 18)
#define CODA_RET_DEC_PIC_POST   0x1d0
#define CODA_RET_DEC_PIC_MVC_REPORT  0x1d0
#define CODA_RET_DEC_PIC_OPTION   0x1d4
#define CODA_RET_DEC_PIC_SUCCESS  0x1d8
#define CODA_RET_DEC_PIC_CUR_IDX  0x1dc
#define CODA_RET_DEC_PIC_CROP_LEFT_RIGHT 0x1e0
#define CODA_RET_DEC_PIC_CROP_TOP_BOTTOM 0x1e4
#define CODA_RET_DEC_PIC_FRAME_NEED  0x1ec

#define CODA9_RET_DEC_PIC_VP8_PIC_REPORT 0x1e8
#define CODA9_RET_DEC_PIC_ASPECT  0x1f0
#define CODA9_RET_DEC_PIC_VP8_SCALE_INFO 0x1f0
#define CODA9_RET_DEC_PIC_FRATE_NR  0x1f4
#define CODA9_RET_DEC_PIC_FRATE_DR  0x1f8

/* Encoder Sequence Initialization */
#define CODA_CMD_ENC_SEQ_BB_START    0x180
#define CODA_CMD_ENC_SEQ_BB_SIZE    0x184
#define CODA_CMD_ENC_SEQ_OPTION    0x188
#define  CODA7_OPTION_AVCINTRA16X16ONLY_OFFSET  9
#define  CODA9_OPTION_MVC_PREFIX_NAL_OFFSET  9
#define  CODA7_OPTION_GAMMA_OFFSET   8
#define  CODA9_OPTION_MVC_PARASET_REFRESH_OFFSET  8
#define  CODA7_OPTION_RCQPMAX_OFFSET   7
#define  CODA9_OPTION_GAMMA_OFFSET   7
#define  CODADX6_OPTION_GAMMA_OFFSET   7
#define  CODA7_OPTION_RCQPMIN_OFFSET   6
#define  CODA9_OPTION_RCQPMAX_OFFSET   6
#define  CODA_OPTION_LIMITQP_OFFSET   6
#define  CODA_OPTION_RCINTRAQP_OFFSET   5
#define  CODA_OPTION_FMO_OFFSET    4
#define  CODA9_OPTION_MVC_INTERVIEW_OFFSET  4
#define  CODA_OPTION_AVC_AUD_OFFSET   2
#define  CODA_OPTION_SLICEREPORT_OFFSET   1
#define CODA_CMD_ENC_SEQ_COD_STD    0x18c
#define  CODA_STD_MPEG4     0
#define  CODA9_STD_H264     0
#define  CODA_STD_H263     1
#define  CODA_STD_H264     2
#define  CODA9_STD_MPEG4     3

#define CODA_CMD_ENC_SEQ_SRC_SIZE    0x190
#define  CODA7_PICWIDTH_OFFSET    16
#define  CODA7_PICWIDTH_MASK    0xffff
#define  CODADX6_PICWIDTH_OFFSET    10
#define  CODADX6_PICWIDTH_MASK    0x3ff
#define  CODA_PICHEIGHT_OFFSET    0
#define  CODADX6_PICHEIGHT_MASK    0x3ff
#define  CODA7_PICHEIGHT_MASK    0xffff
#define CODA_CMD_ENC_SEQ_SRC_F_RATE    0x194
#define  CODA_FRATE_RES_OFFSET    0
#define  CODA_FRATE_RES_MASK    0xffff
#define  CODA_FRATE_DIV_OFFSET    16
#define  CODA_FRATE_DIV_MASK    0xffff
#define CODA_CMD_ENC_SEQ_MP4_PARA    0x198
#define  CODA_MP4PARAM_VERID_OFFSET   6
#define  CODA_MP4PARAM_VERID_MASK   0x01
#define  CODA_MP4PARAM_INTRADCVLCTHR_OFFSET  2
#define  CODA_MP4PARAM_INTRADCVLCTHR_MASK  0x07
#define  CODA_MP4PARAM_REVERSIBLEVLCENABLE_OFFSET 1
#define  CODA_MP4PARAM_REVERSIBLEVLCENABLE_MASK  0x01
#define  CODA_MP4PARAM_DATAPARTITIONENABLE_OFFSET 0
#define  CODA_MP4PARAM_DATAPARTITIONENABLE_MASK  0x01
#define CODA_CMD_ENC_SEQ_263_PARA    0x19c
#define  CODA_263PARAM_ANNEXJENABLE_OFFSET  2
#define  CODA_263PARAM_ANNEXJENABLE_MASK  0x01
#define  CODA_263PARAM_ANNEXKENABLE_OFFSET  1
#define  CODA_263PARAM_ANNEXKENABLE_MASK  0x01
#define  CODA_263PARAM_ANNEXTENABLE_OFFSET  0
#define  CODA_263PARAM_ANNEXTENABLE_MASK  0x01
#define CODA_CMD_ENC_SEQ_264_PARA    0x1a0
#define  CODA_264PARAM_DEBLKFILTEROFFSETBETA_OFFSET 12
#define  CODA_264PARAM_DEBLKFILTEROFFSETBETA_MASK 0x0f
#define  CODA_264PARAM_DEBLKFILTEROFFSETALPHA_OFFSET 8
#define  CODA_264PARAM_DEBLKFILTEROFFSETALPHA_MASK 0x0f
#define  CODA_264PARAM_DISABLEDEBLK_OFFSET  6
#define  CODA_264PARAM_DISABLEDEBLK_MASK  0x03
#define  CODA_264PARAM_CONSTRAINEDINTRAPREDFLAG_OFFSET 5
#define  CODA_264PARAM_CONSTRAINEDINTRAPREDFLAG_MASK 0x01
#define  CODA_264PARAM_CHROMAQPOFFSET_OFFSET  0
#define  CODA_264PARAM_CHROMAQPOFFSET_MASK  0x1f
#define CODA_CMD_ENC_SEQ_SLICE_MODE    0x1a4
#define  CODA_SLICING_SIZE_OFFSET   2
#define  CODA_SLICING_SIZE_MASK    0x3fffffff
#define  CODA_SLICING_UNIT_OFFSET   1
#define  CODA_SLICING_UNIT_MASK    0x01
#define  CODA_SLICING_MODE_OFFSET   0
#define  CODA_SLICING_MODE_MASK    0x01
#define CODA_CMD_ENC_SEQ_GOP_SIZE    0x1a8
#define  CODA_GOP_SIZE_OFFSET    0
#define  CODA_GOP_SIZE_MASK    0x3f
#define CODA_CMD_ENC_SEQ_RC_PARA    0x1ac
#define  CODA_RATECONTROL_AUTOSKIP_OFFSET  31
#define  CODA_RATECONTROL_AUTOSKIP_MASK   0x01
#define  CODA_RATECONTROL_INITIALDELAY_OFFSET  16
#define  CODA_RATECONTROL_INITIALDELAY_MASK  0x7fff
#define  CODA_RATECONTROL_BITRATE_OFFSET  1
#define  CODA_RATECONTROL_BITRATE_MASK   0x7fff
#define  CODA_RATECONTROL_ENABLE_OFFSET   0
#define  CODA_RATECONTROL_ENABLE_MASK   0x01
#define CODA_CMD_ENC_SEQ_RC_BUF_SIZE    0x1b0
#define CODA_CMD_ENC_SEQ_INTRA_REFRESH    0x1b4
#define CODADX6_CMD_ENC_SEQ_FMO     0x1b8
#define  CODA_FMOPARAM_TYPE_OFFSET   4
#define  CODA_FMOPARAM_TYPE_MASK    1
#define  CODA_FMOPARAM_SLICENUM_OFFSET   0
#define  CODA_FMOPARAM_SLICENUM_MASK   0x0f
#define CODADX6_CMD_ENC_SEQ_INTRA_QP    0x1bc
#define CODA7_CMD_ENC_SEQ_SEARCH_BASE    0x1b8
#define CODA7_CMD_ENC_SEQ_SEARCH_SIZE    0x1bc
#define CODA7_CMD_ENC_SEQ_INTRA_QP    0x1c4
#define CODA_CMD_ENC_SEQ_RC_QP_MIN_MAX    0x1c8
#define  CODA_QPMIN_OFFSET    8
#define  CODA_QPMIN_MASK     0x3f
#define  CODA_QPMAX_OFFSET    0
#define  CODA_QPMAX_MASK     0x3f
#define CODA_CMD_ENC_SEQ_RC_GAMMA    0x1cc
#define  CODA_GAMMA_OFFSET    0
#define  CODA_GAMMA_MASK     0xffff
#define CODA_CMD_ENC_SEQ_RC_INTERVAL_MODE   0x1d0
#define CODA9_CMD_ENC_SEQ_INTRA_WEIGHT    0x1d4
#define CODA9_CMD_ENC_SEQ_ME_OPTION    0x1d8
#define CODA_RET_ENC_SEQ_SUCCESS    0x1c0

#define CODA_CMD_ENC_SEQ_JPG_PARA    0x198
#define CODA_CMD_ENC_SEQ_JPG_RST_INTERVAL   0x19C
#define CODA_CMD_ENC_SEQ_JPG_THUMB_EN    0x1a0
#define CODA_CMD_ENC_SEQ_JPG_THUMB_SIZE    0x1a4
#define CODA_CMD_ENC_SEQ_JPG_THUMB_OFFSET   0x1a8

/* Encoder Parameter Change */
#define CODA_CMD_ENC_PARAM_CHANGE_ENABLE 0x180
#define  CODA_PARAM_CHANGE_RC_GOP   BIT(0)
#define  CODA_PARAM_CHANGE_RC_INTRA_QP   BIT(1)
#define  CODA_PARAM_CHANGE_RC_BITRATE   BIT(2)
#define  CODA_PARAM_CHANGE_RC_FRAME_RATE   BIT(3)
#define  CODA_PARAM_CHANGE_INTRA_MB_NUM   BIT(4)
#define  CODA_PARAM_CHANGE_SLICE_MODE   BIT(5)
#define  CODA_PARAM_CHANGE_HEC_MODE   BIT(6)
#define CODA_CMD_ENC_PARAM_RC_GOP  0x184
#define CODA_CMD_ENC_PARAM_RC_INTRA_QP  0x188
#define CODA_CMD_ENC_PARAM_RC_BITRATE  0x18c
#define CODA_CMD_ENC_PARAM_RC_FRAME_RATE 0x190
#define CODA_CMD_ENC_PARAM_INTRA_MB_NUM  0x194
#define CODA_CMD_ENC_PARAM_SLICE_MODE  0x198
#define CODA_CMD_ENC_PARAM_HEC_MODE  0x19c
#define CODA_RET_ENC_PARAM_CHANGE_SUCCESS 0x1c0

/* Encoder Picture Run */
#define CODA9_CMD_ENC_PIC_SRC_INDEX  0x180
#define CODA9_CMD_ENC_PIC_SRC_STRIDE  0x184
#define CODA9_CMD_ENC_PIC_SUB_FRAME_SYNC 0x1a4
#define CODA9_CMD_ENC_PIC_SRC_ADDR_Y  0x1a8
#define CODA9_CMD_ENC_PIC_SRC_ADDR_CB  0x1ac
#define CODA9_CMD_ENC_PIC_SRC_ADDR_CR  0x1b0
#define CODA_CMD_ENC_PIC_SRC_ADDR_Y 0x180
#define CODA_CMD_ENC_PIC_SRC_ADDR_CB 0x184
#define CODA_CMD_ENC_PIC_SRC_ADDR_CR 0x188
#define CODA_CMD_ENC_PIC_QS  0x18c
#define CODA_CMD_ENC_PIC_ROT_MODE 0x190
#define  CODA_ROT_MIR_ENABLE    (1 << 4)
#define  CODA_ROT_0     (0x0 << 0)
#define  CODA_ROT_90     (0x1 << 0)
#define  CODA_ROT_180     (0x2 << 0)
#define  CODA_ROT_270     (0x3 << 0)
#define  CODA_MIR_NONE     (0x0 << 2)
#define  CODA_MIR_VER     (0x1 << 2)
#define  CODA_MIR_HOR     (0x2 << 2)
#define  CODA_MIR_VER_HOR    (0x3 << 2)
#define CODA_CMD_ENC_PIC_OPTION  0x194
#define  CODA_FORCE_IPICTURE    BIT(1)
#define  CODA_REPORT_MB_INFO    BIT(3)
#define  CODA_REPORT_MV_INFO    BIT(4)
#define  CODA_REPORT_SLICE_INFO    BIT(5)
#define CODA_CMD_ENC_PIC_BB_START 0x198
#define CODA_CMD_ENC_PIC_BB_SIZE 0x19c
#define CODA_RET_ENC_FRAME_NUM  0x1c0
#define CODA_RET_ENC_PIC_TYPE  0x1c4
#define CODA_RET_ENC_PIC_FRAME_IDX 0x1c8
#define CODA_RET_ENC_PIC_SLICE_NUM 0x1cc
#define CODA_RET_ENC_PIC_FLAG  0x1d0
#define CODA_RET_ENC_PIC_SUCCESS 0x1d8

/* Set Frame Buffer */
#define CODA_CMD_SET_FRAME_BUF_NUM  0x180
#define CODA_CMD_SET_FRAME_BUF_STRIDE  0x184
#define CODA_CMD_SET_FRAME_SLICE_BB_START 0x188
#define CODA_CMD_SET_FRAME_SLICE_BB_SIZE 0x18c
#define CODA9_CMD_SET_FRAME_SUBSAMP_A  0x188
#define CODA9_CMD_SET_FRAME_SUBSAMP_B  0x18c
#define CODA7_CMD_SET_FRAME_AXI_BIT_ADDR 0x190
#define CODA7_CMD_SET_FRAME_AXI_IPACDC_ADDR 0x194
#define CODA7_CMD_SET_FRAME_AXI_DBKY_ADDR 0x198
#define CODA7_CMD_SET_FRAME_AXI_DBKC_ADDR 0x19c
#define CODA7_CMD_SET_FRAME_AXI_OVL_ADDR 0x1a0
#define CODA7_CMD_SET_FRAME_MAX_DEC_SIZE 0x1a4
#define CODA9_CMD_SET_FRAME_AXI_BTP_ADDR 0x1a4
#define CODA7_CMD_SET_FRAME_SOURCE_BUF_STRIDE 0x1a8
#define CODA9_CMD_SET_FRAME_CACHE_SIZE  0x1a8
#define CODA9_CMD_SET_FRAME_CACHE_CONFIG 0x1ac
#define  CODA9_CACHE_BYPASS_OFFSET  28
#define  CODA9_CACHE_DUALCONF_OFFSET  26
#define  CODA9_CACHE_PAGEMERGE_OFFSET  24
#define  CODA9_CACHE_LUMA_BUFFER_SIZE_OFFSET 16
#define  CODA9_CACHE_CB_BUFFER_SIZE_OFFSET 8
#define  CODA9_CACHE_CR_BUFFER_SIZE_OFFSET 0
#define CODA9_CMD_SET_FRAME_SUBSAMP_A_MVC 0x1b0
#define CODA9_CMD_SET_FRAME_SUBSAMP_B_MVC 0x1b4
#define CODA9_CMD_SET_FRAME_DP_BUF_BASE  0x1b0
#define CODA9_CMD_SET_FRAME_DP_BUF_SIZE  0x1b4
#define CODA9_CMD_SET_FRAME_MAX_DEC_SIZE 0x1b8
#define CODA9_CMD_SET_FRAME_DELAY  0x1bc

/* Encoder Header */
#define CODA_CMD_ENC_HEADER_CODE 0x180
#define  CODA_GAMMA_OFFSET 0
#define  CODA_HEADER_H264_SPS 0
#define  CODA_HEADER_H264_PPS 1
#define  CODA_HEADER_MP4V_VOL 0
#define  CODA_HEADER_MP4V_VOS 1
#define  CODA_HEADER_MP4V_VIS 2
#define  CODA9_HEADER_FRAME_CROP (1 << 3)
#define CODA_CMD_ENC_HEADER_BB_START 0x184
#define CODA_CMD_ENC_HEADER_BB_SIZE 0x188
#define CODA9_CMD_ENC_HEADER_FRAME_CROP_H 0x18c
#define CODA9_CMD_ENC_HEADER_FRAME_CROP_V 0x190

/* Get Version */
#define CODA_CMD_FIRMWARE_VERNUM  0x1c0
#define  CODA_FIRMWARE_PRODUCT(x) (((x) >> 16) & 0xffff)
#define  CODA_FIRMWARE_MAJOR(x)  (((x) >> 12) & 0x0f)
#define  CODA_FIRMWARE_MINOR(x)  (((x) >> 8) & 0x0f)
#define  CODA_FIRMWARE_RELEASE(x) ((x) & 0xff)
#define  CODA_FIRMWARE_VERNUM(product, major, minor, release) \
   ((product) << 16 | ((major) << 12) |  \
   ((minor) << 8) | (release))
#define CODA9_CMD_FIRMWARE_CODE_REV  0x1c4

#define CODA9_GDMA_BASE    0x1000
#define CODA9_GDI_CONTROL   (CODA9_GDMA_BASE + 0x034)
#define CODA9_GDI_PIC_INIT_HOST   (CODA9_GDMA_BASE + 0x038)
#define CODA9_GDI_STATUS   (CODA9_GDMA_BASE + 0x080)
#define CODA9_GDI_WPROT_ERR_CLR   (CODA9_GDMA_BASE + 0x0a0)
#define CODA9_GDI_WPROT_RGN_EN   (CODA9_GDMA_BASE + 0x0ac)

#define CODA9_GDI_BUS_CTRL   (CODA9_GDMA_BASE + 0x0f0)
#define CODA9_GDI_BUS_STATUS   (CODA9_GDMA_BASE + 0x0f4)

#define CODA9_GDI_INFO_CONTROL   (CODA9_GDMA_BASE + 0x400)
#define CODA9_GDI_INFO_PIC_SIZE   (CODA9_GDMA_BASE + 0x404)
#define CODA9_GDI_INFO_BASE_Y   (CODA9_GDMA_BASE + 0x408)
#define CODA9_GDI_INFO_BASE_CB   (CODA9_GDMA_BASE + 0x40c)
#define CODA9_GDI_INFO_BASE_CR   (CODA9_GDMA_BASE + 0x410)

#define CODA9_GDI_XY2_CAS_0   (CODA9_GDMA_BASE + 0x800)
#define CODA9_GDI_XY2_CAS_F   (CODA9_GDMA_BASE + 0x83c)

#define CODA9_GDI_XY2_BA_0   (CODA9_GDMA_BASE + 0x840)
#define CODA9_GDI_XY2_BA_1   (CODA9_GDMA_BASE + 0x844)
#define CODA9_GDI_XY2_BA_2   (CODA9_GDMA_BASE + 0x848)
#define CODA9_GDI_XY2_BA_3   (CODA9_GDMA_BASE + 0x84c)

#define CODA9_GDI_XY2_RAS_0   (CODA9_GDMA_BASE + 0x850)
#define CODA9_GDI_XY2_RAS_F   (CODA9_GDMA_BASE + 0x88c)

#define CODA9_GDI_XY2_RBC_CONFIG  (CODA9_GDMA_BASE + 0x890)
#define  CODA9_XY2RBC_SEPARATE_MAP  BIT(19)
#define  CODA9_XY2RBC_TOP_BOT_SPLIT  BIT(18)
#define  CODA9_XY2RBC_TILED_MAP   BIT(17)
#define  CODA9_XY2RBC_CA_INC_HOR   BIT(16)
#define CODA9_GDI_RBC2_AXI_0   (CODA9_GDMA_BASE + 0x8a0)
#define CODA9_GDI_RBC2_AXI_1F   (CODA9_GDMA_BASE + 0x91c)
#define CODA9_GDI_TILEDBUF_BASE   (CODA9_GDMA_BASE + 0x920)

#define CODA9_JPEG_BASE    0x3000
#define CODA9_REG_JPEG_PIC_START  (CODA9_JPEG_BASE + 0x000)
#define CODA9_REG_JPEG_PIC_STATUS  (CODA9_JPEG_BASE + 0x004)
#define  CODA9_JPEG_STATUS_OVERFLOW  BIT(3)
#define  CODA9_JPEG_STATUS_BBC_INT  BIT(2)
#define  CODA9_JPEG_STATUS_ERROR   BIT(1)
#define  CODA9_JPEG_STATUS_DONE   BIT(0)
#define CODA9_REG_JPEG_PIC_ERRMB  (CODA9_JPEG_BASE + 0x008)
#define  CODA9_JPEG_ERRMB_RESTART_IDX_MASK (0xf << 24)
#define  CODA9_JPEG_ERRMB_MCU_POS_X_MASK  (0xfff << 12)
#define  CODA9_JPEG_ERRMB_MCU_POS_Y_MASK  0xfff
#define CODA9_REG_JPEG_PIC_CTRL   (CODA9_JPEG_BASE + 0x010)
#define  CODA9_JPEG_PIC_CTRL_USER_HUFFMAN_EN BIT(6)
#define  CODA9_JPEG_PIC_CTRL_TC_DIRECTION BIT(4)
#define  CODA9_JPEG_PIC_CTRL_ENCODER_EN  BIT(3)
#define CODA9_REG_JPEG_PIC_SIZE   (CODA9_JPEG_BASE + 0x014)
#define CODA9_REG_JPEG_MCU_INFO   (CODA9_JPEG_BASE + 0x018)
#define  CODA9_JPEG_MCU_BLOCK_NUM_OFFSET  16
#define  CODA9_JPEG_COMP_NUM_OFFSET  12
#define  CODA9_JPEG_COMP0_INFO_OFFSET  8
#define  CODA9_JPEG_COMP1_INFO_OFFSET  4
#define  CODA9_JPEG_COMP2_INFO_OFFSET  0
#define CODA9_REG_JPEG_ROT_INFO   (CODA9_JPEG_BASE + 0x01c)
#define  CODA9_JPEG_ROT_MIR_ENABLE  BIT(4)
#define  CODA9_JPEG_ROT_MIR_MODE_MASK  0xf
#define CODA9_REG_JPEG_SCL_INFO   (CODA9_JPEG_BASE + 0x020)
#define  CODA9_JPEG_SCL_ENABLE   BIT(4)
#define  CODA9_JPEG_SCL_HOR_MODE_MASK  (0x3 << 2)
#define  CODA9_JPEG_SCL_VER_MODE_MASK  (0x3 << 0)
#define CODA9_REG_JPEG_IF_INFO   (CODA9_JPEG_BASE + 0x024)
#define  CODA9_JPEG_SENS_IF_CLR   BIT(1)
#define  CODA9_JPEG_DISP_IF_CLR   BIT(0)
#define CODA9_REG_JPEG_OP_INFO   (CODA9_JPEG_BASE + 0x02c)
#define  CODA9_JPEG_BUS_REQ_NUM_OFFSET  0
#define  CODA9_JPEG_BUS_REQ_NUM_MASK  0x7
#define CODA9_REG_JPEG_DPB_CONFIG  (CODA9_JPEG_BASE + 0x030)
#define CODA9_REG_JPEG_DPB_BASE00  (CODA9_JPEG_BASE + 0x040)
#define CODA9_REG_JPEG_HUFF_CTRL  (CODA9_JPEG_BASE + 0x080)
#define CODA9_REG_JPEG_HUFF_ADDR  (CODA9_JPEG_BASE + 0x084)
#define CODA9_REG_JPEG_HUFF_DATA  (CODA9_JPEG_BASE + 0x088)
#define CODA9_REG_JPEG_QMAT_CTRL  (CODA9_JPEG_BASE + 0x090)
#define CODA9_REG_JPEG_QMAT_ADDR  (CODA9_JPEG_BASE + 0x094)
#define CODA9_REG_JPEG_QMAT_DATA  (CODA9_JPEG_BASE + 0x098)
#define CODA9_REG_JPEG_RST_INTVAL  (CODA9_JPEG_BASE + 0x0b0)
#define CODA9_REG_JPEG_RST_INDEX  (CODA9_JPEG_BASE + 0x0b4)
#define CODA9_REG_JPEG_RST_COUNT  (CODA9_JPEG_BASE + 0x0b8)
#define CODA9_REG_JPEG_DPCM_DIFF_Y  (CODA9_JPEG_BASE + 0x0f0)
#define CODA9_REG_JPEG_DPCM_DIFF_CB  (CODA9_JPEG_BASE + 0x0f4)
#define CODA9_REG_JPEG_DPCM_DIFF_CR  (CODA9_JPEG_BASE + 0x0f8)
#define CODA9_REG_JPEG_GBU_CTRL   (CODA9_JPEG_BASE + 0x100)
#define CODA9_REG_JPEG_GBU_BT_PTR  (CODA9_JPEG_BASE + 0x110)
#define CODA9_REG_JPEG_GBU_WD_PTR  (CODA9_JPEG_BASE + 0x114)
#define CODA9_REG_JPEG_GBU_TT_CNT  (CODA9_JPEG_BASE + 0x118)
#define CODA9_REG_JPEG_GBU_BBSR   (CODA9_JPEG_BASE + 0x140)
#define CODA9_REG_JPEG_GBU_BBER   (CODA9_JPEG_BASE + 0x144)
#define CODA9_REG_JPEG_GBU_BBIR   (CODA9_JPEG_BASE + 0x148)
#define CODA9_REG_JPEG_GBU_BBHR   (CODA9_JPEG_BASE + 0x14c)
#define CODA9_REG_JPEG_GBU_BCNT   (CODA9_JPEG_BASE + 0x158)
#define CODA9_REG_JPEG_GBU_FF_RPTR  (CODA9_JPEG_BASE + 0x160)
#define CODA9_REG_JPEG_GBU_FF_WPTR  (CODA9_JPEG_BASE + 0x164)
#define CODA9_REG_JPEG_BBC_END_ADDR  (CODA9_JPEG_BASE + 0x208)
#define CODA9_REG_JPEG_BBC_WR_PTR  (CODA9_JPEG_BASE + 0x20c)
#define CODA9_REG_JPEG_BBC_RD_PTR  (CODA9_JPEG_BASE + 0x210)
#define CODA9_REG_JPEG_BBC_EXT_ADDR  (CODA9_JPEG_BASE + 0x214)
#define CODA9_REG_JPEG_BBC_INT_ADDR  (CODA9_JPEG_BASE + 0x218)
#define CODA9_REG_JPEG_BBC_DATA_CNT  (CODA9_JPEG_BASE + 0x21c)
#define CODA9_REG_JPEG_BBC_COMMAND  (CODA9_JPEG_BASE + 0x220)
#define CODA9_REG_JPEG_BBC_BUSY   (CODA9_JPEG_BASE + 0x224)
#define CODA9_REG_JPEG_BBC_CTRL   (CODA9_JPEG_BASE + 0x228)
#define CODA9_REG_JPEG_BBC_CUR_POS  (CODA9_JPEG_BASE + 0x22c)
#define CODA9_REG_JPEG_BBC_BAS_ADDR  (CODA9_JPEG_BASE + 0x230)
#define CODA9_REG_JPEG_BBC_STRM_CTRL  (CODA9_JPEG_BASE + 0x234)
#define CODA9_REG_JPEG_BBC_FLUSH_CMD  (CODA9_JPEG_BASE + 0x238)

#endif

Messung V0.5
C=96 H=98 G=96

¤ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.