ref: bdbecea1baba853b86b1647d116c284c86df723f
parent: 65df957df6f930db1252affb6ddeb487cbf6d84e
author: Johann <johannkoenig@google.com>
date: Fri Dec 1 09:31:04 EST 2017
explicitly label .text sections nasm should infer .text but does not for windows: https://bugzilla.nasm.us/show_bug.cgi?id=3392451 Change-Id: Ib195465e5f33405f5ff61c4cf88aa2a72640cacb
--- a/vp8/common/x86/copy_sse2.asm
+++ b/vp8/common/x86/copy_sse2.asm
@@ -11,6 +11,7 @@
%include "vpx_ports/x86_abi_support.asm"
+SECTION .text
;void vp8_copy32xn_sse2(
; unsigned char *src_ptr,
--- a/vp8/common/x86/copy_sse3.asm
+++ b/vp8/common/x86/copy_sse3.asm
@@ -83,6 +83,7 @@
ret
%endmacro
+SECTION .text
;void vp8_copy32xn_sse3(
; unsigned char *src_ptr,
--- a/vp8/common/x86/dequantize_mmx.asm
+++ b/vp8/common/x86/dequantize_mmx.asm
@@ -11,6 +11,7 @@
%include "vpx_ports/x86_abi_support.asm"
+SECTION .text
;void vp8_dequantize_b_impl_mmx(short *sq, short *dq, short *q)
global sym(vp8_dequantize_b_impl_mmx) PRIVATE
--- a/vp8/common/x86/idctllm_mmx.asm
+++ b/vp8/common/x86/idctllm_mmx.asm
@@ -31,6 +31,7 @@
; *
; **************************************************************************/
+SECTION .text
;void vp8_short_idct4x4llm_mmx(short *input, unsigned char *pred,
;int pitch, unsigned char *dest,int stride)
--- a/vp8/common/x86/idctllm_sse2.asm
+++ b/vp8/common/x86/idctllm_sse2.asm
@@ -19,6 +19,8 @@
; int dst_stride - 3
; )
+SECTION .text
+
global sym(vp8_idct_dequant_0_2x_sse2) PRIVATE
sym(vp8_idct_dequant_0_2x_sse2):
push rbp
--- a/vp8/common/x86/iwalsh_sse2.asm
+++ b/vp8/common/x86/iwalsh_sse2.asm
@@ -11,6 +11,8 @@
%include "vpx_ports/x86_abi_support.asm"
+SECTION .text
+
;void vp8_short_inv_walsh4x4_sse2(short *input, short *output)
global sym(vp8_short_inv_walsh4x4_sse2) PRIVATE
sym(vp8_short_inv_walsh4x4_sse2):
--- a/vp8/common/x86/loopfilter_block_sse2_x86_64.asm
+++ b/vp8/common/x86/loopfilter_block_sse2_x86_64.asm
@@ -125,6 +125,8 @@
pxor %1, [GLOBAL(t80)]
%endmacro
+SECTION .text
+
;void vp8_loop_filter_bh_y_sse2
;(
; unsigned char *src_ptr,
--- a/vp8/common/x86/loopfilter_sse2.asm
+++ b/vp8/common/x86/loopfilter_sse2.asm
@@ -276,6 +276,8 @@
%endmacro
+SECTION .text
+
%if ABI_IS_32BIT
;void vp8_loop_filter_horizontal_edge_sse2
--- a/vp8/common/x86/mfqe_sse2.asm
+++ b/vp8/common/x86/mfqe_sse2.asm
@@ -11,6 +11,8 @@
%include "vpx_ports/x86_abi_support.asm"
+SECTION .text
+
;void vp8_filter_by_weight16x16_sse2
;(
; unsigned char *src,
--- a/vp8/common/x86/recon_mmx.asm
+++ b/vp8/common/x86/recon_mmx.asm
@@ -11,6 +11,7 @@
%include "vpx_ports/x86_abi_support.asm"
+SECTION .text
;void copy_mem8x8_mmx(
; unsigned char *src,
--- a/vp8/common/x86/recon_sse2.asm
+++ b/vp8/common/x86/recon_sse2.asm
@@ -11,6 +11,8 @@
%include "vpx_ports/x86_abi_support.asm"
+SECTION .text
+
;void copy_mem16x16_sse2(
; unsigned char *src,
; int src_stride,
--- a/vp8/common/x86/subpixel_mmx.asm
+++ b/vp8/common/x86/subpixel_mmx.asm
@@ -17,6 +17,7 @@
%define vp8_filter_weight 128
%define VP8_FILTER_SHIFT 7
+SECTION .text
;void vp8_filter_block1d_h6_mmx
;(
--- a/vp8/common/x86/subpixel_sse2.asm
+++ b/vp8/common/x86/subpixel_sse2.asm
@@ -16,6 +16,7 @@
%define VP8_FILTER_WEIGHT 128
%define VP8_FILTER_SHIFT 7
+SECTION .text
;/************************************************************************************
; Notes: filter_block1d_h6 applies a 6 tap filter horizontally to the input pixels. The
--- a/vp8/common/x86/subpixel_ssse3.asm
+++ b/vp8/common/x86/subpixel_ssse3.asm
@@ -15,6 +15,7 @@
%define VP8_FILTER_WEIGHT 128
%define VP8_FILTER_SHIFT 7
+SECTION .text
;/************************************************************************************
; Notes: filter_block1d_h6 applies a 6 tap filter horizontally to the input pixels. The
--- a/vp8/encoder/x86/dct_sse2.asm
+++ b/vp8/encoder/x86/dct_sse2.asm
@@ -60,6 +60,8 @@
ret
%endmacro
+SECTION .text
+
;void vp8_short_fdct4x4_sse2(short *input, short *output, int pitch)
global sym(vp8_short_fdct4x4_sse2) PRIVATE
sym(vp8_short_fdct4x4_sse2):
--- a/vp8/encoder/x86/encodeopt.asm
+++ b/vp8/encoder/x86/encodeopt.asm
@@ -11,6 +11,8 @@
%include "vpx_ports/x86_abi_support.asm"
+SECTION .text
+
;int vp8_block_error_sse2(short *coeff_ptr, short *dcoef_ptr)
global sym(vp8_block_error_sse2) PRIVATE
sym(vp8_block_error_sse2):
--- a/vp8/encoder/x86/fwalsh_sse2.asm
+++ b/vp8/encoder/x86/fwalsh_sse2.asm
@@ -11,6 +11,8 @@
%include "vpx_ports/x86_abi_support.asm"
+SECTION .text
+
;void vp8_short_walsh4x4_sse2(short *input, short *output, int pitch)
global sym(vp8_short_walsh4x4_sse2) PRIVATE
sym(vp8_short_walsh4x4_sse2):
--- a/vp8/encoder/x86/temporal_filter_apply_sse2.asm
+++ b/vp8/encoder/x86/temporal_filter_apply_sse2.asm
@@ -11,6 +11,8 @@
%include "vpx_ports/x86_abi_support.asm"
+SECTION .text
+
; void vp8_temporal_filter_apply_sse2 | arg
; (unsigned char *frame1, | 0
; unsigned int stride, | 1
--- a/vp9/common/x86/vp9_mfqe_sse2.asm
+++ b/vp9/common/x86/vp9_mfqe_sse2.asm
@@ -12,6 +12,8 @@
; TODO(jackychen): Find a way to fix the duplicate.
%include "vpx_ports/x86_abi_support.asm"
+SECTION .text
+
;void vp9_filter_by_weight16x16_sse2
;(
; unsigned char *src,
--- a/vpx_dsp/x86/add_noise_sse2.asm
+++ b/vpx_dsp/x86/add_noise_sse2.asm
@@ -11,6 +11,8 @@
%include "vpx_ports/x86_abi_support.asm"
+SECTION .text
+
;void vpx_plane_add_noise_sse2(uint8_t *start, const int8_t *noise,
; int blackclamp, int whiteclamp,
; int width, int height, int pitch)
--- a/vpx_dsp/x86/deblock_sse2.asm
+++ b/vpx_dsp/x86/deblock_sse2.asm
@@ -83,6 +83,8 @@
add rbx, 16
%endmacro
+SECTION .text
+
;void vpx_post_proc_down_and_across_mb_row_sse2
;(
; unsigned char *src_ptr,
--- a/vpx_dsp/x86/highbd_variance_impl_sse2.asm
+++ b/vpx_dsp/x86/highbd_variance_impl_sse2.asm
@@ -11,6 +11,8 @@
%include "vpx_ports/x86_abi_support.asm"
+SECTION .text
+
;unsigned int vpx_highbd_calc16x16var_sse2
;(
; unsigned char * src_ptr,
--- a/vpx_dsp/x86/sad_sse3.asm
+++ b/vpx_dsp/x86/sad_sse3.asm
@@ -165,6 +165,8 @@
paddw mm7, mm3
%endmacro
+SECTION .text
+
;void int vpx_sad16x16x3_sse3(
; unsigned char *src_ptr,
; int src_stride,
--- a/vpx_dsp/x86/sad_sse4.asm
+++ b/vpx_dsp/x86/sad_sse4.asm
@@ -165,6 +165,8 @@
movdqa [rdi + 16], xmm2
%endmacro
+SECTION .text
+
;void vpx_sad16x16x8_sse4_1(
; const unsigned char *src_ptr,
; int src_stride,
--- a/vpx_dsp/x86/sad_ssse3.asm
+++ b/vpx_dsp/x86/sad_ssse3.asm
@@ -146,6 +146,8 @@
%endmacro
+SECTION .text
+
;void int vpx_sad16x16x3_ssse3(
; unsigned char *src_ptr,
; int src_stride,
--- a/vpx_dsp/x86/ssim_opt_x86_64.asm
+++ b/vpx_dsp/x86/ssim_opt_x86_64.asm
@@ -44,6 +44,9 @@
paddd %1, xmm1
SUM_ACROSS_Q %1
%endmacro
+
+SECTION .text
+
;void ssim_parms_sse2(
; unsigned char *s,
; int sp,
--- a/vpx_dsp/x86/vpx_high_subpixel_8t_sse2.asm
+++ b/vpx_dsp/x86/vpx_high_subpixel_8t_sse2.asm
@@ -197,6 +197,8 @@
movdqu [rdi + %2], xmm0
%endm
+SECTION .text
+
;void vpx_filter_block1d4_v8_sse2
;(
; unsigned char *src_ptr,
--- a/vpx_dsp/x86/vpx_high_subpixel_bilinear_sse2.asm
+++ b/vpx_dsp/x86/vpx_high_subpixel_bilinear_sse2.asm
@@ -171,6 +171,8 @@
%endm
%endif
+SECTION .text
+
global sym(vpx_highbd_filter_block1d4_v2_sse2) PRIVATE
sym(vpx_highbd_filter_block1d4_v2_sse2):
push rbp
--- a/vpx_dsp/x86/vpx_subpixel_8t_sse2.asm
+++ b/vpx_dsp/x86/vpx_subpixel_8t_sse2.asm
@@ -176,6 +176,8 @@
movq [rdi + %2], xmm0
%endm
+SECTION .text
+
;void vpx_filter_block1d4_v8_sse2
;(
; unsigned char *src_ptr,
--- a/vpx_dsp/x86/vpx_subpixel_bilinear_sse2.asm
+++ b/vpx_dsp/x86/vpx_subpixel_bilinear_sse2.asm
@@ -131,6 +131,8 @@
dec rcx
%endm
+SECTION .text
+
global sym(vpx_filter_block1d4_v2_sse2) PRIVATE
sym(vpx_filter_block1d4_v2_sse2):
push rbp
--- a/vpx_dsp/x86/vpx_subpixel_bilinear_ssse3.asm
+++ b/vpx_dsp/x86/vpx_subpixel_bilinear_ssse3.asm
@@ -105,6 +105,8 @@
dec rcx
%endm
+SECTION .text
+
global sym(vpx_filter_block1d4_v2_ssse3) PRIVATE
sym(vpx_filter_block1d4_v2_ssse3):
push rbp