Define LIBVPX_{ELF,MACHO} to simplify blocks.
Create new globalsym macro and include logic for PRIVATE.
BUG=webm:1679
Change-Id: I303ba1492a2813f685de51155ccef7e4831e1881
SECTION .text
;void vp8_dequantize_b_impl_mmx(short *sq, short *dq, short *q)
-global sym(vp8_dequantize_b_impl_mmx)PRIVATE
+globalsym(vp8_dequantize_b_impl_mmx)
sym(vp8_dequantize_b_impl_mmx):
push rbp
mov rbp, rsp
;short *dq, 1
;unsigned char *dest, 2
;int stride) 3
-global sym(vp8_dequant_idct_add_mmx)PRIVATE
+globalsym(vp8_dequant_idct_add_mmx)
sym(vp8_dequant_idct_add_mmx):
push rbp
mov rbp, rsp
;void vp8_short_idct4x4llm_mmx(short *input, unsigned char *pred,
;int pitch, unsigned char *dest,int stride)
-global sym(vp8_short_idct4x4llm_mmx)PRIVATE
+globalsym(vp8_short_idct4x4llm_mmx)
sym(vp8_short_idct4x4llm_mmx):
push rbp
mov rbp, rsp
;int pred_stride,
;unsigned char *dst_ptr,
;int stride)
-global sym(vp8_dc_only_idct_add_mmx)PRIVATE
+globalsym(vp8_dc_only_idct_add_mmx)
sym(vp8_dc_only_idct_add_mmx):
push rbp
mov rbp, rsp
SECTION .text
-global sym(vp8_idct_dequant_0_2x_sse2)PRIVATE
+globalsym(vp8_idct_dequant_0_2x_sse2)
sym(vp8_idct_dequant_0_2x_sse2):
push rbp
mov rbp, rsp
; unsigned char *dst - 2
; int dst_stride - 3
; )
-global sym(vp8_idct_dequant_full_2x_sse2)PRIVATE
+globalsym(vp8_idct_dequant_full_2x_sse2)
sym(vp8_idct_dequant_full_2x_sse2):
push rbp
mov rbp, rsp
; int dst_stride - 3
; short *dc - 4
; )
-global sym(vp8_idct_dequant_dc_0_2x_sse2)PRIVATE
+globalsym(vp8_idct_dequant_dc_0_2x_sse2)
sym(vp8_idct_dequant_dc_0_2x_sse2):
push rbp
mov rbp, rsp
; int dst_stride - 3
; short *dc - 4
; )
-global sym(vp8_idct_dequant_dc_full_2x_sse2)PRIVATE
+globalsym(vp8_idct_dequant_dc_full_2x_sse2)
sym(vp8_idct_dequant_dc_full_2x_sse2):
push rbp
mov rbp, rsp
SECTION .text
;void vp8_short_inv_walsh4x4_sse2(short *input, short *mb_dqcoeff)
-global sym(vp8_short_inv_walsh4x4_sse2)PRIVATE
+globalsym(vp8_short_inv_walsh4x4_sse2)
sym(vp8_short_inv_walsh4x4_sse2):
push rbp
mov rbp, rsp
; const char *limit,
; const char *thresh
;)
-global sym(vp8_loop_filter_bh_y_sse2)PRIVATE
+globalsym(vp8_loop_filter_bh_y_sse2)
sym(vp8_loop_filter_bh_y_sse2):
%if LIBVPX_YASM_WIN64
; const char *thresh
;)
-global sym(vp8_loop_filter_bv_y_sse2)PRIVATE
+globalsym(vp8_loop_filter_bv_y_sse2)
sym(vp8_loop_filter_bv_y_sse2):
%if LIBVPX_YASM_WIN64
; const char *limit,
; const char *thresh,
;)
-global sym(vp8_loop_filter_horizontal_edge_sse2)PRIVATE
+globalsym(vp8_loop_filter_horizontal_edge_sse2)
sym(vp8_loop_filter_horizontal_edge_sse2):
push rbp
mov rbp, rsp
; const char *thresh,
; int count
;)
-global sym(vp8_loop_filter_horizontal_edge_uv_sse2)PRIVATE
+globalsym(vp8_loop_filter_horizontal_edge_uv_sse2)
sym(vp8_loop_filter_horizontal_edge_uv_sse2):
push rbp
mov rbp, rsp
; const char *limit,
; const char *thresh,
;)
-global sym(vp8_mbloop_filter_horizontal_edge_sse2)PRIVATE
+globalsym(vp8_mbloop_filter_horizontal_edge_sse2)
sym(vp8_mbloop_filter_horizontal_edge_sse2):
push rbp
mov rbp, rsp
; const char *thresh,
; unsigned char *v
;)
-global sym(vp8_mbloop_filter_horizontal_edge_uv_sse2)PRIVATE
+globalsym(vp8_mbloop_filter_horizontal_edge_uv_sse2)
sym(vp8_mbloop_filter_horizontal_edge_uv_sse2):
push rbp
mov rbp, rsp
; const char *limit,
; const char *thresh,
;)
-global sym(vp8_loop_filter_vertical_edge_sse2)PRIVATE
+globalsym(vp8_loop_filter_vertical_edge_sse2)
sym(vp8_loop_filter_vertical_edge_sse2):
push rbp
mov rbp, rsp
; const char *thresh,
; unsigned char *v
;)
-global sym(vp8_loop_filter_vertical_edge_uv_sse2)PRIVATE
+globalsym(vp8_loop_filter_vertical_edge_uv_sse2)
sym(vp8_loop_filter_vertical_edge_uv_sse2):
push rbp
mov rbp, rsp
; const char *limit,
; const char *thresh,
;)
-global sym(vp8_mbloop_filter_vertical_edge_sse2)PRIVATE
+globalsym(vp8_mbloop_filter_vertical_edge_sse2)
sym(vp8_mbloop_filter_vertical_edge_sse2):
push rbp
mov rbp, rsp
; const char *thresh,
; unsigned char *v
;)
-global sym(vp8_mbloop_filter_vertical_edge_uv_sse2)PRIVATE
+globalsym(vp8_mbloop_filter_vertical_edge_uv_sse2)
sym(vp8_mbloop_filter_vertical_edge_uv_sse2):
push rbp
mov rbp, rsp
; int src_pixel_step,
; const char *blimit,
;)
-global sym(vp8_loop_filter_simple_horizontal_edge_sse2)PRIVATE
+globalsym(vp8_loop_filter_simple_horizontal_edge_sse2)
sym(vp8_loop_filter_simple_horizontal_edge_sse2):
push rbp
mov rbp, rsp
; int src_pixel_step,
; const char *blimit,
;)
-global sym(vp8_loop_filter_simple_vertical_edge_sse2)PRIVATE
+globalsym(vp8_loop_filter_simple_vertical_edge_sse2)
sym(vp8_loop_filter_simple_vertical_edge_sse2):
push rbp ; save old base pointer value.
mov rbp, rsp ; set new base pointer value.
; int dst_stride,
; int src_weight
;)
-global sym(vp8_filter_by_weight16x16_sse2)PRIVATE
+globalsym(vp8_filter_by_weight16x16_sse2)
sym(vp8_filter_by_weight16x16_sse2):
push rbp
mov rbp, rsp
; int dst_stride,
; int src_weight
;)
-global sym(vp8_filter_by_weight8x8_sse2)PRIVATE
+globalsym(vp8_filter_by_weight8x8_sse2)
sym(vp8_filter_by_weight8x8_sse2):
push rbp
mov rbp, rsp
; unsigned int *variance, 4
; unsigned int *sad, 5
;)
-global sym(vp8_variance_and_sad_16x16_sse2)PRIVATE
+globalsym(vp8_variance_and_sad_16x16_sse2)
sym(vp8_variance_and_sad_16x16_sse2):
push rbp
mov rbp, rsp
; unsigned char *dst,
; int dst_stride
; )
-global sym(vp8_copy_mem8x8_mmx)PRIVATE
+globalsym(vp8_copy_mem8x8_mmx)
sym(vp8_copy_mem8x8_mmx):
push rbp
mov rbp, rsp
; unsigned char *dst,
; int dst_stride
; )
-global sym(vp8_copy_mem8x4_mmx)PRIVATE
+globalsym(vp8_copy_mem8x4_mmx)
sym(vp8_copy_mem8x4_mmx):
push rbp
mov rbp, rsp
; unsigned char *dst,
; int dst_stride
; )
-global sym(vp8_copy_mem16x16_sse2)PRIVATE
+globalsym(vp8_copy_mem16x16_sse2)
sym(vp8_copy_mem16x16_sse2):
push rbp
mov rbp, rsp
; unsigned int output_width,
; short * vp8_filter
;)
-global sym(vp8_filter_block1d_h6_mmx)PRIVATE
+globalsym(vp8_filter_block1d_h6_mmx)
sym(vp8_filter_block1d_h6_mmx):
push rbp
mov rbp, rsp
; unsigned int output_width,
; short * vp8_filter
;)
-global sym(vp8_filter_block1dc_v6_mmx)PRIVATE
+globalsym(vp8_filter_block1dc_v6_mmx)
sym(vp8_filter_block1dc_v6_mmx):
push rbp
mov rbp, rsp
; unsigned int output_width,
; short *vp8_filter
;)
-global sym(vp8_filter_block1d8_h6_sse2)PRIVATE
+globalsym(vp8_filter_block1d8_h6_sse2)
sym(vp8_filter_block1d8_h6_sse2):
push rbp
mov rbp, rsp
; even number. This function handles 8 pixels in horizontal direction, calculating ONE
; rows each iteration to take advantage of the 128 bits operations.
;*************************************************************************************/
-global sym(vp8_filter_block1d16_h6_sse2)PRIVATE
+globalsym(vp8_filter_block1d16_h6_sse2)
sym(vp8_filter_block1d16_h6_sse2):
push rbp
mov rbp, rsp
; Notes: filter_block1d8_v6 applies a 6 tap filter vertically to the input pixels. The
; input pixel array has output_height rows.
;*************************************************************************************/
-global sym(vp8_filter_block1d8_v6_sse2)PRIVATE
+globalsym(vp8_filter_block1d8_v6_sse2)
sym(vp8_filter_block1d8_v6_sse2):
push rbp
mov rbp, rsp
; Notes: filter_block1d16_v6 applies a 6 tap filter vertically to the input pixels. The
; input pixel array has output_height rows.
;*************************************************************************************/
-global sym(vp8_filter_block1d16_v6_sse2)PRIVATE
+globalsym(vp8_filter_block1d16_v6_sse2)
sym(vp8_filter_block1d16_v6_sse2):
push rbp
mov rbp, rsp
; const short *vp8_filter
;)
; First-pass filter only when yoffset==0
-global sym(vp8_filter_block1d8_h6_only_sse2)PRIVATE
+globalsym(vp8_filter_block1d8_h6_only_sse2)
sym(vp8_filter_block1d8_h6_only_sse2):
push rbp
mov rbp, rsp
; const short *vp8_filter
;)
; First-pass filter only when yoffset==0
-global sym(vp8_filter_block1d16_h6_only_sse2)PRIVATE
+globalsym(vp8_filter_block1d16_h6_only_sse2)
sym(vp8_filter_block1d16_h6_only_sse2):
push rbp
mov rbp, rsp
; const short *vp8_filter
;)
; Second-pass filter only when xoffset==0
-global sym(vp8_filter_block1d8_v6_only_sse2)PRIVATE
+globalsym(vp8_filter_block1d8_v6_only_sse2)
sym(vp8_filter_block1d8_v6_only_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; unsigned int output_width
;)
-global sym(vp8_unpack_block1d16_h6_sse2)PRIVATE
+globalsym(vp8_unpack_block1d16_h6_sse2)
sym(vp8_unpack_block1d16_h6_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; unsigned int vp8_filter_index
;)
-global sym(vp8_filter_block1d8_h6_ssse3)PRIVATE
+globalsym(vp8_filter_block1d8_h6_ssse3)
sym(vp8_filter_block1d8_h6_ssse3):
push rbp
mov rbp, rsp
; unsigned int output_height,
; unsigned int vp8_filter_index
;)
-global sym(vp8_filter_block1d16_h6_ssse3)PRIVATE
+globalsym(vp8_filter_block1d16_h6_ssse3)
sym(vp8_filter_block1d16_h6_ssse3):
push rbp
mov rbp, rsp
; unsigned int output_height,
; unsigned int vp8_filter_index
;)
-global sym(vp8_filter_block1d4_h6_ssse3)PRIVATE
+globalsym(vp8_filter_block1d4_h6_ssse3)
sym(vp8_filter_block1d4_h6_ssse3):
push rbp
mov rbp, rsp
; unsigned int output_height,
; unsigned int vp8_filter_index
;)
-global sym(vp8_filter_block1d16_v6_ssse3)PRIVATE
+globalsym(vp8_filter_block1d16_v6_ssse3)
sym(vp8_filter_block1d16_v6_ssse3):
push rbp
mov rbp, rsp
; unsigned int output_height,
; unsigned int vp8_filter_index
;)
-global sym(vp8_filter_block1d8_v6_ssse3)PRIVATE
+globalsym(vp8_filter_block1d8_v6_ssse3)
sym(vp8_filter_block1d8_v6_ssse3):
push rbp
mov rbp, rsp
; unsigned int output_height,
; unsigned int vp8_filter_index
;)
-global sym(vp8_filter_block1d4_v6_ssse3)PRIVATE
+globalsym(vp8_filter_block1d4_v6_ssse3)
sym(vp8_filter_block1d4_v6_ssse3):
push rbp
mov rbp, rsp
; unsigned char *dst_ptr,
; int dst_pitch
;)
-global sym(vp8_bilinear_predict16x16_ssse3)PRIVATE
+globalsym(vp8_bilinear_predict16x16_ssse3)
sym(vp8_bilinear_predict16x16_ssse3):
push rbp
mov rbp, rsp
; unsigned char *dst_ptr,
; int dst_pitch
;)
-global sym(vp8_bilinear_predict8x8_ssse3)PRIVATE
+globalsym(vp8_bilinear_predict8x8_ssse3)
sym(vp8_bilinear_predict8x8_ssse3):
push rbp
mov rbp, rsp
SECTION .text
;int vp8_block_error_sse2(short *coeff_ptr, short *dcoef_ptr)
-global sym(vp8_block_error_sse2)PRIVATE
+globalsym(vp8_block_error_sse2)
sym(vp8_block_error_sse2):
push rbp
mov rbp, rsp
ret
;int vp8_mbblock_error_sse2_impl(short *coeff_ptr, short *dcoef_ptr, int dc);
-global sym(vp8_mbblock_error_sse2_impl)PRIVATE
+globalsym(vp8_mbblock_error_sse2_impl)
sym(vp8_mbblock_error_sse2_impl):
push rbp
mov rbp, rsp
;int vp8_mbuverror_sse2_impl(short *s_ptr, short *d_ptr);
-global sym(vp8_mbuverror_sse2_impl)PRIVATE
+globalsym(vp8_mbuverror_sse2_impl)
sym(vp8_mbuverror_sse2_impl):
push rbp
mov rbp, rsp
; unsigned char *dst_ptr,
; int dst_stride,
; int height);
-global sym(vp8_copy32xn_sse2)PRIVATE
+globalsym(vp8_copy32xn_sse2)
sym(vp8_copy32xn_sse2):
push rbp
mov rbp, rsp
; unsigned char *dst_ptr,
; int dst_stride,
; int height);
-global sym(vp8_copy32xn_sse3)PRIVATE
+globalsym(vp8_copy32xn_sse3)
sym(vp8_copy32xn_sse3):
STACK_FRAME_CREATE_X3
SECTION .text
;void vp8_short_fdct4x4_sse2(short *input, short *output, int pitch)
-global sym(vp8_short_fdct4x4_sse2)PRIVATE
+globalsym(vp8_short_fdct4x4_sse2)
sym(vp8_short_fdct4x4_sse2):
STACK_FRAME_CREATE
STACK_FRAME_DESTROY
;void vp8_short_fdct8x4_sse2(short *input, short *output, int pitch)
-global sym(vp8_short_fdct8x4_sse2)PRIVATE
+globalsym(vp8_short_fdct8x4_sse2)
sym(vp8_short_fdct8x4_sse2):
STACK_FRAME_CREATE
SECTION .text
;void vp8_short_walsh4x4_sse2(short *input, short *output, int pitch)
-global sym(vp8_short_walsh4x4_sse2)PRIVATE
+globalsym(vp8_short_walsh4x4_sse2)
sym(vp8_short_walsh4x4_sse2):
push rbp
mov rbp, rsp
; int filter_weight, | 5
; unsigned int *accumulator, | 6
; unsigned short *count) | 7
-global sym(vp8_temporal_filter_apply_sse2)PRIVATE
+globalsym(vp8_temporal_filter_apply_sse2)
sym(vp8_temporal_filter_apply_sse2):
push rbp
; int dst_stride,
; int src_weight
;)
-global sym(vp9_filter_by_weight16x16_sse2)PRIVATE
+globalsym(vp9_filter_by_weight16x16_sse2)
sym(vp9_filter_by_weight16x16_sse2):
push rbp
mov rbp, rsp
; int dst_stride,
; int src_weight
;)
-global sym(vp9_filter_by_weight8x8_sse2)PRIVATE
+globalsym(vp9_filter_by_weight8x8_sse2)
sym(vp9_filter_by_weight8x8_sse2):
push rbp
mov rbp, rsp
; unsigned int *variance, 4
; unsigned int *sad, 5
;)
-global sym(vp9_variance_and_sad_16x16_sse2)PRIVATE
+globalsym(vp9_variance_and_sad_16x16_sse2)
sym(vp9_variance_and_sad_16x16_sse2):
push rbp
mov rbp, rsp
;void vpx_plane_add_noise_sse2(uint8_t *start, const int8_t *noise,
; int blackclamp, int whiteclamp,
; int width, int height, int pitch)
-global sym(vpx_plane_add_noise_sse2)PRIVATE
+globalsym(vpx_plane_add_noise_sse2)
sym(vpx_plane_add_noise_sse2):
push rbp
mov rbp, rsp
; int *flimits,
; int size
;)
-global sym(vpx_post_proc_down_and_across_mb_row_sse2)PRIVATE
+globalsym(vpx_post_proc_down_and_across_mb_row_sse2)
sym(vpx_post_proc_down_and_across_mb_row_sse2):
push rbp
mov rbp, rsp
;void vpx_mbpost_proc_across_ip_sse2(unsigned char *src,
; int pitch, int rows, int cols,int flimit)
-global sym(vpx_mbpost_proc_across_ip_sse2)PRIVATE
+globalsym(vpx_mbpost_proc_across_ip_sse2)
sym(vpx_mbpost_proc_across_ip_sse2):
push rbp
mov rbp, rsp
; unsigned int * SSE,
; int * Sum
;)
-global sym(vpx_highbd_calc16x16var_sse2)PRIVATE
+globalsym(vpx_highbd_calc16x16var_sse2)
sym(vpx_highbd_calc16x16var_sse2):
push rbp
mov rbp, rsp
; unsigned int * SSE,
; int * Sum
;)
-global sym(vpx_highbd_calc8x8var_sse2)PRIVATE
+globalsym(vpx_highbd_calc8x8var_sse2)
sym(vpx_highbd_calc8x8var_sse2):
push rbp
mov rbp, rsp
; unsigned char *ref_ptr,
; int ref_stride,
; int *results)
-global sym(vpx_sad16x16x3_sse3)PRIVATE
+globalsym(vpx_sad16x16x3_sse3)
sym(vpx_sad16x16x3_sse3):
STACK_FRAME_CREATE_X3
; unsigned char *ref_ptr,
; int ref_stride,
; int *results)
-global sym(vpx_sad16x8x3_sse3)PRIVATE
+globalsym(vpx_sad16x8x3_sse3)
sym(vpx_sad16x8x3_sse3):
STACK_FRAME_CREATE_X3
; unsigned char *ref_ptr,
; int ref_stride,
; int *results)
-global sym(vpx_sad8x16x3_sse3)PRIVATE
+globalsym(vpx_sad8x16x3_sse3)
sym(vpx_sad8x16x3_sse3):
STACK_FRAME_CREATE_X3
; unsigned char *ref_ptr,
; int ref_stride,
; int *results)
-global sym(vpx_sad8x8x3_sse3)PRIVATE
+globalsym(vpx_sad8x8x3_sse3)
sym(vpx_sad8x8x3_sse3):
STACK_FRAME_CREATE_X3
; unsigned char *ref_ptr,
; int ref_stride,
; int *results)
-global sym(vpx_sad4x4x3_sse3)PRIVATE
+globalsym(vpx_sad4x4x3_sse3)
sym(vpx_sad4x4x3_sse3):
STACK_FRAME_CREATE_X3
; const unsigned char *ref_ptr,
; int ref_stride,
; unsigned short *sad_array);
-global sym(vpx_sad16x16x8_sse4_1)PRIVATE
+globalsym(vpx_sad16x16x8_sse4_1)
sym(vpx_sad16x16x8_sse4_1):
push rbp
mov rbp, rsp
; int ref_stride,
; unsigned short *sad_array
;);
-global sym(vpx_sad16x8x8_sse4_1)PRIVATE
+globalsym(vpx_sad16x8x8_sse4_1)
sym(vpx_sad16x8x8_sse4_1):
push rbp
mov rbp, rsp
; int ref_stride,
; unsigned short *sad_array
;);
-global sym(vpx_sad8x8x8_sse4_1)PRIVATE
+globalsym(vpx_sad8x8x8_sse4_1)
sym(vpx_sad8x8x8_sse4_1):
push rbp
mov rbp, rsp
; int ref_stride,
; unsigned short *sad_array
;);
-global sym(vpx_sad8x16x8_sse4_1)PRIVATE
+globalsym(vpx_sad8x16x8_sse4_1)
sym(vpx_sad8x16x8_sse4_1):
push rbp
mov rbp, rsp
; int ref_stride,
; unsigned short *sad_array
;);
-global sym(vpx_sad4x4x8_sse4_1)PRIVATE
+globalsym(vpx_sad4x4x8_sse4_1)
sym(vpx_sad4x4x8_sse4_1):
push rbp
mov rbp, rsp
; unsigned char *ref_ptr,
; int ref_stride,
; int *results)
-global sym(vpx_sad16x16x3_ssse3)PRIVATE
+globalsym(vpx_sad16x16x3_ssse3)
sym(vpx_sad16x16x3_ssse3):
push rbp
mov rbp, rsp
; unsigned char *ref_ptr,
; int ref_stride,
; int *results)
-global sym(vpx_sad16x8x3_ssse3)PRIVATE
+globalsym(vpx_sad16x8x3_ssse3)
sym(vpx_sad16x8x3_ssse3):
push rbp
mov rbp, rsp
; or pavgb At this point this is just meant to be first pass for calculating
; all the parms needed for 16x16 ssim so we can play with dssim as distortion
; in mode selection code.
-global sym(vpx_ssim_parms_16x16_sse2)PRIVATE
+globalsym(vpx_ssim_parms_16x16_sse2)
sym(vpx_ssim_parms_16x16_sse2):
push rbp
mov rbp, rsp
; or pavgb At this point this is just meant to be first pass for calculating
; all the parms needed for 16x16 ssim so we can play with dssim as distortion
; in mode selection code.
-global sym(vpx_ssim_parms_8x8_sse2)PRIVATE
+globalsym(vpx_ssim_parms_8x8_sse2)
sym(vpx_ssim_parms_8x8_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; short *filter
;)
-global sym(vpx_highbd_filter_block1d4_v8_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d4_v8_sse2)
sym(vpx_highbd_filter_block1d4_v8_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; short *filter
;)
-global sym(vpx_highbd_filter_block1d8_v8_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d8_v8_sse2)
sym(vpx_highbd_filter_block1d8_v8_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; short *filter
;)
-global sym(vpx_highbd_filter_block1d16_v8_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d16_v8_sse2)
sym(vpx_highbd_filter_block1d16_v8_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_highbd_filter_block1d4_v8_avg_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d4_v8_avg_sse2)
sym(vpx_highbd_filter_block1d4_v8_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_highbd_filter_block1d8_v8_avg_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d8_v8_avg_sse2)
sym(vpx_highbd_filter_block1d8_v8_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_highbd_filter_block1d16_v8_avg_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d16_v8_avg_sse2)
sym(vpx_highbd_filter_block1d16_v8_avg_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; short *filter
;)
-global sym(vpx_highbd_filter_block1d4_h8_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d4_h8_sse2)
sym(vpx_highbd_filter_block1d4_h8_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; short *filter
;)
-global sym(vpx_highbd_filter_block1d8_h8_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d8_h8_sse2)
sym(vpx_highbd_filter_block1d8_h8_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; short *filter
;)
-global sym(vpx_highbd_filter_block1d16_h8_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d16_h8_sse2)
sym(vpx_highbd_filter_block1d16_h8_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_highbd_filter_block1d4_h8_avg_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d4_h8_avg_sse2)
sym(vpx_highbd_filter_block1d4_h8_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_highbd_filter_block1d8_h8_avg_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d8_h8_avg_sse2)
sym(vpx_highbd_filter_block1d8_h8_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_highbd_filter_block1d16_h8_avg_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d16_h8_avg_sse2)
sym(vpx_highbd_filter_block1d16_h8_avg_sse2):
push rbp
mov rbp, rsp
SECTION .text
-global sym(vpx_highbd_filter_block1d4_v2_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d4_v2_sse2)
sym(vpx_highbd_filter_block1d4_v2_sse2):
push rbp
mov rbp, rsp
ret
%if VPX_ARCH_X86_64
-global sym(vpx_highbd_filter_block1d8_v2_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d8_v2_sse2)
sym(vpx_highbd_filter_block1d8_v2_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_highbd_filter_block1d16_v2_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d16_v2_sse2)
sym(vpx_highbd_filter_block1d16_v2_sse2):
push rbp
mov rbp, rsp
ret
%endif
-global sym(vpx_highbd_filter_block1d4_v2_avg_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d4_v2_avg_sse2)
sym(vpx_highbd_filter_block1d4_v2_avg_sse2):
push rbp
mov rbp, rsp
ret
%if VPX_ARCH_X86_64
-global sym(vpx_highbd_filter_block1d8_v2_avg_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d8_v2_avg_sse2)
sym(vpx_highbd_filter_block1d8_v2_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_highbd_filter_block1d16_v2_avg_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d16_v2_avg_sse2)
sym(vpx_highbd_filter_block1d16_v2_avg_sse2):
push rbp
mov rbp, rsp
ret
%endif
-global sym(vpx_highbd_filter_block1d4_h2_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d4_h2_sse2)
sym(vpx_highbd_filter_block1d4_h2_sse2):
push rbp
mov rbp, rsp
ret
%if VPX_ARCH_X86_64
-global sym(vpx_highbd_filter_block1d8_h2_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d8_h2_sse2)
sym(vpx_highbd_filter_block1d8_h2_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_highbd_filter_block1d16_h2_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d16_h2_sse2)
sym(vpx_highbd_filter_block1d16_h2_sse2):
push rbp
mov rbp, rsp
ret
%endif
-global sym(vpx_highbd_filter_block1d4_h2_avg_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d4_h2_avg_sse2)
sym(vpx_highbd_filter_block1d4_h2_avg_sse2):
push rbp
mov rbp, rsp
ret
%if VPX_ARCH_X86_64
-global sym(vpx_highbd_filter_block1d8_h2_avg_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d8_h2_avg_sse2)
sym(vpx_highbd_filter_block1d8_h2_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_highbd_filter_block1d16_h2_avg_sse2)PRIVATE
+globalsym(vpx_highbd_filter_block1d16_h2_avg_sse2)
sym(vpx_highbd_filter_block1d16_h2_avg_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; short *filter
;)
-global sym(vpx_filter_block1d4_v8_sse2)PRIVATE
+globalsym(vpx_filter_block1d4_v8_sse2)
sym(vpx_filter_block1d4_v8_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; short *filter
;)
-global sym(vpx_filter_block1d8_v8_sse2)PRIVATE
+globalsym(vpx_filter_block1d8_v8_sse2)
sym(vpx_filter_block1d8_v8_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; short *filter
;)
-global sym(vpx_filter_block1d16_v8_sse2)PRIVATE
+globalsym(vpx_filter_block1d16_v8_sse2)
sym(vpx_filter_block1d16_v8_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d4_v8_avg_sse2)PRIVATE
+globalsym(vpx_filter_block1d4_v8_avg_sse2)
sym(vpx_filter_block1d4_v8_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d8_v8_avg_sse2)PRIVATE
+globalsym(vpx_filter_block1d8_v8_avg_sse2)
sym(vpx_filter_block1d8_v8_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d16_v8_avg_sse2)PRIVATE
+globalsym(vpx_filter_block1d16_v8_avg_sse2)
sym(vpx_filter_block1d16_v8_avg_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; short *filter
;)
-global sym(vpx_filter_block1d4_h8_sse2)PRIVATE
+globalsym(vpx_filter_block1d4_h8_sse2)
sym(vpx_filter_block1d4_h8_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; short *filter
;)
-global sym(vpx_filter_block1d8_h8_sse2)PRIVATE
+globalsym(vpx_filter_block1d8_h8_sse2)
sym(vpx_filter_block1d8_h8_sse2):
push rbp
mov rbp, rsp
; unsigned int output_height,
; short *filter
;)
-global sym(vpx_filter_block1d16_h8_sse2)PRIVATE
+globalsym(vpx_filter_block1d16_h8_sse2)
sym(vpx_filter_block1d16_h8_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d4_h8_avg_sse2)PRIVATE
+globalsym(vpx_filter_block1d4_h8_avg_sse2)
sym(vpx_filter_block1d4_h8_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d8_h8_avg_sse2)PRIVATE
+globalsym(vpx_filter_block1d8_h8_avg_sse2)
sym(vpx_filter_block1d8_h8_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d16_h8_avg_sse2)PRIVATE
+globalsym(vpx_filter_block1d16_h8_avg_sse2)
sym(vpx_filter_block1d16_h8_avg_sse2):
push rbp
mov rbp, rsp
SECTION .text
-global sym(vpx_filter_block1d4_v2_sse2)PRIVATE
+globalsym(vpx_filter_block1d4_v2_sse2)
sym(vpx_filter_block1d4_v2_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d8_v2_sse2)PRIVATE
+globalsym(vpx_filter_block1d8_v2_sse2)
sym(vpx_filter_block1d8_v2_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d16_v2_sse2)PRIVATE
+globalsym(vpx_filter_block1d16_v2_sse2)
sym(vpx_filter_block1d16_v2_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d4_v2_avg_sse2)PRIVATE
+globalsym(vpx_filter_block1d4_v2_avg_sse2)
sym(vpx_filter_block1d4_v2_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d8_v2_avg_sse2)PRIVATE
+globalsym(vpx_filter_block1d8_v2_avg_sse2)
sym(vpx_filter_block1d8_v2_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d16_v2_avg_sse2)PRIVATE
+globalsym(vpx_filter_block1d16_v2_avg_sse2)
sym(vpx_filter_block1d16_v2_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d4_h2_sse2)PRIVATE
+globalsym(vpx_filter_block1d4_h2_sse2)
sym(vpx_filter_block1d4_h2_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d8_h2_sse2)PRIVATE
+globalsym(vpx_filter_block1d8_h2_sse2)
sym(vpx_filter_block1d8_h2_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d16_h2_sse2)PRIVATE
+globalsym(vpx_filter_block1d16_h2_sse2)
sym(vpx_filter_block1d16_h2_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d4_h2_avg_sse2)PRIVATE
+globalsym(vpx_filter_block1d4_h2_avg_sse2)
sym(vpx_filter_block1d4_h2_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d8_h2_avg_sse2)PRIVATE
+globalsym(vpx_filter_block1d8_h2_avg_sse2)
sym(vpx_filter_block1d8_h2_avg_sse2):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d16_h2_avg_sse2)PRIVATE
+globalsym(vpx_filter_block1d16_h2_avg_sse2)
sym(vpx_filter_block1d16_h2_avg_sse2):
push rbp
mov rbp, rsp
SECTION .text
-global sym(vpx_filter_block1d4_v2_ssse3)PRIVATE
+globalsym(vpx_filter_block1d4_v2_ssse3)
sym(vpx_filter_block1d4_v2_ssse3):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d8_v2_ssse3)PRIVATE
+globalsym(vpx_filter_block1d8_v2_ssse3)
sym(vpx_filter_block1d8_v2_ssse3):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d16_v2_ssse3)PRIVATE
+globalsym(vpx_filter_block1d16_v2_ssse3)
sym(vpx_filter_block1d16_v2_ssse3):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d4_v2_avg_ssse3)PRIVATE
+globalsym(vpx_filter_block1d4_v2_avg_ssse3)
sym(vpx_filter_block1d4_v2_avg_ssse3):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d8_v2_avg_ssse3)PRIVATE
+globalsym(vpx_filter_block1d8_v2_avg_ssse3)
sym(vpx_filter_block1d8_v2_avg_ssse3):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d16_v2_avg_ssse3)PRIVATE
+globalsym(vpx_filter_block1d16_v2_avg_ssse3)
sym(vpx_filter_block1d16_v2_avg_ssse3):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d4_h2_ssse3)PRIVATE
+globalsym(vpx_filter_block1d4_h2_ssse3)
sym(vpx_filter_block1d4_h2_ssse3):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d8_h2_ssse3)PRIVATE
+globalsym(vpx_filter_block1d8_h2_ssse3)
sym(vpx_filter_block1d8_h2_ssse3):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d16_h2_ssse3)PRIVATE
+globalsym(vpx_filter_block1d16_h2_ssse3)
sym(vpx_filter_block1d16_h2_ssse3):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d4_h2_avg_ssse3)PRIVATE
+globalsym(vpx_filter_block1d4_h2_avg_ssse3)
sym(vpx_filter_block1d4_h2_avg_ssse3):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d8_h2_avg_ssse3)PRIVATE
+globalsym(vpx_filter_block1d8_h2_avg_ssse3)
sym(vpx_filter_block1d8_h2_avg_ssse3):
push rbp
mov rbp, rsp
pop rbp
ret
-global sym(vpx_filter_block1d16_h2_avg_ssse3)PRIVATE
+globalsym(vpx_filter_block1d16_h2_avg_ssse3)
sym(vpx_filter_block1d16_h2_avg_ssse3):
push rbp
mov rbp, rsp
%include "vpx_ports/x86_abi_support.asm"
section .text
-global sym(vpx_clear_system_state)PRIVATE
+globalsym(vpx_clear_system_state)
sym(vpx_clear_system_state):
emms
ret
section .text
%if LIBVPX_YASM_WIN64
-global sym(vpx_winx64_fldcw)PRIVATE
+globalsym(vpx_winx64_fldcw)
sym(vpx_winx64_fldcw):
sub rsp, 8
mov [rsp], rcx ; win x64 specific
ret
-global sym(vpx_winx64_fstcw)PRIVATE
+globalsym(vpx_winx64_fstcw)
sym(vpx_winx64_fstcw):
sub rsp, 8
fstcw [rsp]
%define LIBVPX_YASM_WIN64 0
%endif
+; Declare groups of platforms
+%ifidn __OUTPUT_FORMAT__,elf32
+ %define LIBVPX_ELF 1
+%elifidn __OUTPUT_FORMAT__,elfx32
+ %define LIBVPX_ELF 1
+%elifidn __OUTPUT_FORMAT__,elf64
+ %define LIBVPX_ELF 1
+%else
+ %define LIBVPX_ELF 0
+%endif
+
+%ifidn __OUTPUT_FORMAT__,macho32
+ %define LIBVPX_MACHO 1
+%elifidn __OUTPUT_FORMAT__,macho64
+ %define LIBVPX_MACHO 1
+%else
+ %define LIBVPX_MACHO 0
+%endif
+
; sym()
; Return the proper symbol name for the target ABI.
;
; Certain ABIs, notably MS COFF and Darwin MACH-O, require that symbols
; with C linkage be prefixed with an underscore.
;
-%ifidn __OUTPUT_FORMAT__,elf32
-%define sym(x) x
-%elifidn __OUTPUT_FORMAT__,elf64
-%define sym(x) x
-%elifidn __OUTPUT_FORMAT__,elfx32
-%define sym(x) x
-%elif LIBVPX_YASM_WIN64
-%define sym(x) x
+%if LIBVPX_ELF || LIBVPX_YASM_WIN64
+ %define sym(x) x
%else
-%define sym(x) _ %+ x
+ ; Mach-O / COFF
+ %define sym(x) _ %+ x
%endif
-; PRIVATE
-; Macro for the attribute to hide a global symbol for the target ABI.
-; This is only active if CHROMIUM is defined.
+; globalsym()
+; Return a global declaration with the proper decoration for the target ABI.
+;
+; When CHROMIUM is defined, include attributes to hide the symbol from the
+; global namespace.
;
-; Chromium doesn't like exported global symbols due to symbol clashing with
-; plugins among other things.
+; Chromium doesn't like exported global symbols due to symbol clashing with
+; plugins among other things.
;
-; Requires Chromium's patched copy of yasm:
-; http://src.chromium.org/viewvc/chrome?view=rev&revision=73761
-; http://www.tortall.net/projects/yasm/ticket/236
+; Requires Chromium's patched copy of yasm:
+; http://src.chromium.org/viewvc/chrome?view=rev&revision=73761
+; http://www.tortall.net/projects/yasm/ticket/236
+; or nasm > 2.14.
;
%ifdef CHROMIUM
%ifdef __NASM_VER__
%endif
%endif
- %ifidn __OUTPUT_FORMAT__,elf32
- %define PRIVATE :function hidden
- %elifidn __OUTPUT_FORMAT__,elf64
- %define PRIVATE :function hidden
- %elifidn __OUTPUT_FORMAT__,elfx32
- %define PRIVATE :function hidden
- %elifidn __OUTPUT_FORMAT__,macho32
- %define PRIVATE :private_extern
- %elifidn __OUTPUT_FORMAT__,macho64
- %define PRIVATE :private_extern
+ %if LIBVPX_ELF
+ %define globalsym(x) global sym(x) %+ :function hidden
+ %elif LIBVPX_MACHO
+ %define globalsym(x) global sym(x) %+ :private_extern
%else
- %define PRIVATE
+ ; COFF / PE32+
+ %define globalsym(x) global sym(x)
%endif
%else
- %define PRIVATE
+ %define globalsym(x) global sym(x)
%endif
; arg()