📄 post.txt
字号:
000c88 e59f04fc LDR r0,|L1.4492|
000c8c ebfffffe BL LcdBGInit
;;;151
;;;152
;;;153 PostInit(OrgSrcWidth, OrgSrcHeight, SrcWidth, SrcHeight, SrcStartX, SrcStartY,
000c90 e28d000c ADD r0,sp,#0xc
000c94 e8800ff0 STMIA r0,{r4-r11}
000c98 e59d1038 LDR r1,[sp,#0x38]
000c9c e59d2034 LDR r2,[sp,#0x34]
000ca0 e59d3030 LDR r3,[sp,#0x30]
000ca4 e88d000e STMIA sp,{r1-r3}
000ca8 e59d0048 LDR r0,[sp,#0x48]
000cac e59d1044 LDR r1,[sp,#0x44]
000cb0 e59d2040 LDR r2,[sp,#0x40]
000cb4 e59d303c LDR r3,[sp,#0x3c]
000cb8 ebfffffe BL PostInit
;;;154 OrgDstWidth, OrgDstHeight, DstWidth, DstHeight, DstStartX, DstStartY,
;;;155 InFrameBuffer, OutFrameBuffer, mode);
;;;156
;;;157 pISR_LCD_POST=(unsigned)PostIsr;
000cbc e59f04c0 LDR r0,|L1.4484|
000cc0 e59f14c0 LDR r1,|L1.4488|
000cc4 e5810f58 STR r0,[r1,#0xf58]
;;;158 rINTMSK &= ~(BIT_LCD_POST);
000cc8 e51f05e8 LDR r0,|L1.1768|
000ccc e5900008 LDR r0,[r0,#8]
000cd0 e3c00c40 BIC r0,r0,#0x4000
000cd4 e51f15f4 LDR r1,|L1.1768|
000cd8 e5810008 STR r0,[r1,#8]
;;;159 rINTSUBMSK &= ~(BIT_SUB_POST);
000cdc e1a00001 MOV r0,r1
000ce0 e590001c LDR r0,[r0,#0x1c]
000ce4 e3c00c80 BIC r0,r0,#0x8000
000ce8 e581001c STR r0,[r1,#0x1c]
;;;160
;;;161 #if 1
;;;162 PostStartProcessing(0);
000cec e3a00000 MOV r0,#0
000cf0 ebfffffe BL PostStartProcessing
;;;163 #else
;;;164 if(mode&POST_IN_YCBYCR420)
;;;165 amount=OrgSrcWidth*OrgSrcHeight*3/2;
;;;166
;;;167 if(mode&POST_OUT_RGB16B)
;;;168 amount+=OrgDstWidth*OrgDstHeight*2;
;;;169 else if(mode&POST_OUT_RGB24B)
;;;170 amount+=OrgDstWidth*OrgDstHeight*4;
;;;171 PostStartProcessing(amount, 0);
;;;172 #endif
;;;173
;;;174 while(!postProcessingDone); //waiting for post-processing done
000cf4 e1a00000 NOP
|L1.3320|
000cf8 e51f0638 LDR r0,|L1.1736|
000cfc e5900000 LDR r0,[r0,#0] ; postProcessingDone
000d00 e3500000 CMP r0,#0
000d04 0afffffb BEQ |L1.3320|
;;;175 postProcessingDone=0;
000d08 e3a00000 MOV r0,#0
000d0c e51f164c LDR r1,|L1.1736|
000d10 e5810000 STR r0,[r1,#0] ; postProcessingDone
;;;176
;;;177 LcdEnvidOnOff(1); //LCD Envid On
000d14 e3a00001 MOV r0,#1
000d18 ebfffffe BL LcdEnvidOnOff
;;;178
;;;179 rINTSUBMSK |= BIT_SUB_POST;
000d1c e51f063c LDR r0,|L1.1768|
000d20 e590001c LDR r0,[r0,#0x1c]
000d24 e3800c80 ORR r0,r0,#0x8000
000d28 e51f1648 LDR r1,|L1.1768|
000d2c e581001c STR r0,[r1,#0x1c]
;;;180 rINTMSK |= BIT_LCD_POST;
000d30 e1a00001 MOV r0,r1
000d34 e5900008 LDR r0,[r0,#8]
000d38 e3800c40 ORR r0,r0,#0x4000
000d3c e5810008 STR r0,[r1,#8]
;;;181
;;;182 }
000d40 e28dd04c ADD sp,sp,#0x4c
000d44 e8bd8ff0 LDMFD sp!,{r4-r11,pc}
ENDP
Test_Post_QCIF_YCbCr420_PQVGA_16B PROC
;;;184 void Test_Post_QCIF_YCbCr420_PQVGA_16B(void)
;;;185 {
000d48 e92d4ff0 STMFD sp!,{r4-r11,lr}
000d4c e24dd04c SUB sp,sp,#0x4c
;;;186
;;;187 U32 OrgSrcWidth, OrgSrcHeight, SrcWidth, SrcHeight, SrcStartX, SrcStartY;
;;;188 U32 OrgDstWidth, OrgDstHeight, DstWidth, DstHeight, DstStartX, DstStartY;
;;;189 U32 InFrameBuffer, OutFrameBuffer;
;;;190 U32 mode;
;;;191
;;;192 OrgSrcWidth=SrcWidth=QCIF_XSIZE; //no source offset
000d50 e3a000b0 MOV r0,#0xb0
000d54 e58d0040 STR r0,[sp,#0x40]
000d58 e58d0048 STR r0,[sp,#0x48]
;;;193 OrgSrcHeight=SrcHeight=QCIF_YSIZE; //no source offset
000d5c e3a00090 MOV r0,#0x90
000d60 e58d003c STR r0,[sp,#0x3c]
000d64 e58d0044 STR r0,[sp,#0x44]
;;;194 SrcStartX=SrcStartY=0;
000d68 e3a00000 MOV r0,#0
000d6c e58d0034 STR r0,[sp,#0x34]
000d70 e58d0038 STR r0,[sp,#0x38]
;;;195 OrgDstWidth=DstWidth=PQVGA_XSIZE; //no destination offset
000d74 e3a000f0 MOV r0,#0xf0
000d78 e1a05000 MOV r5,r0
000d7c e58d0030 STR r0,[sp,#0x30]
;;;196 OrgDstHeight=DstHeight=PQVGA_YSIZE; //no destination offset
000d80 e3a00f50 MOV r0,#0x140
000d84 e1a06000 MOV r6,r0
000d88 e1a04000 MOV r4,r0
;;;197 DstStartX=DstStartY=0;
000d8c e3a00000 MOV r0,#0
000d90 e1a08000 MOV r8,r0
000d94 e1a07000 MOV r7,r0
;;;198 InFrameBuffer=downloadAddress;
000d98 e59f03dc LDR r0,|L1.4476|
000d9c e5909000 LDR r9,[r0,#0] ; downloadAddress
;;;199 OutFrameBuffer=LCDFRAMEBUFFERBG1;
000da0 e3a0a54c MOV r10,#0x13000000
;;;200 mode=POST_IN_YCBYCR420|POST_OUT_RGB16B;
000da4 e3a0b011 MOV r11,#0x11
;;;201
;;;202 //LCD Initialization
;;;203 LcdBGInit(MODE_PAR_16BIT565_240320|MODE_NO_VIRTUAL_16B);
000da8 e59f03e0 LDR r0,|L1.4496|
000dac ebfffffe BL LcdBGInit
;;;204
;;;205
;;;206 PostInit(OrgSrcWidth, OrgSrcHeight, SrcWidth, SrcHeight, SrcStartX, SrcStartY,
000db0 e28d000c ADD r0,sp,#0xc
000db4 e8800ff0 STMIA r0,{r4-r11}
000db8 e59d1038 LDR r1,[sp,#0x38]
000dbc e59d2034 LDR r2,[sp,#0x34]
000dc0 e59d3030 LDR r3,[sp,#0x30]
000dc4 e88d000e STMIA sp,{r1-r3}
000dc8 e59d0048 LDR r0,[sp,#0x48]
000dcc e59d1044 LDR r1,[sp,#0x44]
000dd0 e59d2040 LDR r2,[sp,#0x40]
000dd4 e59d303c LDR r3,[sp,#0x3c]
000dd8 ebfffffe BL PostInit
;;;207 OrgDstWidth, OrgDstHeight, DstWidth, DstHeight, DstStartX, DstStartY,
;;;208 InFrameBuffer, OutFrameBuffer, mode);
;;;209
;;;210 pISR_LCD_POST=(unsigned)PostIsr;
000ddc e59f03a0 LDR r0,|L1.4484|
000de0 e59f13a0 LDR r1,|L1.4488|
000de4 e5810f58 STR r0,[r1,#0xf58]
;;;211 rINTMSK &= ~(BIT_LCD_POST);
000de8 e51f0708 LDR r0,|L1.1768|
000dec e5900008 LDR r0,[r0,#8]
000df0 e3c00c40 BIC r0,r0,#0x4000
000df4 e51f1714 LDR r1,|L1.1768|
000df8 e5810008 STR r0,[r1,#8]
;;;212 rINTSUBMSK &= ~(BIT_SUB_POST);
000dfc e1a00001 MOV r0,r1
000e00 e590001c LDR r0,[r0,#0x1c]
000e04 e3c00c80 BIC r0,r0,#0x8000
000e08 e581001c STR r0,[r1,#0x1c]
;;;213
;;;214 #if 1
;;;215 PostStartProcessing(0);
000e0c e3a00000 MOV r0,#0
000e10 ebfffffe BL PostStartProcessing
;;;216 #else
;;;217 if(mode&POST_IN_YCBYCR420)
;;;218 amount=OrgSrcWidth*OrgSrcHeight*3/2;
;;;219
;;;220 if(mode&POST_OUT_RGB16B)
;;;221 amount+=OrgDstWidth*OrgDstHeight*2;
;;;222 else if(mode&POST_OUT_RGB24B)
;;;223 amount+=OrgDstWidth*OrgDstHeight*4;
;;;224 PostStartProcessing(amount, 0);
;;;225 #endif
;;;226
;;;227 while(!postProcessingDone); //waiting for post-processing done
000e14 e1a00000 NOP
|L1.3608|
000e18 e51f0758 LDR r0,|L1.1736|
000e1c e5900000 LDR r0,[r0,#0] ; postProcessingDone
000e20 e3500000 CMP r0,#0
000e24 0afffffb BEQ |L1.3608|
;;;228 postProcessingDone=0;
000e28 e3a00000 MOV r0,#0
000e2c e51f176c LDR r1,|L1.1736|
000e30 e5810000 STR r0,[r1,#0] ; postProcessingDone
;;;229
;;;230 LcdEnvidOnOff(1); //LCD Envid On
000e34 e3a00001 MOV r0,#1
000e38 ebfffffe BL LcdEnvidOnOff
;;;231
;;;232 rINTSUBMSK |= BIT_SUB_POST;
000e3c e51f075c LDR r0,|L1.1768|
000e40 e590001c LDR r0,[r0,#0x1c]
000e44 e3800c80 ORR r0,r0,#0x8000
000e48 e51f1768 LDR r1,|L1.1768|
000e4c e581001c STR r0,[r1,#0x1c]
;;;233 rINTMSK |= BIT_LCD_POST;
000e50 e1a00001 MOV r0,r1
000e54 e5900008 LDR r0,[r0,#8]
000e58 e3800c40 ORR r0,r0,#0x4000
000e5c e5810008 STR r0,[r1,#8]
;;;234
;;;235 }
000e60 e28dd04c ADD sp,sp,#0x4c
000e64 e8bd8ff0 LDMFD sp!,{r4-r11,pc}
ENDP
Test_Post_QCIF_YCbCr420_PQVGA_24B PROC
;;;237 void Test_Post_QCIF_YCbCr420_PQVGA_24B(void)
;;;238 {
000e68 e92d4ff0 STMFD sp!,{r4-r11,lr}
000e6c e24dd04c SUB sp,sp,#0x4c
;;;239
;;;240 U32 OrgSrcWidth, OrgSrcHeight, SrcWidth, SrcHeight, SrcStartX, SrcStartY;
;;;241 U32 OrgDstWidth, OrgDstHeight, DstWidth, DstHeight, DstStartX, DstStartY;
;;;242 U32 InFrameBuffer, OutFrameBuffer;
;;;243 U32 mode;
;;;244
;;;245 OrgSrcWidth=SrcWidth=QCIF_XSIZE; //no source offset
000e70 e3a000b0 MOV r0,#0xb0
000e74 e58d0040 STR r0,[sp,#0x40]
000e78 e58d0048 STR r0,[sp,#0x48]
;;;246 OrgSrcHeight=SrcHeight=QCIF_YSIZE; //no source offset
000e7c e3a00090 MOV r0,#0x90
000e80 e58d003c STR r0,[sp,#0x3c]
000e84 e58d0044 STR r0,[sp,#0x44]
;;;247 SrcStartX=SrcStartY=0;
000e88 e3a00000 MOV r0,#0
000e8c e58d0034 STR r0,[sp,#0x34]
000e90 e58d0038 STR r0,[sp,#0x38]
;;;248 OrgDstWidth=DstWidth=PQVGA_XSIZE; //no destination offset
000e94 e3a000f0 MOV r0,#0xf0
000e98 e1a05000 MOV r5,r0
000e9c e58d0030 STR r0,[sp,#0x30]
;;;249 OrgDstHeight=DstHeight=PQVGA_YSIZE; //no destination offset
000ea0 e3a00f50 MOV r0,#0x140
000ea4 e1a06000 MOV r6,r0
000ea8 e1a04000 MOV r4,r0
;;;250 DstStartX=DstStartY=0;
000eac e3a00000 MOV r0,#0
000eb0 e1a08000 MOV r8,r0
000eb4 e1a07000 MOV r7,r0
;;;251 InFrameBuffer=downloadAddress;
000eb8 e59f02bc LDR r0,|L1.4476|
000ebc e5909000 LDR r9,[r0,#0] ; downloadAddress
;;;252 OutFrameBuffer=LCDFRAMEBUFFERBG1;
000ec0 e3a0a54c MOV r10,#0x13000000
;;;253 mode=POST_IN_YCBYCR420|POST_OUT_RGB24B;
000ec4 e3a0b012 MOV r11,#0x12
;;;254
;;;255 //LCD Initialization
;;;256 LcdBGInit(MODE_PAR_18BIT_240320|MODE_NO_VIRTUAL_24B);
000ec8 e59f02c4 LDR r0,|L1.4500|
000ecc ebfffffe BL LcdBGInit
;;;257
;;;258
;;;259 PostInit(OrgSrcWidth, OrgSrcHeight, SrcWidth, SrcHeight, SrcStartX, SrcStartY,
000ed0 e28d000c ADD r0,sp,#0xc
000ed4 e8800ff0 STMIA r0,{r4-r11}
000ed8 e59d1038 LDR r1,[sp,#0x38]
000edc e59d2034 LDR r2,[sp,#0x34]
000ee0 e59d3030 LDR r3,[sp,#0x30]
000ee4 e88d000e STMIA sp,{r1-r3}
000ee8 e59d0048 LDR r0,[sp,#0x48]
000eec e59d1044 LDR r1,[sp,#0x44]
000ef0 e59d2040 LDR r2,[sp,#0x40]
000ef4 e59d303c LDR r3,[sp,#0x3c]
000ef8 ebfffffe BL PostInit
;;;260 OrgDstWidth, OrgDstHeight, DstWidth, DstHeight, DstStartX, DstStartY,
;;;261 InFrameBuffer, OutFrameBuffer, mode);
;;;262
;;;263 pISR_LCD_POST=(unsigned)PostIsr;
000efc e59f0280 LDR r0,|L1.4484|
000f00 e59f1280 LDR r1,|L1.4488|
000f04 e5810f58 STR r0,[r1,#0xf58]
;;;264 rINTMSK &= ~(BIT_LCD_POST);
000f08 e51f0828 LDR r0,|L1.1768|
000f0c e5900008 LDR r0,[r0,#8]
000f10 e
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -