| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541 |
- /*------------------------------------------------------------------------------
- -- --
- -- 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 : Encoder SW/HW interface register definitions
- --
- ------------------------------------------------------------------------------*/
- /*------------------------------------------------------------------------------
- Table of contents
- 1. Include headers
- 2. External compiler flags
- 3. Module defines
- ------------------------------------------------------------------------------*/
- #ifndef ENC_SWHWREGISTERS_H
- #define ENC_SWHWREGISTERS_H
- /*------------------------------------------------------------------------------
- 1. Include headers
- ------------------------------------------------------------------------------*/
- #include "basetype.h"
- /*------------------------------------------------------------------------------
- 2. External compiler flags
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- 3. Module defines
- ------------------------------------------------------------------------------*/
- #define ASIC_SWREG_AMOUNT 96
- #define ASIC_INPUT_YUV420PLANAR 0x00
- #define ASIC_INPUT_YUV420SEMIPLANAR 0x01
- #define ASIC_INPUT_YUYV422INTERLEAVED 0x02
- #define ASIC_INPUT_UYVY422INTERLEAVED 0x03
- #define ASIC_INPUT_RGB565 0x04
- #define ASIC_INPUT_RGB555 0x05
- #define ASIC_INPUT_RGB444 0x06
- #define ASIC_INPUT_RGB888 0x07
- #define ASIC_INPUT_RGB101010 0x08
- /* HW Register field names */
- typedef enum {
- HEncProductID,
- HEncProductMajor,
- HEncProductMinor,
- HEncProductBuild,
- HEncIRQSliceReady,
- HEncIRQTest1,
- HEncIRQTest2,
- HEncIRQBuffer,
- HEncIRQReset,
- HEncIRQBusError,
- HEncIRQFrameReady,
- HEncIRQDisable,
- HEncIRQ,
- HEncAXIWriteID,
- HEncAXIReadID,
- HEncOutputSwap16,
- HEncInputSwap16,
- HEncBurstLength,
- HEncBurstDisable,
- HEncBurstIncr,
- HEncDataDiscard,
- HEncClockGating,
- HEncOutputSwap32,
- HEncInputSwap32,
- HEncOutputSwap8,
- HEncInputSwap8,
- HEncTestCounter,
- HEncTestLength,
- HEncTestMem,
- HEncTestReg,
- HEncTestIrq,
- HEncBaseStream,
- HEncBaseControl,
- HEncBaseRefLum,
- HEncBaseRefChr,
- HEncBaseRecLum,
- HEncBaseRecChr,
- HEncBaseInLum,
- HEncBaseInCb,
- HEncBaseInCr,
- HEncIntTimeout,
- HEncMvWrite,
- HEncNalMode,
- HEncIntSliceReady,
- HEncWidth,
- HEncHeight,
- HEncRecWriteDisable,
- HEncPictureType,
- HEncEncodingMode,
- HEncEnable,
- HEncChrOffset,
- HEncLumOffset,
- HEncRowLength,
- HEncXFill,
- HEncYFill,
- HEncInputFormat,
- HEncInputRot,
- HEncPicInitQp,
- HEncSliceAlpha,
- HEncSliceBeta,
- HEncChromaQp,
- HEncDeblocking,
- HEncIdrPicId,
- HEncConstrIP,
- HEncPPSID,
- HEncIPPrevModeFavor,
- HEncIPIntra16Favor,
- HEncSliceSize,
- HEncDisableQPMV,
- HEncTransform8x8,
- HEncCabacInitIdc,
- HEncCabacEnable,
- HEncInter4Restrict,
- HEncStreamMode,
- HEncFrameNum,
- HEncDMVPenalty,
- HEncDMVPenalty4p,
- HEncJpegMode,
- HEncJpegSlice,
- HEncJpegRSTInt,
- HEncJpegRST,
- HEncSkipPenalty,
- HEncNumSlicesReady,
- HEncInterFavor,
- HEncStrmHdrRem1,
- HEncStrmHdrRem2,
- HEncStrmBufLimit,
- HEncMadQpDelta,
- HEncMadThreshold,
- HEncQpSum,
- HEncQp,
- HEncMaxQp,
- HEncMinQp,
- HEncCPDist,
- HEncCP1WordTarget,
- HEncCP2WordTarget,
- HEncCP3WordTarget,
- HEncCP4WordTarget,
- HEncCP5WordTarget,
- HEncCP6WordTarget,
- HEncCP7WordTarget,
- HEncCP8WordTarget,
- HEncCP9WordTarget,
- HEncCP10WordTarget,
- HEncCPWordError1,
- HEncCPWordError2,
- HEncCPWordError3,
- HEncCPWordError4,
- HEncCPWordError5,
- HEncCPWordError6,
- HEncCPDeltaQp1,
- HEncCPDeltaQp2,
- HEncCPDeltaQp3,
- HEncCPDeltaQp4,
- HEncCPDeltaQp5,
- HEncCPDeltaQp6,
- HEncCPDeltaQp7,
- HEncStartOffset,
- HEncRlcSum,
- HEncMadCount,
- HEncMbCount,
- HEncBaseNextLum,
- HEncStabMode,
- HEncStabMinimum,
- HEncStabMotionSum,
- HEncStabGmvX,
- HEncStabMatrix1,
- HEncStabGmvY,
- HEncStabMatrix2,
- HEncStabMatrix3,
- HEncStabMatrix4,
- HEncStabMatrix5,
- HEncStabMatrix6,
- HEncStabMatrix7,
- HEncStabMatrix8,
- HEncStabMatrix9,
- HEncBaseCabacCtx,
- HEncBaseMvWrite,
- HEncRGBCoeffA,
- HEncRGBCoeffB,
- HEncRGBCoeffC,
- HEncRGBCoeffE,
- HEncRGBCoeffF,
- HEncRMaskMSB,
- HEncGMaskMSB,
- HEncBMaskMSB,
- HEncIntraAreaLeft,
- HEncIntraAreaRight,
- HEncIntraAreaTop,
- HEncIntraAreaBottom,
- HEncCirStart,
- HEncCirInterval,
- HEncIntraSliceMap1,
- HEncIntraSliceMap2,
- HEncIntraSliceMap3,
- HEncRoi1Left,
- HEncRoi1Right,
- HEncRoi1Top,
- HEncRoi1Bottom,
- HEncRoi2Left,
- HEncRoi2Right,
- HEncRoi2Top,
- HEncRoi2Bottom,
- HEncRoi1DeltaQp,
- HEncRoi2DeltaQp,
- HEncMvcPriorityId,
- HEncMvcViewId,
- HEncMvcTemporalId,
- HEncMvcAnchorPicFlag,
- HEncMvcInterViewFlag,
- HEncHWTiledSupport,
- HEncHWSearchArea,
- HEncHWRgbSupport,
- HEncHWH264Support,
- HEncHWMpeg4Support,
- HEncHWJpegSupport,
- HEncHWStabSupport,
- HEncHWBus,
- HEncHWSynthesisLan,
- HEncHWBusWidth,
- HEncHWMaxVideoWidth,
- HEncJpegQuantLuma1,
- HEncJpegQuantLuma2,
- HEncJpegQuantLuma3,
- HEncJpegQuantLuma4,
- HEncJpegQuantLuma5,
- HEncJpegQuantLuma6,
- HEncJpegQuantLuma7,
- HEncJpegQuantLuma8,
- HEncJpegQuantLuma9,
- HEncJpegQuantLuma10,
- HEncJpegQuantLuma11,
- HEncJpegQuantLuma12,
- HEncJpegQuantLuma13,
- HEncJpegQuantLuma14,
- HEncJpegQuantLuma15,
- HEncJpegQuantLuma16,
- HEncJpegQuantChroma1,
- HEncJpegQuantChroma2,
- HEncJpegQuantChroma3,
- HEncJpegQuantChroma4,
- HEncJpegQuantChroma5,
- HEncJpegQuantChroma6,
- HEncJpegQuantChroma7,
- HEncJpegQuantChroma8,
- HEncJpegQuantChroma9,
- HEncJpegQuantChroma10,
- HEncJpegQuantChroma11,
- HEncJpegQuantChroma12,
- HEncJpegQuantChroma13,
- HEncJpegQuantChroma14,
- HEncJpegQuantChroma15,
- HEncJpegQuantChroma16,
- HEncRegisterAmount
- } regName;
- /* HW Register field descriptions */
- typedef struct {
- i32 name; /* Register name and index */
- i32 base; /* Register base address */
- u32 mask; /* Bitmask for this field */
- i32 lsb; /* LSB for this field [31..0] */
- i32 trace; /* Enable/disable writing in swreg_params.trc */
- char *description; /* Field description */
- } regField_s;
- /* NOTE: Don't use ',' in descriptions, because it is used as separator in csv
- * parsing. */
- static const regField_s asicRegisterDesc[] = {
- {HEncProductID , 0x000, 0xffff0000, 16, 0, "Product ID"},
- {HEncProductMajor , 0x000, 0x0000f000, 12, 0, "Major number"},
- {HEncProductMinor , 0x000, 0x00000ff0, 4, 0, "Minor number"},
- {HEncProductBuild , 0x000, 0x0000000f, 0, 0, "Build number defined in synthesis."},
- {HEncIRQSliceReady , 0x004, 0x00000100, 8, 0, "IRQ slice ready status bit."},
- {HEncIRQTest1 , 0x004, 0x00000080, 7, 0, "IRQ test 2 status bit. Memory coherency test."},
- {HEncIRQTest2 , 0x004, 0x00000040, 6, 0, "IRQ test 1 status bit. Interrupt test."},
- {HEncIRQBuffer , 0x004, 0x00000020, 5, 0, "IRQ buffer full status bit. HW waiting for new buffer."},
- {HEncIRQReset , 0x004, 0x00000010, 4, 0, "IRQ SW reset status bit."},
- {HEncIRQBusError , 0x004, 0x00000008, 3, 0, "IRQ bus error or timeout status bit."},
- {HEncIRQFrameReady , 0x004, 0x00000004, 2, 0, "IRQ frame ready status bit. Encoder has finished a frame."},
- {HEncIRQDisable , 0x004, 0x00000002, 1, 0, "IRQ disable. No interrupts from HW. SW must use polling."},
- {HEncIRQ , 0x004, 0x00000001, 0, 0, "HINTenc Interrupt from HW. SW resets at IRQ handler."},
- {HEncAXIWriteID , 0x008, 0xff000000, 24, 0, "AXI Write ID"},
- {HEncAXIReadID , 0x008, 0x00ff0000, 16, 0, "AXI Read ID"},
- {HEncOutputSwap16 , 0x008, 0x00008000, 15, 0, "Enable output swap 16-bits"},
- {HEncInputSwap16 , 0x008, 0x00004000, 14, 0, "Enable input swap 16-bits"},
- {HEncBurstLength , 0x008, 0x00003f00, 8, 0, "Burst length. 0=incremental. 4=max BURST4.8=max BURST8. 16=max BURST16"},
- {HEncBurstDisable , 0x008, 0x00000080, 7, 0, "Disable burst mode for AXI"},
- {HEncBurstIncr , 0x008, 0x00000040, 6, 0, "Burst incremental. 1=INCR burst allowed. 0=use SINGLE burst"},
- {HEncDataDiscard , 0x008, 0x00000020, 5, 0, "Enable burst data discard. 2 or 3 long reads are using BURST4"},
- {HEncClockGating , 0x008, 0x00000010, 4, 0, "Enable clock gating"},
- {HEncOutputSwap32 , 0x008, 0x00000008, 3, 0, "Enable output swap 32-bits"},
- {HEncInputSwap32 , 0x008, 0x00000004, 2, 0, "Enable input swap 32-bits"},
- {HEncOutputSwap8 , 0x008, 0x00000002, 1, 0, "Enable output swap 8-bits"},
- {HEncInputSwap8 , 0x008, 0x00000001, 0, 0, "Enable input swap 8-bits"},
- {HEncTestCounter , 0x00c, 0xf0000000, 28, 0, "Test counter"},
- {HEncTestLength , 0x00c, 0x001ffff8, 3, 0, "Test data length for memory test"},
- {HEncTestMem , 0x00c, 0x00000004, 2, 0, "Enable memory coherency test. Reads BaseStream. Writes BaseControl"},
- {HEncTestReg , 0x00c, 0x00000002, 1, 0, "Enable register coherency test. Increments test counter"},
- {HEncTestIrq , 0x00c, 0x00000001, 0, 0, "Enable IRQ test. HW gives interrupt"},
- {HEncBaseStream , 0x014, 0xffffffff, 0, 0, "Base address for output stream data"},
- {HEncBaseControl , 0x018, 0xffffffff, 0, 0, "Base address for output control data"},
- {HEncBaseRefLum , 0x01c, 0xffffffff, 0, 0, "Base address for reference luma"},
- {HEncBaseRefChr , 0x020, 0xffffffff, 0, 0, "Base address for reference chroma"},
- {HEncBaseRecLum , 0x024, 0xffffffff, 0, 0, "Base address for reconstructed luma"},
- {HEncBaseRecChr , 0x028, 0xffffffff, 0, 0, "Base address for reconstructed chroma"},
- {HEncBaseInLum , 0x02c, 0xffffffff, 0, 0, "Base address for input picture luma"},
- {HEncBaseInCb , 0x030, 0xffffffff, 0, 0, "Base address for input picture cb"},
- {HEncBaseInCr , 0x034, 0xffffffff, 0, 0, "Base address for input picture cr"},
- {HEncIntTimeout , 0x038, 0x80000000, 31, 0, "Enable interrupt for timeout"},
- {HEncMvWrite , 0x038, 0x40000000, 30, 1, "Enable writing MV and SAD of each MB to BaseMvWrite"},
- {HEncNalMode , 0x038, 0x20000000, 29, 1, "Enable writing size of each NAL unit to BaseControl, nalSizeWriteOut"},
- {HEncIntSliceReady , 0x038, 0x10000000, 28, 0, "Enable interrupt for slice ready"},
- {HEncWidth , 0x038, 0x0ff80000, 19, 1, "Encoded width. lumWidth (macroblocks) H264:[6..255] JPEG:[6..511]"},
- {HEncHeight , 0x038, 0x0007fc00, 10, 1, "Encoded height. lumHeight (macroblocks) H264:[6..255] JPEG:[2..511]"},
- {HEncRecWriteDisable , 0x038, 0x00000040, 6, 1, "Disable writing of reconstructed image. recWriteDisable"},
- {HEncPictureType , 0x038, 0x00000018, 3, 1, "Encoded picture type. frameType. 0=INTER. 1=INTRA(IDR). 2=MVC-INTER. 3=MVC-INTER(ref mod)."},
- {HEncEncodingMode , 0x038, 0x00000006, 1, 1, "Encoding mode. streamType. 2=JPEG. 3=H264"},
- {HEncEnable , 0x038, 0x00000001, 0, 0, "Encoder enable"},
- {HEncChrOffset , 0x03c, 0xe0000000, 29, 0, "Input chrominance offset (bytes) [0..7]"},
- {HEncLumOffset , 0x03c, 0x1c000000, 26, 0, "Input luminance offset (bytes) [0..7]"},
- {HEncRowLength , 0x03c, 0x03fff000, 12, 1, "Input luminance row length. lumWidthSrc (bytes) [96..8192]"},
- {HEncXFill , 0x03c, 0x00000c00, 10, 0, "Overfill pixels on right edge of image div4 [0..3]"},
- {HEncYFill , 0x03c, 0x000003c0, 6, 1, "Overfill pixels on bottom edge of image. YFill. [0..15]"},
- {HEncInputFormat , 0x03c, 0x0000003c, 2, 1, "Input image format. inputFormat. YUV420P/YUV420SP/YUYV422/UYVY422/RGB565/RGB555/RGB444/RGB888/RGB101010"},
- {HEncInputRot , 0x03c, 0x00000003, 0, 1, "Input image rotation. 0=disabled. 1=90degrees right. 2=90 degrees left"},
- {HEncPicInitQp , 0x040, 0xfc000000, 26, 0, "H.264 Pic init qp in PPS [0..51]"},
- {HEncSliceAlpha , 0x040, 0x03c00000, 22, 0, "H.264 Slice filter alpha c0 offset div2 [-6..6]"},
- {HEncSliceBeta , 0x040, 0x003c0000, 18, 0, "H.264 Slice filter beta offset div2 [-6..6]"},
- {HEncChromaQp , 0x040, 0x0003e000, 13, 0, "H.264 Chroma qp index offset [-12..12]"},
- {HEncDeblocking , 0x040, 0x00000060, 5, 0, "H.264 Deblocking filter mode. 0=enabled. 1=disabled. 2=disabled on slice borders"},
- {HEncIdrPicId , 0x040, 0x0000001e, 1, 0, "H.264 IDR picture ID"},
- {HEncConstrIP , 0x040, 0x00000001, 0, 1, "H.264 Constrained intra prediction enable. constIntraPred"},
- {HEncPPSID , 0x044, 0xff000000, 24, 0, "H.264 pic_parameter_set_id"},
- {HEncIPPrevModeFavor , 0x044, 0x00ff0000, 16, 0, "H.264 Intra prediction previous 4x4 mode favor"},
- {HEncIPIntra16Favor , 0x044, 0x0000ffff, 0, 0, "H.264 Intra prediction intra 16x16 mode favor"},
- {HEncSliceSize , 0x048, 0x3f800000, 23, 1, "H.264 Slice size. mbRowPerSlice (mb rows) [0..127] 0=one slice per picture"},
- {HEncDisableQPMV , 0x048, 0x00400000, 22, 1, "H.264 Disable quarter pixel MVs. disableQuarterPixelMv"},
- {HEncTransform8x8 , 0x048, 0x00200000, 21, 1, "H.264 Transform 8x8 enable. High Profile H.264. transform8x8Mode"},
- {HEncCabacInitIdc , 0x048, 0x00180000, 19, 0, "H.264 CABAC initial IDC. [0..2]"},
- {HEncCabacEnable , 0x048, 0x00040000, 18, 1, "H.264 CABAC enable. entropyCodingMode. 0=CAVLC (Baseline Profile H.264). 1=CABAC (Main Profile H.264)"},
- {HEncInter4Restrict , 0x048, 0x00020000, 17, 1, "H.264 Inter 4x4 mode restriction. restricted4x4Mode"},
- {HEncStreamMode , 0x048, 0x00010000, 16, 1, "H.264 Stream mode. byteStream. 0=NAL unit stream. 1=Byte stream"},
- {HEncFrameNum , 0x048, 0x0000ffff, 0, 0, "H.264 Frame num"},
- {HEncDMVPenalty , 0x04c, 0x000003ff, 0, 1, "H.264 Differential MV penalty for 1p/qp ME. DMVPenalty1p"},
- {HEncDMVPenalty4p , 0x04c, 0x000ffc00, 10, 1, "H.264 Differential MV penalty for 4p ME. DMVPenalty4p"},
- {HEncJpegMode , 0x050, 0x02000000, 25, 0, "JPEG mode. 0=4:2:0 (4lum+2chr blocks/MCU). 1=4:2:2 (2lum+2chr blocks/MCU)"},
- {HEncJpegSlice , 0x050, 0x01000000, 24, 0, "JPEG slice enable. 0=picture ends with EOI. 1=slice ends with RST"},
- {HEncJpegRSTInt , 0x050, 0x00ff0000, 16, 0, "JPEG restart marker interval when slices are disabled (mb rows) [0..255]"},
- {HEncJpegRST , 0x050, 0x0000ffff, 0, 0, "JPEG restart marker for first RST. incremented by HW for next RST"},
- {HEncSkipPenalty , 0x054, 0xff000000, 24, 0, "H.264 SKIP macroblock mode penalty"},
- {HEncNumSlicesReady , 0x054, 0x00ff0000, 16, 0, "H.264 amount of completed slices."},
- {HEncInterFavor , 0x054, 0x0000ffff, 0, 0, "H.264 Inter MB mode favor in intra/inter selection"},
- {HEncStrmHdrRem1 , 0x058, 0xffffffff, 0, 0, "Stream header remainder bits MSB (MSB aligned)"},
- {HEncStrmHdrRem2 , 0x05c, 0xffffffff, 0, 0, "Stream header remainder bits LSB (MSB aligned)"},
- {HEncStrmBufLimit , 0x060, 0xffffffff, 0, 1, "Stream buffer limit (64bit addresses) / output stream size (bits). HWStreamDataCount. If limit is reached buffer full IRQ is given."},
- {HEncMadQpDelta , 0x064, 0xf0000000, 28, 1, "MAD based QP adjustment. madQpChange [-8..7]"},
- {HEncMadThreshold , 0x064, 0x0fc00000, 22, 0, "MAD threshold div256"},
- {HEncQpSum , 0x064, 0x001fffff, 0, 0, "QP Sum div2 output"},
- {HEncQp , 0x06c, 0xfc000000, 26, 1, "Initial QP. qpLum [0..51]"},
- {HEncMaxQp , 0x06c, 0x03f00000, 20, 1, "Maximum QP. qpMax [0..51]"},
- {HEncMinQp , 0x06c, 0x000fc000, 14, 1, "Minimum QP. qpMin [0..51]"},
- {HEncCPDist , 0x06c, 0x00001fff, 0, 0, "Checkpoint distance (mb) 0=disabled [0..8191]"},
- {HEncCP1WordTarget , 0x070, 0xffff0000, 16, 0, "Checkpoint 1 word target/usage div32 [0..65535]"},
- {HEncCP2WordTarget , 0x070, 0x0000ffff, 0, 0, "Checkpoint 2 word target/usage div32 [0..65535]"},
- {HEncCP3WordTarget , 0x074, 0xffff0000, 16, 0, "Checkpoint 3 word target/usage div32 [0..65535]"},
- {HEncCP4WordTarget , 0x074, 0x0000ffff, 0, 0, "Checkpoint 4 word target/usage div32 [0..65535]"},
- {HEncCP5WordTarget , 0x078, 0xffff0000, 16, 0, "Checkpoint 5 word target/usage div32 [0..65535]"},
- {HEncCP6WordTarget , 0x078, 0x0000ffff, 0, 0, "Checkpoint 6 word target/usage div32 [0..65535]"},
- {HEncCP7WordTarget , 0x07c, 0xffff0000, 16, 0, "Checkpoint 7 word target/usage div32 [0..65535]"},
- {HEncCP8WordTarget , 0x07c, 0x0000ffff, 0, 0, "Checkpoint 8 word target/usage div32 [0..65535]"},
- {HEncCP9WordTarget , 0x080, 0xffff0000, 16, 0, "Checkpoint 9 word target/usage div32 [0..65535]"},
- {HEncCP10WordTarget , 0x080, 0x0000ffff, 0, 0, "Checkpoint 10 word target/usage div32 [0..65535]"},
- {HEncCPWordError1 , 0x084, 0xffff0000, 16, 0, "Checkpoint word error 1 div4 [-32768..32767]"},
- {HEncCPWordError2 , 0x084, 0x0000ffff, 0, 0, "Checkpoint word error 2 div4 [-32768..32767]"},
- {HEncCPWordError3 , 0x088, 0xffff0000, 16, 0, "Checkpoint word error 3 div4 [-32768..32767]"},
- {HEncCPWordError4 , 0x088, 0x0000ffff, 0, 0, "Checkpoint word error 4 div4 [-32768..32767]"},
- {HEncCPWordError5 , 0x08c, 0xffff0000, 16, 0, "Checkpoint word error 5 div4 [-32768..32767]"},
- {HEncCPWordError6 , 0x08c, 0x0000ffff, 0, 0, "Checkpoint word error 6 div4 [-32768..32767]"},
- {HEncCPDeltaQp1 , 0x090, 0x0f000000, 24, 0, "Checkpoint delta QP 1 [-8..7]"},
- {HEncCPDeltaQp2 , 0x090, 0x00f00000, 20, 0, "Checkpoint delta QP 2 [-8..7]"},
- {HEncCPDeltaQp3 , 0x090, 0x000f0000, 16, 0, "Checkpoint delta QP 3 [-8..7]"},
- {HEncCPDeltaQp4 , 0x090, 0x0000f000, 12, 0, "Checkpoint delta QP 4 [-8..7]"},
- {HEncCPDeltaQp5 , 0x090, 0x00000f00, 8, 0, "Checkpoint delta QP 5 [-8..7]"},
- {HEncCPDeltaQp6 , 0x090, 0x000000f0, 4, 0, "Checkpoint delta QP 6 [-8..7]"},
- {HEncCPDeltaQp7 , 0x090, 0x0000000f, 0, 0, "Checkpoint delta QP 7 [-8..7]"},
- {HEncStartOffset , 0x094, 0x1f800000, 23, 0, "Stream start offset = amount of StrmHdrRem (bits) [0..63]"},
- {HEncRlcSum , 0x094, 0x007fffff, 0, 0, "RLC codeword count div4 output. max 255*255*384/4"},
- {HEncMadCount , 0x098, 0xffff0000, 16, 0, "Macroblock count with MAD value under threshold output"},
- {HEncMbCount , 0x098, 0x0000ffff, 0, 0, "MB count output. max 255*255"},
- {HEncBaseNextLum , 0x09c, 0xffffffff, 0, 0, "Base address for next pic luminance"},
- {HEncStabMode , 0x0a0, 0xc0000000, 30, 1, "Stabilization mode. 0=disabled. 1=stab only. 2=stab+encode"},
- {HEncStabMinimum , 0x0a0, 0x00ffffff, 0, 0, "Stabilization minimum value output. max 253*253*255"},
- {HEncStabMotionSum , 0x0a4, 0xffffffff, 0, 0, "Stabilization motion sum div8 output. max 253*253*255*1089/8"},
- {HEncStabGmvX , 0x0a8, 0xfc000000, 26, 0, "Stabilization GMV horizontal output [-16..16]"},
- {HEncStabMatrix1 , 0x0a8, 0x00ffffff, 0, 0, "Stabilization matrix 1 (up-left position) output"},
- {HEncStabGmvY , 0x0ac, 0xfc000000, 26, 0, "Stabilization GMV vertical output [-16..16]"},
- {HEncStabMatrix2 , 0x0ac, 0x00ffffff, 0, 0, "Stabilization matrix 2 (up position) output"},
- {HEncStabMatrix3 , 0x0b0, 0x00ffffff, 0, 0, "Stabilization matrix 3 (up-right position) output"},
- {HEncStabMatrix4 , 0x0b4, 0x00ffffff, 0, 0, "Stabilization matrix 4 (left position) output"},
- {HEncStabMatrix5 , 0x0b8, 0x00ffffff, 0, 0, "Stabilization matrix 5 (GMV position) output"},
- {HEncStabMatrix6 , 0x0bc, 0x00ffffff, 0, 0, "Stabilization matrix 6 (right position) output"},
- {HEncStabMatrix7 , 0x0c0, 0x00ffffff, 0, 0, "Stabilization matrix 7 (down-left position) output"},
- {HEncStabMatrix8 , 0x0c4, 0x00ffffff, 0, 0, "Stabilization matrix 8 (down position) output"},
- {HEncStabMatrix9 , 0x0c8, 0x00ffffff, 0, 0, "Stabilization matrix 9 (down-right position) output"},
- {HEncBaseCabacCtx , 0x0cc, 0xffffffff, 0, 0, "Base address for cabac context tables"},
- {HEncBaseMvWrite , 0x0d0, 0xffffffff, 0, 0, "Base address for MV output writing"},
- {HEncRGBCoeffA , 0x0d4, 0x0000ffff, 0, 0, "RGB to YUV conversion coefficient A"},
- {HEncRGBCoeffB , 0x0d4, 0xffff0000, 16, 0, "RGB to YUV conversion coefficient B"},
- {HEncRGBCoeffC , 0x0d8, 0x0000ffff, 0, 0, "RGB to YUV conversion coefficient C"},
- {HEncRGBCoeffE , 0x0d8, 0xffff0000, 16, 0, "RGB to YUV conversion coefficient E"},
- {HEncRGBCoeffF , 0x0dc, 0x0000ffff, 0, 0, "RGB to YUV conversion coefficient F"},
- {HEncRMaskMSB , 0x0dc, 0x001f0000, 16, 0, "RGB R-component mask MSB bit position [0..31]"},
- {HEncGMaskMSB , 0x0dc, 0x03e00000, 21, 0, "RGB G-component mask MSB bit position [0..31]"},
- {HEncBMaskMSB , 0x0dc, 0x7c000000, 26, 0, "RGB B-component mask MSB bit position [0..31]"},
- {HEncIntraAreaLeft , 0x0e0, 0xff000000, 24, 0, "Intra area left mb column (inside area) [0..255]"},
- {HEncIntraAreaRight , 0x0e0, 0x00ff0000, 16, 0, "Intra area right mb column (outside area) [0..255]"},
- {HEncIntraAreaTop , 0x0e0, 0x0000ff00, 8, 0, "Intra area top mb row (inside area) [0..255]"},
- {HEncIntraAreaBottom , 0x0e0, 0x000000ff, 0, 0, "Intra area bottom mb row (outside area) [0..255]"},
- {HEncCirStart , 0x0e4, 0xffff0000, 16, 0, "CIR first intra mb. 0=disabled [0..65535]"},
- {HEncCirInterval , 0x0e4, 0x0000ffff, 0, 0, "CIR intra mb interval. 0=disabled [0..65535]"},
- {HEncIntraSliceMap1 , 0x0e8, 0xffffffff, 0, 0, "Intra slice bitmap for slices 0..31. LSB=slice0. MSB=slice31. 1=intra."},
- {HEncIntraSliceMap2 , 0x0ec, 0xffffffff, 0, 0, "Intra slice bitmap for slices 32..63. LSB=slice32. MSB=slice63. 1=intra."},
- {HEncIntraSliceMap3 , 0x068, 0xffffffff, 0, 0, "Intra slice bitmap for slices 64..95. LSB=slice64. MSB=slice95. 1=intra."},
- {HEncRoi1Left , 0x0f0, 0xff000000, 24, 0, "1st ROI area left mb column (inside area)"},
- {HEncRoi1Right , 0x0f0, 0x00ff0000, 16, 0, "1st ROI area right mb column (inside area)"},
- {HEncRoi1Top , 0x0f0, 0x0000ff00, 8, 0, "1st ROI area top mb row (inside area)"},
- {HEncRoi1Bottom , 0x0f0, 0x000000ff, 0, 0, "1st ROI area bottom mb row (inside area)"},
- {HEncRoi2Left , 0x0f4, 0xff000000, 24, 0, "2nd ROI area left mb column (inside area)"},
- {HEncRoi2Right , 0x0f4, 0x00ff0000, 16, 0, "2nd ROI area right mb column (inside area)"},
- {HEncRoi2Top , 0x0f4, 0x0000ff00, 8, 0, "2nd ROI area top mb row (inside area)"},
- {HEncRoi2Bottom , 0x0f4, 0x000000ff, 0, 0, "2nd ROI area bottom mb row (inside area)"},
- {HEncRoi1DeltaQp , 0x0f8, 0x000000f0, 4, 0, "1st ROI area delta QP. qp = Qp - Roi1DeltaQp [0..15]"},
- {HEncRoi2DeltaQp , 0x0f8, 0x0000000f, 0, 0, "2nd ROI area delta QP. qp = Qp - Roi2DeltaQp [0..15]"},
- {HEncMvcPriorityId , 0x0f8, 0x00070000, 16, 0, "MVC priority_id [0..7]"},
- {HEncMvcViewId , 0x0f8, 0x0000e000, 13, 0, "MVC view_id [0..7]"},
- {HEncMvcTemporalId , 0x0f8, 0x00001c00, 10, 0, "MVC temporal_id [0..7]"},
- {HEncMvcAnchorPicFlag , 0x0f8, 0x00000200, 9, 0, "MVC anchor_pic_flag. Specifies that the picture is part of an anchor access unit."},
- {HEncMvcInterViewFlag , 0x0f8, 0x00000100, 8, 0, "MVC inter_view_flag. Specifies that the picture is used for inter-view prediction."},
- {HEncHWTiledSupport , 0x0fc, 0x40000000, 30, 0, "Tiled 4x4 input mode supported by HW. 0=not supported. 1=supported"},
- {HEncHWSearchArea , 0x0fc, 0x20000000, 29, 0, "HW search area height. 0=5 MB rows. 1=3 MB rows"},
- {HEncHWRgbSupport , 0x0fc, 0x10000000, 28, 0, "RGB to YUV conversion supported by HW. 0=not supported. 1=supported"},
- {HEncHWH264Support , 0x0fc, 0x08000000, 27, 0, "H.264 encoding supported by HW. 0=not supported. 1=supported"},
- {HEncHWMpeg4Support , 0x0fc, 0x04000000, 26, 0, "MPEG-4 encoding supported by HW. 0=not supported. 1=supported"},
- {HEncHWJpegSupport , 0x0fc, 0x02000000, 25, 0, "JPEG encoding supported by HW. 0=not supported. 1=supported"},
- {HEncHWStabSupport , 0x0fc, 0x01000000, 24, 0, "Stabilization supported by HW. 0=not supported. 1=supported"},
- {HEncHWBus , 0x0fc, 0x00f00000, 20, 0, "Bus connection of HW. 1=AHB. 2=OCP. 3=AXI. 4=PCI. 5=AXIAHB. 6=AXIAPB."},
- {HEncHWSynthesisLan , 0x0fc, 0x000f0000, 16, 0, "Synthesis language. 1=vhdl. 2=verilog"},
- {HEncHWBusWidth , 0x0fc, 0x0000f000, 12, 0, "Bus width of HW. 0=32b. 1=64b. 2=128b"},
- {HEncHWMaxVideoWidth , 0x0fc, 0x00000fff, 0, 0, "Maximum video width supported by HW (pixels)"},
- {HEncJpegQuantLuma1 , 0x100, 0xffffffff, 0, 0, "JPEG luma quantization 1"},
- {HEncJpegQuantLuma2 , 0x104, 0xffffffff, 0, 0, "JPEG luma quantization 2"},
- {HEncJpegQuantLuma3 , 0x108, 0xffffffff, 0, 0, "JPEG luma quantization 3"},
- {HEncJpegQuantLuma4 , 0x10c, 0xffffffff, 0, 0, "JPEG luma quantization 4"},
- {HEncJpegQuantLuma5 , 0x110, 0xffffffff, 0, 0, "JPEG luma quantization 5"},
- {HEncJpegQuantLuma6 , 0x114, 0xffffffff, 0, 0, "JPEG luma quantization 6"},
- {HEncJpegQuantLuma7 , 0x118, 0xffffffff, 0, 0, "JPEG luma quantization 7"},
- {HEncJpegQuantLuma8 , 0x11c, 0xffffffff, 0, 0, "JPEG luma quantization 8"},
- {HEncJpegQuantLuma9 , 0x120, 0xffffffff, 0, 0, "JPEG luma quantization 9"},
- {HEncJpegQuantLuma10 , 0x124, 0xffffffff, 0, 0, "JPEG luma quantization 10"},
- {HEncJpegQuantLuma11 , 0x128, 0xffffffff, 0, 0, "JPEG luma quantization 11"},
- {HEncJpegQuantLuma12 , 0x12c, 0xffffffff, 0, 0, "JPEG luma quantization 12"},
- {HEncJpegQuantLuma13 , 0x130, 0xffffffff, 0, 0, "JPEG luma quantization 13"},
- {HEncJpegQuantLuma14 , 0x134, 0xffffffff, 0, 0, "JPEG luma quantization 14"},
- {HEncJpegQuantLuma15 , 0x138, 0xffffffff, 0, 0, "JPEG luma quantization 15"},
- {HEncJpegQuantLuma16 , 0x13c, 0xffffffff, 0, 0, "JPEG luma quantization 16"},
- {HEncJpegQuantChroma1 , 0x140, 0xffffffff, 0, 0, "JPEG chroma quantization 1"},
- {HEncJpegQuantChroma2 , 0x144, 0xffffffff, 0, 0, "JPEG chroma quantization 2"},
- {HEncJpegQuantChroma3 , 0x148, 0xffffffff, 0, 0, "JPEG chroma quantization 3"},
- {HEncJpegQuantChroma4 , 0x14c, 0xffffffff, 0, 0, "JPEG chroma quantization 4"},
- {HEncJpegQuantChroma5 , 0x150, 0xffffffff, 0, 0, "JPEG chroma quantization 5"},
- {HEncJpegQuantChroma6 , 0x154, 0xffffffff, 0, 0, "JPEG chroma quantization 6"},
- {HEncJpegQuantChroma7 , 0x158, 0xffffffff, 0, 0, "JPEG chroma quantization 7"},
- {HEncJpegQuantChroma8 , 0x15c, 0xffffffff, 0, 0, "JPEG chroma quantization 8"},
- {HEncJpegQuantChroma9 , 0x160, 0xffffffff, 0, 0, "JPEG chroma quantization 9"},
- {HEncJpegQuantChroma10, 0x164, 0xffffffff, 0, 0, "JPEG chroma quantization 10"},
- {HEncJpegQuantChroma11, 0x168, 0xffffffff, 0, 0, "JPEG chroma quantization 11"},
- {HEncJpegQuantChroma12, 0x16c, 0xffffffff, 0, 0, "JPEG chroma quantization 12"},
- {HEncJpegQuantChroma13, 0x170, 0xffffffff, 0, 0, "JPEG chroma quantization 13"},
- {HEncJpegQuantChroma14, 0x174, 0xffffffff, 0, 0, "JPEG chroma quantization 14"},
- {HEncJpegQuantChroma15, 0x178, 0xffffffff, 0, 0, "JPEG chroma quantization 15"},
- {HEncJpegQuantChroma16, 0x17C, 0xffffffff, 0, 0, "JPEG chroma quantization 16"}
- };
- #endif
|