📄 post.txt
字号:
000994 e59d2010 LDR r2,[sp,#0x10]
000998 e0200192 MLA r0,r2,r1,r0
00099c e2431001 SUB r1,r3,#1
0009a0 e59d2004 LDR r2,[sp,#4]
0009a4 e0200291 MLA r0,r1,r2,r0
0009a8 e59f17c8 LDR r1,|L1.4472|
0009ac e5810004 STR r0,[r1,#4] ; ADDREndRGB
;;;1269
;;;1270 ADDRStartRGB[2]=ADDREndRGB[1]+(OrgDstWidth*DstStartY+DstStartX)*outmultiplier;
0009b0 e59f07c0 LDR r0,|L1.4472|
0009b4 e5900004 LDR r0,[r0,#4] ; ADDREndRGB
0009b8 e59d1078 LDR r1,[sp,#0x78]
0009bc e59d307c LDR r3,[sp,#0x7c]
0009c0 e59d2068 LDR r2,[sp,#0x68]
0009c4 e0211293 MLA r1,r3,r2,r1
0009c8 e59d2010 LDR r2,[sp,#0x10]
0009cc e0200192 MLA r0,r2,r1,r0
0009d0 e59f179c LDR r1,|L1.4468|
0009d4 e5810008 STR r0,[r1,#8] ; ADDRStartRGB
;;;1271 ADDREndRGB[2]=ADDRStartRGB[2]+(DstWidth*DstHeight)*outmultiplier+OffsetRGB*(DstHeight-1);
0009d8 e59f0794 LDR r0,|L1.4468|
0009dc e5900008 LDR r0,[r0,#8] ; ADDRStartRGB
0009e0 e59d1070 LDR r1,[sp,#0x70]
0009e4 e59d3074 LDR r3,[sp,#0x74]
0009e8 e0010193 MUL r1,r3,r1
0009ec e59d2010 LDR r2,[sp,#0x10]
0009f0 e0200192 MLA r0,r2,r1,r0
0009f4 e2431001 SUB r1,r3,#1
0009f8 e59d2004 LDR r2,[sp,#4]
0009fc e0200291 MLA r0,r1,r2,r0
000a00 e59f1770 LDR r1,|L1.4472|
000a04 e5810008 STR r0,[r1,#8] ; ADDREndRGB
;;;1272
;;;1273 ADDRStartRGB[3]=ADDREndRGB[2]+(OrgDstWidth*DstStartY+DstStartX)*outmultiplier;
000a08 e59f0768 LDR r0,|L1.4472|
000a0c e5900008 LDR r0,[r0,#8] ; ADDREndRGB
000a10 e59d1078 LDR r1,[sp,#0x78]
000a14 e59d307c LDR r3,[sp,#0x7c]
000a18 e59d2068 LDR r2,[sp,#0x68]
000a1c e0211293 MLA r1,r3,r2,r1
000a20 e59d2010 LDR r2,[sp,#0x10]
000a24 e0200192 MLA r0,r2,r1,r0
000a28 e59f1744 LDR r1,|L1.4468|
000a2c e581000c STR r0,[r1,#0xc] ; ADDRStartRGB
;;;1274 ADDREndRGB[3]=ADDRStartRGB[3]+(DstWidth*DstHeight)*outmultiplier+OffsetRGB*(DstHeight-1);
000a30 e59f073c LDR r0,|L1.4468|
000a34 e590000c LDR r0,[r0,#0xc] ; ADDRStartRGB
000a38 e59d1070 LDR r1,[sp,#0x70]
000a3c e59d3074 LDR r3,[sp,#0x74]
000a40 e0010193 MUL r1,r3,r1
000a44 e59d2010 LDR r2,[sp,#0x10]
000a48 e0200192 MLA r0,r2,r1,r0
000a4c e2431001 SUB r1,r3,#1
000a50 e59d2004 LDR r2,[sp,#4]
000a54 e0200291 MLA r0,r1,r2,r0
000a58 e59f1718 LDR r1,|L1.4472|
000a5c e581000c STR r0,[r1,#0xc] ; ADDREndRGB
;;;1275
;;;1276
;;;1277 rADDRStart_Y=ADDRStartY[0];
000a60 e51f039c LDR r0,|L1.1740|
000a64 e5900000 LDR r0,[r0,#0] ; ADDRStartY
000a68 e51f13a0 LDR r1,|L1.1744|
000a6c e5810020 STR r0,[r1,#0x20]
;;;1278 rADDREnd_Y=ADDREndY[0];
000a70 e51f03a4 LDR r0,|L1.1748|
000a74 e5900000 LDR r0,[r0,#0] ; ADDREndY
000a78 e5810030 STR r0,[r1,#0x30]
;;;1279 rOffset_Y=OffsetY;
000a7c e1a00001 MOV r0,r1
000a80 e59d200c LDR r2,[sp,#0xc]
000a84 e5802040 STR r2,[r0,#0x40]
;;;1280
;;;1281 if(src420) { //if .srcFormat420==1, .srcFormatInterleave should be 0.
000a88 e59d0038 LDR r0,[sp,#0x38]
000a8c e3500000 CMP r0,#0
000a90 0a000010 BEQ |L1.2776|
;;;1282 rADDRStart_Cb=ADDRStartCb[0];
000a94 e51f03c4 LDR r0,|L1.1752|
000a98 e5900000 LDR r0,[r0,#0] ; ADDRStartCb
000a9c e5810024 STR r0,[r1,#0x24]
;;;1283 rADDREnd_Cb=ADDREndCb[0];
000aa0 e51f03cc LDR r0,|L1.1756|
000aa4 e5900000 LDR r0,[r0,#0] ; ADDREndCb
000aa8 e5810034 STR r0,[r1,#0x34]
;;;1284 rADDRStart_Cr=ADDRStartCr[0];
000aac e51f03d4 LDR r0,|L1.1760|
000ab0 e5900000 LDR r0,[r0,#0] ; ADDRStartCr
000ab4 e5810028 STR r0,[r1,#0x28]
;;;1285 rADDREnd_Cr=ADDREndCr[0];
000ab8 e51f03dc LDR r0,|L1.1764|
000abc e5900000 LDR r0,[r0,#0] ; ADDREndCr
000ac0 e5810038 STR r0,[r1,#0x38]
;;;1286 rOffset_Cb=OffsetC;
000ac4 e1a00001 MOV r0,r1
000ac8 e59d2008 LDR r2,[sp,#8]
000acc e5802044 STR r2,[r0,#0x44]
;;;1287 rOffset_Cr=OffsetC;
000ad0 e59d2008 LDR r2,[sp,#8]
000ad4 e5802048 STR r2,[r0,#0x48]
;;;1288 }
;;;1289
;;;1290 rADDRStart_RGB=ADDRStartRGB[0];
|L1.2776|
000ad8 e59f0694 LDR r0,|L1.4468|
000adc e5900000 LDR r0,[r0,#0] ; ADDRStartRGB
000ae0 e51f1418 LDR r1,|L1.1744|
000ae4 e581002c STR r0,[r1,#0x2c]
;;;1291 rADDREnd_RGB=ADDREndRGB[0];
000ae8 e59f0688 LDR r0,|L1.4472|
000aec e5900000 LDR r0,[r0,#0] ; ADDREndRGB
000af0 e581003c STR r0,[r1,#0x3c]
;;;1292 rOffset_RGB=OffsetRGB;
000af4 e1a00001 MOV r0,r1
000af8 e59d2004 LDR r2,[sp,#4]
000afc e580204c STR r2,[r0,#0x4c]
;;;1293
;;;1294 }
000b00 e28dd03c ADD sp,sp,#0x3c
000b04 e8bd8ff0 LDMFD sp!,{r4-r11,pc}
ENDP
Test_Post_QCIF_YCbCr420_176220_16B PROC
;;;87 void Test_Post_QCIF_YCbCr420_176220_16B(void)
;;;88 {
000b08 e92d4ff0 STMFD sp!,{r4-r11,lr}
000b0c e24dd04c SUB sp,sp,#0x4c
;;;89
;;;90 U32 OrgSrcWidth, OrgSrcHeight, SrcWidth, SrcHeight, SrcStartX, SrcStartY;
;;;91 U32 OrgDstWidth, OrgDstHeight, DstWidth, DstHeight, DstStartX, DstStartY;
;;;92 U32 InFrameBuffer, OutFrameBuffer;
;;;93 U32 mode;
;;;94
;;;95 OrgSrcWidth=SrcWidth=QCIF_XSIZE; //no source offset
000b10 e3a000b0 MOV r0,#0xb0
000b14 e58d0040 STR r0,[sp,#0x40]
000b18 e58d0048 STR r0,[sp,#0x48]
;;;96 OrgSrcHeight=SrcHeight=QCIF_YSIZE; //no source offset
000b1c e3a00090 MOV r0,#0x90
000b20 e58d003c STR r0,[sp,#0x3c]
000b24 e58d0044 STR r0,[sp,#0x44]
;;;97 SrcStartX=SrcStartY=0;
000b28 e3a00000 MOV r0,#0
000b2c e58d0034 STR r0,[sp,#0x34]
000b30 e58d0038 STR r0,[sp,#0x38]
;;;98 OrgDstWidth=DstWidth=176; //no destination offset
000b34 e3a000b0 MOV r0,#0xb0
000b38 e1a05000 MOV r5,r0
000b3c e58d0030 STR r0,[sp,#0x30]
;;;99 OrgDstHeight=DstHeight=220; //no destination offset
000b40 e3a000dc MOV r0,#0xdc
000b44 e1a06000 MOV r6,r0
000b48 e1a04000 MOV r4,r0
;;;100 DstStartX=DstStartY=0;
000b4c e3a00000 MOV r0,#0
000b50 e1a08000 MOV r8,r0
000b54 e1a07000 MOV r7,r0
;;;101 InFrameBuffer=downloadAddress;
000b58 e59f061c LDR r0,|L1.4476|
000b5c e5909000 LDR r9,[r0,#0] ; downloadAddress
;;;102 OutFrameBuffer=LCDFRAMEBUFFERBG1;
000b60 e3a0a54c MOV r10,#0x13000000
;;;103 mode=POST_IN_YCBYCR420|POST_OUT_RGB16B;
000b64 e3a0b011 MOV r11,#0x11
;;;104
;;;105 //LCD Initialization
;;;106 LcdBGInit(MODE_SER_16BIT565_176220|MODE_NO_VIRTUAL_16B);
000b68 e59f0610 LDR r0,|L1.4480|
000b6c ebfffffe BL LcdBGInit
;;;107
;;;108
;;;109 PostInit(OrgSrcWidth, OrgSrcHeight, SrcWidth, SrcHeight, SrcStartX, SrcStartY,
000b70 e28d000c ADD r0,sp,#0xc
000b74 e8800ff0 STMIA r0,{r4-r11}
000b78 e59d1038 LDR r1,[sp,#0x38]
000b7c e59d2034 LDR r2,[sp,#0x34]
000b80 e59d3030 LDR r3,[sp,#0x30]
000b84 e88d000e STMIA sp,{r1-r3}
000b88 e59d0048 LDR r0,[sp,#0x48]
000b8c e59d1044 LDR r1,[sp,#0x44]
000b90 e59d2040 LDR r2,[sp,#0x40]
000b94 e59d303c LDR r3,[sp,#0x3c]
000b98 ebfffffe BL PostInit
;;;110 OrgDstWidth, OrgDstHeight, DstWidth, DstHeight, DstStartX, DstStartY,
;;;111 InFrameBuffer, OutFrameBuffer, mode);
;;;112
;;;113 pISR_LCD_POST=(unsigned)PostIsr;
000b9c e59f05e0 LDR r0,|L1.4484|
000ba0 e59f15e0 LDR r1,|L1.4488|
000ba4 e5810f58 STR r0,[r1,#0xf58]
;;;114 rINTMSK &= ~(BIT_LCD_POST);
000ba8 e51f04c8 LDR r0,|L1.1768|
000bac e5900008 LDR r0,[r0,#8]
000bb0 e3c00c40 BIC r0,r0,#0x4000
000bb4 e51f14d4 LDR r1,|L1.1768|
000bb8 e5810008 STR r0,[r1,#8]
;;;115 rINTSUBMSK &= ~(BIT_SUB_POST);
000bbc e1a00001 MOV r0,r1
000bc0 e590001c LDR r0,[r0,#0x1c]
000bc4 e3c00c80 BIC r0,r0,#0x8000
000bc8 e581001c STR r0,[r1,#0x1c]
;;;116
;;;117
;;;118 PostStartProcessing(0);
000bcc e3a00000 MOV r0,#0
000bd0 ebfffffe BL PostStartProcessing
;;;119
;;;120
;;;121 while(!postProcessingDone); //waiting for post-processing done
000bd4 e1a00000 NOP
|L1.3032|
000bd8 e51f0518 LDR r0,|L1.1736|
000bdc e5900000 LDR r0,[r0,#0] ; postProcessingDone
000be0 e3500000 CMP r0,#0
000be4 0afffffb BEQ |L1.3032|
;;;122 postProcessingDone=0;
000be8 e3a00000 MOV r0,#0
000bec e51f152c LDR r1,|L1.1736|
000bf0 e5810000 STR r0,[r1,#0] ; postProcessingDone
;;;123
;;;124 LcdEnvidOnOff(1); //LCD Envid On
000bf4 e3a00001 MOV r0,#1
000bf8 ebfffffe BL LcdEnvidOnOff
;;;125
;;;126 rINTSUBMSK |= BIT_SUB_POST;
000bfc e51f051c LDR r0,|L1.1768|
000c00 e590001c LDR r0,[r0,#0x1c]
000c04 e3800c80 ORR r0,r0,#0x8000
000c08 e51f1528 LDR r1,|L1.1768|
000c0c e581001c STR r0,[r1,#0x1c]
;;;127 rINTMSK |= BIT_LCD_POST;
000c10 e1a00001 MOV r0,r1
000c14 e5900008 LDR r0,[r0,#8]
000c18 e3800c40 ORR r0,r0,#0x4000
000c1c e5810008 STR r0,[r1,#8]
;;;128
;;;129 }
000c20 e28dd04c ADD sp,sp,#0x4c
000c24 e8bd8ff0 LDMFD sp!,{r4-r11,pc}
ENDP
Test_Post_QCIF_YCbCr420_176220_24B PROC
;;;131 void Test_Post_QCIF_YCbCr420_176220_24B(void)
;;;132 {
000c28 e92d4ff0 STMFD sp!,{r4-r11,lr}
000c2c e24dd04c SUB sp,sp,#0x4c
;;;133
;;;134 U32 OrgSrcWidth, OrgSrcHeight, SrcWidth, SrcHeight, SrcStartX, SrcStartY;
;;;135 U32 OrgDstWidth, OrgDstHeight, DstWidth, DstHeight, DstStartX, DstStartY;
;;;136 U32 InFrameBuffer, OutFrameBuffer;
;;;137 U32 mode;
;;;138
;;;139 OrgSrcWidth=SrcWidth=QCIF_XSIZE; //no source offset
000c30 e3a000b0 MOV r0,#0xb0
000c34 e58d0040 STR r0,[sp,#0x40]
000c38 e58d0048 STR r0,[sp,#0x48]
;;;140 OrgSrcHeight=SrcHeight=QCIF_YSIZE; //no source offset
000c3c e3a00090 MOV r0,#0x90
000c40 e58d003c STR r0,[sp,#0x3c]
000c44 e58d0044 STR r0,[sp,#0x44]
;;;141 SrcStartX=SrcStartY=0;
000c48 e3a00000 MOV r0,#0
000c4c e58d0034 STR r0,[sp,#0x34]
000c50 e58d0038 STR r0,[sp,#0x38]
;;;142 OrgDstWidth=DstWidth=176; //no destination offset
000c54 e3a000b0 MOV r0,#0xb0
000c58 e1a05000 MOV r5,r0
000c5c e58d0030 STR r0,[sp,#0x30]
;;;143 OrgDstHeight=DstHeight=220; //no destination offset
000c60 e3a000dc MOV r0,#0xdc
000c64 e1a06000 MOV r6,r0
000c68 e1a04000 MOV r4,r0
;;;144 DstStartX=DstStartY=0;
000c6c e3a00000 MOV r0,#0
000c70 e1a08000 MOV r8,r0
000c74 e1a07000 MOV r7,r0
;;;145 InFrameBuffer=downloadAddress;
000c78 e59f04fc LDR r0,|L1.4476|
000c7c e5909000 LDR r9,[r0,#0] ; downloadAddress
;;;146 OutFrameBuffer=LCDFRAMEBUFFERBG1;
000c80 e3a0a54c MOV r10,#0x13000000
;;;147 mode=POST_IN_YCBYCR420|POST_OUT_RGB24B;
000c84 e3a0b012 MOV r11,#0x12
;;;148
;;;149 //LCD Initialization
;;;150 LcdBGInit(MODE_SER_18BIT_176220|MODE_NO_VIRTUAL_24B);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -