⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmdlmbs2_0119.rgd

📁 PNX1500上做视频缩放MBS的源代码
💻 RGD
📖 第 1 页 / 共 2 页
字号:
            val MBS_MSA3_CTRL_DEFAULT       0x36    // t1 = 6, t2 = 3
    //
            val MBS_REGOFFSET_COLOR_KEY     0x280
    bits  colorKeyCtrl                      00280
        07:00   mask1
        15:08   mask2
        23:16   mask3
        27:26   replaceColor
            val MBS_CKR_NON                    0
            val MBS_CKR_BLACK                  1
            val MBS_CKR_GRAY                   2
            val MBS_CKR_LAST                   3
        29:28   convertA2C
            val MBS_A2C_ON                     3
            val MBS_A2C_OFF                    0
        31:30   convertC2A
            val MBS_C2A_ON                     3
            val MBS_C2A_FIXED                  1
            val MBS_C2A_OFF                    0
            val MBS_COLORKEY_CTRL_DEFAULT       0x00ffffff
    //
    bits  colorKeyComp                      00284
        07:00   comp1
        15:08   comp2
        23:16   comp3
        31:24   alpha
            val MBS_COLORKEY_COMP_DEFAULT       0xff000000
    //
            val MBS_REGOFFSET_OUTPUT_FORMAT 0x300
    bits    outputFormat                    00300
        07:00   format
        09:08   alphaMode
            val MBS_ALPHA_NO_WRITE              0
            val MBS_ALPHA_WRITE                 1
        11:10   ditherMode
            val MBS_DM_NONE                     0
            val MBS_DM_NO_RESET                 1
            val MBS_DM_RESET_ON_STARTUP         2
            val MBS_DM_RESET_ON_FIELD           3
          :13   oppositeEndianess
        31:30   baseAddrMode
            val MBS_OUTPUT_FORMAT_DEFAULT       0x000000a0
    //
    bits    destWindowSize                  00304
        10:00   lineCount                          // (height) 0: no cropping
        26:16   lineSize                           // (width)  0: no cropping
            val MBS_OUPUT_NO_CROPPING           0
    //
            val MBS_REGOFFSET_DST_ADDR      0x340
    UInt32  destDmaAddr1                    00340
    S15     destLinePitch1                  00344
    UInt32  destDmaAddr2                    00348
    S15     destLinePitch2                  0034c
    UInt32  destDmaAddr3                    00350
    UInt32  destDmaAddr4                    00354
    UInt32  destDmaAddr5                    00358
    UInt32  destDmaAddr6                    0035c
    //
}c;                             // end of control register subset
                                // tables (CLUT and scale coeff) register subset
struct _mbsTables {                         00400
            val MBS_REGOFFSET_LUT_TABLE     0x400
    bits  colorLookupTable[0x80]            00400
        07:00   blue
        15:08   green
        23:16   red
        31:24   alpha
    //
    //  filter coefficients (inverted (multiplied with (-1))
    //
            val MBS_REGOFFSET_HORZ_COEFF    0x800
    bits    horzFilterCoefs[0x80]           00800
        09:00   tap0
        19:10   tap1
        29:20   tap2
            val MBS_REGOFFSET_LUMA_COEFF    0xA00
    bits    vertLumaFilterCoefs[0x80]       00a00
        09:00   tap0
        19:10   tap1
        29:20   tap2
            val MBS_REGOFFSET_CHROMA_COEFF  0xC00
    bits    vertChromaFilterCoefs[0x80]     00c00
        09:00   tap0
        19:10   tap1
        29:20   tap2
    //
}t;                     // end of tables register subset
    //
