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

📄 post.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 5 页
字号:
                  |L1.656|
000290  e3a00000          MOV      r0,#0
000294  e58d0038          STR      r0,[sp,#0x38]
;;;1167   			inrgb=0;
000298  e3a01000          MOV      r1,#0
00029c  e58d1034          STR      r1,[sp,#0x34]
;;;1168   			interleave=1;
0002a0  e3a01001          MOV      r1,#1
0002a4  e58d1030          STR      r1,[sp,#0x30]
;;;1169   			inrgbformat=1;
0002a8  e3a01001          MOV      r1,#1
0002ac  e58d102c          STR      r1,[sp,#0x2c]
;;;1170   			inycformat=0;
0002b0  e3a01000          MOV      r1,#0
0002b4  e58d1028          STR      r1,[sp,#0x28]
;;;1171   			inmultiplier=2;
0002b8  e3a08002          MOV      r8,#2
;;;1172   			break;
0002bc  ea000026          B        |L1.860|
;;;1173   		case POST_IN_CBYCRY422:
;;;1174   			src420=0;
                  |L1.704|
0002c0  e3a00000          MOV      r0,#0
0002c4  e58d0038          STR      r0,[sp,#0x38]
;;;1175   			inrgb=0;
0002c8  e3a01000          MOV      r1,#0
0002cc  e58d1034          STR      r1,[sp,#0x34]
;;;1176   			interleave=1;
0002d0  e3a01001          MOV      r1,#1
0002d4  e58d1030          STR      r1,[sp,#0x30]
;;;1177   			inrgbformat=1;
0002d8  e3a01001          MOV      r1,#1
0002dc  e58d102c          STR      r1,[sp,#0x2c]
;;;1178   			inycformat=1;
0002e0  e3a01001          MOV      r1,#1
0002e4  e58d1028          STR      r1,[sp,#0x28]
;;;1179   			inmultiplier=2;			
0002e8  e3a08002          MOV      r8,#2
;;;1180   			break;	
0002ec  ea00001a          B        |L1.860|
;;;1181   		case POST_IN_RGB16B:
;;;1182   			src420=0;
                  |L1.752|
0002f0  e3a00000          MOV      r0,#0
0002f4  e58d0038          STR      r0,[sp,#0x38]
;;;1183   			inrgb=1;
0002f8  e3a01001          MOV      r1,#1
0002fc  e58d1034          STR      r1,[sp,#0x34]
;;;1184   			interleave=1;
000300  e3a01001          MOV      r1,#1
000304  e58d1030          STR      r1,[sp,#0x30]
;;;1185   			inrgbformat=0;
000308  e3a01000          MOV      r1,#0
00030c  e58d102c          STR      r1,[sp,#0x2c]
;;;1186   			inycformat=0;
000310  e3a01000          MOV      r1,#0
000314  e58d1028          STR      r1,[sp,#0x28]
;;;1187   			inmultiplier=2;			
000318  e3a08002          MOV      r8,#2
;;;1188   			break;
00031c  ea00000e          B        |L1.860|
;;;1189   		case POST_IN_RGB24B:
;;;1190   			src420=0;
                  |L1.800|
000320  e3a00000          MOV      r0,#0
000324  e58d0038          STR      r0,[sp,#0x38]
;;;1191   			inrgb=1;
000328  e3a01001          MOV      r1,#1
00032c  e58d1034          STR      r1,[sp,#0x34]
;;;1192   			interleave=1;
000330  e3a01001          MOV      r1,#1
000334  e58d1030          STR      r1,[sp,#0x30]
;;;1193   			inrgbformat=1;
000338  e3a01001          MOV      r1,#1
00033c  e58d102c          STR      r1,[sp,#0x2c]
;;;1194   			inycformat=0;
000340  e3a01000          MOV      r1,#0
000344  e58d1028          STR      r1,[sp,#0x28]
;;;1195   			inmultiplier=4;			
000348  e3a08004          MOV      r8,#4
;;;1196   			break;
00034c  ea000002          B        |L1.860|
;;;1197   		default:
;;;1198   			Uart_Printf("ERROR:incorrect POST input format.\n");
                  |L1.848|
000350  e28f0fe5          ADR      r0,|L1.1772|
000354  ebfffffe          BL       _printf
;;;1199   	    		break;
000358  e1a00000          NOP      
;;;1200   		}
;;;1201   	
;;;1202   	if((mode&POST_OUT_MASK)==POST_OUT_RGB16B) {
                  |L1.860|
00035c  e59d0088          LDR      r0,[sp,#0x88]
000360  e200000f          AND      r0,r0,#0xf
000364  e3500001          CMP      r0,#1
000368  1a000004          BNE      |L1.896|
;;;1203   		outrgb=0;
00036c  e3a01000          MOV      r1,#0
000370  e58d1024          STR      r1,[sp,#0x24]
;;;1204   		outmultiplier=2;
000374  e3a01002          MOV      r1,#2
000378  e58d1010          STR      r1,[sp,#0x10]
00037c  ea00000a          B        |L1.940|
;;;1205   		}
;;;1206   	else if((mode&POST_OUT_MASK)==POST_OUT_RGB24B) {
                  |L1.896|
000380  e59d0088          LDR      r0,[sp,#0x88]
000384  e200000f          AND      r0,r0,#0xf
000388  e3500002          CMP      r0,#2
00038c  1a000004          BNE      |L1.932|
;;;1207   		outrgb=1;
000390  e3a01001          MOV      r1,#1
000394  e58d1024          STR      r1,[sp,#0x24]
;;;1208   		outmultiplier=4;
000398  e3a01004          MOV      r1,#4
00039c  e58d1010          STR      r1,[sp,#0x10]
0003a0  ea000001          B        |L1.940|
;;;1209   		}
;;;1210   	else 
;;;1211   		Uart_Printf("ERROR:incorrect POST output format.\n");
                  |L1.932|
0003a4  e28f0fd9          ADR      r0,|L1.1808|
0003a8  ebfffffe          BL       _printf
;;;1212   
;;;1213   	OffsetC=(OrgSrcWidth-SrcWidth)*inmultiplier/2;
                  |L1.940|
0003ac  e0440006          SUB      r0,r4,r6
0003b0  e0000098          MUL      r0,r8,r0
0003b4  e1a000a0          MOV      r0,r0,LSR #1
0003b8  e58d0008          STR      r0,[sp,#8]
;;;1214   
;;;1215   	//rMODE=(1<<9)|(src420<<8)|(POST_INTEN<<7)|(outrgb<<4)|(inrgb<<3)|(interleave<<2)|(inrgbformat<<1)|(inycformat);
;;;1216   	rMODE=(2<<10)|(1<<9)|(src420<<8)|(POST_INTEN<<7)|(outrgb<<4)|(inrgb<<3)|(interleave<<2)|(inrgbformat<<1)|(inycformat);
0003bc  e59d0038          LDR      r0,[sp,#0x38]
0003c0  e1a00400          MOV      r0,r0,LSL #8
0003c4  e59d1024          LDR      r1,[sp,#0x24]
0003c8  e1800201          ORR      r0,r0,r1,LSL #4
0003cc  e59d1034          LDR      r1,[sp,#0x34]
0003d0  e1800181          ORR      r0,r0,r1,LSL #3
0003d4  e59d1030          LDR      r1,[sp,#0x30]
0003d8  e1800101          ORR      r0,r0,r1,LSL #2
0003dc  e59d102c          LDR      r1,[sp,#0x2c]
0003e0  e1800081          ORR      r0,r0,r1,LSL #1
0003e4  e59d1028          LDR      r1,[sp,#0x28]
0003e8  e1800001          ORR      r0,r0,r1
0003ec  e3800ea8          ORR      r0,r0,#0xa80
0003f0  e59f12d8          LDR      r1,|L1.1744|
0003f4  e5810000          STR      r0,[r1,#0]
;;;1217   
;;;1218   	CalculatePrescalerRatioShift(SrcWidth, DstWidth, &PreHorRatio, &H_Shift);
0003f8  e28d3020          ADD      r3,sp,#0x20
0003fc  e28d2018          ADD      r2,sp,#0x18
000400  e1a00006          MOV      r0,r6
000404  e59d1070          LDR      r1,[sp,#0x70]
000408  ebfffffe          BL       CalculatePrescalerRatioShift
;;;1219   	CalculatePrescalerRatioShift(SrcHeight, DstHeight, &PreVerRatio, &V_Shift);
00040c  e28d301c          ADD      r3,sp,#0x1c
000410  e28d2014          ADD      r2,sp,#0x14
000414  e1a00005          MOV      r0,r5
000418  e59d1074          LDR      r1,[sp,#0x74]
00041c  ebfffffe          BL       CalculatePrescalerRatioShift
;;;1220   		
;;;1221   	rPreScale_Ratio=(PreVerRatio<<7)|(PreHorRatio);
000420  e59d0018          LDR      r0,[sp,#0x18]
000424  e59d1014          LDR      r1,[sp,#0x14]
000428  e1800381          ORR      r0,r0,r1,LSL #7
00042c  e59f129c          LDR      r1,|L1.1744|
000430  e5810004          STR      r0,[r1,#4]
;;;1222   	rPreScaleImgSize=((SrcHeight/PreVerRatio)<<12)|(SrcWidth/PreHorRatio);
000434  e1a01006          MOV      r1,r6
000438  e59d0018          LDR      r0,[sp,#0x18]
00043c  ebfffffe          BL       __rt_udiv
000440  e1a01005          MOV      r1,r5
000444  e58d0000          STR      r0,[sp,#0]
000448  e59d0014          LDR      r0,[sp,#0x14]
00044c  ebfffffe          BL       __rt_udiv
000450  e1a01000          MOV      r1,r0
000454  e59d0000          LDR      r0,[sp,#0]
000458  e1800601          ORR      r0,r0,r1,LSL #12
00045c  e59f126c          LDR      r1,|L1.1744|
000460  e5810008          STR      r0,[r1,#8]
;;;1223   	rSRCImgSize=(SrcHeight<<12)|(SrcWidth<<0);
000464  e1860605          ORR      r0,r6,r5,LSL #12
000468  e581000c          STR      r0,[r1,#0xc]
;;;1224   	rMainScale_H_Ratio=(SrcWidth<<8)/(DstWidth<<H_Shift);
00046c  e1a01406          MOV      r1,r6,LSL #8
000470  e59d2020          LDR      r2,[sp,#0x20]
000474  e59d3070          LDR      r3,[sp,#0x70]
000478  e1a00213          MOV      r0,r3,LSL r2
00047c  ebfffffe          BL       __rt_udiv
000480  e59f1248          LDR      r1,|L1.1744|
000484  e5810010          STR      r0,[r1,#0x10]
;;;1225   	rMainScale_V_Ratio=(SrcHeight<<8)/(DstHeight<<V_Shift);
000488  e1a01405          MOV      r1,r5,LSL #8
00048c  e59d201c          LDR      r2,[sp,#0x1c]
000490  e59d3074          LDR      r3,[sp,#0x74]
000494  e1a00213          MOV      r0,r3,LSL r2
000498  ebfffffe          BL       __rt_udiv
00049c  e59f122c          LDR      r1,|L1.1744|
0004a0  e5810014          STR      r0,[r1,#0x14]
;;;1226   	rDSTImgSize=(DstHeight<<12)|(DstWidth<<0);
0004a4  e59d1070          LDR      r1,[sp,#0x70]
0004a8  e59d3074          LDR      r3,[sp,#0x74]
0004ac  e1810603          ORR      r0,r1,r3,LSL #12
0004b0  e59f1218          LDR      r1,|L1.1744|
0004b4  e5810018          STR      r0,[r1,#0x18]
;;;1227   	rPreScale_SHFactor=10-(H_Shift+V_Shift);
0004b8  e59d0020          LDR      r0,[sp,#0x20]
0004bc  e59d101c          LDR      r1,[sp,#0x1c]
0004c0  e0800001          ADD      r0,r0,r1
0004c4  e260000a          RSB      r0,r0,#0xa
0004c8  e59f1200          LDR      r1,|L1.1744|
0004cc  e581001c          STR      r0,[r1,#0x1c]
;;;1228   
;;;1229   	OffsetY=(OrgSrcWidth-SrcWidth)*inmultiplier;
0004d0  e0440006          SUB      r0,r4,r6
0004d4  e0020098          MUL      r2,r8,r0
0004d8  e58d200c          STR      r2,[sp,#0xc]
;;;1230   	OffsetC=((OrgSrcWidth-SrcWidth)/2)*1;
0004dc  e0440006          SUB      r0,r4,r6
0004e0  e1a000a0          MOV      r0,r0,LSR #1
0004e4  e58d0008          STR      r0,[sp,#8]
;;;1231   
;;;1232   	ADDRStartY[0]=InFrameBuffer+(OrgSrcWidth*SrcStartY+SrcStartX)*inmultiplier;
0004e8  e020a49b          MLA      r0,r11,r4,r10
0004ec  e0207098          MLA      r0,r8,r0,r7
0004f0  e59f11d4          LDR      r1,|L1.1740|
0004f4  e5810000          STR      r0,[r1,#0]  ; ADDRStartY
;;;1233   	ADDREndY[0]=ADDRStartY[0]+SrcWidth*SrcHeight*inmultiplier+OffsetY*(SrcHeight-1);
0004f8  e59f01cc          LDR      r0,|L1.1740|
0004fc  e5900000          LDR      r0,[r0,#0]  ; ADDRStartY
000500  e0010695          MUL      r1,r5,r6
000504  e0200198          MLA      r0,r8,r1,r0
000508  e2451001          SUB      r1,r5,#1
00050c  e59d200c          LDR      r2,[sp,#0xc]
000510  e0200291          MLA      r0,r1,r2,r0
000514  e59f11b8          LDR      r1,|L1.1748|
000518  e5810000          STR      r0,[r1,#0]  ; ADDREndY
;;;1234   	ADDRStartCb[0]=InFrameBuffer+OrgSrcWidth*OrgSrcHeight*1+(OrgSrcWidth/2*SrcStartY/2+SrcStartX/2)*1;
00051c  e1a000a4          MOV      r0,r4,LSR #1
000520  e000009b          MUL      r0,r11,r0
000524  e1a000a0          MOV      r0,r0,LSR #1
000528  e08000aa          ADD      r0,r0,r10,LSR #1
00052c  e0217499          MLA      r1,r9,r4,r7
000530  e0800001          ADD      r0,r0,r1
000534  e59f119c          LDR      r1,|L1.1752|
000538  e5810000          STR      r0,[r1,#0]  ; ADDRStartCb
;;;1235   	ADDREndCb[0]=ADDRStartCb[0]+(SrcWidth/2*SrcHeight/2)*1+OffsetC*(SrcHeight/2-1);
00053c  e59f0194          LDR      r0,|L1.1752|
000540  e5900000          LDR      r0,[r0,#0]  ; ADDRStartCb
000544  e1a010a6          MOV      r1,r6,LSR #1
000548  e0010195          MUL      r1,r5,r1
00054c  e08000a1          ADD      r0,r0,r1,LSR #1
000550  e3e01000          MVN      r1,#0
000554  e08110a5          ADD      r1,r1,r5,LSR #1
000558  e59d2008          LDR      r2,[sp,#8]
00055c  e0200291          MLA      r0,r1,r2,r0
000560  e59f1174          LDR      r1,|L1.1756|
000564  e5810000          STR      r0,[r1,#0]  ; ADDREndCb
;;;1236   	ADDRStartCr[0]=InFrameBuffer+OrgSrcWidth*OrgSrcHeight*1+(OrgSrcWidth/2*OrgSrcHeight/2)*1+(OrgSrcWidth/2*SrcStartY/2+SrcStartX/2)*1;
000568  e0207499          MLA      r0,r9,r4,r7
00056c  e1a010a4          MOV      r1,r4,LSR #1
000570  e0010199          MUL      r1,r9,r1
000574  e08000a1          ADD      r0,r0,r1,LSR #1
000578  e1a010a4          MOV      r1,r4,LSR #1
00057c  e001019b          MUL      r1,r11,r1
000580  e1a010a1          MOV      r1,r1,LSR #1
000584  e08110aa          ADD      r1,r1,r10,LSR #1
000588  e0800001          ADD      r0,r0,r1
00058c  e59f114c          LDR      r1,|L1.1760|
000590  e5810000          STR      r0,[r1,#0]  ; ADDRStartCr
;;;1237   	ADDREndCr[0]=ADDRStartCr[0]+(SrcWidth/2*SrcHeight/2)*1+OffsetC*(SrcHeight/2-1);
000594  e59f0144          LDR      r0,|L1.1760|
000598  e5900000          LDR      r0,[r0,#0]  ; ADDRStartCr
00059c  e1a010a6          MOV      r1,r6,LSR #1
0005a0  e0010195          MUL      r1,r5,r1
0005a4  e08000a1          ADD      r0,r0,r1,LSR #1
0005a8  e3e01000          MVN      r1,#0
0005ac  e08110a5          ADD      r1,r1,r5,LSR #1
0005b0  e59d2008          LDR      r2,[sp,#8]
0005b4  e0200291          MLA      r0,r1,r2,r0
0005b8  e59f1124          LDR      r1,|L1.1764|
0005bc  e5810000          STR      r0,[r1,#0]  ; ADDREndCr
;;;1238   
;;;1239   	InFrameBuffer+=(OrgSrcWidth*OrgSrcHeight)*(2+inmultiplier)/2;

⌨️ 快捷键说明

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