%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