struct _mbsMeas{
            val VIDMEAS_REGOFFSET_MEAS_CTRL     0xe00
    bits    formatCtrl                          00e00
        02:01   outYformat
        04:03   outUVformat
            val VIDMEAS_LSB_FIXED_AT_0  0
            val VIDMEAS_LSB_EQ_LSB1     1
            val VIDMEAS_UNDITHERED8     2
            val VIDMEAS_TRUE_9BIT       3
          :05   inYformat
          :06   inUVformat
            val VIDMEAS_UNSIGNED_INPUT  0
            val VIDMEAS_SIGNED_INPUT    1
        08:07   lineValid
            val VIDMEAS_MEAS_EVEN       1
            val VIDMEAS_MEAS_ODD        2
            val VIDMEAS_MEAS_ALL        3
            val VIDMEAS_MEAS_CTRL_DEFAULT       0x18
    //
            val MBS_REGOFFSET_MEAS_INTCTRL      0xe0C
    bits    measIntCtrl                         00e0c
          :00   filmEn
          :01   uvbwEn
          :02   noiseEn
          :03   histoEn
          :04   blklvlEn
          :05   blkbarEn
            val VIDMEAS_REGOFFSET_HIST_CTRL     0xe10
    bits    histoCtrl                           00e10
          :00   filter1En
          :01   filter2En
          :02   noiseReduceEn
        07:04   gain
        16:08   threshold
          :25   gradSlopeEn
          :26   subsample
            val VIDMEAS_HIST_SUBSAMPLE4X    0
            val VIDMEAS_HIST_SUBSAMPLE8X    1
            val VIDMEAS_HISTCTRL_DEFAULT    0x00F7
    //
            val VIDMEAS_REGOFFSET_HIST_WIND     0xe18
    bits    histWindStart                       00e18
        10:00   startY
        26:16   startX
    bits    histWindEnd                         00e1c
        10:00   endY
        26:16   endX
            val VIDMEAS_WIND_START_DEFAULT  0
            val VIDMEAS_WIND_END_DEFAULT    0x00100010
    bits    noiseCtrl1                          00e20
        07:00   wantedValue
        09:08   prefilterScale
        12:10   upBoundaryGain
      s 16:13   compensate
          :17   extSOBneglect
          :18   selExtSOBneglect
        20:19   clipOffset
          :21   stalled
            val VIDMEAS_NOISECTRL1_DEFAULT  0x00200046
    bits    noiseCtrl2                          00e24
        07:00   upperPixDifLimit
        23:16   lowerPixDifLimit
            val VIDMEAS_NOISECTRL2_DEFAULT  0x3200BE
    bits    noiseWindStart                      00e28
        10:00   startY
        26:16   startX
    bits    noiseWindEnd                        00e2c
        10:00   endY
        26:16   endX
    bits    blkBarCtrl                          00e30
        07:00   lumaLevel1
        15:08   pixelCount1
        23:16   lumaLevel2
        31:24   pixelCount2
            val VIDMEAS_BLACKBAR_CTRL_DEFAULT   0x10201555
    //
            val VIDMEAS_BLACKBARWIND_START      0xE38
    bits    blkBarWindStart                     00e38
        10:00   startY
        26:16   startX
    bits    blkBarWindEnd                       00e3c
        10:00   endY
        26:16   endX
    bits    blkLevelCtrl                        00e40
          :00   filter1En
            val VIDMEAS_BLACKLEVEL_CTRL_DEFAULT 0x01
    //
            val VIDMEAS_BLACKLEVELWIND_START    0xE48
    bits    blkLevelWindStart                   00e48
        10:00   startY
        26:16   startX
    bits    blkLevelWindEnd                     00e4c
        10:00   endY
        26:16   endX
    bits    uvBwCtrl                            00e50
        08:00   maxDelta
            val VIDMEAS_UVBW_CONTROL_DEFAULT    0x01FF
    //
            val VIDMEAS_UVBWWIND_START          0xe58
    bits    uvBwWindStart                       00e58
        10:00   startY
        26:16   startX
    bits    uvBwWindEnd                         00e5c
        10:00   endY
        26:16   endX
            val VIDMEAS_REGOFFSET_HISTO_DATA    0xe8c
    bits    histData1                           00e8c
        07:00   maxLevel
        18:10   minLuma
        28:20   maxLuma
    bits    histData2                           00e90
        07:00   bin0
        15:08   bin1
        23:16   bin2
        31:24   bin3
    bits    histData3                           00e94
        07:00   bin4
        15:08   bin5
        23:16   bin6
        31:24   bin7
    bits    histData4                           00e98
        07:00   bin8 
        15:08   bin9 
        23:16   bin10
        31:24   bin11
    bits    histData5                           00e9c
        07:00   bin12
        15:08   bin13
        23:16   bin14
        31:24   bin15
    bits    histData6                           00ea0
        07:00   bin16
        15:08   bin17
        23:16   bin18
        31:24   bin19
    bits    histData7                           00ea4
        07:00   bin20
        15:08   bin21
        23:16   bin22
        31:24   bin23
    bits    histData8                           00ea8
        07:00   bin24
        15:08   bin25
        23:16   bin26
        31:24   bin27
    bits    histData9                           00eac
        07:00   bin28
        15:08   bin29
        23:16   bin30
        31:24   bin31
    bits    noiseData1                          00eb0
        07:00   detailCntMsbs
        15:08   detailCntLsbs
        23:16   nestFiltered
        27:24   nest
    bits    noiseData2                          00eb4
        07:00   greyCount
    bits    blkBarData1                         00eb8   //  first detector
        10:00   firstVideoLine
        26:16   lastVideoLine
    bits    blkBarData2                         00ebc   //  second detector
        10:00   firstVideoLine
        26:16   lastVideoLine
    bits    blkLevelData                        00ec0
        08:00   minLuma
    bits    uvBwData1                           00ec4
        08:00   uvBw
      s 18:10   vMin
      s 28:20   vMax
    bits    uvBwData2                           00ec8
      s 18:10   uMin
      s 28:20   uMax
}meas;
    //
struct _mbsEvent{         // interrupt register subset
    bits    intStatus                       00fe0
          :00   taskDone
          :01   taskEmpty
          :02   taskIdle
          :03   taskOverflow
          :04   taskProcDone
          :05   taskProcError
          :06   taskMeasDone
          :07   pixelFetch
        09:08   interpFIR
        11:10   horzScalePipe
        13:12   decimFIR
        15:14   vertScalePipe
        26:16   pixStoreCurrentLine
        31:30   pixelStore
            val MBS_INT_NONE            0
            val MBS_INT_TASK_DONE       1
            val MBS_INT_FIFO_EMPTY      2
            val MBS_INT_TASKS_DONE      4
            val MBS_INT_OVERFLOW        8
            val MBS_INT_TASK_PROCESSED  16
            val MBS_INT_PROC_ERROR      32
            val MBS_INT_MEAS_DONE       64

            val MBS_INT_FETCH_BUSY      0x00000080
            val MBS_INT_HORZ_PIPE_BUSY  0x00000800
            val MBS_INT_VERT_PIPE_BUSY  0x00008000
            val MBS_INT_CUR_LINE_STORE  0x07FF0000
            val MBS_INT_STORE_BUSY      0xC0000000
            val MBS_INT_BUSY_BITS       0xC7FF8800

            val MBS_REGOFFSET_INT_ENABLE    0x0FE4
    bits    intEnable                       00fe4
          :00   taskDone
          :01   taskEmpty
          :02   taskIdle
          :03   taskOverflow
          :04   taskProcDone
          :05   taskProcError
          :06   taskMeasDone
            val MBS_REGOFFSET_INT_CLEAR     0x0FE8
    bits    intClear                        00fe8
          :00   taskDone
          :01   taskEmpty
          :02   taskIdle
          :03   taskOverflow
          :04   taskProcDone
          :05   taskProcError
          :06   taskMeasDone
    bits    intSet                          00fec
          :00   taskDone
          :01   taskEmpty
          :02   taskIdle
          :03   taskOverflow
          :04   taskProcDone
          :05   taskProcError
          :06   taskMeasDone
    //
}event;
    bits powerdown                     00ff4 // power down         30:00   reserved          :31   power_down            val MBS_POWER_DOWN            0x1            val MBS_POWER_UP              0x0    tmBlockId_t blockId                     00ffc // aperture, rev, module Id



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -