diff options
Diffstat (limited to 'media/libjpeg/assembly-tables.diff')
-rw-r--r-- | media/libjpeg/assembly-tables.diff | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/media/libjpeg/assembly-tables.diff b/media/libjpeg/assembly-tables.diff new file mode 100644 index 0000000000..a8dd3d1ee7 --- /dev/null +++ b/media/libjpeg/assembly-tables.diff @@ -0,0 +1,70 @@ +diff --git a/media/libjpeg/simd/i386/jchuff-sse2.asm b/media/libjpeg/simd/i386/jchuff-sse2.asm +index 6ea69f6..fea4de3 100644 +--- a/media/libjpeg/simd/i386/jchuff-sse2.asm ++++ b/media/libjpeg/simd/i386/jchuff-sse2.asm +@@ -27,11 +27,10 @@ + + alignz 32 + GLOBAL_DATA(jconst_huff_encode_one_block) ++ EXTERN EXTN(jpeg_nbits_table) + + EXTN(jconst_huff_encode_one_block): + +-%include "jpeg_nbits_table.inc" +- + alignz 32 + + ; -------------------------------------------------------------------------- +@@ -233,7 +232,7 @@ EXTN(jsimd_huff_encode_one_block_sse2): + + ; Find the number of bits needed for the magnitude of the coefficient + movpic ebp, POINTER [esp+gotptr] ; load GOT address (ebp) +- movzx edx, byte [GOTOFF(ebp, jpeg_nbits_table + ecx)] ; nbits = JPEG_NBITS(temp); ++ movzx edx, byte [GOTOFF(ebp, EXTN(jpeg_nbits_table) + ecx)] ; nbits = JPEG_NBITS(temp); + mov DWORD [esp+temp2], edx ; backup nbits in temp2 + + ; Emit the Huffman-coded symbol for the number of bits +@@ -305,7 +304,7 @@ EXTN(jsimd_huff_encode_one_block_sse2): + .ERLOOP: + movsx eax, word [esi] ; temp = t1[k]; + movpic edx, POINTER [esp+gotptr] ; load GOT address (edx) +- movzx eax, byte [GOTOFF(edx, jpeg_nbits_table + eax)] ; nbits = JPEG_NBITS(temp); ++ movzx eax, byte [GOTOFF(edx, EXTN(jpeg_nbits_table) + eax)] ; nbits = JPEG_NBITS(temp); + mov DWORD [esp+temp2], eax + ; Emit Huffman symbol for run length / number of bits + shl ecx, 4 ; temp3 = (r << 4) + nbits; +diff --git a/media/libjpeg/simd/x86_64/jchuff-sse2.asm b/media/libjpeg/simd/x86_64/jchuff-sse2.asm +index 1b091ad..5ec8b1a 100644 +--- a/media/libjpeg/simd/x86_64/jchuff-sse2.asm ++++ b/media/libjpeg/simd/x86_64/jchuff-sse2.asm +@@ -27,11 +27,10 @@ + + alignz 32 + GLOBAL_DATA(jconst_huff_encode_one_block) ++ EXTERN EXTN(jpeg_nbits_table) + + EXTN(jconst_huff_encode_one_block): + +-%include "jpeg_nbits_table.inc" +- + alignz 32 + + ; -------------------------------------------------------------------------- +@@ -222,7 +221,7 @@ EXTN(jsimd_huff_encode_one_block_sse2): + add ebx, esi ; temp2 += temp3; + + ; Find the number of bits needed for the magnitude of the coefficient +- lea r11, [rel jpeg_nbits_table] ++ lea r11, [rel EXTN(jpeg_nbits_table)] + movzx rdi, byte [r11 + rdi] ; nbits = JPEG_NBITS(temp); + ; Emit the Huffman-coded symbol for the number of bits + mov r11d, INT [r14 + rdi * 4] ; code = dctbl->ehufco[nbits]; +@@ -289,7 +288,7 @@ EXTN(jsimd_huff_encode_one_block_sse2): + lea rsi, [rsi+r12*2] ; k += r; + shr r11, cl ; index >>= r; + movzx rdi, word [rsi] ; temp = t1[k]; +- lea rbx, [rel jpeg_nbits_table] ++ lea rbx, [rel EXTN(jpeg_nbits_table)] + movzx rdi, byte [rbx + rdi] ; nbits = JPEG_NBITS(temp); + .BRLOOP: + cmp r12, 16 ; while (r > 15) { |