📄 tmdlmbs2_0119.rgd
字号:
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 + -