h264_idct.i

%line 1+1 config.asm

%line 1+1 libavcodec/x86/h264_idct.asm


%line 1+1 libavutil/x86/x86util.asm

%line 29+1 libavutil/x86/x86util.asm

%line 1+1 libavutil/x86/x86inc.asm


%line 40+1 libavutil/x86/x86inc.asm

%line 44+1 libavutil/x86/x86inc.asm

%line 55+1 libavutil/x86/x86inc.asm

%line 69+1 libavutil/x86/x86inc.asm

%line 78+1 libavutil/x86/x86inc.asm

%line 84+1 libavutil/x86/x86inc.asm


%line 101+1 libavutil/x86/x86inc.asm

%line 113+1 libavutil/x86/x86inc.asm

%line 119+1 libavutil/x86/x86inc.asm


%line 180+1 libavutil/x86/x86inc.asm

%line 196+1 libavutil/x86/x86inc.asm

%line 204+1 libavutil/x86/x86inc.asm

%line 215+1 libavutil/x86/x86inc.asm

%line 226+1 libavutil/x86/x86inc.asm

%line 234+1 libavutil/x86/x86inc.asm

%line 241+1 libavutil/x86/x86inc.asm

%line 248+1 libavutil/x86/x86inc.asm

%line 257+1 libavutil/x86/x86inc.asm

%line 266+1 libavutil/x86/x86inc.asm

%line 275+1 libavutil/x86/x86inc.asm

%line 282+1 libavutil/x86/x86inc.asm

%line 289+1 libavutil/x86/x86inc.asm

%line 295+1 libavutil/x86/x86inc.asm

%line 301+1 libavutil/x86/x86inc.asm

%line 307+1 libavutil/x86/x86inc.asm

%line 342+1 libavutil/x86/x86inc.asm

%line 346+1 libavutil/x86/x86inc.asm

%line 391+1 libavutil/x86/x86inc.asm

%line 413+1 libavutil/x86/x86inc.asm

%line 423+1 libavutil/x86/x86inc.asm

%line 533+1 libavutil/x86/x86inc.asm

%line 549+1 libavutil/x86/x86inc.asm

%line 562+1 libavutil/x86/x86inc.asm

%line 579+1 libavutil/x86/x86inc.asm

%line 637+1 libavutil/x86/x86inc.asm

%line 646+1 libavutil/x86/x86inc.asm

%line 659+1 libavutil/x86/x86inc.asm

%line 668+1 libavutil/x86/x86inc.asm

%line 681+1 libavutil/x86/x86inc.asm

%line 693+1 libavutil/x86/x86inc.asm

%line 745+1 libavutil/x86/x86inc.asm


%line 755+1 libavutil/x86/x86inc.asm

%line 761+1 libavutil/x86/x86inc.asm


%line 770+1 libavutil/x86/x86inc.asm

%line 780+1 libavutil/x86/x86inc.asm

 [SECTION .note.GNU-stack noalloc noexec nowrite progbits]

%line 803+1 libavutil/x86/x86inc.asm

%line 827+1 libavutil/x86/x86inc.asm

%line 832+1 libavutil/x86/x86inc.asm


%line 836+1 libavutil/x86/x86inc.asm


%line 878+1 libavutil/x86/x86inc.asm


%line 889+1 libavutil/x86/x86inc.asm

%line 893+1 libavutil/x86/x86inc.asm

%line 923+1 libavutil/x86/x86inc.asm


%line 935+1 libavutil/x86/x86inc.asm

%line 947+1 libavutil/x86/x86inc.asm

%line 962+1 libavutil/x86/x86inc.asm

%line 975+1 libavutil/x86/x86inc.asm

%line 988+1 libavutil/x86/x86inc.asm


%line 989+0 libavutil/x86/x86inc.asm

%line 990+1 libavutil/x86/x86inc.asm

%line 1012+1 libavutil/x86/x86inc.asm

%line 1018+1 libavutil/x86/x86inc.asm

%line 1044+1 libavutil/x86/x86inc.asm

%line 1052+1 libavutil/x86/x86inc.asm

%line 1063+1 libavutil/x86/x86inc.asm

%line 1072+1 libavutil/x86/x86inc.asm


%line 1088+1 libavutil/x86/x86inc.asm

%line 1099+1 libavutil/x86/x86inc.asm


%line 1118+1 libavutil/x86/x86inc.asm


%line 1131+1 libavutil/x86/x86inc.asm

%line 1143+1 libavutil/x86/x86inc.asm

%line 1163+1 libavutil/x86/x86inc.asm

%line 1174+1 libavutil/x86/x86inc.asm

%line 1254+1 libavutil/x86/x86inc.asm


%line 1275+1 libavutil/x86/x86inc.asm

%line 1559+1 libavutil/x86/x86inc.asm


%line 1564+1 libavutil/x86/x86inc.asm


%line 1582+1 libavutil/x86/x86inc.asm

%line 1595+1 libavutil/x86/x86inc.asm

%line 1600+1 libavutil/x86/x86inc.asm


%line 1636+1 libavutil/x86/x86inc.asm

%line 1643+1 libavutil/x86/x86inc.asm


%line 1672+1 libavutil/x86/x86inc.asm

%line 1689+1 libavutil/x86/x86inc.asm


%line 31+1 libavutil/x86/x86util.asm


%line 36+1 libavutil/x86/x86util.asm

%line 61+1 libavutil/x86/x86util.asm

%line 67+1 libavutil/x86/x86util.asm

%line 73+1 libavutil/x86/x86util.asm

%line 79+1 libavutil/x86/x86util.asm

%line 87+1 libavutil/x86/x86util.asm

%line 95+1 libavutil/x86/x86util.asm

%line 104+1 libavutil/x86/x86util.asm

%line 113+1 libavutil/x86/x86util.asm

%line 121+1 libavutil/x86/x86util.asm


%line 130+1 libavutil/x86/x86util.asm

%line 167+1 libavutil/x86/x86util.asm

%line 216+1 libavutil/x86/x86util.asm

%line 280+1 libavutil/x86/x86util.asm

%line 295+1 libavutil/x86/x86util.asm


%line 312+1 libavutil/x86/x86util.asm

%line 321+1 libavutil/x86/x86util.asm

%line 336+1 libavutil/x86/x86util.asm

%line 359+1 libavutil/x86/x86util.asm

%line 369+1 libavutil/x86/x86util.asm

%line 383+1 libavutil/x86/x86util.asm

%line 394+1 libavutil/x86/x86util.asm

%line 399+1 libavutil/x86/x86util.asm

%line 410+1 libavutil/x86/x86util.asm

%line 421+1 libavutil/x86/x86util.asm

%line 448+1 libavutil/x86/x86util.asm

%line 459+1 libavutil/x86/x86util.asm

%line 470+1 libavutil/x86/x86util.asm

%line 499+1 libavutil/x86/x86util.asm

%line 515+1 libavutil/x86/x86util.asm

%line 523+1 libavutil/x86/x86util.asm

%line 535+1 libavutil/x86/x86util.asm

%line 548+1 libavutil/x86/x86util.asm

%line 566+1 libavutil/x86/x86util.asm

%line 580+1 libavutil/x86/x86util.asm

%line 595+1 libavutil/x86/x86util.asm

%line 611+1 libavutil/x86/x86util.asm

%line 629+1 libavutil/x86/x86util.asm

%line 644+1 libavutil/x86/x86util.asm

%line 671+1 libavutil/x86/x86util.asm


%line 688+1 libavutil/x86/x86util.asm

%line 699+1 libavutil/x86/x86util.asm

%line 710+1 libavutil/x86/x86util.asm

%line 722+1 libavutil/x86/x86util.asm

%line 731+1 libavutil/x86/x86util.asm

%line 746+1 libavutil/x86/x86util.asm

%line 756+1 libavutil/x86/x86util.asm

%line 781+1 libavutil/x86/x86util.asm

%line 791+1 libavutil/x86/x86util.asm

%line 796+1 libavutil/x86/x86util.asm

%line 801+1 libavutil/x86/x86util.asm

%line 817+1 libavutil/x86/x86util.asm

%line 829+1 libavutil/x86/x86util.asm

%line 844+1 libavutil/x86/x86util.asm

%line 866+1 libavutil/x86/x86util.asm

%line 877+1 libavutil/x86/x86util.asm

%line 892+1 libavutil/x86/x86util.asm

%line 900+1 libavutil/x86/x86util.asm

%line 912+1 libavutil/x86/x86util.asm

%line 924+1 libavutil/x86/x86util.asm


%line 937+1 libavutil/x86/x86util.asm

%line 945+1 libavutil/x86/x86util.asm

%line 953+1 libavutil/x86/x86util.asm

%line 965+1 libavutil/x86/x86util.asm

%line 988+1 libavutil/x86/x86util.asm

%line 1007+1 libavutil/x86/x86util.asm

%line 30+1 libavcodec/x86/h264_idct.asm

[section .rodata align=16]

scan8_mem: db 4+ 1*8, 5+ 1*8, 4+ 2*8, 5+ 2*8
 db 6+ 1*8, 7+ 1*8, 6+ 2*8, 7+ 2*8
 db 4+ 3*8, 5+ 3*8, 4+ 4*8, 5+ 4*8
 db 6+ 3*8, 7+ 3*8, 6+ 4*8, 7+ 4*8
 db 4+ 6*8, 5+ 6*8, 4+ 7*8, 5+ 7*8
 db 6+ 6*8, 7+ 6*8, 6+ 7*8, 7+ 7*8
 db 4+ 8*8, 5+ 8*8, 4+ 9*8, 5+ 9*8
 db 6+ 8*8, 7+ 8*8, 6+ 9*8, 7+ 9*8
 db 4+11*8, 5+11*8, 4+12*8, 5+12*8
 db 6+11*8, 7+11*8, 6+12*8, 7+12*8
 db 4+13*8, 5+13*8, 4+14*8, 5+14*8
 db 6+13*8, 7+13*8, 6+14*8, 7+14*8
%line 52+1 libavcodec/x86/h264_idct.asm

[extern ff_pw_32]
[extern ff_pw_1]

[section .text]


%line 89+1 libavcodec/x86/h264_idct.asm


%line 90+0 libavcodec/x86/h264_idct.asm


%line 91+1 libavcodec/x86/h264_idct.asm

[global ff_h264_idct_add_8_mmx:function hidden]
%line 92+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add_8_mmx:

%line 93+1 libavcodec/x86/h264_idct.asm
 movsxd rdx, edx

%line 94+0 libavcodec/x86/h264_idct.asm

 movq mm0, [rsi]

 movq mm1, [rsi+8]

 movq mm2, [rsi+16]

 movq mm3, [rsi+24]


 MOVQ mm4, mm1
 psraw mm4, 1

 MOVQ mm5, mm3
 psraw mm5, 1

 paddw mm5, mm1

 psubw mm4, mm3


 movq mm3, mm2

 paddw mm2, mm0

 psubw mm0, mm3


 movq mm3, mm5

 paddw mm5, mm2

 psubw mm2, mm3

 movq mm3, mm4

 paddw mm4, mm0

 psubw mm0, mm3

 movq mm6, [ff_pw_32]

 movq mm1, mm5

 punpcklwd mm5, mm4

 punpckhwd mm1, mm4

 movq mm4, mm0

 punpcklwd mm0, mm2

 punpckhwd mm4, mm2

 movq mm2, mm5

 punpckldq mm5, mm0

 punpckhdq mm2, mm0

 movq mm0, mm1

 punpckldq mm1, mm4

 punpckhdq mm0, mm4

 paddw mm5, mm6

 MOVQ mm4, mm2
 psraw mm4, 1

 MOVQ mm3, mm0
 psraw mm3, 1

 paddw mm3, mm2

 psubw mm4, mm0


 movq mm0, mm1

 paddw mm1, mm5

 psubw mm5, mm0


 movq mm0, mm3

 paddw mm3, mm1

 psubw mm1, mm0

 movq mm0, mm4

 paddw mm4, mm5

 psubw mm5, mm0

 pxor mm7, mm7

 movq [rsi+ 0], mm7

 movq [rsi+ 8], mm7

 movq [rsi+16], mm7

 movq [rsi+24], mm7


 movd mm2, [rdi]

 movd mm0, [rdi+rdx]

 psraw mm3, 6

 psraw mm4, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm3

 paddw mm0, mm4

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rdi], mm2

 movd [rdi+rdx], mm0
 lea rdi, [rdi+rdx*2]

 movd mm2, [rdi]

 movd mm0, [rdi+rdx]

 psraw mm5, 6

 psraw mm1, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm5

 paddw mm0, mm1

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rdi], mm2

 movd [rdi+rdx], mm0
%line 95+1 libavcodec/x86/h264_idct.asm
 times (($$-$)>>31)+1 rep
%line 95+0 libavcodec/x86/h264_idct.asm
 ret
%line 96+1 libavcodec/x86/h264_idct.asm

%line 144+1 libavcodec/x86/h264_idct.asm

%line 154+1 libavcodec/x86/h264_idct.asm


%line 171+1 libavcodec/x86/h264_idct.asm


%line 209+1 libavcodec/x86/h264_idct.asm


%line 210+0 libavcodec/x86/h264_idct.asm


%line 211+1 libavcodec/x86/h264_idct.asm

[global ff_h264_idct8_add_8_mmx:function hidden]
%line 212+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct8_add_8_mmx:

%line 213+1 libavcodec/x86/h264_idct.asm
 movsxd rdx, edx

 sub rsp, 132

 add word [rsi], 32

%line 218+0 libavcodec/x86/h264_idct.asm
 movq mm7, [rsi+112]

 movq mm6, [rsi+ 96]

 movq mm5, [rsi+ 80]

 movq mm3, [rsi+ 48]

 movq mm2, [rsi+ 32]

 movq mm1, [rsi+ 16]

 MOVQ mm0, mm1
 psraw mm0, 1

 MOVQ mm4, mm5
 psraw mm4, 1

 paddw mm4, mm5

 paddw mm0, mm1

 paddw mm4, mm7

 paddw mm0, mm5

 psubw mm4, mm1

 paddw mm0, mm3


 psubw mm1, mm3

 psubw mm5, mm3

 psraw mm3, 1

 paddw mm1, mm7

 psubw mm5, mm7

 psraw mm7, 1

 psubw mm1, mm3

 psubw mm5, mm7


 MOVQ mm7, mm0
 psraw mm7, 2

 MOVQ mm3, mm4
 psraw mm3, 2

 paddw mm3, mm1

 psraw mm1, 2

 paddw mm7, mm5

 psraw mm5, 2

 psubw mm1, mm4

 psubw mm0, mm5


 MOVQ mm5, mm6
 psraw mm5, 1

 MOVQ mm4, mm2
 psraw mm4, 1

 paddw mm5, mm2

 psubw mm4, mm6


 movq mm2, [rsi]

 movq mm6, [rsi+ 64]

 paddw mm6, mm2

 paddw mm2, mm2

 psubw mm2, mm6

 paddw mm5, mm6

 paddw mm6, mm6

 psubw mm6, mm5

 paddw mm4, mm2

 paddw mm2, mm2

 psubw mm2, mm4

 paddw mm0, mm5

 paddw mm5, mm5

 psubw mm5, mm0

 paddw mm1, mm4

 paddw mm4, mm4

 psubw mm4, mm1

 paddw mm3, mm2

 paddw mm2, mm2

 psubw mm2, mm3

 paddw mm7, mm6

 paddw mm6, mm6

 psubw mm6, mm7

 movq [rsi], mm5

 movq mm5, mm0

 punpcklwd mm0, mm1

 punpckhwd mm5, mm1

 movq mm1, mm3

 punpcklwd mm3, mm7

 punpckhwd mm1, mm7

 movq mm7, mm0

 punpckldq mm0, mm3

 punpckhdq mm7, mm3

 movq mm3, mm5

 punpckldq mm5, mm1

 punpckhdq mm3, mm1

 movq mm1, [rsi]

 movq [rsp ], mm0

 movq [rsp+16], mm7

 movq [rsp+32], mm5

 movq [rsp+48], mm3

 movq mm3, mm6

 punpcklwd mm6, mm2

 punpckhwd mm3, mm2

 movq mm2, mm4

 punpcklwd mm4, mm1

 punpckhwd mm2, mm1

 movq mm1, mm6

 punpckldq mm6, mm4

 punpckhdq mm1, mm4

 movq mm4, mm3

 punpckldq mm3, mm2

 punpckhdq mm4, mm2

 movq [rsp+ 8], mm6

 movq [rsp+24], mm1

 movq [rsp+40], mm3

 movq [rsp+56], mm4
%line 219+1 libavcodec/x86/h264_idct.asm

%line 219+0 libavcodec/x86/h264_idct.asm
 movq mm4, [rsi+8+112]

 movq mm3, [rsi+8+ 96]

 movq mm1, [rsi+8+ 80]

 movq mm2, [rsi+8+ 48]

 movq mm5, [rsi+8+ 32]

 movq mm7, [rsi+8+ 16]

 MOVQ mm0, mm7
 psraw mm0, 1

 MOVQ mm6, mm1
 psraw mm6, 1

 paddw mm6, mm1

 paddw mm0, mm7

 paddw mm6, mm4

 paddw mm0, mm1

 psubw mm6, mm7

 paddw mm0, mm2


 psubw mm7, mm2

 psubw mm1, mm2

 psraw mm2, 1

 paddw mm7, mm4

 psubw mm1, mm4

 psraw mm4, 1

 psubw mm7, mm2

 psubw mm1, mm4


 MOVQ mm4, mm0
 psraw mm4, 2

 MOVQ mm2, mm6
 psraw mm2, 2

 paddw mm2, mm7

 psraw mm7, 2

 paddw mm4, mm1

 psraw mm1, 2

 psubw mm7, mm6

 psubw mm0, mm1


 MOVQ mm1, mm3
 psraw mm1, 1

 MOVQ mm6, mm5
 psraw mm6, 1

 paddw mm1, mm5

 psubw mm6, mm3


 movq mm5, [rsi+8]

 movq mm3, [rsi+8+ 64]

 paddw mm3, mm5

 paddw mm5, mm5

 psubw mm5, mm3

 paddw mm1, mm3

 paddw mm3, mm3

 psubw mm3, mm1

 paddw mm6, mm5

 paddw mm5, mm5

 psubw mm5, mm6

 paddw mm0, mm1

 paddw mm1, mm1

 psubw mm1, mm0

 paddw mm7, mm6

 paddw mm6, mm6

 psubw mm6, mm7

 paddw mm2, mm5

 paddw mm5, mm5

 psubw mm5, mm2

 paddw mm4, mm3

 paddw mm3, mm3

 psubw mm3, mm4

 movq [rsi+8], mm1

 movq mm1, mm0

 punpcklwd mm0, mm7

 punpckhwd mm1, mm7

 movq mm7, mm2

 punpcklwd mm2, mm4

 punpckhwd mm7, mm4

 movq mm4, mm0

 punpckldq mm0, mm2

 punpckhdq mm4, mm2

 movq mm2, mm1

 punpckldq mm1, mm7

 punpckhdq mm2, mm7

 movq mm7, [rsi+8]

 movq [rsp+64 ], mm0

 movq [rsp+64+16], mm4

 movq [rsp+64+32], mm1

 movq [rsp+64+48], mm2

 movq mm2, mm3

 punpcklwd mm3, mm5

 punpckhwd mm2, mm5

 movq mm5, mm6

 punpcklwd mm6, mm7

 punpckhwd mm5, mm7

 movq mm7, mm3

 punpckldq mm3, mm6

 punpckhdq mm7, mm6

 movq mm6, mm2

 punpckldq mm2, mm5

 punpckhdq mm6, mm5

 movq [rsp+64+ 8], mm3

 movq [rsp+64+24], mm7

 movq [rsp+64+40], mm2

 movq [rsp+64+56], mm6
%line 220+1 libavcodec/x86/h264_idct.asm
 lea rcx, [rdi+4]

%line 221+0 libavcodec/x86/h264_idct.asm
 movq mm6, [rsp+112]

 movq mm2, [rsp+ 96]

 movq mm7, [rsp+ 80]

 movq mm5, [rsp+ 48]

 movq mm1, [rsp+ 32]

 movq mm4, [rsp+ 16]

 MOVQ mm0, mm4
 psraw mm0, 1

 MOVQ mm3, mm7
 psraw mm3, 1

 paddw mm3, mm7

 paddw mm0, mm4

 paddw mm3, mm6

 paddw mm0, mm7

 psubw mm3, mm4

 paddw mm0, mm5


 psubw mm4, mm5

 psubw mm7, mm5

 psraw mm5, 1

 paddw mm4, mm6

 psubw mm7, mm6

 psraw mm6, 1

 psubw mm4, mm5

 psubw mm7, mm6


 MOVQ mm6, mm0
 psraw mm6, 2

 MOVQ mm5, mm3
 psraw mm5, 2

 paddw mm5, mm4

 psraw mm4, 2

 paddw mm6, mm7

 psraw mm7, 2

 psubw mm4, mm3

 psubw mm0, mm7


 MOVQ mm7, mm2
 psraw mm7, 1

 MOVQ mm3, mm1
 psraw mm3, 1

 paddw mm7, mm1

 psubw mm3, mm2


 movq mm1, [rsp]

 movq mm2, [rsp+ 64]

 paddw mm2, mm1

 paddw mm1, mm1

 psubw mm1, mm2

 paddw mm7, mm2

 paddw mm2, mm2

 psubw mm2, mm7

 paddw mm3, mm1

 paddw mm1, mm1

 psubw mm1, mm3

 paddw mm0, mm7

 paddw mm7, mm7

 psubw mm7, mm0

 paddw mm4, mm3

 paddw mm3, mm3

 psubw mm3, mm4

 paddw mm5, mm1

 paddw mm1, mm1

 psubw mm1, mm5

 paddw mm6, mm2

 paddw mm2, mm2

 psubw mm2, mm6

 movq [rsp ], mm1

 movq [rsp+16], mm3

 movq [rsp+32], mm7


 pxor mm7, mm7

 movq [rsi+ 0], mm7

 movq [rsi+ 8], mm7

 movq [rsi+ 16], mm7

 movq [rsi+ 24], mm7

 movq [rsi+ 32], mm7

 movq [rsi+ 40], mm7

 movq [rsi+ 48], mm7

 movq [rsi+ 56], mm7

 movq [rsi+ 64], mm7

 movq [rsi+ 72], mm7

 movq [rsi+ 80], mm7

 movq [rsi+ 88], mm7

 movq [rsi+ 96], mm7

 movq [rsi+104], mm7

 movq [rsi+112], mm7

 movq [rsi+120], mm7

 movd mm1, [rdi]

 movd mm3, [rdi+rdx]

 psraw mm0, 6

 psraw mm4, 6

 punpcklbw mm1, mm7

 punpcklbw mm3, mm7

 paddw mm1, mm0

 paddw mm3, mm4

 packuswb mm1, mm7

 packuswb mm3, mm7

 movd [rdi], mm1

 movd [rdi+rdx], mm3
 lea rdi, [rdi+rdx*2]

 movd mm1, [rdi]

 movd mm3, [rdi+rdx]

 psraw mm5, 6

 psraw mm6, 6

 punpcklbw mm1, mm7

 punpcklbw mm3, mm7

 paddw mm1, mm5

 paddw mm3, mm6

 packuswb mm1, mm7

 packuswb mm3, mm7

 movd [rdi], mm1

 movd [rdi+rdx], mm3

 movq mm0, [rsp ]

 movq mm4, [rsp+16]

 movq mm5, [rsp+32]
 lea rdi, [rdi+rdx*2]

 movd mm1, [rdi]

 movd mm3, [rdi+rdx]

 psraw mm2, 6

 psraw mm0, 6

 punpcklbw mm1, mm7

 punpcklbw mm3, mm7

 paddw mm1, mm2

 paddw mm3, mm0

 packuswb mm1, mm7

 packuswb mm3, mm7

 movd [rdi], mm1

 movd [rdi+rdx], mm3
 lea rdi, [rdi+rdx*2]

 movd mm1, [rdi]

 movd mm3, [rdi+rdx]

 psraw mm4, 6

 psraw mm5, 6

 punpcklbw mm1, mm7

 punpcklbw mm3, mm7

 paddw mm1, mm4

 paddw mm3, mm5

 packuswb mm1, mm7

 packuswb mm3, mm7

 movd [rdi], mm1

 movd [rdi+rdx], mm3
%line 222+1 libavcodec/x86/h264_idct.asm

%line 222+0 libavcodec/x86/h264_idct.asm
 movq mm7, [rsp+8+112]

 movq mm3, [rsp+8+ 96]

 movq mm1, [rsp+8+ 80]

 movq mm6, [rsp+8+ 48]

 movq mm5, [rsp+8+ 32]

 movq mm4, [rsp+8+ 16]

 MOVQ mm0, mm4
 psraw mm0, 1

 MOVQ mm2, mm1
 psraw mm2, 1

 paddw mm2, mm1

 paddw mm0, mm4

 paddw mm2, mm7

 paddw mm0, mm1

 psubw mm2, mm4

 paddw mm0, mm6


 psubw mm4, mm6

 psubw mm1, mm6

 psraw mm6, 1

 paddw mm4, mm7

 psubw mm1, mm7

 psraw mm7, 1

 psubw mm4, mm6

 psubw mm1, mm7


 MOVQ mm7, mm0
 psraw mm7, 2

 MOVQ mm6, mm2
 psraw mm6, 2

 paddw mm6, mm4

 psraw mm4, 2

 paddw mm7, mm1

 psraw mm1, 2

 psubw mm4, mm2

 psubw mm0, mm1


 MOVQ mm1, mm3
 psraw mm1, 1

 MOVQ mm2, mm5
 psraw mm2, 1

 paddw mm1, mm5

 psubw mm2, mm3


 movq mm5, [rsp+8]

 movq mm3, [rsp+8+ 64]

 paddw mm3, mm5

 paddw mm5, mm5

 psubw mm5, mm3

 paddw mm1, mm3

 paddw mm3, mm3

 psubw mm3, mm1

 paddw mm2, mm5

 paddw mm5, mm5

 psubw mm5, mm2

 paddw mm0, mm1

 paddw mm1, mm1

 psubw mm1, mm0

 paddw mm4, mm2

 paddw mm2, mm2

 psubw mm2, mm4

 paddw mm6, mm5

 paddw mm5, mm5

 psubw mm5, mm6

 paddw mm7, mm3

 paddw mm3, mm3

 psubw mm3, mm7

 movq [rsp+8 ], mm5

 movq [rsp+8+16], mm2

 movq [rsp+8+32], mm1


 pxor mm1, mm1

 movd mm5, [rcx]

 movd mm2, [rcx+rdx]

 psraw mm0, 6

 psraw mm4, 6

 punpcklbw mm5, mm1

 punpcklbw mm2, mm1

 paddw mm5, mm0

 paddw mm2, mm4

 packuswb mm5, mm1

 packuswb mm2, mm1

 movd [rcx], mm5

 movd [rcx+rdx], mm2
 lea rcx, [rcx+rdx*2]

 movd mm5, [rcx]

 movd mm2, [rcx+rdx]

 psraw mm6, 6

 psraw mm7, 6

 punpcklbw mm5, mm1

 punpcklbw mm2, mm1

 paddw mm5, mm6

 paddw mm2, mm7

 packuswb mm5, mm1

 packuswb mm2, mm1

 movd [rcx], mm5

 movd [rcx+rdx], mm2

 movq mm0, [rsp+8 ]

 movq mm4, [rsp+8+16]

 movq mm6, [rsp+8+32]
 lea rcx, [rcx+rdx*2]

 movd mm5, [rcx]

 movd mm2, [rcx+rdx]

 psraw mm3, 6

 psraw mm0, 6

 punpcklbw mm5, mm1

 punpcklbw mm2, mm1

 paddw mm5, mm3

 paddw mm2, mm0

 packuswb mm5, mm1

 packuswb mm2, mm1

 movd [rcx], mm5

 movd [rcx+rdx], mm2
 lea rcx, [rcx+rdx*2]

 movd mm5, [rcx]

 movd mm2, [rcx+rdx]

 psraw mm4, 6

 psraw mm6, 6

 punpcklbw mm5, mm1

 punpcklbw mm2, mm1

 paddw mm5, mm4

 paddw mm2, mm6

 packuswb mm5, mm1

 packuswb mm2, mm1

 movd [rcx], mm5

 movd [rcx+rdx], mm2
%line 223+1 libavcodec/x86/h264_idct.asm

 add rsp, 132
 times (($$-$)>>31)+1 rep
%line 225+0 libavcodec/x86/h264_idct.asm
 ret
%line 226+1 libavcodec/x86/h264_idct.asm


%line 278+1 libavcodec/x86/h264_idct.asm


%line 279+0 libavcodec/x86/h264_idct.asm


%line 280+1 libavcodec/x86/h264_idct.asm

[global ff_h264_idct8_add_8_sse2:function hidden]
%line 281+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct8_add_8_sse2:

%line 282+1 libavcodec/x86/h264_idct.asm
 movsxd rdx, edx

%line 283+0 libavcodec/x86/h264_idct.asm
 movdqa xmm7, [rsi+112]

 movdqa xmm6, [rsi+ 96]

 movdqa xmm5, [rsi+ 80]

 movdqa xmm3, [rsi+ 48]

 movdqa xmm2, [rsi+ 32]

 movdqa xmm1, [rsi+ 16]

 MOVDQA xmm0, xmm1
 psraw xmm0, 1

 MOVDQA xmm4, xmm5
 psraw xmm4, 1

 paddw xmm4, xmm5

 paddw xmm0, xmm1

 paddw xmm4, xmm7

 paddw xmm0, xmm5

 psubw xmm4, xmm1

 paddw xmm0, xmm3


 psubw xmm1, xmm3

 psubw xmm5, xmm3

 psraw xmm3, 1

 paddw xmm1, xmm7

 psubw xmm5, xmm7

 psraw xmm7, 1

 psubw xmm1, xmm3

 psubw xmm5, xmm7


 MOVDQA xmm7, xmm0
 psraw xmm7, 2

 MOVDQA xmm3, xmm4
 psraw xmm3, 2

 paddw xmm3, xmm1

 psraw xmm1, 2

 paddw xmm7, xmm5

 psraw xmm5, 2

 psubw xmm1, xmm4

 psubw xmm0, xmm5


 MOVDQA xmm5, xmm6
 psraw xmm5, 1

 MOVDQA xmm4, xmm2
 psraw xmm4, 1

 paddw xmm5, xmm2

 psubw xmm4, xmm6


 movdqa xmm2, [rsi]

 movdqa xmm6, [rsi+ 64]

 paddw xmm6, xmm2

 paddw xmm2, xmm2

 psubw xmm2, xmm6

 paddw xmm5, xmm6

 paddw xmm6, xmm6

 psubw xmm6, xmm5

 paddw xmm4, xmm2

 paddw xmm2, xmm2

 psubw xmm2, xmm4

 paddw xmm0, xmm5

 paddw xmm5, xmm5

 psubw xmm5, xmm0

 paddw xmm1, xmm4

 paddw xmm4, xmm4

 psubw xmm4, xmm1

 paddw xmm3, xmm2

 paddw xmm2, xmm2

 psubw xmm2, xmm3

 paddw xmm7, xmm6

 paddw xmm6, xmm6

 psubw xmm6, xmm7

 movdqa xmm8, xmm0

 punpcklwd xmm0, xmm1

 punpckhwd xmm8, xmm1

 movdqa xmm1, xmm3

 punpcklwd xmm3, xmm7

 punpckhwd xmm1, xmm7

 movdqa xmm7, xmm6

 punpcklwd xmm6, xmm2

 punpckhwd xmm7, xmm2

 movdqa xmm2, xmm4

 punpcklwd xmm4, xmm5

 punpckhwd xmm2, xmm5

 movdqa xmm5, xmm0

 punpckldq xmm0, xmm3

 punpckhdq xmm5, xmm3

 movdqa xmm3, xmm8

 punpckldq xmm8, xmm1

 punpckhdq xmm3, xmm1

 movdqa xmm1, xmm6

 punpckldq xmm6, xmm4

 punpckhdq xmm1, xmm4

 movdqa xmm4, xmm7

 punpckldq xmm7, xmm2

 punpckhdq xmm4, xmm2

 movdqa xmm2, xmm0

 punpcklqdq xmm0, xmm6

 punpckhqdq xmm2, xmm6

 movdqa xmm6, xmm8

 punpcklqdq xmm8, xmm7

 punpckhqdq xmm6, xmm7

 movdqa xmm7, xmm5

 punpcklqdq xmm5, xmm1

 punpckhqdq xmm7, xmm1

 movdqa xmm1, xmm3

 punpcklqdq xmm3, xmm4

 punpckhqdq xmm1, xmm4

 paddw xmm0, [ff_pw_32]


 MOVDQA xmm4, xmm2
 psraw xmm4, 1

 MOVDQA xmm9, xmm6
 psraw xmm9, 1

 paddw xmm9, xmm6

 paddw xmm4, xmm2

 paddw xmm9, xmm1

 paddw xmm4, xmm6

 psubw xmm9, xmm2

 paddw xmm4, xmm7


 psubw xmm2, xmm7

 psubw xmm6, xmm7

 psraw xmm7, 1

 paddw xmm2, xmm1

 psubw xmm6, xmm1

 psraw xmm1, 1

 psubw xmm2, xmm7

 psubw xmm6, xmm1


 MOVDQA xmm1, xmm4
 psraw xmm1, 2

 MOVDQA xmm7, xmm9
 psraw xmm7, 2

 paddw xmm7, xmm2

 psraw xmm2, 2

 paddw xmm1, xmm6

 psraw xmm6, 2

 psubw xmm2, xmm9

 psubw xmm4, xmm6


 MOVDQA xmm6, xmm3
 psraw xmm6, 1

 MOVDQA xmm9, xmm5
 psraw xmm9, 1

 paddw xmm6, xmm5

 psubw xmm9, xmm3


 movdqa xmm5, xmm0

 movdqa xmm3, xmm8

 paddw xmm3, xmm5

 paddw xmm5, xmm5

 psubw xmm5, xmm3

 paddw xmm6, xmm3

 paddw xmm3, xmm3

 psubw xmm3, xmm6

 paddw xmm9, xmm5

 paddw xmm5, xmm5

 psubw xmm5, xmm9

 paddw xmm4, xmm6

 paddw xmm6, xmm6

 psubw xmm6, xmm4

 paddw xmm2, xmm9

 paddw xmm9, xmm9

 psubw xmm9, xmm2

 paddw xmm7, xmm5

 paddw xmm5, xmm5

 psubw xmm5, xmm7

 paddw xmm1, xmm3

 paddw xmm3, xmm3

 psubw xmm3, xmm1


 pxor xmm8, xmm8
 lea rcx, [rdx*3]

 movq xmm0, [rdi ]

 punpcklbw xmm0, xmm8

 psraw xmm4, 6

 paddsw xmm4, xmm0

 packuswb xmm4, xmm4

 movq [rdi ], xmm4

 movq xmm0, [rdi+rdx ]

 punpcklbw xmm0, xmm8

 psraw xmm2, 6

 paddsw xmm2, xmm0

 packuswb xmm2, xmm2

 movq [rdi+rdx ], xmm2

 movq xmm0, [rdi+rdx*2]

 punpcklbw xmm0, xmm8

 psraw xmm7, 6

 paddsw xmm7, xmm0

 packuswb xmm7, xmm7

 movq [rdi+rdx*2], xmm7

 movq xmm0, [rdi+rcx ]

 punpcklbw xmm0, xmm8

 psraw xmm1, 6

 paddsw xmm1, xmm0

 packuswb xmm1, xmm1

 movq [rdi+rcx ], xmm1

 movdqa [rsi+ 0], xmm8

 movdqa [rsi+ 16], xmm8

 movdqa [rsi+ 32], xmm8

 movdqa [rsi+ 48], xmm8

 movdqa [rsi+ 64], xmm8

 movdqa [rsi+ 80], xmm8

 movdqa [rsi+ 96], xmm8

 movdqa [rsi+112], xmm8
 lea rdi, [rdi+rdx*4]

 movq xmm0, [rdi ]

 punpcklbw xmm0, xmm8

 psraw xmm3, 6

 paddsw xmm3, xmm0

 packuswb xmm3, xmm3

 movq [rdi ], xmm3

 movq xmm0, [rdi+rdx ]

 punpcklbw xmm0, xmm8

 psraw xmm5, 6

 paddsw xmm5, xmm0

 packuswb xmm5, xmm5

 movq [rdi+rdx ], xmm5

 movq xmm0, [rdi+rdx*2]

 punpcklbw xmm0, xmm8

 psraw xmm9, 6

 paddsw xmm9, xmm0

 packuswb xmm9, xmm9

 movq [rdi+rdx*2], xmm9

 movq xmm0, [rdi+rcx ]

 punpcklbw xmm0, xmm8

 psraw xmm6, 6

 paddsw xmm6, xmm0

 packuswb xmm6, xmm6

 movq [rdi+rcx ], xmm6
%line 284+1 libavcodec/x86/h264_idct.asm
 times (($$-$)>>31)+1 rep
%line 284+0 libavcodec/x86/h264_idct.asm
 ret
%line 285+1 libavcodec/x86/h264_idct.asm

%line 297+1 libavcodec/x86/h264_idct.asm

%line 316+1 libavcodec/x86/h264_idct.asm


%line 317+0 libavcodec/x86/h264_idct.asm


%line 318+1 libavcodec/x86/h264_idct.asm


[global ff_h264_idct_dc_add_8_mmxext:function hidden]
%line 320+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_dc_add_8_mmxext:

%line 321+1 libavcodec/x86/h264_idct.asm
 movsxd rdx, edx
 movsx rcx, word [rsi]
 mov dword [rsi], 0
 add rcx, 32
%line 324+0 libavcodec/x86/h264_idct.asm
 sar rcx, 6

 movd mm0, ecx
 lea rcx, [rdx*3]
 pshufw mm0, mm0, 0

 pxor mm1, mm1

 psubw mm1, mm0

 packuswb mm0, mm0

 packuswb mm1, mm1
%line 325+1 libavcodec/x86/h264_idct.asm

%line 325+0 libavcodec/x86/h264_idct.asm
 movd mm2, [rdi ]

 movd mm3, [rdi+rdx ]

 movd mm4, [rdi+rdx*2]

 movd mm5, [rdi+rcx ]

 paddusb mm2, mm0

 paddusb mm3, mm0

 paddusb mm4, mm0

 paddusb mm5, mm0

 psubusb mm2, mm1

 psubusb mm3, mm1

 psubusb mm4, mm1

 psubusb mm5, mm1

 movd [rdi ], mm2

 movd [rdi+rdx ], mm3

 movd [rdi+rdx*2], mm4

 movd [rdi+rcx ], mm5
%line 326+1 libavcodec/x86/h264_idct.asm
 times (($$-$)>>31)+1 rep
%line 326+0 libavcodec/x86/h264_idct.asm
 ret
%line 327+1 libavcodec/x86/h264_idct.asm


[global ff_h264_idct8_dc_add_8_mmxext:function hidden]
%line 329+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct8_dc_add_8_mmxext:

%line 330+1 libavcodec/x86/h264_idct.asm
 movsxd rdx, edx
 movsx rcx, word [rsi]
 mov dword [rsi], 0
 add rcx, 32
%line 333+0 libavcodec/x86/h264_idct.asm
 sar rcx, 6

 movd mm0, ecx
 lea rcx, [rdx*3]
 pshufw mm0, mm0, 0

 pxor mm1, mm1

 psubw mm1, mm0

 packuswb mm0, mm0

 packuswb mm1, mm1
%line 334+1 libavcodec/x86/h264_idct.asm

%line 334+0 libavcodec/x86/h264_idct.asm
 movq mm2, [rdi ]

 movq mm3, [rdi+rdx ]

 movq mm4, [rdi+rdx*2]

 movq mm5, [rdi+rcx ]

 paddusb mm2, mm0

 paddusb mm3, mm0

 paddusb mm4, mm0

 paddusb mm5, mm0

 psubusb mm2, mm1

 psubusb mm3, mm1

 psubusb mm4, mm1

 psubusb mm5, mm1

 movq [rdi ], mm2

 movq [rdi+rdx ], mm3

 movq [rdi+rdx*2], mm4

 movq [rdi+rcx ], mm5
%line 335+1 libavcodec/x86/h264_idct.asm
 lea rdi, [rdi+rdx*4]

%line 336+0 libavcodec/x86/h264_idct.asm
 movq mm2, [rdi ]

 movq mm3, [rdi+rdx ]

 movq mm4, [rdi+rdx*2]

 movq mm5, [rdi+rcx ]

 paddusb mm2, mm0

 paddusb mm3, mm0

 paddusb mm4, mm0

 paddusb mm5, mm0

 psubusb mm2, mm1

 psubusb mm3, mm1

 psubusb mm4, mm1

 psubusb mm5, mm1

 movq [rdi ], mm2

 movq [rdi+rdx ], mm3

 movq [rdi+rdx*2], mm4

 movq [rdi+rcx ], mm5
%line 337+1 libavcodec/x86/h264_idct.asm
 times (($$-$)>>31)+1 rep
%line 337+0 libavcodec/x86/h264_idct.asm
 ret
%line 359+1 libavcodec/x86/h264_idct.asm


%line 360+0 libavcodec/x86/h264_idct.asm


%line 361+1 libavcodec/x86/h264_idct.asm

[global ff_h264_idct_add16_8_mmx:function hidden]
%line 364+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add16_8_mmx:


%line 365+1 libavcodec/x86/h264_idct.asm
 movsxd rcx, ecx
 xor R9, R9
%line 370+1 libavcodec/x86/h264_idct.asm
.nextblock:
 movzx rax, byte [scan8_mem+R9]
 movzx rax, byte [R8+rax]
 test rax, rax
 jz .skipblock
%line 374+0 libavcodec/x86/h264_idct.asm
 ..@3353.branch_instr equ $
%line 375+1 libavcodec/x86/h264_idct.asm
 mov eax, dword [rsi+R9*4]
 lea rax, [rdi+rax]

%line 377+0 libavcodec/x86/h264_idct.asm

 movq mm0, [rdx]

 movq mm1, [rdx+8]

 movq mm2, [rdx+16]

 movq mm3, [rdx+24]


 MOVQ mm4, mm1
 psraw mm4, 1

 MOVQ mm5, mm3
 psraw mm5, 1

 paddw mm5, mm1

 psubw mm4, mm3


 movq mm3, mm2

 paddw mm2, mm0

 psubw mm0, mm3


 movq mm3, mm5

 paddw mm5, mm2

 psubw mm2, mm3

 movq mm3, mm4

 paddw mm4, mm0

 psubw mm0, mm3

 movq mm6, [ff_pw_32]

 movq mm1, mm5

 punpcklwd mm5, mm4

 punpckhwd mm1, mm4

 movq mm4, mm0

 punpcklwd mm0, mm2

 punpckhwd mm4, mm2

 movq mm2, mm5

 punpckldq mm5, mm0

 punpckhdq mm2, mm0

 movq mm0, mm1

 punpckldq mm1, mm4

 punpckhdq mm0, mm4

 paddw mm5, mm6

 MOVQ mm4, mm2
 psraw mm4, 1

 MOVQ mm3, mm0
 psraw mm3, 1

 paddw mm3, mm2

 psubw mm4, mm0


 movq mm0, mm1

 paddw mm1, mm5

 psubw mm5, mm0


 movq mm0, mm3

 paddw mm3, mm1

 psubw mm1, mm0

 movq mm0, mm4

 paddw mm4, mm5

 psubw mm5, mm0

 pxor mm7, mm7

 movq [rdx+ 0], mm7

 movq [rdx+ 8], mm7

 movq [rdx+16], mm7

 movq [rdx+24], mm7


 movd mm2, [rax]

 movd mm0, [rax+rcx]

 psraw mm3, 6

 psraw mm4, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm3

 paddw mm0, mm4

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rax], mm2

 movd [rax+rcx], mm0
 lea rax, [rax+rcx*2]

 movd mm2, [rax]

 movd mm0, [rax+rcx]

 psraw mm5, 6

 psraw mm1, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm5

 paddw mm0, mm1

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rax], mm2

 movd [rax+rcx], mm0
%line 378+1 libavcodec/x86/h264_idct.asm
.skipblock:
 inc R9
 add rdx, 32
 cmp R9, 16
 jl .nextblock
%line 382+0 libavcodec/x86/h264_idct.asm
 ..@3573.branch_instr equ $
%line 383+1 libavcodec/x86/h264_idct.asm
 rep ret


[global ff_h264_idct8_add4_8_mmx:function hidden]
%line 388+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct8_add4_8_mmx:


%line 389+1 libavcodec/x86/h264_idct.asm
 movsxd rcx, ecx

 sub rsp, 132

 xor R9, R9
%line 397+1 libavcodec/x86/h264_idct.asm
.nextblock:
 movzx rax, byte [scan8_mem+R9]
 movzx rax, byte [R8+rax]
 test rax, rax
 jz .skipblock
%line 401+0 libavcodec/x86/h264_idct.asm
 ..@3687.branch_instr equ $
%line 402+1 libavcodec/x86/h264_idct.asm
 mov eax, dword [rsi+R9*4]
 add rax, rdi
 add word [rdx], 32

%line 405+0 libavcodec/x86/h264_idct.asm
 movq mm7, [rdx+112]

 movq mm6, [rdx+ 96]

 movq mm5, [rdx+ 80]

 movq mm3, [rdx+ 48]

 movq mm2, [rdx+ 32]

 movq mm1, [rdx+ 16]

 MOVQ mm0, mm1
 psraw mm0, 1

 MOVQ mm4, mm5
 psraw mm4, 1

 paddw mm4, mm5

 paddw mm0, mm1

 paddw mm4, mm7

 paddw mm0, mm5

 psubw mm4, mm1

 paddw mm0, mm3


 psubw mm1, mm3

 psubw mm5, mm3

 psraw mm3, 1

 paddw mm1, mm7

 psubw mm5, mm7

 psraw mm7, 1

 psubw mm1, mm3

 psubw mm5, mm7


 MOVQ mm7, mm0
 psraw mm7, 2

 MOVQ mm3, mm4
 psraw mm3, 2

 paddw mm3, mm1

 psraw mm1, 2

 paddw mm7, mm5

 psraw mm5, 2

 psubw mm1, mm4

 psubw mm0, mm5


 MOVQ mm5, mm6
 psraw mm5, 1

 MOVQ mm4, mm2
 psraw mm4, 1

 paddw mm5, mm2

 psubw mm4, mm6


 movq mm2, [rdx]

 movq mm6, [rdx+ 64]

 paddw mm6, mm2

 paddw mm2, mm2

 psubw mm2, mm6

 paddw mm5, mm6

 paddw mm6, mm6

 psubw mm6, mm5

 paddw mm4, mm2

 paddw mm2, mm2

 psubw mm2, mm4

 paddw mm0, mm5

 paddw mm5, mm5

 psubw mm5, mm0

 paddw mm1, mm4

 paddw mm4, mm4

 psubw mm4, mm1

 paddw mm3, mm2

 paddw mm2, mm2

 psubw mm2, mm3

 paddw mm7, mm6

 paddw mm6, mm6

 psubw mm6, mm7

 movq [rdx], mm5

 movq mm5, mm0

 punpcklwd mm0, mm1

 punpckhwd mm5, mm1

 movq mm1, mm3

 punpcklwd mm3, mm7

 punpckhwd mm1, mm7

 movq mm7, mm0

 punpckldq mm0, mm3

 punpckhdq mm7, mm3

 movq mm3, mm5

 punpckldq mm5, mm1

 punpckhdq mm3, mm1

 movq mm1, [rdx]

 movq [rsp ], mm0

 movq [rsp+16], mm7

 movq [rsp+32], mm5

 movq [rsp+48], mm3

 movq mm3, mm6

 punpcklwd mm6, mm2

 punpckhwd mm3, mm2

 movq mm2, mm4

 punpcklwd mm4, mm1

 punpckhwd mm2, mm1

 movq mm1, mm6

 punpckldq mm6, mm4

 punpckhdq mm1, mm4

 movq mm4, mm3

 punpckldq mm3, mm2

 punpckhdq mm4, mm2

 movq [rsp+ 8], mm6

 movq [rsp+24], mm1

 movq [rsp+40], mm3

 movq [rsp+56], mm4
%line 406+1 libavcodec/x86/h264_idct.asm

%line 406+0 libavcodec/x86/h264_idct.asm
 movq mm4, [rdx+8+112]

 movq mm3, [rdx+8+ 96]

 movq mm1, [rdx+8+ 80]

 movq mm2, [rdx+8+ 48]

 movq mm5, [rdx+8+ 32]

 movq mm7, [rdx+8+ 16]

 MOVQ mm0, mm7
 psraw mm0, 1

 MOVQ mm6, mm1
 psraw mm6, 1

 paddw mm6, mm1

 paddw mm0, mm7

 paddw mm6, mm4

 paddw mm0, mm1

 psubw mm6, mm7

 paddw mm0, mm2


 psubw mm7, mm2

 psubw mm1, mm2

 psraw mm2, 1

 paddw mm7, mm4

 psubw mm1, mm4

 psraw mm4, 1

 psubw mm7, mm2

 psubw mm1, mm4


 MOVQ mm4, mm0
 psraw mm4, 2

 MOVQ mm2, mm6
 psraw mm2, 2

 paddw mm2, mm7

 psraw mm7, 2

 paddw mm4, mm1

 psraw mm1, 2

 psubw mm7, mm6

 psubw mm0, mm1


 MOVQ mm1, mm3
 psraw mm1, 1

 MOVQ mm6, mm5
 psraw mm6, 1

 paddw mm1, mm5

 psubw mm6, mm3


 movq mm5, [rdx+8]

 movq mm3, [rdx+8+ 64]

 paddw mm3, mm5

 paddw mm5, mm5

 psubw mm5, mm3

 paddw mm1, mm3

 paddw mm3, mm3

 psubw mm3, mm1

 paddw mm6, mm5

 paddw mm5, mm5

 psubw mm5, mm6

 paddw mm0, mm1

 paddw mm1, mm1

 psubw mm1, mm0

 paddw mm7, mm6

 paddw mm6, mm6

 psubw mm6, mm7

 paddw mm2, mm5

 paddw mm5, mm5

 psubw mm5, mm2

 paddw mm4, mm3

 paddw mm3, mm3

 psubw mm3, mm4

 movq [rdx+8], mm1

 movq mm1, mm0

 punpcklwd mm0, mm7

 punpckhwd mm1, mm7

 movq mm7, mm2

 punpcklwd mm2, mm4

 punpckhwd mm7, mm4

 movq mm4, mm0

 punpckldq mm0, mm2

 punpckhdq mm4, mm2

 movq mm2, mm1

 punpckldq mm1, mm7

 punpckhdq mm2, mm7

 movq mm7, [rdx+8]

 movq [rsp+64 ], mm0

 movq [rsp+64+16], mm4

 movq [rsp+64+32], mm1

 movq [rsp+64+48], mm2

 movq mm2, mm3

 punpcklwd mm3, mm5

 punpckhwd mm2, mm5

 movq mm5, mm6

 punpcklwd mm6, mm7

 punpckhwd mm5, mm7

 movq mm7, mm3

 punpckldq mm3, mm6

 punpckhdq mm7, mm6

 movq mm6, mm2

 punpckldq mm2, mm5

 punpckhdq mm6, mm5

 movq [rsp+64+ 8], mm3

 movq [rsp+64+24], mm7

 movq [rsp+64+40], mm2

 movq [rsp+64+56], mm6
%line 407+1 libavcodec/x86/h264_idct.asm

%line 407+0 libavcodec/x86/h264_idct.asm
 movq mm6, [rsp+112]

 movq mm2, [rsp+ 96]

 movq mm7, [rsp+ 80]

 movq mm5, [rsp+ 48]

 movq mm1, [rsp+ 32]

 movq mm4, [rsp+ 16]

 MOVQ mm0, mm4
 psraw mm0, 1

 MOVQ mm3, mm7
 psraw mm3, 1

 paddw mm3, mm7

 paddw mm0, mm4

 paddw mm3, mm6

 paddw mm0, mm7

 psubw mm3, mm4

 paddw mm0, mm5


 psubw mm4, mm5

 psubw mm7, mm5

 psraw mm5, 1

 paddw mm4, mm6

 psubw mm7, mm6

 psraw mm6, 1

 psubw mm4, mm5

 psubw mm7, mm6


 MOVQ mm6, mm0
 psraw mm6, 2

 MOVQ mm5, mm3
 psraw mm5, 2

 paddw mm5, mm4

 psraw mm4, 2

 paddw mm6, mm7

 psraw mm7, 2

 psubw mm4, mm3

 psubw mm0, mm7


 MOVQ mm7, mm2
 psraw mm7, 1

 MOVQ mm3, mm1
 psraw mm3, 1

 paddw mm7, mm1

 psubw mm3, mm2


 movq mm1, [rsp]

 movq mm2, [rsp+ 64]

 paddw mm2, mm1

 paddw mm1, mm1

 psubw mm1, mm2

 paddw mm7, mm2

 paddw mm2, mm2

 psubw mm2, mm7

 paddw mm3, mm1

 paddw mm1, mm1

 psubw mm1, mm3

 paddw mm0, mm7

 paddw mm7, mm7

 psubw mm7, mm0

 paddw mm4, mm3

 paddw mm3, mm3

 psubw mm3, mm4

 paddw mm5, mm1

 paddw mm1, mm1

 psubw mm1, mm5

 paddw mm6, mm2

 paddw mm2, mm2

 psubw mm2, mm6

 movq [rsp ], mm1

 movq [rsp+16], mm3

 movq [rsp+32], mm7


 pxor mm7, mm7

 movq [rdx+ 0], mm7

 movq [rdx+ 8], mm7

 movq [rdx+ 16], mm7

 movq [rdx+ 24], mm7

 movq [rdx+ 32], mm7

 movq [rdx+ 40], mm7

 movq [rdx+ 48], mm7

 movq [rdx+ 56], mm7

 movq [rdx+ 64], mm7

 movq [rdx+ 72], mm7

 movq [rdx+ 80], mm7

 movq [rdx+ 88], mm7

 movq [rdx+ 96], mm7

 movq [rdx+104], mm7

 movq [rdx+112], mm7

 movq [rdx+120], mm7

 movd mm1, [rax]

 movd mm3, [rax+rcx]

 psraw mm0, 6

 psraw mm4, 6

 punpcklbw mm1, mm7

 punpcklbw mm3, mm7

 paddw mm1, mm0

 paddw mm3, mm4

 packuswb mm1, mm7

 packuswb mm3, mm7

 movd [rax], mm1

 movd [rax+rcx], mm3
 lea rax, [rax+rcx*2]

 movd mm1, [rax]

 movd mm3, [rax+rcx]

 psraw mm5, 6

 psraw mm6, 6

 punpcklbw mm1, mm7

 punpcklbw mm3, mm7

 paddw mm1, mm5

 paddw mm3, mm6

 packuswb mm1, mm7

 packuswb mm3, mm7

 movd [rax], mm1

 movd [rax+rcx], mm3

 movq mm0, [rsp ]

 movq mm4, [rsp+16]

 movq mm5, [rsp+32]
 lea rax, [rax+rcx*2]

 movd mm1, [rax]

 movd mm3, [rax+rcx]

 psraw mm2, 6

 psraw mm0, 6

 punpcklbw mm1, mm7

 punpcklbw mm3, mm7

 paddw mm1, mm2

 paddw mm3, mm0

 packuswb mm1, mm7

 packuswb mm3, mm7

 movd [rax], mm1

 movd [rax+rcx], mm3
 lea rax, [rax+rcx*2]

 movd mm1, [rax]

 movd mm3, [rax+rcx]

 psraw mm4, 6

 psraw mm5, 6

 punpcklbw mm1, mm7

 punpcklbw mm3, mm7

 paddw mm1, mm4

 paddw mm3, mm5

 packuswb mm1, mm7

 packuswb mm3, mm7

 movd [rax], mm1

 movd [rax+rcx], mm3
%line 408+1 libavcodec/x86/h264_idct.asm
 mov eax, dword [rsi+R9*4]
 lea rax, [rdi+rax+4]

%line 410+0 libavcodec/x86/h264_idct.asm
 movq mm7, [rsp+8+112]

 movq mm3, [rsp+8+ 96]

 movq mm1, [rsp+8+ 80]

 movq mm6, [rsp+8+ 48]

 movq mm5, [rsp+8+ 32]

 movq mm4, [rsp+8+ 16]

 MOVQ mm0, mm4
 psraw mm0, 1

 MOVQ mm2, mm1
 psraw mm2, 1

 paddw mm2, mm1

 paddw mm0, mm4

 paddw mm2, mm7

 paddw mm0, mm1

 psubw mm2, mm4

 paddw mm0, mm6


 psubw mm4, mm6

 psubw mm1, mm6

 psraw mm6, 1

 paddw mm4, mm7

 psubw mm1, mm7

 psraw mm7, 1

 psubw mm4, mm6

 psubw mm1, mm7


 MOVQ mm7, mm0
 psraw mm7, 2

 MOVQ mm6, mm2
 psraw mm6, 2

 paddw mm6, mm4

 psraw mm4, 2

 paddw mm7, mm1

 psraw mm1, 2

 psubw mm4, mm2

 psubw mm0, mm1


 MOVQ mm1, mm3
 psraw mm1, 1

 MOVQ mm2, mm5
 psraw mm2, 1

 paddw mm1, mm5

 psubw mm2, mm3


 movq mm5, [rsp+8]

 movq mm3, [rsp+8+ 64]

 paddw mm3, mm5

 paddw mm5, mm5

 psubw mm5, mm3

 paddw mm1, mm3

 paddw mm3, mm3

 psubw mm3, mm1

 paddw mm2, mm5

 paddw mm5, mm5

 psubw mm5, mm2

 paddw mm0, mm1

 paddw mm1, mm1

 psubw mm1, mm0

 paddw mm4, mm2

 paddw mm2, mm2

 psubw mm2, mm4

 paddw mm6, mm5

 paddw mm5, mm5

 psubw mm5, mm6

 paddw mm7, mm3

 paddw mm3, mm3

 psubw mm3, mm7

 movq [rsp+8 ], mm5

 movq [rsp+8+16], mm2

 movq [rsp+8+32], mm1


 pxor mm1, mm1

 movd mm5, [rax]

 movd mm2, [rax+rcx]

 psraw mm0, 6

 psraw mm4, 6

 punpcklbw mm5, mm1

 punpcklbw mm2, mm1

 paddw mm5, mm0

 paddw mm2, mm4

 packuswb mm5, mm1

 packuswb mm2, mm1

 movd [rax], mm5

 movd [rax+rcx], mm2
 lea rax, [rax+rcx*2]

 movd mm5, [rax]

 movd mm2, [rax+rcx]

 psraw mm6, 6

 psraw mm7, 6

 punpcklbw mm5, mm1

 punpcklbw mm2, mm1

 paddw mm5, mm6

 paddw mm2, mm7

 packuswb mm5, mm1

 packuswb mm2, mm1

 movd [rax], mm5

 movd [rax+rcx], mm2

 movq mm0, [rsp+8 ]

 movq mm4, [rsp+8+16]

 movq mm6, [rsp+8+32]
 lea rax, [rax+rcx*2]

 movd mm5, [rax]

 movd mm2, [rax+rcx]

 psraw mm3, 6

 psraw mm0, 6

 punpcklbw mm5, mm1

 punpcklbw mm2, mm1

 paddw mm5, mm3

 paddw mm2, mm0

 packuswb mm5, mm1

 packuswb mm2, mm1

 movd [rax], mm5

 movd [rax+rcx], mm2
 lea rax, [rax+rcx*2]

 movd mm5, [rax]

 movd mm2, [rax+rcx]

 psraw mm4, 6

 psraw mm6, 6

 punpcklbw mm5, mm1

 punpcklbw mm2, mm1

 paddw mm5, mm4

 paddw mm2, mm6

 packuswb mm5, mm1

 packuswb mm2, mm1

 movd [rax], mm5

 movd [rax+rcx], mm2
%line 411+1 libavcodec/x86/h264_idct.asm
.skipblock:
 add R9, 4
 sub rdx, -128
 cmp R9, 16
 jl .nextblock
%line 415+0 libavcodec/x86/h264_idct.asm
 ..@4821.branch_instr equ $
%line 416+1 libavcodec/x86/h264_idct.asm
 add rsp, 132
 times ((..@4821.branch_instr-$)>>31)+1 rep
%line 417+0 libavcodec/x86/h264_idct.asm
 ret
%line 418+1 libavcodec/x86/h264_idct.asm


%line 419+0 libavcodec/x86/h264_idct.asm


%line 420+1 libavcodec/x86/h264_idct.asm

[global ff_h264_idct_add16_8_mmxext:function hidden]
%line 423+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add16_8_mmxext:


%line 424+1 libavcodec/x86/h264_idct.asm
 movsxd rcx, ecx
 xor R9, R9
%line 429+1 libavcodec/x86/h264_idct.asm
.nextblock:
 movzx rax, byte [scan8_mem+R9]
 movzx rax, byte [R8+rax]
 test rax, rax
 jz .skipblock
%line 433+0 libavcodec/x86/h264_idct.asm
 ..@4958.branch_instr equ $
%line 434+1 libavcodec/x86/h264_idct.asm
 cmp rax, 1
 jnz .no_dc
%line 435+0 libavcodec/x86/h264_idct.asm
 ..@4959.branch_instr equ $
%line 436+1 libavcodec/x86/h264_idct.asm
 movsx rax, word [rdx]
 test rax, rax
 jz .no_dc
%line 438+0 libavcodec/x86/h264_idct.asm
 ..@4960.branch_instr equ $
%line 439+1 libavcodec/x86/h264_idct.asm
 mov word [rdx], 0
 add rax, 32
%line 440+0 libavcodec/x86/h264_idct.asm
 sar rax, 6

 movd mm0, eax
 lea rax, [rcx*3]
 pshufw mm0, mm0, 0

 pxor mm1, mm1

 psubw mm1, mm0

 packuswb mm0, mm0

 packuswb mm1, mm1
%line 445+1 libavcodec/x86/h264_idct.asm
 mov R10d, dword [rsi+R9*4]
 lea R10, [rdi+R10]

%line 447+0 libavcodec/x86/h264_idct.asm
 movd mm2, [R10 ]

 movd mm3, [R10+rcx ]

 movd mm4, [R10+rcx*2]

 movd mm5, [R10+rax ]

 paddusb mm2, mm0

 paddusb mm3, mm0

 paddusb mm4, mm0

 paddusb mm5, mm0

 psubusb mm2, mm1

 psubusb mm3, mm1

 psubusb mm4, mm1

 psubusb mm5, mm1

 movd [R10 ], mm2

 movd [R10+rcx ], mm3

 movd [R10+rcx*2], mm4

 movd [R10+rax ], mm5
%line 451+1 libavcodec/x86/h264_idct.asm
 inc R9
 add rdx, 32
 cmp R9, 16
 jl .nextblock
%line 454+0 libavcodec/x86/h264_idct.asm
 ..@5007.branch_instr equ $
%line 455+1 libavcodec/x86/h264_idct.asm
 rep ret
.no_dc:
 mov eax, dword [rsi+R9*4]
 add rax, rdi

%line 459+0 libavcodec/x86/h264_idct.asm

 movq mm0, [rdx]

 movq mm1, [rdx+8]

 movq mm2, [rdx+16]

 movq mm3, [rdx+24]


 MOVQ mm4, mm1
 psraw mm4, 1

 MOVQ mm5, mm3
 psraw mm5, 1

 paddw mm5, mm1

 psubw mm4, mm3


 movq mm3, mm2

 paddw mm2, mm0

 psubw mm0, mm3


 movq mm3, mm5

 paddw mm5, mm2

 psubw mm2, mm3

 movq mm3, mm4

 paddw mm4, mm0

 psubw mm0, mm3

 movq mm6, [ff_pw_32]

 movq mm1, mm5

 punpcklwd mm5, mm4

 punpckhwd mm1, mm4

 movq mm4, mm0

 punpcklwd mm0, mm2

 punpckhwd mm4, mm2

 movq mm2, mm5

 punpckldq mm5, mm0

 punpckhdq mm2, mm0

 movq mm0, mm1

 punpckldq mm1, mm4

 punpckhdq mm0, mm4

 paddw mm5, mm6

 MOVQ mm4, mm2
 psraw mm4, 1

 MOVQ mm3, mm0
 psraw mm3, 1

 paddw mm3, mm2

 psubw mm4, mm0


 movq mm0, mm1

 paddw mm1, mm5

 psubw mm5, mm0


 movq mm0, mm3

 paddw mm3, mm1

 psubw mm1, mm0

 movq mm0, mm4

 paddw mm4, mm5

 psubw mm5, mm0

 pxor mm7, mm7

 movq [rdx+ 0], mm7

 movq [rdx+ 8], mm7

 movq [rdx+16], mm7

 movq [rdx+24], mm7


 movd mm2, [rax]

 movd mm0, [rax+rcx]

 psraw mm3, 6

 psraw mm4, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm3

 paddw mm0, mm4

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rax], mm2

 movd [rax+rcx], mm0
 lea rax, [rax+rcx*2]

 movd mm2, [rax]

 movd mm0, [rax+rcx]

 psraw mm5, 6

 psraw mm1, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm5

 paddw mm0, mm1

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rax], mm2

 movd [rax+rcx], mm0
%line 460+1 libavcodec/x86/h264_idct.asm
.skipblock:
 inc R9
 add rdx, 32
 cmp R9, 16
 jl .nextblock
%line 464+0 libavcodec/x86/h264_idct.asm
 ..@5230.branch_instr equ $
%line 465+1 libavcodec/x86/h264_idct.asm
 rep ret


%line 467+0 libavcodec/x86/h264_idct.asm


%line 468+1 libavcodec/x86/h264_idct.asm

[global ff_h264_idct_add16intra_8_mmx:function hidden]
%line 471+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add16intra_8_mmx:


%line 472+1 libavcodec/x86/h264_idct.asm
 movsxd rcx, ecx
 xor R9, R9
%line 477+1 libavcodec/x86/h264_idct.asm
.nextblock:
 movzx rax, byte [scan8_mem+R9]
 movzx rax, byte [R8+rax]
 or ax, word [rdx]
 test rax, rax
 jz .skipblock
%line 482+0 libavcodec/x86/h264_idct.asm
 ..@5370.branch_instr equ $
%line 483+1 libavcodec/x86/h264_idct.asm
 mov eax, dword [rsi+R9*4]
 add rax, rdi

%line 485+0 libavcodec/x86/h264_idct.asm

 movq mm0, [rdx]

 movq mm1, [rdx+8]

 movq mm2, [rdx+16]

 movq mm3, [rdx+24]


 MOVQ mm4, mm1
 psraw mm4, 1

 MOVQ mm5, mm3
 psraw mm5, 1

 paddw mm5, mm1

 psubw mm4, mm3


 movq mm3, mm2

 paddw mm2, mm0

 psubw mm0, mm3


 movq mm3, mm5

 paddw mm5, mm2

 psubw mm2, mm3

 movq mm3, mm4

 paddw mm4, mm0

 psubw mm0, mm3

 movq mm6, [ff_pw_32]

 movq mm1, mm5

 punpcklwd mm5, mm4

 punpckhwd mm1, mm4

 movq mm4, mm0

 punpcklwd mm0, mm2

 punpckhwd mm4, mm2

 movq mm2, mm5

 punpckldq mm5, mm0

 punpckhdq mm2, mm0

 movq mm0, mm1

 punpckldq mm1, mm4

 punpckhdq mm0, mm4

 paddw mm5, mm6

 MOVQ mm4, mm2
 psraw mm4, 1

 MOVQ mm3, mm0
 psraw mm3, 1

 paddw mm3, mm2

 psubw mm4, mm0


 movq mm0, mm1

 paddw mm1, mm5

 psubw mm5, mm0


 movq mm0, mm3

 paddw mm3, mm1

 psubw mm1, mm0

 movq mm0, mm4

 paddw mm4, mm5

 psubw mm5, mm0

 pxor mm7, mm7

 movq [rdx+ 0], mm7

 movq [rdx+ 8], mm7

 movq [rdx+16], mm7

 movq [rdx+24], mm7


 movd mm2, [rax]

 movd mm0, [rax+rcx]

 psraw mm3, 6

 psraw mm4, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm3

 paddw mm0, mm4

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rax], mm2

 movd [rax+rcx], mm0
 lea rax, [rax+rcx*2]

 movd mm2, [rax]

 movd mm0, [rax+rcx]

 psraw mm5, 6

 psraw mm1, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm5

 paddw mm0, mm1

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rax], mm2

 movd [rax+rcx], mm0
%line 486+1 libavcodec/x86/h264_idct.asm
.skipblock:
 inc R9
 add rdx, 32
 cmp R9, 16
 jl .nextblock
%line 490+0 libavcodec/x86/h264_idct.asm
 ..@5591.branch_instr equ $
%line 491+1 libavcodec/x86/h264_idct.asm
 rep ret


%line 493+0 libavcodec/x86/h264_idct.asm


%line 494+1 libavcodec/x86/h264_idct.asm

[global ff_h264_idct_add16intra_8_mmxext:function hidden]
%line 497+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add16intra_8_mmxext:


%line 498+1 libavcodec/x86/h264_idct.asm
 movsxd rcx, ecx
 xor R9, R9
%line 503+1 libavcodec/x86/h264_idct.asm
.nextblock:
 movzx rax, byte [scan8_mem+R9]
 movzx rax, byte [R8+rax]
 test rax, rax
 jz .try_dc
%line 507+0 libavcodec/x86/h264_idct.asm
 ..@5724.branch_instr equ $
%line 508+1 libavcodec/x86/h264_idct.asm
 mov eax, dword [rsi+R9*4]
 lea rax, [rdi+rax]

%line 510+0 libavcodec/x86/h264_idct.asm

 movq mm0, [rdx]

 movq mm1, [rdx+8]

 movq mm2, [rdx+16]

 movq mm3, [rdx+24]


 MOVQ mm4, mm1
 psraw mm4, 1

 MOVQ mm5, mm3
 psraw mm5, 1

 paddw mm5, mm1

 psubw mm4, mm3


 movq mm3, mm2

 paddw mm2, mm0

 psubw mm0, mm3


 movq mm3, mm5

 paddw mm5, mm2

 psubw mm2, mm3

 movq mm3, mm4

 paddw mm4, mm0

 psubw mm0, mm3

 movq mm6, [ff_pw_32]

 movq mm1, mm5

 punpcklwd mm5, mm4

 punpckhwd mm1, mm4

 movq mm4, mm0

 punpcklwd mm0, mm2

 punpckhwd mm4, mm2

 movq mm2, mm5

 punpckldq mm5, mm0

 punpckhdq mm2, mm0

 movq mm0, mm1

 punpckldq mm1, mm4

 punpckhdq mm0, mm4

 paddw mm5, mm6

 MOVQ mm4, mm2
 psraw mm4, 1

 MOVQ mm3, mm0
 psraw mm3, 1

 paddw mm3, mm2

 psubw mm4, mm0


 movq mm0, mm1

 paddw mm1, mm5

 psubw mm5, mm0


 movq mm0, mm3

 paddw mm3, mm1

 psubw mm1, mm0

 movq mm0, mm4

 paddw mm4, mm5

 psubw mm5, mm0

 pxor mm7, mm7

 movq [rdx+ 0], mm7

 movq [rdx+ 8], mm7

 movq [rdx+16], mm7

 movq [rdx+24], mm7


 movd mm2, [rax]

 movd mm0, [rax+rcx]

 psraw mm3, 6

 psraw mm4, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm3

 paddw mm0, mm4

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rax], mm2

 movd [rax+rcx], mm0
 lea rax, [rax+rcx*2]

 movd mm2, [rax]

 movd mm0, [rax+rcx]

 psraw mm5, 6

 psraw mm1, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm5

 paddw mm0, mm1

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rax], mm2

 movd [rax+rcx], mm0
%line 511+1 libavcodec/x86/h264_idct.asm
 inc R9
 add rdx, 32
 cmp R9, 16
 jl .nextblock
%line 514+0 libavcodec/x86/h264_idct.asm
 ..@5944.branch_instr equ $
%line 515+1 libavcodec/x86/h264_idct.asm
 rep ret
.try_dc:
 movsx rax, word [rdx]
 test rax, rax
 jz .skipblock
%line 519+0 libavcodec/x86/h264_idct.asm
 ..@5947.branch_instr equ $
%line 520+1 libavcodec/x86/h264_idct.asm
 mov word [rdx], 0
 add rax, 32
%line 521+0 libavcodec/x86/h264_idct.asm
 sar rax, 6

 movd mm3, eax
 lea rax, [rcx*3]
 pshufw mm3, mm3, 0

 pxor mm4, mm4

 psubw mm4, mm3

 packuswb mm3, mm3

 packuswb mm4, mm4
%line 526+1 libavcodec/x86/h264_idct.asm
 mov R10d, dword [rsi+R9*4]
 add R10, rdi

%line 528+0 libavcodec/x86/h264_idct.asm
 movd mm5, [R10 ]

 movd mm1, [R10+rcx ]

 movd mm2, [R10+rcx*2]

 movd mm0, [R10+rax ]

 paddusb mm5, mm3

 paddusb mm1, mm3

 paddusb mm2, mm3

 paddusb mm0, mm3

 psubusb mm5, mm4

 psubusb mm1, mm4

 psubusb mm2, mm4

 psubusb mm0, mm4

 movd [R10 ], mm5

 movd [R10+rcx ], mm1

 movd [R10+rcx*2], mm2

 movd [R10+rax ], mm0
%line 532+1 libavcodec/x86/h264_idct.asm
.skipblock:
 inc R9
 add rdx, 32
 cmp R9, 16
 jl .nextblock
%line 536+0 libavcodec/x86/h264_idct.asm
 ..@5995.branch_instr equ $
%line 537+1 libavcodec/x86/h264_idct.asm
 rep ret


[global ff_h264_idct8_add4_8_mmxext:function hidden]
%line 542+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct8_add4_8_mmxext:


%line 543+1 libavcodec/x86/h264_idct.asm
 movsxd rcx, ecx

 sub rsp, 132

 xor R9, R9
%line 551+1 libavcodec/x86/h264_idct.asm
.nextblock:
 movzx rax, byte [scan8_mem+R9]
 movzx rax, byte [R8+rax]
 test rax, rax
 jz .skipblock
%line 555+0 libavcodec/x86/h264_idct.asm
 ..@6118.branch_instr equ $
%line 556+1 libavcodec/x86/h264_idct.asm
 cmp rax, 1
 jnz .no_dc
%line 557+0 libavcodec/x86/h264_idct.asm
 ..@6119.branch_instr equ $
%line 558+1 libavcodec/x86/h264_idct.asm
 movsx rax, word [rdx]
 test rax, rax
 jz .no_dc
%line 560+0 libavcodec/x86/h264_idct.asm
 ..@6120.branch_instr equ $
%line 561+1 libavcodec/x86/h264_idct.asm
 mov word [rdx], 0
 add rax, 32
%line 562+0 libavcodec/x86/h264_idct.asm
 sar rax, 6

 movd mm0, eax
 lea rax, [rcx*3]
 pshufw mm0, mm0, 0

 pxor mm1, mm1

 psubw mm1, mm0

 packuswb mm0, mm0

 packuswb mm1, mm1
%line 567+1 libavcodec/x86/h264_idct.asm
 mov R10d, dword [rsi+R9*4]
 lea R10, [rdi+R10]

%line 569+0 libavcodec/x86/h264_idct.asm
 movq mm2, [R10 ]

 movq mm3, [R10+rcx ]

 movq mm4, [R10+rcx*2]

 movq mm5, [R10+rax ]

 paddusb mm2, mm0

 paddusb mm3, mm0

 paddusb mm4, mm0

 paddusb mm5, mm0

 psubusb mm2, mm1

 psubusb mm3, mm1

 psubusb mm4, mm1

 psubusb mm5, mm1

 movq [R10 ], mm2

 movq [R10+rcx ], mm3

 movq [R10+rcx*2], mm4

 movq [R10+rax ], mm5
%line 570+1 libavcodec/x86/h264_idct.asm
 lea R10, [R10+rcx*4]

%line 571+0 libavcodec/x86/h264_idct.asm
 movq mm2, [R10 ]

 movq mm3, [R10+rcx ]

 movq mm4, [R10+rcx*2]

 movq mm5, [R10+rax ]

 paddusb mm2, mm0

 paddusb mm3, mm0

 paddusb mm4, mm0

 paddusb mm5, mm0

 psubusb mm2, mm1

 psubusb mm3, mm1

 psubusb mm4, mm1

 psubusb mm5, mm1

 movq [R10 ], mm2

 movq [R10+rcx ], mm3

 movq [R10+rcx*2], mm4

 movq [R10+rax ], mm5
%line 575+1 libavcodec/x86/h264_idct.asm
 add R9, 4
 sub rdx, -128
 cmp R9, 16
 jl .nextblock
%line 578+0 libavcodec/x86/h264_idct.asm
 ..@6202.branch_instr equ $
%line 579+1 libavcodec/x86/h264_idct.asm

 add rsp, 132
 times ((..@6202.branch_instr-$)>>31)+1 rep
%line 581+0 libavcodec/x86/h264_idct.asm
 ret
%line 582+1 libavcodec/x86/h264_idct.asm
.no_dc:
 mov eax, dword [rsi+R9*4]
 add rax, rdi
 add word [rdx], 32

%line 586+0 libavcodec/x86/h264_idct.asm
 movq mm7, [rdx+112]

 movq mm6, [rdx+ 96]

 movq mm5, [rdx+ 80]

 movq mm3, [rdx+ 48]

 movq mm2, [rdx+ 32]

 movq mm1, [rdx+ 16]

 MOVQ mm0, mm1
 psraw mm0, 1

 MOVQ mm4, mm5
 psraw mm4, 1

 paddw mm4, mm5

 paddw mm0, mm1

 paddw mm4, mm7

 paddw mm0, mm5

 psubw mm4, mm1

 paddw mm0, mm3


 psubw mm1, mm3

 psubw mm5, mm3

 psraw mm3, 1

 paddw mm1, mm7

 psubw mm5, mm7

 psraw mm7, 1

 psubw mm1, mm3

 psubw mm5, mm7


 MOVQ mm7, mm0
 psraw mm7, 2

 MOVQ mm3, mm4
 psraw mm3, 2

 paddw mm3, mm1

 psraw mm1, 2

 paddw mm7, mm5

 psraw mm5, 2

 psubw mm1, mm4

 psubw mm0, mm5


 MOVQ mm5, mm6
 psraw mm5, 1

 MOVQ mm4, mm2
 psraw mm4, 1

 paddw mm5, mm2

 psubw mm4, mm6


 movq mm2, [rdx]

 movq mm6, [rdx+ 64]

 paddw mm6, mm2

 paddw mm2, mm2

 psubw mm2, mm6

 paddw mm5, mm6

 paddw mm6, mm6

 psubw mm6, mm5

 paddw mm4, mm2

 paddw mm2, mm2

 psubw mm2, mm4

 paddw mm0, mm5

 paddw mm5, mm5

 psubw mm5, mm0

 paddw mm1, mm4

 paddw mm4, mm4

 psubw mm4, mm1

 paddw mm3, mm2

 paddw mm2, mm2

 psubw mm2, mm3

 paddw mm7, mm6

 paddw mm6, mm6

 psubw mm6, mm7

 movq [rdx], mm5

 movq mm5, mm0

 punpcklwd mm0, mm1

 punpckhwd mm5, mm1

 movq mm1, mm3

 punpcklwd mm3, mm7

 punpckhwd mm1, mm7

 movq mm7, mm0

 punpckldq mm0, mm3

 punpckhdq mm7, mm3

 movq mm3, mm5

 punpckldq mm5, mm1

 punpckhdq mm3, mm1

 movq mm1, [rdx]

 movq [rsp ], mm0

 movq [rsp+16], mm7

 movq [rsp+32], mm5

 movq [rsp+48], mm3

 movq mm3, mm6

 punpcklwd mm6, mm2

 punpckhwd mm3, mm2

 movq mm2, mm4

 punpcklwd mm4, mm1

 punpckhwd mm2, mm1

 movq mm1, mm6

 punpckldq mm6, mm4

 punpckhdq mm1, mm4

 movq mm4, mm3

 punpckldq mm3, mm2

 punpckhdq mm4, mm2

 movq [rsp+ 8], mm6

 movq [rsp+24], mm1

 movq [rsp+40], mm3

 movq [rsp+56], mm4
%line 587+1 libavcodec/x86/h264_idct.asm

%line 587+0 libavcodec/x86/h264_idct.asm
 movq mm4, [rdx+8+112]

 movq mm3, [rdx+8+ 96]

 movq mm1, [rdx+8+ 80]

 movq mm2, [rdx+8+ 48]

 movq mm5, [rdx+8+ 32]

 movq mm7, [rdx+8+ 16]

 MOVQ mm0, mm7
 psraw mm0, 1

 MOVQ mm6, mm1
 psraw mm6, 1

 paddw mm6, mm1

 paddw mm0, mm7

 paddw mm6, mm4

 paddw mm0, mm1

 psubw mm6, mm7

 paddw mm0, mm2


 psubw mm7, mm2

 psubw mm1, mm2

 psraw mm2, 1

 paddw mm7, mm4

 psubw mm1, mm4

 psraw mm4, 1

 psubw mm7, mm2

 psubw mm1, mm4


 MOVQ mm4, mm0
 psraw mm4, 2

 MOVQ mm2, mm6
 psraw mm2, 2

 paddw mm2, mm7

 psraw mm7, 2

 paddw mm4, mm1

 psraw mm1, 2

 psubw mm7, mm6

 psubw mm0, mm1


 MOVQ mm1, mm3
 psraw mm1, 1

 MOVQ mm6, mm5
 psraw mm6, 1

 paddw mm1, mm5

 psubw mm6, mm3


 movq mm5, [rdx+8]

 movq mm3, [rdx+8+ 64]

 paddw mm3, mm5

 paddw mm5, mm5

 psubw mm5, mm3

 paddw mm1, mm3

 paddw mm3, mm3

 psubw mm3, mm1

 paddw mm6, mm5

 paddw mm5, mm5

 psubw mm5, mm6

 paddw mm0, mm1

 paddw mm1, mm1

 psubw mm1, mm0

 paddw mm7, mm6

 paddw mm6, mm6

 psubw mm6, mm7

 paddw mm2, mm5

 paddw mm5, mm5

 psubw mm5, mm2

 paddw mm4, mm3

 paddw mm3, mm3

 psubw mm3, mm4

 movq [rdx+8], mm1

 movq mm1, mm0

 punpcklwd mm0, mm7

 punpckhwd mm1, mm7

 movq mm7, mm2

 punpcklwd mm2, mm4

 punpckhwd mm7, mm4

 movq mm4, mm0

 punpckldq mm0, mm2

 punpckhdq mm4, mm2

 movq mm2, mm1

 punpckldq mm1, mm7

 punpckhdq mm2, mm7

 movq mm7, [rdx+8]

 movq [rsp+64 ], mm0

 movq [rsp+64+16], mm4

 movq [rsp+64+32], mm1

 movq [rsp+64+48], mm2

 movq mm2, mm3

 punpcklwd mm3, mm5

 punpckhwd mm2, mm5

 movq mm5, mm6

 punpcklwd mm6, mm7

 punpckhwd mm5, mm7

 movq mm7, mm3

 punpckldq mm3, mm6

 punpckhdq mm7, mm6

 movq mm6, mm2

 punpckldq mm2, mm5

 punpckhdq mm6, mm5

 movq [rsp+64+ 8], mm3

 movq [rsp+64+24], mm7

 movq [rsp+64+40], mm2

 movq [rsp+64+56], mm6
%line 588+1 libavcodec/x86/h264_idct.asm

%line 588+0 libavcodec/x86/h264_idct.asm
 movq mm6, [rsp+112]

 movq mm2, [rsp+ 96]

 movq mm7, [rsp+ 80]

 movq mm5, [rsp+ 48]

 movq mm1, [rsp+ 32]

 movq mm4, [rsp+ 16]

 MOVQ mm0, mm4
 psraw mm0, 1

 MOVQ mm3, mm7
 psraw mm3, 1

 paddw mm3, mm7

 paddw mm0, mm4

 paddw mm3, mm6

 paddw mm0, mm7

 psubw mm3, mm4

 paddw mm0, mm5


 psubw mm4, mm5

 psubw mm7, mm5

 psraw mm5, 1

 paddw mm4, mm6

 psubw mm7, mm6

 psraw mm6, 1

 psubw mm4, mm5

 psubw mm7, mm6


 MOVQ mm6, mm0
 psraw mm6, 2

 MOVQ mm5, mm3
 psraw mm5, 2

 paddw mm5, mm4

 psraw mm4, 2

 paddw mm6, mm7

 psraw mm7, 2

 psubw mm4, mm3

 psubw mm0, mm7


 MOVQ mm7, mm2
 psraw mm7, 1

 MOVQ mm3, mm1
 psraw mm3, 1

 paddw mm7, mm1

 psubw mm3, mm2


 movq mm1, [rsp]

 movq mm2, [rsp+ 64]

 paddw mm2, mm1

 paddw mm1, mm1

 psubw mm1, mm2

 paddw mm7, mm2

 paddw mm2, mm2

 psubw mm2, mm7

 paddw mm3, mm1

 paddw mm1, mm1

 psubw mm1, mm3

 paddw mm0, mm7

 paddw mm7, mm7

 psubw mm7, mm0

 paddw mm4, mm3

 paddw mm3, mm3

 psubw mm3, mm4

 paddw mm5, mm1

 paddw mm1, mm1

 psubw mm1, mm5

 paddw mm6, mm2

 paddw mm2, mm2

 psubw mm2, mm6

 movq [rsp ], mm1

 movq [rsp+16], mm3

 movq [rsp+32], mm7


 pxor mm7, mm7

 movq [rdx+ 0], mm7

 movq [rdx+ 8], mm7

 movq [rdx+ 16], mm7

 movq [rdx+ 24], mm7

 movq [rdx+ 32], mm7

 movq [rdx+ 40], mm7

 movq [rdx+ 48], mm7

 movq [rdx+ 56], mm7

 movq [rdx+ 64], mm7

 movq [rdx+ 72], mm7

 movq [rdx+ 80], mm7

 movq [rdx+ 88], mm7

 movq [rdx+ 96], mm7

 movq [rdx+104], mm7

 movq [rdx+112], mm7

 movq [rdx+120], mm7

 movd mm1, [rax]

 movd mm3, [rax+rcx]

 psraw mm0, 6

 psraw mm4, 6

 punpcklbw mm1, mm7

 punpcklbw mm3, mm7

 paddw mm1, mm0

 paddw mm3, mm4

 packuswb mm1, mm7

 packuswb mm3, mm7

 movd [rax], mm1

 movd [rax+rcx], mm3
 lea rax, [rax+rcx*2]

 movd mm1, [rax]

 movd mm3, [rax+rcx]

 psraw mm5, 6

 psraw mm6, 6

 punpcklbw mm1, mm7

 punpcklbw mm3, mm7

 paddw mm1, mm5

 paddw mm3, mm6

 packuswb mm1, mm7

 packuswb mm3, mm7

 movd [rax], mm1

 movd [rax+rcx], mm3

 movq mm0, [rsp ]

 movq mm4, [rsp+16]

 movq mm5, [rsp+32]
 lea rax, [rax+rcx*2]

 movd mm1, [rax]

 movd mm3, [rax+rcx]

 psraw mm2, 6

 psraw mm0, 6

 punpcklbw mm1, mm7

 punpcklbw mm3, mm7

 paddw mm1, mm2

 paddw mm3, mm0

 packuswb mm1, mm7

 packuswb mm3, mm7

 movd [rax], mm1

 movd [rax+rcx], mm3
 lea rax, [rax+rcx*2]

 movd mm1, [rax]

 movd mm3, [rax+rcx]

 psraw mm4, 6

 psraw mm5, 6

 punpcklbw mm1, mm7

 punpcklbw mm3, mm7

 paddw mm1, mm4

 paddw mm3, mm5

 packuswb mm1, mm7

 packuswb mm3, mm7

 movd [rax], mm1

 movd [rax+rcx], mm3
%line 589+1 libavcodec/x86/h264_idct.asm
 mov eax, dword [rsi+R9*4]
 lea rax, [rdi+rax+4]

%line 591+0 libavcodec/x86/h264_idct.asm
 movq mm7, [rsp+8+112]

 movq mm3, [rsp+8+ 96]

 movq mm1, [rsp+8+ 80]

 movq mm6, [rsp+8+ 48]

 movq mm5, [rsp+8+ 32]

 movq mm4, [rsp+8+ 16]

 MOVQ mm0, mm4
 psraw mm0, 1

 MOVQ mm2, mm1
 psraw mm2, 1

 paddw mm2, mm1

 paddw mm0, mm4

 paddw mm2, mm7

 paddw mm0, mm1

 psubw mm2, mm4

 paddw mm0, mm6


 psubw mm4, mm6

 psubw mm1, mm6

 psraw mm6, 1

 paddw mm4, mm7

 psubw mm1, mm7

 psraw mm7, 1

 psubw mm4, mm6

 psubw mm1, mm7


 MOVQ mm7, mm0
 psraw mm7, 2

 MOVQ mm6, mm2
 psraw mm6, 2

 paddw mm6, mm4

 psraw mm4, 2

 paddw mm7, mm1

 psraw mm1, 2

 psubw mm4, mm2

 psubw mm0, mm1


 MOVQ mm1, mm3
 psraw mm1, 1

 MOVQ mm2, mm5
 psraw mm2, 1

 paddw mm1, mm5

 psubw mm2, mm3


 movq mm5, [rsp+8]

 movq mm3, [rsp+8+ 64]

 paddw mm3, mm5

 paddw mm5, mm5

 psubw mm5, mm3

 paddw mm1, mm3

 paddw mm3, mm3

 psubw mm3, mm1

 paddw mm2, mm5

 paddw mm5, mm5

 psubw mm5, mm2

 paddw mm0, mm1

 paddw mm1, mm1

 psubw mm1, mm0

 paddw mm4, mm2

 paddw mm2, mm2

 psubw mm2, mm4

 paddw mm6, mm5

 paddw mm5, mm5

 psubw mm5, mm6

 paddw mm7, mm3

 paddw mm3, mm3

 psubw mm3, mm7

 movq [rsp+8 ], mm5

 movq [rsp+8+16], mm2

 movq [rsp+8+32], mm1


 pxor mm1, mm1

 movd mm5, [rax]

 movd mm2, [rax+rcx]

 psraw mm0, 6

 psraw mm4, 6

 punpcklbw mm5, mm1

 punpcklbw mm2, mm1

 paddw mm5, mm0

 paddw mm2, mm4

 packuswb mm5, mm1

 packuswb mm2, mm1

 movd [rax], mm5

 movd [rax+rcx], mm2
 lea rax, [rax+rcx*2]

 movd mm5, [rax]

 movd mm2, [rax+rcx]

 psraw mm6, 6

 psraw mm7, 6

 punpcklbw mm5, mm1

 punpcklbw mm2, mm1

 paddw mm5, mm6

 paddw mm2, mm7

 packuswb mm5, mm1

 packuswb mm2, mm1

 movd [rax], mm5

 movd [rax+rcx], mm2

 movq mm0, [rsp+8 ]

 movq mm4, [rsp+8+16]

 movq mm6, [rsp+8+32]
 lea rax, [rax+rcx*2]

 movd mm5, [rax]

 movd mm2, [rax+rcx]

 psraw mm3, 6

 psraw mm0, 6

 punpcklbw mm5, mm1

 punpcklbw mm2, mm1

 paddw mm5, mm3

 paddw mm2, mm0

 packuswb mm5, mm1

 packuswb mm2, mm1

 movd [rax], mm5

 movd [rax+rcx], mm2
 lea rax, [rax+rcx*2]

 movd mm5, [rax]

 movd mm2, [rax+rcx]

 psraw mm4, 6

 psraw mm6, 6

 punpcklbw mm5, mm1

 punpcklbw mm2, mm1

 paddw mm5, mm4

 paddw mm2, mm6

 packuswb mm5, mm1

 packuswb mm2, mm1

 movd [rax], mm5

 movd [rax+rcx], mm2
%line 592+1 libavcodec/x86/h264_idct.asm
.skipblock:
 add R9, 4
 sub rdx, -128
 cmp R9, 16
 jl .nextblock
%line 596+0 libavcodec/x86/h264_idct.asm
 ..@7342.branch_instr equ $
%line 597+1 libavcodec/x86/h264_idct.asm

 add rsp, 132
 times ((..@7342.branch_instr-$)>>31)+1 rep
%line 599+0 libavcodec/x86/h264_idct.asm
 ret
%line 600+1 libavcodec/x86/h264_idct.asm


%line 601+0 libavcodec/x86/h264_idct.asm


%line 602+1 libavcodec/x86/h264_idct.asm

[global ff_h264_idct8_add4_8_sse2:function hidden]
%line 605+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct8_add4_8_sse2:


%line 606+1 libavcodec/x86/h264_idct.asm
 movsxd rcx, ecx
 xor R9, R9
%line 611+1 libavcodec/x86/h264_idct.asm
.nextblock:
 movzx rax, byte [scan8_mem+R9]
 movzx rax, byte [R8+rax]
 test rax, rax
 jz .skipblock
%line 615+0 libavcodec/x86/h264_idct.asm
 ..@7519.branch_instr equ $
%line 616+1 libavcodec/x86/h264_idct.asm
 cmp rax, 1
 jnz .no_dc
%line 617+0 libavcodec/x86/h264_idct.asm
 ..@7520.branch_instr equ $
%line 618+1 libavcodec/x86/h264_idct.asm
 movsx rax, word [rdx]
 test rax, rax
 jz .no_dc
%line 620+0 libavcodec/x86/h264_idct.asm
 ..@7521.branch_instr equ $
%line 621+1 libavcodec/x86/h264_idct.asm

%line 621+0 libavcodec/x86/h264_idct.asm


%line 622+1 libavcodec/x86/h264_idct.asm
 mov word [rdx], 0
 add rax, 32
%line 623+0 libavcodec/x86/h264_idct.asm
 sar rax, 6

 movd mm0, eax
 lea rax, [rcx*3]
 pshufw mm0, mm0, 0

 pxor mm1, mm1

 psubw mm1, mm0

 packuswb mm0, mm0

 packuswb mm1, mm1
%line 628+1 libavcodec/x86/h264_idct.asm
 mov R10d, dword [rsi+R9*4]
 add R10, rdi

%line 630+0 libavcodec/x86/h264_idct.asm
 movq mm2, [R10 ]

 movq mm3, [R10+rcx ]

 movq mm4, [R10+rcx*2]

 movq mm5, [R10+rax ]

 paddusb mm2, mm0

 paddusb mm3, mm0

 paddusb mm4, mm0

 paddusb mm5, mm0

 psubusb mm2, mm1

 psubusb mm3, mm1

 psubusb mm4, mm1

 psubusb mm5, mm1

 movq [R10 ], mm2

 movq [R10+rcx ], mm3

 movq [R10+rcx*2], mm4

 movq [R10+rax ], mm5
%line 631+1 libavcodec/x86/h264_idct.asm
 lea R10, [R10+rcx*4]

%line 632+0 libavcodec/x86/h264_idct.asm
 movq mm2, [R10 ]

 movq mm3, [R10+rcx ]

 movq mm4, [R10+rcx*2]

 movq mm5, [R10+rax ]

 paddusb mm2, mm0

 paddusb mm3, mm0

 paddusb mm4, mm0

 paddusb mm5, mm0

 psubusb mm2, mm1

 psubusb mm3, mm1

 psubusb mm4, mm1

 psubusb mm5, mm1

 movq [R10 ], mm2

 movq [R10+rcx ], mm3

 movq [R10+rcx*2], mm4

 movq [R10+rax ], mm5
%line 636+1 libavcodec/x86/h264_idct.asm
 add R9, 4
 sub rdx, -128
 cmp R9, 16
 jl .nextblock
%line 639+0 libavcodec/x86/h264_idct.asm
 ..@7640.branch_instr equ $
%line 640+1 libavcodec/x86/h264_idct.asm
 rep ret
.no_dc:

%line 642+0 libavcodec/x86/h264_idct.asm


%line 643+1 libavcodec/x86/h264_idct.asm
 mov R10d, dword [rsi+R9*4]
 add R10, rdi

%line 645+0 libavcodec/x86/h264_idct.asm
 movdqa xmm7, [rdx+112]

 movdqa xmm6, [rdx+ 96]

 movdqa xmm5, [rdx+ 80]

 movdqa xmm3, [rdx+ 48]

 movdqa xmm2, [rdx+ 32]

 movdqa xmm1, [rdx+ 16]

 MOVDQA xmm0, xmm1
 psraw xmm0, 1

 MOVDQA xmm4, xmm5
 psraw xmm4, 1

 paddw xmm4, xmm5

 paddw xmm0, xmm1

 paddw xmm4, xmm7

 paddw xmm0, xmm5

 psubw xmm4, xmm1

 paddw xmm0, xmm3


 psubw xmm1, xmm3

 psubw xmm5, xmm3

 psraw xmm3, 1

 paddw xmm1, xmm7

 psubw xmm5, xmm7

 psraw xmm7, 1

 psubw xmm1, xmm3

 psubw xmm5, xmm7


 MOVDQA xmm7, xmm0
 psraw xmm7, 2

 MOVDQA xmm3, xmm4
 psraw xmm3, 2

 paddw xmm3, xmm1

 psraw xmm1, 2

 paddw xmm7, xmm5

 psraw xmm5, 2

 psubw xmm1, xmm4

 psubw xmm0, xmm5


 MOVDQA xmm5, xmm6
 psraw xmm5, 1

 MOVDQA xmm4, xmm2
 psraw xmm4, 1

 paddw xmm5, xmm2

 psubw xmm4, xmm6


 movdqa xmm2, [rdx]

 movdqa xmm6, [rdx+ 64]

 paddw xmm6, xmm2

 paddw xmm2, xmm2

 psubw xmm2, xmm6

 paddw xmm5, xmm6

 paddw xmm6, xmm6

 psubw xmm6, xmm5

 paddw xmm4, xmm2

 paddw xmm2, xmm2

 psubw xmm2, xmm4

 paddw xmm0, xmm5

 paddw xmm5, xmm5

 psubw xmm5, xmm0

 paddw xmm1, xmm4

 paddw xmm4, xmm4

 psubw xmm4, xmm1

 paddw xmm3, xmm2

 paddw xmm2, xmm2

 psubw xmm2, xmm3

 paddw xmm7, xmm6

 paddw xmm6, xmm6

 psubw xmm6, xmm7

 movdqa xmm8, xmm0

 punpcklwd xmm0, xmm1

 punpckhwd xmm8, xmm1

 movdqa xmm1, xmm3

 punpcklwd xmm3, xmm7

 punpckhwd xmm1, xmm7

 movdqa xmm7, xmm6

 punpcklwd xmm6, xmm2

 punpckhwd xmm7, xmm2

 movdqa xmm2, xmm4

 punpcklwd xmm4, xmm5

 punpckhwd xmm2, xmm5

 movdqa xmm5, xmm0

 punpckldq xmm0, xmm3

 punpckhdq xmm5, xmm3

 movdqa xmm3, xmm8

 punpckldq xmm8, xmm1

 punpckhdq xmm3, xmm1

 movdqa xmm1, xmm6

 punpckldq xmm6, xmm4

 punpckhdq xmm1, xmm4

 movdqa xmm4, xmm7

 punpckldq xmm7, xmm2

 punpckhdq xmm4, xmm2

 movdqa xmm2, xmm0

 punpcklqdq xmm0, xmm6

 punpckhqdq xmm2, xmm6

 movdqa xmm6, xmm8

 punpcklqdq xmm8, xmm7

 punpckhqdq xmm6, xmm7

 movdqa xmm7, xmm5

 punpcklqdq xmm5, xmm1

 punpckhqdq xmm7, xmm1

 movdqa xmm1, xmm3

 punpcklqdq xmm3, xmm4

 punpckhqdq xmm1, xmm4

 paddw xmm0, [ff_pw_32]


 MOVDQA xmm4, xmm2
 psraw xmm4, 1

 MOVDQA xmm9, xmm6
 psraw xmm9, 1

 paddw xmm9, xmm6

 paddw xmm4, xmm2

 paddw xmm9, xmm1

 paddw xmm4, xmm6

 psubw xmm9, xmm2

 paddw xmm4, xmm7


 psubw xmm2, xmm7

 psubw xmm6, xmm7

 psraw xmm7, 1

 paddw xmm2, xmm1

 psubw xmm6, xmm1

 psraw xmm1, 1

 psubw xmm2, xmm7

 psubw xmm6, xmm1


 MOVDQA xmm1, xmm4
 psraw xmm1, 2

 MOVDQA xmm7, xmm9
 psraw xmm7, 2

 paddw xmm7, xmm2

 psraw xmm2, 2

 paddw xmm1, xmm6

 psraw xmm6, 2

 psubw xmm2, xmm9

 psubw xmm4, xmm6


 MOVDQA xmm6, xmm3
 psraw xmm6, 1

 MOVDQA xmm9, xmm5
 psraw xmm9, 1

 paddw xmm6, xmm5

 psubw xmm9, xmm3


 movdqa xmm5, xmm0

 movdqa xmm3, xmm8

 paddw xmm3, xmm5

 paddw xmm5, xmm5

 psubw xmm5, xmm3

 paddw xmm6, xmm3

 paddw xmm3, xmm3

 psubw xmm3, xmm6

 paddw xmm9, xmm5

 paddw xmm5, xmm5

 psubw xmm5, xmm9

 paddw xmm4, xmm6

 paddw xmm6, xmm6

 psubw xmm6, xmm4

 paddw xmm2, xmm9

 paddw xmm9, xmm9

 psubw xmm9, xmm2

 paddw xmm7, xmm5

 paddw xmm5, xmm5

 psubw xmm5, xmm7

 paddw xmm1, xmm3

 paddw xmm3, xmm3

 psubw xmm3, xmm1


 pxor xmm8, xmm8
 lea rax, [rcx*3]

 movq xmm0, [R10 ]

 punpcklbw xmm0, xmm8

 psraw xmm4, 6

 paddsw xmm4, xmm0

 packuswb xmm4, xmm4

 movq [R10 ], xmm4

 movq xmm0, [R10+rcx ]

 punpcklbw xmm0, xmm8

 psraw xmm2, 6

 paddsw xmm2, xmm0

 packuswb xmm2, xmm2

 movq [R10+rcx ], xmm2

 movq xmm0, [R10+rcx*2]

 punpcklbw xmm0, xmm8

 psraw xmm7, 6

 paddsw xmm7, xmm0

 packuswb xmm7, xmm7

 movq [R10+rcx*2], xmm7

 movq xmm0, [R10+rax ]

 punpcklbw xmm0, xmm8

 psraw xmm1, 6

 paddsw xmm1, xmm0

 packuswb xmm1, xmm1

 movq [R10+rax ], xmm1

 movdqa [rdx+ 0], xmm8

 movdqa [rdx+ 16], xmm8

 movdqa [rdx+ 32], xmm8

 movdqa [rdx+ 48], xmm8

 movdqa [rdx+ 64], xmm8

 movdqa [rdx+ 80], xmm8

 movdqa [rdx+ 96], xmm8

 movdqa [rdx+112], xmm8
 lea R10, [R10+rcx*4]

 movq xmm0, [R10 ]

 punpcklbw xmm0, xmm8

 psraw xmm3, 6

 paddsw xmm3, xmm0

 packuswb xmm3, xmm3

 movq [R10 ], xmm3

 movq xmm0, [R10+rcx ]

 punpcklbw xmm0, xmm8

 psraw xmm5, 6

 paddsw xmm5, xmm0

 packuswb xmm5, xmm5

 movq [R10+rcx ], xmm5

 movq xmm0, [R10+rcx*2]

 punpcklbw xmm0, xmm8

 psraw xmm9, 6

 paddsw xmm9, xmm0

 packuswb xmm9, xmm9

 movq [R10+rcx*2], xmm9

 movq xmm0, [R10+rax ]

 punpcklbw xmm0, xmm8

 psraw xmm6, 6

 paddsw xmm6, xmm0

 packuswb xmm6, xmm6

 movq [R10+rax ], xmm6
%line 649+1 libavcodec/x86/h264_idct.asm
.skipblock:
 add R9, 4
 sub rdx, -128
 cmp R9, 16
 jl .nextblock
%line 653+0 libavcodec/x86/h264_idct.asm
 ..@8274.branch_instr equ $
%line 654+1 libavcodec/x86/h264_idct.asm
 rep ret


%line 656+0 libavcodec/x86/h264_idct.asm


%line 657+1 libavcodec/x86/h264_idct.asm
h264_idct_add8_mmx_plane:
 movsxd rcx, ecx
.nextblock:
 movzx rax, byte [scan8_mem+R9]
 movzx rax, byte [R8+rax]
 or ax, word [rdx]
 test rax, rax
 jz .skipblock
%line 664+0 libavcodec/x86/h264_idct.asm
 ..@8314.branch_instr equ $
%line 666+1 libavcodec/x86/h264_idct.asm
 mov edi, dword [rsi+R9*4]
 add rdi, [R10]
%line 673+1 libavcodec/x86/h264_idct.asm

%line 673+0 libavcodec/x86/h264_idct.asm

 movq mm0, [rdx]

 movq mm1, [rdx+8]

 movq mm2, [rdx+16]

 movq mm3, [rdx+24]


 MOVQ mm4, mm1
 psraw mm4, 1

 MOVQ mm5, mm3
 psraw mm5, 1

 paddw mm5, mm1

 psubw mm4, mm3


 movq mm3, mm2

 paddw mm2, mm0

 psubw mm0, mm3


 movq mm3, mm5

 paddw mm5, mm2

 psubw mm2, mm3

 movq mm3, mm4

 paddw mm4, mm0

 psubw mm0, mm3

 movq mm6, [ff_pw_32]

 movq mm1, mm5

 punpcklwd mm5, mm4

 punpckhwd mm1, mm4

 movq mm4, mm0

 punpcklwd mm0, mm2

 punpckhwd mm4, mm2

 movq mm2, mm5

 punpckldq mm5, mm0

 punpckhdq mm2, mm0

 movq mm0, mm1

 punpckldq mm1, mm4

 punpckhdq mm0, mm4

 paddw mm5, mm6

 MOVQ mm4, mm2
 psraw mm4, 1

 MOVQ mm3, mm0
 psraw mm3, 1

 paddw mm3, mm2

 psubw mm4, mm0


 movq mm0, mm1

 paddw mm1, mm5

 psubw mm5, mm0


 movq mm0, mm3

 paddw mm3, mm1

 psubw mm1, mm0

 movq mm0, mm4

 paddw mm4, mm5

 psubw mm5, mm0

 pxor mm7, mm7

 movq [rdx+ 0], mm7

 movq [rdx+ 8], mm7

 movq [rdx+16], mm7

 movq [rdx+24], mm7


 movd mm2, [rdi]

 movd mm0, [rdi+rcx]

 psraw mm3, 6

 psraw mm4, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm3

 paddw mm0, mm4

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rdi], mm2

 movd [rdi+rcx], mm0
 lea rdi, [rdi+rcx*2]

 movd mm2, [rdi]

 movd mm0, [rdi+rcx]

 psraw mm5, 6

 psraw mm1, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm5

 paddw mm0, mm1

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rdi], mm2

 movd [rdi+rcx], mm0
%line 674+1 libavcodec/x86/h264_idct.asm
.skipblock:
 inc R9
 add rdx, 32
 test R9, 3
 jnz .nextblock
%line 678+0 libavcodec/x86/h264_idct.asm
 ..@8535.branch_instr equ $
%line 679+1 libavcodec/x86/h264_idct.asm
 rep ret


[global ff_h264_idct_add8_8_mmx:function hidden]
%line 684+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add8_8_mmx:


%line 685+1 libavcodec/x86/h264_idct.asm
 movsxd rcx, ecx
 mov R9, 16
 add rdx, 512
%line 692+1 libavcodec/x86/h264_idct.asm
 mov R10, rdi

 call h264_idct_add8_mmx_plane
 mov R9, 32
 add rdx, 384

 add R10, 8
%line 702+1 libavcodec/x86/h264_idct.asm
 call h264_idct_add8_mmx_plane
 times ((..@8535.branch_instr-$)>>31)+1 rep
%line 703+0 libavcodec/x86/h264_idct.asm
 ret
%line 704+1 libavcodec/x86/h264_idct.asm

[global ff_h264_idct_add8_422_8_mmx:function hidden]
%line 705+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add8_422_8_mmx:


%line 706+1 libavcodec/x86/h264_idct.asm

 movsxd rcx, ecx
%line 712+1 libavcodec/x86/h264_idct.asm
 mov R10, rdi


 mov R9, 16
 add rdx, 512

 call h264_idct_add8_mmx_plane
 add R9, 4
 call h264_idct_add8_mmx_plane


 add R10, 8
%line 727+1 libavcodec/x86/h264_idct.asm

 add R9, 4
 add rdx, 256

 call h264_idct_add8_mmx_plane
 add R9, 4
 call h264_idct_add8_mmx_plane

 times ((..@8535.branch_instr-$)>>31)+1 rep
%line 735+0 libavcodec/x86/h264_idct.asm
 ret
%line 736+1 libavcodec/x86/h264_idct.asm

h264_idct_add8_mmxext_plane:
 movsxd rcx, ecx
.nextblock:
 movzx rax, byte [scan8_mem+R9]
 movzx rax, byte [R8+rax]
 test rax, rax
 jz .try_dc
%line 743+0 libavcodec/x86/h264_idct.asm
 ..@8808.branch_instr equ $
%line 745+1 libavcodec/x86/h264_idct.asm
 mov edi, dword [rsi+R9*4]
 add rdi, [R10]
%line 752+1 libavcodec/x86/h264_idct.asm

%line 752+0 libavcodec/x86/h264_idct.asm

 movq mm0, [rdx]

 movq mm1, [rdx+8]

 movq mm2, [rdx+16]

 movq mm3, [rdx+24]


 MOVQ mm4, mm1
 psraw mm4, 1

 MOVQ mm5, mm3
 psraw mm5, 1

 paddw mm5, mm1

 psubw mm4, mm3


 movq mm3, mm2

 paddw mm2, mm0

 psubw mm0, mm3


 movq mm3, mm5

 paddw mm5, mm2

 psubw mm2, mm3

 movq mm3, mm4

 paddw mm4, mm0

 psubw mm0, mm3

 movq mm6, [ff_pw_32]

 movq mm1, mm5

 punpcklwd mm5, mm4

 punpckhwd mm1, mm4

 movq mm4, mm0

 punpcklwd mm0, mm2

 punpckhwd mm4, mm2

 movq mm2, mm5

 punpckldq mm5, mm0

 punpckhdq mm2, mm0

 movq mm0, mm1

 punpckldq mm1, mm4

 punpckhdq mm0, mm4

 paddw mm5, mm6

 MOVQ mm4, mm2
 psraw mm4, 1

 MOVQ mm3, mm0
 psraw mm3, 1

 paddw mm3, mm2

 psubw mm4, mm0


 movq mm0, mm1

 paddw mm1, mm5

 psubw mm5, mm0


 movq mm0, mm3

 paddw mm3, mm1

 psubw mm1, mm0

 movq mm0, mm4

 paddw mm4, mm5

 psubw mm5, mm0

 pxor mm7, mm7

 movq [rdx+ 0], mm7

 movq [rdx+ 8], mm7

 movq [rdx+16], mm7

 movq [rdx+24], mm7


 movd mm2, [rdi]

 movd mm0, [rdi+rcx]

 psraw mm3, 6

 psraw mm4, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm3

 paddw mm0, mm4

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rdi], mm2

 movd [rdi+rcx], mm0
 lea rdi, [rdi+rcx*2]

 movd mm2, [rdi]

 movd mm0, [rdi+rcx]

 psraw mm5, 6

 psraw mm1, 6

 punpcklbw mm2, mm7

 punpcklbw mm0, mm7

 paddw mm2, mm5

 paddw mm0, mm1

 packuswb mm2, mm7

 packuswb mm0, mm7

 movd [rdi], mm2

 movd [rdi+rcx], mm0
%line 753+1 libavcodec/x86/h264_idct.asm
 inc R9
 add rdx, 32
 test R9, 3
 jnz .nextblock
%line 756+0 libavcodec/x86/h264_idct.asm
 ..@9029.branch_instr equ $
%line 757+1 libavcodec/x86/h264_idct.asm
 rep ret
.try_dc:
 movsx rax, word [rdx]
 test rax, rax
 jz .skipblock
%line 761+0 libavcodec/x86/h264_idct.asm
 ..@9030.branch_instr equ $
%line 762+1 libavcodec/x86/h264_idct.asm
 mov word [rdx], 0
 add rax, 32
%line 763+0 libavcodec/x86/h264_idct.asm
 sar rax, 6

 movd mm3, eax
 lea rax, [rcx*3]
 pshufw mm3, mm3, 0

 pxor mm4, mm4

 psubw mm4, mm3

 packuswb mm3, mm3

 packuswb mm4, mm4
%line 765+1 libavcodec/x86/h264_idct.asm
 mov edi, dword [rsi+R9*4]
 add rdi, [R10]
%line 772+1 libavcodec/x86/h264_idct.asm

%line 772+0 libavcodec/x86/h264_idct.asm
 movd mm5, [rdi ]

 movd mm1, [rdi+rcx ]

 movd mm2, [rdi+rcx*2]

 movd mm0, [rdi+rax ]

 paddusb mm5, mm3

 paddusb mm1, mm3

 paddusb mm2, mm3

 paddusb mm0, mm3

 psubusb mm5, mm4

 psubusb mm1, mm4

 psubusb mm2, mm4

 psubusb mm0, mm4

 movd [rdi ], mm5

 movd [rdi+rcx ], mm1

 movd [rdi+rcx*2], mm2

 movd [rdi+rax ], mm0
%line 773+1 libavcodec/x86/h264_idct.asm
.skipblock:
 inc R9
 add rdx, 32
 test R9, 3
 jnz .nextblock
%line 777+0 libavcodec/x86/h264_idct.asm
 ..@9078.branch_instr equ $
%line 778+1 libavcodec/x86/h264_idct.asm
 rep ret


%line 780+0 libavcodec/x86/h264_idct.asm


%line 781+1 libavcodec/x86/h264_idct.asm

[global ff_h264_idct_add8_8_mmxext:function hidden]
%line 784+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add8_8_mmxext:


%line 785+1 libavcodec/x86/h264_idct.asm
 movsxd rcx, ecx
 mov R9, 16
 add rdx, 512

 mov R10, rdi
%line 794+1 libavcodec/x86/h264_idct.asm
 call h264_idct_add8_mmxext_plane
 mov R9, 32
 add rdx, 384

 add R10, 8
%line 802+1 libavcodec/x86/h264_idct.asm
 call h264_idct_add8_mmxext_plane
 times ((..@9078.branch_instr-$)>>31)+1 rep
%line 803+0 libavcodec/x86/h264_idct.asm
 ret
%line 804+1 libavcodec/x86/h264_idct.asm


h264_idct_dc_add8_mmxext:
 movsxd rcx, ecx

%line 808+0 libavcodec/x86/h264_idct.asm
 movd mm0, [rdx ]
%line 809+1 libavcodec/x86/h264_idct.asm
 mov word [rdx+ 0], 0

%line 810+0 libavcodec/x86/h264_idct.asm
 punpcklwd mm0, [rdx+32]
%line 811+1 libavcodec/x86/h264_idct.asm
 mov word [rdx+32], 0

%line 812+0 libavcodec/x86/h264_idct.asm
 paddsw mm0, [ff_pw_32]
%line 813+1 libavcodec/x86/h264_idct.asm

%line 813+0 libavcodec/x86/h264_idct.asm
 psraw mm0, 6
%line 814+1 libavcodec/x86/h264_idct.asm

%line 814+0 libavcodec/x86/h264_idct.asm
 punpcklwd mm0, mm0
%line 815+1 libavcodec/x86/h264_idct.asm

%line 815+0 libavcodec/x86/h264_idct.asm
 pxor mm1, mm1
%line 816+1 libavcodec/x86/h264_idct.asm

%line 816+0 libavcodec/x86/h264_idct.asm
 psubw mm1, mm0
%line 817+1 libavcodec/x86/h264_idct.asm

%line 817+0 libavcodec/x86/h264_idct.asm
 packuswb mm0, mm1
%line 818+1 libavcodec/x86/h264_idct.asm
 pshufw mm1, mm0, 0xFA

%line 819+0 libavcodec/x86/h264_idct.asm
 punpcklwd mm0, mm0
%line 820+1 libavcodec/x86/h264_idct.asm
 lea rax, [rcx*3]

%line 821+0 libavcodec/x86/h264_idct.asm
 movq mm2, [rdi ]

 movq mm3, [rdi+rcx ]

 movq mm4, [rdi+rcx*2]

 movq mm5, [rdi+rax ]

 paddusb mm2, mm0

 paddusb mm3, mm0

 paddusb mm4, mm0

 paddusb mm5, mm0

 psubusb mm2, mm1

 psubusb mm3, mm1

 psubusb mm4, mm1

 psubusb mm5, mm1

 movq [rdi ], mm2

 movq [rdi+rcx ], mm3

 movq [rdi+rcx*2], mm4

 movq [rdi+rax ], mm5
%line 822+1 libavcodec/x86/h264_idct.asm
 ret

[sectalign 16]
%line 824+0 libavcodec/x86/h264_idct.asm
times (((16) - (($-$$) % (16))) % (16)) nop
%line 825+1 libavcodec/x86/h264_idct.asm

%line 825+0 libavcodec/x86/h264_idct.asm


%line 826+1 libavcodec/x86/h264_idct.asm

h264_add8x4_idct_sse2:
 movsxd rcx, ecx

%line 829+0 libavcodec/x86/h264_idct.asm
 movq xmm0, [rdx+ 0]
%line 830+1 libavcodec/x86/h264_idct.asm

%line 830+0 libavcodec/x86/h264_idct.asm
 movq xmm1, [rdx+ 8]
%line 831+1 libavcodec/x86/h264_idct.asm

%line 831+0 libavcodec/x86/h264_idct.asm
 movq xmm2, [rdx+16]
%line 832+1 libavcodec/x86/h264_idct.asm

%line 832+0 libavcodec/x86/h264_idct.asm
 movq xmm3, [rdx+24]
%line 833+1 libavcodec/x86/h264_idct.asm

%line 833+0 libavcodec/x86/h264_idct.asm
 movhps xmm0, [rdx+32]
%line 834+1 libavcodec/x86/h264_idct.asm

%line 834+0 libavcodec/x86/h264_idct.asm
 movhps xmm1, [rdx+40]
%line 835+1 libavcodec/x86/h264_idct.asm

%line 835+0 libavcodec/x86/h264_idct.asm
 movhps xmm2, [rdx+48]
%line 836+1 libavcodec/x86/h264_idct.asm

%line 836+0 libavcodec/x86/h264_idct.asm
 movhps xmm3, [rdx+56]
%line 837+1 libavcodec/x86/h264_idct.asm

%line 837+0 libavcodec/x86/h264_idct.asm
 MOVDQA xmm4, xmm1
 psraw xmm4, 1

 MOVDQA xmm5, xmm3
 psraw xmm5, 1

 paddw xmm5, xmm1

 psubw xmm4, xmm3


 movdqa xmm3, xmm2

 paddw xmm2, xmm0

 psubw xmm0, xmm3


 movdqa xmm3, xmm5

 paddw xmm5, xmm2

 psubw xmm2, xmm3

 movdqa xmm3, xmm4

 paddw xmm4, xmm0

 psubw xmm0, xmm3


%line 838+1 libavcodec/x86/h264_idct.asm

%line 838+0 libavcodec/x86/h264_idct.asm
 movdqa xmm1, xmm5

 punpcklwd xmm5, xmm4

 punpckhwd xmm1, xmm4

 movdqa xmm4, xmm0

 punpcklwd xmm0, xmm2

 punpckhwd xmm4, xmm2

 movdqa xmm2, xmm5

 punpckldq xmm5, xmm0

 punpckhdq xmm2, xmm0

 movdqa xmm0, xmm1

 punpckldq xmm1, xmm4

 punpckhdq xmm0, xmm4

 movdqa xmm4, xmm5

 punpcklqdq xmm5, xmm1

 punpckhqdq xmm4, xmm1

 movdqa xmm1, xmm2

 punpcklqdq xmm2, xmm0

 punpckhqdq xmm1, xmm0
%line 839+1 libavcodec/x86/h264_idct.asm

%line 839+0 libavcodec/x86/h264_idct.asm
 paddw xmm5, [ff_pw_32]
%line 840+1 libavcodec/x86/h264_idct.asm

%line 840+0 libavcodec/x86/h264_idct.asm
 MOVDQA xmm0, xmm4
 psraw xmm0, 1

 MOVDQA xmm3, xmm1
 psraw xmm3, 1

 paddw xmm3, xmm4

 psubw xmm0, xmm1


 movdqa xmm1, xmm2

 paddw xmm2, xmm5

 psubw xmm5, xmm1


 movdqa xmm1, xmm3

 paddw xmm3, xmm2

 psubw xmm2, xmm1

 movdqa xmm1, xmm0

 paddw xmm0, xmm5

 psubw xmm5, xmm1


%line 841+1 libavcodec/x86/h264_idct.asm

%line 841+0 libavcodec/x86/h264_idct.asm
 pxor xmm7, xmm7
%line 842+1 libavcodec/x86/h264_idct.asm

%line 842+0 libavcodec/x86/h264_idct.asm
 movdqa [rdx+ 0], xmm7
%line 843+1 libavcodec/x86/h264_idct.asm

%line 843+0 libavcodec/x86/h264_idct.asm
 movdqa [rdx+16], xmm7
%line 844+1 libavcodec/x86/h264_idct.asm

%line 844+0 libavcodec/x86/h264_idct.asm
 movdqa [rdx+32], xmm7
%line 845+1 libavcodec/x86/h264_idct.asm

%line 845+0 libavcodec/x86/h264_idct.asm
 movdqa [rdx+48], xmm7
%line 846+1 libavcodec/x86/h264_idct.asm

%line 846+0 libavcodec/x86/h264_idct.asm
 movq xmm4, [rdi]

 movq xmm1, [rdi+rcx]

 psraw xmm3, 6

 psraw xmm0, 6

 punpcklbw xmm4, xmm7

 punpcklbw xmm1, xmm7

 paddw xmm4, xmm3

 paddw xmm1, xmm0

 packuswb xmm4, xmm7

 packuswb xmm1, xmm7

 movq [rdi], xmm4

 movq [rdi+rcx], xmm1
%line 847+1 libavcodec/x86/h264_idct.asm
 lea rdi, [rdi+rcx*2]

%line 848+0 libavcodec/x86/h264_idct.asm
 movq xmm4, [rdi]

 movq xmm1, [rdi+rcx]

 psraw xmm5, 6

 psraw xmm2, 6

 punpcklbw xmm4, xmm7

 punpcklbw xmm1, xmm7

 paddw xmm4, xmm5

 paddw xmm1, xmm2

 packuswb xmm4, xmm7

 packuswb xmm1, xmm7

 movq [rdi], xmm4

 movq [rdi+rcx], xmm1
%line 849+1 libavcodec/x86/h264_idct.asm
 ret

%line 867+1 libavcodec/x86/h264_idct.asm


[global ff_h264_idct_add16_8_sse2:function hidden]
%line 871+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add16_8_sse2:

%line 872+1 libavcodec/x86/h264_idct.asm
 movsxd rcx, ecx

 mov R9, rdi

 movzx rdi, word [R8+0xc]
%line 878+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .cycle0end
 ..@9615.branch_instr equ $
 mov edi, dword [rsi+0*8]
 add rdi, R9
 call h264_add8x4_idct_sse2
.cycle0end:
 add rdx, 64
%line 879+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x14]
%line 879+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .cycle1end
 ..@9622.branch_instr equ $
 mov edi, dword [rsi+1*8]
 add rdi, R9
 call h264_add8x4_idct_sse2
.cycle1end:
 add rdx, 64
%line 880+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0xe]
%line 880+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .cycle2end
 ..@9629.branch_instr equ $
 mov edi, dword [rsi+2*8]
 add rdi, R9
 call h264_add8x4_idct_sse2
.cycle2end:
 add rdx, 64
%line 881+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x16]
%line 881+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .cycle3end
 ..@9636.branch_instr equ $
 mov edi, dword [rsi+3*8]
 add rdi, R9
 call h264_add8x4_idct_sse2
.cycle3end:
 add rdx, 64
%line 882+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x1c]
%line 882+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .cycle4end
 ..@9643.branch_instr equ $
 mov edi, dword [rsi+4*8]
 add rdi, R9
 call h264_add8x4_idct_sse2
.cycle4end:
 add rdx, 64
%line 883+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x24]
%line 883+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .cycle5end
 ..@9650.branch_instr equ $
 mov edi, dword [rsi+5*8]
 add rdi, R9
 call h264_add8x4_idct_sse2
.cycle5end:
 add rdx, 64
%line 884+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x1e]
%line 884+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .cycle6end
 ..@9657.branch_instr equ $
 mov edi, dword [rsi+6*8]
 add rdi, R9
 call h264_add8x4_idct_sse2
.cycle6end:
 add rdx, 64
%line 885+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x26]
%line 885+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .cycle7end
 ..@9664.branch_instr equ $
 mov edi, dword [rsi+7*8]
 add rdi, R9
 call h264_add8x4_idct_sse2
.cycle7end:
%line 886+1 libavcodec/x86/h264_idct.asm
 rep ret

%line 916+1 libavcodec/x86/h264_idct.asm


[global ff_h264_idct_add16intra_8_sse2:function hidden]
%line 920+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add16intra_8_sse2:

%line 921+1 libavcodec/x86/h264_idct.asm
 movsxd rcx, ecx

 mov R10, rdi

 movzx rdi, word [R8+0xc]
%line 925+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .try0dc
 ..@9724.branch_instr equ $
 mov edi, dword [rsi+0*8]
 add rdi, R10
 call h264_add8x4_idct_sse2
 jmp .cycle0end
.try0dc:
 movsx rdi, word [rdx ]
 or di, word [rdx+32]
 jz .cycle0end
 ..@9729.branch_instr equ $
 mov edi, dword [rsi+0*8]
 add rdi, R10
 call h264_idct_dc_add8_mmxext
.cycle0end:
 add rdx, 64
%line 926+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x14]
%line 926+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .try1dc
 ..@9736.branch_instr equ $
 mov edi, dword [rsi+1*8]
 add rdi, R10
 call h264_add8x4_idct_sse2
 jmp .cycle1end
.try1dc:
 movsx rdi, word [rdx ]
 or di, word [rdx+32]
 jz .cycle1end
 ..@9741.branch_instr equ $
 mov edi, dword [rsi+1*8]
 add rdi, R10
 call h264_idct_dc_add8_mmxext
.cycle1end:
 add rdx, 64
%line 927+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0xe]
%line 927+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .try2dc
 ..@9748.branch_instr equ $
 mov edi, dword [rsi+2*8]
 add rdi, R10
 call h264_add8x4_idct_sse2
 jmp .cycle2end
.try2dc:
 movsx rdi, word [rdx ]
 or di, word [rdx+32]
 jz .cycle2end
 ..@9753.branch_instr equ $
 mov edi, dword [rsi+2*8]
 add rdi, R10
 call h264_idct_dc_add8_mmxext
.cycle2end:
 add rdx, 64
%line 928+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x16]
%line 928+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .try3dc
 ..@9760.branch_instr equ $
 mov edi, dword [rsi+3*8]
 add rdi, R10
 call h264_add8x4_idct_sse2
 jmp .cycle3end
.try3dc:
 movsx rdi, word [rdx ]
 or di, word [rdx+32]
 jz .cycle3end
 ..@9765.branch_instr equ $
 mov edi, dword [rsi+3*8]
 add rdi, R10
 call h264_idct_dc_add8_mmxext
.cycle3end:
 add rdx, 64
%line 929+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x1c]
%line 929+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .try4dc
 ..@9772.branch_instr equ $
 mov edi, dword [rsi+4*8]
 add rdi, R10
 call h264_add8x4_idct_sse2
 jmp .cycle4end
.try4dc:
 movsx rdi, word [rdx ]
 or di, word [rdx+32]
 jz .cycle4end
 ..@9777.branch_instr equ $
 mov edi, dword [rsi+4*8]
 add rdi, R10
 call h264_idct_dc_add8_mmxext
.cycle4end:
 add rdx, 64
%line 930+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x24]
%line 930+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .try5dc
 ..@9784.branch_instr equ $
 mov edi, dword [rsi+5*8]
 add rdi, R10
 call h264_add8x4_idct_sse2
 jmp .cycle5end
.try5dc:
 movsx rdi, word [rdx ]
 or di, word [rdx+32]
 jz .cycle5end
 ..@9789.branch_instr equ $
 mov edi, dword [rsi+5*8]
 add rdi, R10
 call h264_idct_dc_add8_mmxext
.cycle5end:
 add rdx, 64
%line 931+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x1e]
%line 931+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .try6dc
 ..@9796.branch_instr equ $
 mov edi, dword [rsi+6*8]
 add rdi, R10
 call h264_add8x4_idct_sse2
 jmp .cycle6end
.try6dc:
 movsx rdi, word [rdx ]
 or di, word [rdx+32]
 jz .cycle6end
 ..@9801.branch_instr equ $
 mov edi, dword [rsi+6*8]
 add rdi, R10
 call h264_idct_dc_add8_mmxext
.cycle6end:
 add rdx, 64
%line 932+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x26]
%line 932+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .try7dc
 ..@9808.branch_instr equ $
 mov edi, dword [rsi+7*8]
 add rdi, R10
 call h264_add8x4_idct_sse2
 jmp .cycle7end
.try7dc:
 movsx rdi, word [rdx ]
 or di, word [rdx+32]
 jz .cycle7end
 ..@9813.branch_instr equ $
 mov edi, dword [rsi+7*8]
 add rdi, R10
 call h264_idct_dc_add8_mmxext
.cycle7end:
%line 933+1 libavcodec/x86/h264_idct.asm
 rep ret

%line 969+1 libavcodec/x86/h264_idct.asm


[global ff_h264_idct_add8_8_sse2:function hidden]
%line 973+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add8_8_sse2:

%line 974+1 libavcodec/x86/h264_idct.asm
 movsxd rcx, ecx
 add rdx, 512

 mov R10, rdi

 movzx rdi, word [R8+0x34]
%line 979+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .try0dc
 ..@9874.branch_instr equ $
 mov edi, dword [rsi+(0&1)*8+64*(1+(0>>1))]
 add rdi, [R10]
 call h264_add8x4_idct_sse2
 jmp .cycle0end
.try0dc:
 movsx rdi, word [rdx ]
 or di, word [rdx+32]
 jz .cycle0end
 ..@9879.branch_instr equ $
 mov edi, dword [rsi+(0&1)*8+64*(1+(0>>1))]
 add rdi, [R10]
 call h264_idct_dc_add8_mmxext
.cycle0end:
 add rdx, 64
%line 980+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x3c]
%line 980+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .try1dc
 ..@9886.branch_instr equ $
 mov edi, dword [rsi+(1&1)*8+64*(1+(1>>1))]
 add rdi, [R10]
 call h264_add8x4_idct_sse2
 jmp .cycle1end
.try1dc:
 movsx rdi, word [rdx ]
 or di, word [rdx+32]
 jz .cycle1end
 ..@9891.branch_instr equ $
 mov edi, dword [rsi+(1&1)*8+64*(1+(1>>1))]
 add rdi, [R10]
 call h264_idct_dc_add8_mmxext
.cycle1end:
 add rdx, 384+64
%line 982+1 libavcodec/x86/h264_idct.asm
 add R10, 8
%line 986+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x5c]
%line 986+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .try2dc
 ..@9899.branch_instr equ $
 mov edi, dword [rsi+(2&1)*8+64*(1+(2>>1))]
 add rdi, [R10]
 call h264_add8x4_idct_sse2
 jmp .cycle2end
.try2dc:
 movsx rdi, word [rdx ]
 or di, word [rdx+32]
 jz .cycle2end
 ..@9904.branch_instr equ $
 mov edi, dword [rsi+(2&1)*8+64*(1+(2>>1))]
 add rdi, [R10]
 call h264_idct_dc_add8_mmxext
.cycle2end:
 add rdx, 64
%line 987+1 libavcodec/x86/h264_idct.asm
 movzx rdi, word [R8+0x64]
%line 987+0 libavcodec/x86/h264_idct.asm
 test rdi, rdi
 jz .try3dc
 ..@9911.branch_instr equ $
 mov edi, dword [rsi+(3&1)*8+64*(1+(3>>1))]
 add rdi, [R10]
 call h264_add8x4_idct_sse2
 jmp .cycle3end
.try3dc:
 movsx rdi, word [rdx ]
 or di, word [rdx+32]
 jz .cycle3end
 ..@9916.branch_instr equ $
 mov edi, dword [rsi+(3&1)*8+64*(1+(3>>1))]
 add rdi, [R10]
 call h264_idct_dc_add8_mmxext
.cycle3end:
%line 988+1 libavcodec/x86/h264_idct.asm
 rep ret

%line 997+1 libavcodec/x86/h264_idct.asm

%line 1043+1 libavcodec/x86/h264_idct.asm

%line 1077+1 libavcodec/x86/h264_idct.asm

%line 1093+1 libavcodec/x86/h264_idct.asm

%line 1141+1 libavcodec/x86/h264_idct.asm


%line 1142+0 libavcodec/x86/h264_idct.asm


%line 1143+1 libavcodec/x86/h264_idct.asm
[global ff_h264_luma_dc_dequant_idct_mmx:function hidden]
%line 1143+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_luma_dc_dequant_idct_mmx:


 movq mm3, [rsi+24]

 movq mm2, [rsi+16]

 movq mm1, [rsi+ 8]

 movq mm0, [rsi+ 0]

 movq mm4, mm3

 paddw mm3, mm2

 psubw mm2, mm4

 movq mm4, mm1

 paddw mm1, mm0

 psubw mm0, mm4

 movq mm4, mm3

 paddw mm3, mm1

 psubw mm1, mm4

 movq mm4, mm2

 paddw mm2, mm0

 psubw mm0, mm4

 movq mm4, mm3

 punpcklwd mm3, mm1

 punpckhwd mm4, mm1

 movq mm1, mm0

 punpcklwd mm0, mm2

 punpckhwd mm1, mm2

 movq mm2, mm3

 punpckldq mm3, mm0

 punpckhdq mm2, mm0

 movq mm0, mm4

 punpckldq mm4, mm1

 punpckhdq mm0, mm1

 movq mm1, mm0

 paddw mm0, mm4

 psubw mm4, mm1

 movq mm1, mm2

 paddw mm2, mm3

 psubw mm3, mm1

 movq mm1, mm0

 paddw mm0, mm2

 psubw mm2, mm1

 movq mm1, mm4

 paddw mm4, mm3

 psubw mm3, mm1

 cmp edx, 32767
 jg .big_qmul
 ..@10132.branch_instr equ $
 add edx, 128 << 16

 movq mm7, [ff_pw_1]

 movq mm1, mm0

 punpcklwd mm0, mm7

 punpckhwd mm1, mm7

 movq mm5, mm2

 punpcklwd mm2, mm7

 punpckhwd mm5, mm7

 movd mm7, edx

 punpckldq mm7, mm7

 pmaddwd mm0, mm7

 pmaddwd mm2, mm7

 pmaddwd mm1, mm7

 pmaddwd mm5, mm7

 psrad mm0, 8

 psrad mm2, 8

 psrad mm1, 8

 psrad mm5, 8

 packssdw mm0, mm1

 packssdw mm2, mm5

 movd ecx, mm0

 psrlq mm0, 32

 movd esi, mm0
 mov [rdi+0*32], cx
 mov [rdi+4*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+1*32], cx
 mov [rdi+5*32], si

 movd ecx, mm2

 psrlq mm2, 32

 movd esi, mm2
 mov [rdi+2*32], cx
 mov [rdi+6*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+3*32], cx
 mov [rdi+7*32], si


 movq mm7, [ff_pw_1]

 movq mm1, mm3

 punpcklwd mm3, mm7

 punpckhwd mm1, mm7

 movq mm5, mm4

 punpcklwd mm4, mm7

 punpckhwd mm5, mm7

 movd mm7, edx

 punpckldq mm7, mm7

 pmaddwd mm3, mm7

 pmaddwd mm4, mm7

 pmaddwd mm1, mm7

 pmaddwd mm5, mm7

 psrad mm3, 8

 psrad mm4, 8

 psrad mm1, 8

 psrad mm5, 8

 packssdw mm3, mm1

 packssdw mm4, mm5

 movd ecx, mm3

 psrlq mm3, 32

 movd esi, mm3
 mov [rdi+8*32], cx
 mov [rdi+12*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+9*32], cx
 mov [rdi+13*32], si

 movd ecx, mm4

 psrlq mm4, 32

 movd esi, mm4
 mov [rdi+10*32], cx
 mov [rdi+14*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+11*32], cx
 mov [rdi+15*32], si
 times ((..@10132.branch_instr-$)>>31)+1 rep
 ret
.big_qmul:
 bsr ecx, edx
 add edx, 128 << 16
 mov esi, 7
 cmp ecx, esi
 cmovg ecx, esi
 inc esi
 shr edx, cl
 sub esi, ecx

 movd mm6, esi

 movq mm7, [ff_pw_1]

 movq mm1, mm0

 punpcklwd mm0, mm7

 punpckhwd mm1, mm7

 movq mm5, mm2

 punpcklwd mm2, mm7

 punpckhwd mm5, mm7

 movd mm7, edx

 punpckldq mm7, mm7

 pmaddwd mm0, mm7

 pmaddwd mm2, mm7

 pmaddwd mm1, mm7

 pmaddwd mm5, mm7

 psrad mm0, mm6

 psrad mm2, mm6

 psrad mm1, mm6

 psrad mm5, mm6

 packssdw mm0, mm1

 packssdw mm2, mm5

 movd ecx, mm0

 psrlq mm0, 32

 movd esi, mm0
 mov [rdi+0*32], cx
 mov [rdi+4*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+1*32], cx
 mov [rdi+5*32], si

 movd ecx, mm2

 psrlq mm2, 32

 movd esi, mm2
 mov [rdi+2*32], cx
 mov [rdi+6*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+3*32], cx
 mov [rdi+7*32], si


 movq mm7, [ff_pw_1]

 movq mm1, mm3

 punpcklwd mm3, mm7

 punpckhwd mm1, mm7

 movq mm5, mm4

 punpcklwd mm4, mm7

 punpckhwd mm5, mm7

 movd mm7, edx

 punpckldq mm7, mm7

 pmaddwd mm3, mm7

 pmaddwd mm4, mm7

 pmaddwd mm1, mm7

 pmaddwd mm5, mm7

 psrad mm3, mm6

 psrad mm4, mm6

 psrad mm1, mm6

 psrad mm5, mm6

 packssdw mm3, mm1

 packssdw mm4, mm5

 movd ecx, mm3

 psrlq mm3, 32

 movd esi, mm3
 mov [rdi+8*32], cx
 mov [rdi+12*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+9*32], cx
 mov [rdi+13*32], si

 movd ecx, mm4

 psrlq mm4, 32

 movd esi, mm4
 mov [rdi+10*32], cx
 mov [rdi+14*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+11*32], cx
 mov [rdi+15*32], si
 times ((..@10132.branch_instr-$)>>31)+1 rep
 ret
%line 1144+1 libavcodec/x86/h264_idct.asm

%line 1144+0 libavcodec/x86/h264_idct.asm


%line 1145+1 libavcodec/x86/h264_idct.asm
[global ff_h264_luma_dc_dequant_idct_sse2:function hidden]
%line 1145+0 libavcodec/x86/h264_idct.asm
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_luma_dc_dequant_idct_sse2:


 movq mm3, [rsi+24]

 movq mm2, [rsi+16]

 movq mm1, [rsi+ 8]

 movq mm0, [rsi+ 0]

 movq mm4, mm3

 paddw mm3, mm2

 psubw mm2, mm4

 movq mm4, mm1

 paddw mm1, mm0

 psubw mm0, mm4

 movq mm4, mm3

 paddw mm3, mm1

 psubw mm1, mm4

 movq mm4, mm2

 paddw mm2, mm0

 psubw mm0, mm4

 movq mm4, mm3

 punpcklwd mm3, mm1

 punpckhwd mm4, mm1

 movq mm1, mm0

 punpcklwd mm0, mm2

 punpckhwd mm1, mm2

 movq mm2, mm3

 punpckldq mm3, mm0

 punpckhdq mm2, mm0

 movq mm0, mm4

 punpckldq mm4, mm1

 punpckhdq mm0, mm1

 movq mm1, mm0

 paddw mm0, mm4

 psubw mm4, mm1

 movq mm1, mm2

 paddw mm2, mm3

 psubw mm3, mm1

 movq mm1, mm0

 paddw mm0, mm2

 psubw mm2, mm1

 movq mm1, mm4

 paddw mm4, mm3

 psubw mm3, mm1

 cmp edx, 32767
 jg .big_qmul
 ..@10553.branch_instr equ $
 add edx, 128 << 16

 movd xmm4, edx

 movq xmm5, [ff_pw_1]

 pshufd xmm4, xmm4, 0
 movq2dq xmm0, mm0
 movq2dq xmm1, mm2
 movq2dq xmm2, mm3
 movq2dq xmm3, mm4

 punpcklwd xmm0, xmm5

 punpcklwd xmm1, xmm5

 punpcklwd xmm2, xmm5

 punpcklwd xmm3, xmm5

 pmaddwd xmm0, xmm4

 pmaddwd xmm1, xmm4

 pmaddwd xmm2, xmm4

 pmaddwd xmm3, xmm4

 psrad xmm0, 8

 psrad xmm1, 8

 psrad xmm2, 8

 psrad xmm3, 8

 packssdw xmm0, xmm1

 packssdw xmm2, xmm3

 movd ecx, xmm0

 psrldq xmm0, 4

 movd esi, xmm0

 psrldq xmm0, 4
 mov [rdi+0*32], cx
 mov [rdi+4*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+1*32], cx
 mov [rdi+5*32], si

 movd ecx, xmm0

 psrldq xmm0, 4

 movd esi, xmm0
 mov [rdi+2*32], cx
 mov [rdi+6*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+3*32], cx
 mov [rdi+7*32], si

 movd ecx, xmm2

 psrldq xmm2, 4

 movd esi, xmm2

 psrldq xmm2, 4
 mov [rdi+8*32], cx
 mov [rdi+12*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+9*32], cx
 mov [rdi+13*32], si

 movd ecx, xmm2

 psrldq xmm2, 4

 movd esi, xmm2
 mov [rdi+10*32], cx
 mov [rdi+14*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+11*32], cx
 mov [rdi+15*32], si
 times ((..@10553.branch_instr-$)>>31)+1 rep
 ret
.big_qmul:
 bsr ecx, edx
 add edx, 128 << 16
 mov esi, 7
 cmp ecx, esi
 cmovg ecx, esi
 inc esi
 shr edx, cl
 sub esi, ecx

 movd xmm6, esi

 movd xmm4, edx

 movq xmm5, [ff_pw_1]

 pshufd xmm4, xmm4, 0
 movq2dq xmm0, mm0
 movq2dq xmm1, mm2
 movq2dq xmm2, mm3
 movq2dq xmm3, mm4

 punpcklwd xmm0, xmm5

 punpcklwd xmm1, xmm5

 punpcklwd xmm2, xmm5

 punpcklwd xmm3, xmm5

 pmaddwd xmm0, xmm4

 pmaddwd xmm1, xmm4

 pmaddwd xmm2, xmm4

 pmaddwd xmm3, xmm4

 psrad xmm0, xmm6

 psrad xmm1, xmm6

 psrad xmm2, xmm6

 psrad xmm3, xmm6

 packssdw xmm0, xmm1

 packssdw xmm2, xmm3

 movd ecx, xmm0

 psrldq xmm0, 4

 movd esi, xmm0

 psrldq xmm0, 4
 mov [rdi+0*32], cx
 mov [rdi+4*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+1*32], cx
 mov [rdi+5*32], si

 movd ecx, xmm0

 psrldq xmm0, 4

 movd esi, xmm0
 mov [rdi+2*32], cx
 mov [rdi+6*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+3*32], cx
 mov [rdi+7*32], si

 movd ecx, xmm2

 psrldq xmm2, 4

 movd esi, xmm2

 psrldq xmm2, 4
 mov [rdi+8*32], cx
 mov [rdi+12*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+9*32], cx
 mov [rdi+13*32], si

 movd ecx, xmm2

 psrldq xmm2, 4

 movd esi, xmm2
 mov [rdi+10*32], cx
 mov [rdi+14*32], si
 shr ecx, 16
 shr esi, 16
 mov [rdi+11*32], cx
 mov [rdi+15*32], si
 times ((..@10553.branch_instr-$)>>31)+1 rep
 ret
%line 1146+1 libavcodec/x86/h264_idct.asm

%line 1166+1 libavcodec/x86/h264_idct.asm

%line 1178+1 libavcodec/x86/h264_idct.asm

%line 1197+1 libavcodec/x86/h264_idct.asm


%line 1198+0 libavcodec/x86/h264_idct.asm


[global ff_h264_idct_add_8_sse2:function hidden]
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add_8_sse2:


 movsxd rdx, edx


 movq xmm0, [rsi]

 movq xmm1, [rsi+8]

 movq xmm2, [rsi+16]

 movq xmm3, [rsi+24]


 MOVDQA xmm4, xmm1
 psraw xmm4, 1

 MOVDQA xmm5, xmm3
 psraw xmm5, 1

 paddw xmm5, xmm1

 psubw xmm4, xmm3


 movdqa xmm3, xmm2

 paddw xmm2, xmm0

 psubw xmm0, xmm3


 movdqa xmm3, xmm5

 paddw xmm5, xmm2

 psubw xmm2, xmm3

 movdqa xmm3, xmm4

 paddw xmm4, xmm0

 psubw xmm0, xmm3

 movdqa xmm6, [ff_pw_32]

 punpcklwd xmm5, xmm4

 punpcklwd xmm0, xmm2

 movdqa xmm1, xmm5

 punpckldq xmm5, xmm0

 punpckhdq xmm1, xmm0

 movhlps xmm4, xmm5

 movhlps xmm2, xmm1

 paddw xmm5, xmm6

 MOVDQA xmm0, xmm4
 psraw xmm0, 1

 MOVDQA xmm3, xmm2
 psraw xmm3, 1

 paddw xmm3, xmm4

 psubw xmm0, xmm2


 movdqa xmm2, xmm1

 paddw xmm1, xmm5

 psubw xmm5, xmm2


 movdqa xmm2, xmm3

 paddw xmm3, xmm1

 psubw xmm1, xmm2

 movdqa xmm2, xmm0

 paddw xmm0, xmm5

 psubw xmm5, xmm2

 pxor xmm7, xmm7

 movq [rsi+ 0], xmm7

 movq [rsi+ 8], xmm7

 movq [rsi+16], xmm7

 movq [rsi+24], xmm7


 movd xmm4, [rdi]

 movd xmm2, [rdi+rdx]

 psraw xmm3, 6

 psraw xmm0, 6

 punpcklbw xmm4, xmm7

 punpcklbw xmm2, xmm7

 paddw xmm4, xmm3

 paddw xmm2, xmm0

 packuswb xmm4, xmm7

 packuswb xmm2, xmm7

 movd [rdi], xmm4

 movd [rdi+rdx], xmm2
 lea rdi, [rdi+rdx*2]

 movd xmm4, [rdi]

 movd xmm2, [rdi+rdx]

 psraw xmm5, 6

 psraw xmm1, 6

 punpcklbw xmm4, xmm7

 punpcklbw xmm2, xmm7

 paddw xmm4, xmm5

 paddw xmm2, xmm1

 packuswb xmm4, xmm7

 packuswb xmm2, xmm7

 movd [rdi], xmm4

 movd [rdi+rdx], xmm2
 times ((..@10553.branch_instr-$)>>31)+1 rep
 ret

[global ff_h264_idct_dc_add_8_sse2:function hidden]
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_dc_add_8_sse2:


 movsxd rdx, edx
 movsx ecx, word [rsi]
 mov dword [rsi], 0
 add ecx, 32
 sar ecx, 6

 movd xmm0, ecx

 pshuflw xmm0, xmm0, 0
 lea rcx, [3*rdx]

 pxor xmm1, xmm1

 psubw xmm1, xmm0

 packuswb xmm0, xmm0

 packuswb xmm1, xmm1

 movd xmm2, [rdi ]

 movd xmm3, [rdi+rdx ]

 movd xmm4, [rdi+rdx*2]

 movd xmm5, [rdi+rcx ]

 paddusb xmm2, xmm0

 paddusb xmm3, xmm0

 paddusb xmm4, xmm0

 paddusb xmm5, xmm0

 psubusb xmm2, xmm1

 psubusb xmm3, xmm1

 psubusb xmm4, xmm1

 psubusb xmm5, xmm1

 movd [rdi ], xmm2

 movd [rdi+rdx ], xmm3

 movd [rdi+rdx*2], xmm4

 movd [rdi+rcx ], xmm5
 times ((..@10553.branch_instr-$)>>31)+1 rep
 ret

%line 1199+1 libavcodec/x86/h264_idct.asm

%line 1199+0 libavcodec/x86/h264_idct.asm


[global ff_h264_idct_add_8_avx:function hidden]
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_add_8_avx:


 movsxd rdx, edx


 vmovq xmm0, [rsi]

 vmovq xmm1, [rsi+8]

 vmovq xmm2, [rsi+16]

 vmovq xmm3, [rsi+24]


 vpsraw xmm4, xmm1, 1

 vpsraw xmm5, xmm3, 1

 vpaddw xmm5, xmm1

 vpsubw xmm4, xmm3


 vpaddw xmm3, xmm2, xmm0

 vpsubw xmm0, xmm2


 vpaddw xmm2, xmm5, xmm3

 vpsubw xmm3, xmm5

 vpaddw xmm5, xmm4, xmm0

 vpsubw xmm0, xmm4

 vmovdqa xmm6, [ff_pw_32]

 vpunpcklwd xmm2, xmm5

 vpunpcklwd xmm0, xmm3

 vpunpckhdq xmm1, xmm2, xmm0

 vpunpckldq xmm2, xmm0

 vpunpckhqdq xmm5, xmm2, xmm2

 vpunpckhqdq xmm3, xmm1, xmm1

 vpaddw xmm2, xmm6

 vpsraw xmm0, xmm5, 1

 vpsraw xmm4, xmm3, 1

 vpaddw xmm4, xmm5

 vpsubw xmm0, xmm3


 vpaddw xmm3, xmm1, xmm2

 vpsubw xmm2, xmm1


 vpaddw xmm1, xmm4, xmm3

 vpsubw xmm3, xmm4

 vpaddw xmm4, xmm0, xmm2

 vpsubw xmm2, xmm0

 vpxor xmm7, xmm7

 vmovq [rsi+ 0], xmm7

 vmovq [rsi+ 8], xmm7

 vmovq [rsi+16], xmm7

 vmovq [rsi+24], xmm7


 vmovd xmm5, [rdi]

 vmovd xmm0, [rdi+rdx]

 vpsraw xmm1, 6

 vpsraw xmm4, 6

 vpunpcklbw xmm5, xmm7

 vpunpcklbw xmm0, xmm7

 vpaddw xmm5, xmm1

 vpaddw xmm0, xmm4

 vpackuswb xmm5, xmm7

 vpackuswb xmm0, xmm7

 vmovd [rdi], xmm5

 vmovd [rdi+rdx], xmm0
 lea rdi, [rdi+rdx*2]

 vmovd xmm5, [rdi]

 vmovd xmm0, [rdi+rdx]

 vpsraw xmm2, 6

 vpsraw xmm3, 6

 vpunpcklbw xmm5, xmm7

 vpunpcklbw xmm0, xmm7

 vpaddw xmm5, xmm2

 vpaddw xmm0, xmm3

 vpackuswb xmm5, xmm7

 vpackuswb xmm0, xmm7

 vmovd [rdi], xmm5

 vmovd [rdi+rdx], xmm0
 ret

[global ff_h264_idct_dc_add_8_avx:function hidden]
[sectalign 16]
times (((16) - (($-$$) % (16))) % (16)) nop
 ff_h264_idct_dc_add_8_avx:


 movsxd rdx, edx
 movsx ecx, word [rsi]
 mov dword [rsi], 0
 add ecx, 32
 sar ecx, 6

 vmovd xmm0, ecx

 vpshuflw xmm0, xmm0, 0
 lea rcx, [3*rdx]

 vpxor xmm1, xmm1

 vpsubw xmm1, xmm0

 vpackuswb xmm0, xmm0

 vpackuswb xmm1, xmm1

 vmovd xmm2, [rdi ]

 vmovd xmm3, [rdi+rdx ]

 vmovd xmm4, [rdi+rdx*2]

 vmovd xmm5, [rdi+rcx ]

 vpaddusb xmm2, xmm0

 vpaddusb xmm3, xmm0

 vpaddusb xmm4, xmm0

 vpaddusb xmm5, xmm0

 vpsubusb xmm2, xmm1

 vpsubusb xmm3, xmm1

 vpsubusb xmm4, xmm1

 vpsubusb xmm5, xmm1

 vmovd [rdi ], xmm2

 vmovd [rdi+rdx ], xmm3

 vmovd [rdi+rdx*2], xmm4

 vmovd [rdi+rcx ], xmm5
 ret

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值