📄 vlx_test.txt
字号:
0007c4 54434420 DCB " DCT"
0007c8 643e2d51 DCB "Q->d"
0007cc 63657269 DCB "irec"
0007d0 563e2d74 DCB "t->V"
0007d4 7020434c DCB "LC p"
0007d8 20687461 DCB "ath "
0007dc 74736574 DCB "test"
0007e0 3d3d3d20 DCB " ==="
0007e4 0000000a DCB "\n\0\0\0"
|L1.2024|
0007e8 25203d36 DCB "6= %"
0007ec 0a783830 DCB "08x\n"
0007f0 00000000 DCB "\0\0\0\0"
|L1.2036|
0007f4 706d6f63 DCB "comp"
0007f8 6574656c DCB "lete"
0007fc 000a2164 DCB "d!\n\0"
|L1.2048|
000800 3d3d3d0a DCB "\n==="
000804 54434420 DCB " DCT"
000808 4d3e2d51 DCB "Q->M"
00080c 3e2d4d45 DCB "EM->"
000810 20434c56 DCB "VLC "
000814 68746170 DCB "path"
000818 73657420 DCB " tes"
00081c 3d3d2074 DCB "t =="
000820 00000a3d DCB "=\n\0\0"
|L1.2084|
000824 25203d31 DCB "1= %"
000828 0a783830 DCB "08x\n"
00082c 00000000 DCB "\0\0\0\0"
|L1.2096|
000830 74696157 DCB "Wait"
000834 746e7520 DCB " unt"
000838 44206c69 DCB "il D"
00083c 515f5443 DCB "CT_Q"
000840 5f51495f DCB "_IQ_"
000844 54434449 DCB "IDCT"
000848 20736920 DCB " is "
00084c 706d6f63 DCB "comp"
000850 6574656c DCB "lete"
000854 2e2e2e64 DCB "d..."
000858 00000020 DCB " \0\0\0"
|L1.2140|
00085c 25203d32 DCB "2= %"
000860 0a783830 DCB "08x\n"
000864 00000000 DCB "\0\0\0\0"
|L1.2152|
000868 25203d33 DCB "3= %"
00086c 0a783830 DCB "08x\n"
000870 00000000 DCB "\0\0\0\0"
|L1.2164|
000874 74696157 DCB "Wait"
000878 746e7520 DCB " unt"
00087c 4d206c69 DCB "il M"
000880 3e2d6d65 DCB "em->"
000884 20434c56 DCB "VLC "
000888 63207369 DCB "is c"
00088c 6c706d6f DCB "ompl"
000890 64657465 DCB "eted"
000894 202e2e2e DCB "... "
000898 00000000 DCB "\0\0\0\0"
|L1.2204|
00089c 20656854 DCB "The "
0008a0 74636970 DCB "pict"
0008a4 20657275 DCB "ure "
0008a8 74207369 DCB "is t"
0008ac 72206568 DCB "he r"
0008b0 6e6f6365 DCB "econ"
0008b4 616d6920 DCB " ima"
0008b8 62206567 DCB "ge b"
0008bc 43442079 DCB "y DC"
0008c0 492f5154 DCB "TQ/I"
0008c4 51544344 DCB "DCTQ"
0008c8 7250202e DCB ". Pr"
0008cc 20737365 DCB "ess "
0008d0 20796e61 DCB "any "
0008d4 2179656b DCB "key!"
0008d8 0000000a DCB "\n\0\0\0"
ENDP
CalDcScaler PROC
;;;423 int CalDcScaler(int qp,int type)
;;;424 {
0008dc e1a02000 MOV r2,r0
;;;425 int dcScaler;
;;;426
;;;427 if (type==1) // luminance :type=1
0008e0 e3510001 CMP r1,#1
0008e4 1a000011 BNE |L1.2352|
;;;428 {
;;;429 if (qp > 0 && qp < 5)
0008e8 e2423001 SUB r3,r2,#1
0008ec e3530004 CMP r3,#4
0008f0 2a000001 BCS |L1.2300|
;;;430 dcScaler = 8;
0008f4 e3a00008 MOV r0,#8
0008f8 ea000019 B |L1.2404|
;;;431 else if (qp > 4 && qp < 9)
|L1.2300|
0008fc e2423005 SUB r3,r2,#5
000900 e3530004 CMP r3,#4
000904 2a000001 BCS |L1.2320|
;;;432 dcScaler = 2 * qp;
000908 e1a00082 MOV r0,r2,LSL #1
00090c ea000014 B |L1.2404|
;;;433 else if (qp > 8 && qp < 25)
|L1.2320|
000910 e2423009 SUB r3,r2,#9
000914 e3530010 CMP r3,#0x10
000918 2a000001 BCS |L1.2340|
;;;434 dcScaler = qp + 8;
00091c e2820008 ADD r0,r2,#8
000920 ea00000f B |L1.2404|
;;;435 else
;;;436 dcScaler = 2 * qp - 16;
|L1.2340|
000924 e3e0300f MVN r3,#0xf
000928 e0830082 ADD r0,r3,r2,LSL #1
00092c ea00000c B |L1.2404|
;;;437 }
;;;438 else // chrominance :type=2
;;;439 {
;;;440 if (qp > 0 && qp < 5)
|L1.2352|
000930 e2423001 SUB r3,r2,#1
000934 e3530004 CMP r3,#4
000938 2a000001 BCS |L1.2372|
;;;441 dcScaler = 8;
00093c e3a00008 MOV r0,#8
000940 ea000007 B |L1.2404|
;;;442 else if (qp > 4 && qp < 25)
|L1.2372|
000944 e2423005 SUB r3,r2,#5
000948 e3530014 CMP r3,#0x14
00094c 2a000003 BCS |L1.2400|
;;;443
;;;444 dcScaler = (qp + 13) / 2;
000950 e282300d ADD r3,r2,#0xd
000954 e083cfa3 ADD r12,r3,r3,LSR #31
000958 e1a000cc MOV r0,r12,ASR #1
00095c ea000000 B |L1.2404|
;;;445 else
;;;446 dcScaler = qp - 6;
|L1.2400|
000960 e2420006 SUB r0,r2,#6
;;;447 }
;;;448 return dcScaler;
;;;449 }
|L1.2404|
000964 e12fff1e BX lr
ENDP
RestoreDcPredictedMblk PROC
;;;528 void RestoreDcPredictedMblk(PIMAGE420 pDctqCoeff,U32 mx,U32 my,U32 qpStep,U32 cbpValue)
;;;529 {
000968 e92d4fff STMFD sp!,{r0-r11,lr}
00096c e24dd04c SUB sp,sp,#0x4c
000970 e1a07000 MOV r7,r0
000974 e1a04001 MOV r4,r1
000978 e1a05002 MOV r5,r2
;;;530 int i;
;;;531 int diffQdcA,diffQdcC,dcx;
;;;532 int lay1,ay1,ay2,ly1,ly3,lacb,acb,lcb,lacr,acr,lcr,y1,y2,y3; //dc values
;;;533 int predQdc,qdc;
;;;534 int dcScaler1,dcScaler2;
;;;535 int xmbn=pDctqCoeff->imageWidth/16;
00097c e5970010 LDR r0,[r7,#0x10]
000980 e1a08220 MOV r8,r0,LSR #4
;;;536
;;;537 dcScaler1=CalDcScaler(qpStep,1);
000984 e3a01001 MOV r1,#1
000988 e59d0058 LDR r0,[sp,#0x58]
00098c ebfffffe BL CalDcScaler
000990 e1a09000 MOV r9,r0
;;;538 dcScaler2=CalDcScaler(qpStep,2);
000994 e3a01002 MOV r1,#2
000998 e59d0058 LDR r0,[sp,#0x58]
00099c ebfffffe BL CalDcScaler
0009a0 e58d0008 STR r0,[sp,#8]
;;;539
;;;540
;;;541 if(mx==0 && my==0)
0009a4 e1940005 ORRS r0,r4,r5
0009a8 1a000016 BNE |L1.2568|
;;;542 {
;;;543 // B C LAY1 AY1 AY2 LACB ACB LACR ACR
;;;544 // A X LY1 Y1 Y2 LCB CB LCR CR
;;;545 // LY3 Y3 Y4
;;;546 lay1=1024;
0009ac e3a02e40 MOV r2,#0x400
0009b0 e58d2040 STR r2,[sp,#0x40]
;;;547 ay1=1024;
0009b4 e3a01e40 MOV r1,#0x400
0009b8 e58d103c STR r1,[sp,#0x3c]
;;;548 ay2=1024;
0009bc e3a01e40 MOV r1,#0x400
0009c0 e58d1038 STR r1,[sp,#0x38]
;;;549 ly1=1024;
0009c4 e3a01e40 MOV r1,#0x400
0009c8 e58d1034 STR r1,[sp,#0x34]
;;;550 ly3=1024;
0009cc e3a01e40 MOV r1,#0x400
0009d0 e58d1030 STR r1,[sp,#0x30]
;;;551 lacb=1024;
0009d4 e3a02e40 MOV r2,#0x400
0009d8 e58d202c STR r2,[sp,#0x2c]
;;;552 acb=1024;
0009dc e3a01e40 MOV r1,#0x400
0009e0 e58d1028 STR r1,[sp,#0x28]
;;;553 lcb=1024;
0009e4 e3a01e40 MOV r1,#0x400
0009e8 e58d1024 STR r1,[sp,#0x24]
;;;554 lacr=1024;
0009ec e3a02e40 MOV r2,#0x400
0009f0 e58d2020 STR r2,[sp,#0x20]
;;;555 acr=1024;
0009f4 e3a01e40 MOV r1,#0x400
0009f8 e58d101c STR r1,[sp,#0x1c]
;;;556 lcr=1024;
0009fc e3a01e40 MOV r1,#0x400
000a00 e58d1018 STR r1,[sp,#0x18]
000a04 ea0000b9 B |L1.3312|
;;;557 }
;;;558 else if(mx==0)
|L1.2568|
000a08 e3540000 CMP r4,#0
000a0c 1a00002e BNE |L1.2764|
;;;559 {
;;;560 lay1=1024;
000a10 e3a02e40 MOV r2,#0x400
000a14 e58d2040 STR r2,[sp,#0x40]
;;;561 ay1=dcArray[mx][my-1].y3;
000a18 e3a0001b MOV r0,#0x1b
000a1c e0010490 MUL r1,r0,r4
000a20 e59f095c LDR r0,|L1.4996|
000a24 e0800181 ADD r0,r0,r1,LSL #3
000a28 e0851085 ADD r1,r5,r5,LSL #1
000a2c e0800101 ADD r0,r0,r1,LSL #2
000a30 e15010f8 LDRSH r1,[r0,#-8]
000a34 e58d103c STR r1,[sp,#0x3c]
;;;562 ay2=dcArray[mx][my-1].y4;
000a38 e3a0001b MOV r0,#0x1b
000a3c e0010490 MUL r1,r0,r4
000a40 e59f093c LDR r0,|L1.4996|
000a44 e0800181 ADD r0,r0,r1,LSL #3
000a48 e0851085 ADD r1,r5,r5,LSL #1
000a4c e0800101 ADD r0,r0,r1,LSL #2
000a50 e15010f6 LDRSH r1,[r0,#-6]
000a54 e58d1038 STR r1,[sp,#0x38]
;;;563 ly1=1024;
000a58 e3a01e40 MOV r1,#0x400
000a5c e58d1034 STR r1,[sp,#0x34]
;;;564 ly3=1024;
000a60 e3a01e40 MOV r1,#0x400
000a64 e58d1030 STR r1,[sp,#0x30]
;;;565 lacb=1024;
000a68 e3a02e40 MOV r2,#0x400
000a6c e58d202c STR r2,[sp,#0x2c]
;;;566 acb=dcArray[mx][my-1].cb;
000a70 e3a0001b MOV r0,#0x1b
000a74 e0010490 MUL r1,r0,r4
000a78 e59f0904 LDR r0,|L1.4996|
000a7c e0800181 ADD r0,r0,r1,LSL #3
000a80 e0851085 ADD r1,r5,r5,LSL #1
000a84 e0800101 ADD r0,r0,r1,LSL #2
000a88 e15010f4 LDRSH r1,[r0,#-4]
000a8c e58d1028 STR r1,[sp,#0x28]
;;;567 lcb=1024;
000a90 e3a01e40 MOV r1,#0x400
000a94 e58d1024 STR r1,[sp,#0x24]
;;;568 lacr=1024;
000a98 e3a02e40 MOV r2,#0x400
000a9c e58d2020 STR r2,[sp,#0x20]
;;;569 acr=dcArray[mx][my-1].cr;
000aa0 e3a0001b MOV r0,#0x1b
000aa4 e0010490 MUL r1,r0,r4
000aa8 e59f08d4 LDR r0,|L1.4996|
000aac e0800181 ADD r0,r0,r1,LSL #3
000ab0 e0851085 ADD r1,r5,r5,LSL #1
000ab4 e0800101 ADD r0,r0,r1,LSL #2
000ab8 e15010f2 LDRSH r1,[r0,#-2]
000abc e58d101c STR r1,[sp,#0x1c]
;;;570 lcr=1024;
000ac0 e3a01e40 MOV r1,#0x400
000ac4 e58d1018 STR r1,[sp,#0x18]
000ac8 ea000088 B |L1.3312|
;;;571 }
;;;572 else if(my==0)
|L1.2764|
000acc e3550000 CMP r5,#0
000ad0 1a00002e BNE |L1.2960|
;;;573 {
;;;574 // B C LAY1 AY1 AY2 LACB ACB LACR ACR
;;;575 // A X LY1 Y1 Y2 LCB CB LCR CR
;;;576 // LY3 Y3 Y4
;;;577 lay1=1024;
000ad4 e3a02e40 MOV r2,#0x400
000ad8 e58d2040 STR r2,[sp,#0x40]
;;;578 ay1=1024;
000adc e3a01e40 MOV r1,#0x400
000ae0 e58d103c STR r1,[sp,#0x3c]
;;;579 ay2=1024;
000ae4 e3a01e40 MOV r1,#0x400
000ae8 e58d1038 STR r1,[sp,#0x38]
;;;580 ly1=dcArray[mx-1][my].y2;
000aec e3a0001b MOV r0,#0x1b
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -