diff options
author | Matt A. Tobin <email@mattatobin.com> | 2014-08-24 01:48:42 -0400 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2014-08-24 02:04:22 -0400 |
commit | d972fe6d11d7eea92cb22bfdb7cd8e5e2c81dbc5 (patch) | |
tree | d40360a6a8b3740ed09fffcf100299d8e403c95b /media | |
parent | de5b0c811abce90b68958afa49230b3cca11c6db (diff) | |
download | palemoon-gre-d972fe6d11d7eea92cb22bfdb7cd8e5e2c81dbc5.tar.gz |
Part 1: Update libvpx build files (x86)
Diffstat (limited to 'media')
-rw-r--r-- | media/libvpx/Makefile.in | 284 | ||||
-rw-r--r-- | media/libvpx/moz.build | 38 |
2 files changed, 174 insertions, 148 deletions
diff --git a/media/libvpx/Makefile.in b/media/libvpx/Makefile.in index 74890cad9..490762169 100644 --- a/media/libvpx/Makefile.in +++ b/media/libvpx/Makefile.in @@ -28,6 +28,11 @@ LOCAL_INCLUDES += \ -I$(topsrcdir)/media/libvpx/vp8/decoder \ -I$(topsrcdir)/media/libvpx/vp8/decoder/arm \ -I$(topsrcdir)/media/libvpx/vp8/decoder/x86 \ + -I$(topsrcdir)/media/libvpx/vp9/ \ + -I$(topsrcdir)/media/libvpx/vp9/common/ \ + -I$(topsrcdir)/media/libvpx/vp9/common/arm \ + -I$(topsrcdir)/media/libvpx/vp9/common/x86 \ + -I$(topsrcdir)/media/libvpx/vp9/decoder/ \ -I$(topsrcdir)/media/libvpx/vpx_codec \ -I$(topsrcdir)/media/libvpx/vpx_mem/ \ -I$(topsrcdir)/media/libvpx/vpx_mem/include \ @@ -59,6 +64,13 @@ VPATH += \ $(srcdir)/vp8/decoder/arm/neon \ $(srcdir)/vp8/decoder/generic \ $(srcdir)/vp8/decoder/x86 \ + $(srcdir)/vp9 \ + $(srcdir)/vp9/common \ + $(srcdir)/vp9/common/arm \ + $(srcdir)/vp9/common/arm/neon \ + $(srcdir)/vp9/common/generic \ + $(srcdir)/vp9/common/x86 \ + $(srcdir)/vp9/decoder \ $(NULL) #Setup the libvpx assembler config. @@ -68,8 +80,6 @@ AS_DASH_C_FLAG=$(VPX_DASH_C_FLAG) ASM_SUFFIX=$(VPX_ASM_SUFFIX) CSRCS += \ - vpx_config_c.c \ - vp8_dx_iface.c \ alloccommon.c \ blockd.c \ debugmodes.c \ @@ -80,43 +90,73 @@ CSRCS += \ extend.c \ filter.c \ findnearmv.c \ + systemdependent.c \ idct_blk.c \ idctllm.c \ loopfilter.c \ loopfilter_filters.c \ mbpitch.c \ modecont.c \ - modecontext.c \ - postproc.c \ quant_common.c \ reconinter.c \ reconintra.c \ reconintra4x4.c \ + rtcd.c \ sad_c.c \ setupintrarecon.c \ swapyv12buffer.c \ treecoder.c \ variance_c.c \ - systemdependent.c \ dboolhuff.c \ decodemv.c \ decodframe.c \ detokenize.c \ - reconintra_mt.c \ onyxd_if.c \ threading.c \ - dsystemdependent.c \ + vp8_dx_iface.c \ + vp9_systemdependent.c \ + vp9_alloccommon.c \ + vp9_common_data.c \ + vp9_convolve.c \ + vp9_debugmodes.c \ + vp9_entropy.c \ + vp9_entropymode.c \ + vp9_entropymv.c \ + vp9_extend.c \ + vp9_filter.c \ + vp9_findnearmv.c \ + vp9_idct.c \ + vp9_loopfilter.c \ + vp9_loopfilter_filters.c \ + vp9_mvref_common.c \ + vp9_pred_common.c \ + vp9_quant_common.c \ + vp9_reconinter.c \ + vp9_reconintra.c \ + vp9_rtcd.c \ + vp9_scale.c \ + vp9_scan.c \ + vp9_seg_common.c \ + vp9_tile_common.c \ + vp9_treecoder.c \ + vp9_dboolhuff.c \ + vp9_decodemv.c \ + vp9_decodframe.c \ + vp9_detokenize.c \ + vp9_dsubexp.c \ + vp9_onyxd_if.c \ + vp9_thread.c \ + vp9_dx_iface.c \ vpx_codec.c \ vpx_decoder.c \ - vpx_decoder_compat.c \ vpx_encoder.c \ vpx_image.c \ vpx_mem.c \ gen_scalers.c \ - vpxscale.c \ - scalesystemdependent.c \ + vpx_scale.c \ yv12config.c \ yv12extend.c \ + vpx_scale_rtcd.c \ $(NULL) ifdef MOZ_VP8_ERROR_CONCEALMENT @@ -134,14 +174,17 @@ VPATH += \ $(srcdir)/vp8/encoder/arm/neon \ $(srcdir)/vp8/encoder/generic \ $(srcdir)/vp8/encoder/x86 \ + $(srcdir)/vp9/encoder \ + $(srcdir)/vp9/encoder/x86 \ $(srcdir)/vpx_scale/arm \ $(srcdir)/vpx_scale/arm/neon \ + $(srcdir)/third_party/x86inc \ $(NULL) CSRCS += \ - vp8_cx_iface.c \ bitstream.c \ dct.c \ + denoising.c \ encodeframe.c \ encodeintra.c \ encodemb.c \ @@ -163,7 +206,35 @@ CSRCS += \ temporal_filter.c \ tokenize.c \ treewriter.c \ - csystemdependent.c \ + vp8_cx_iface.c \ + vp9_bitstream.c \ + vp9_boolhuff.c \ + vp9_dct.c \ + vp9_encodeframe.c \ + vp9_encodeintra.c \ + vp9_encodemb.c \ + vp9_encodemv.c \ + vp9_firstpass.c \ + vp9_lookahead.c \ + vp9_mbgraph.c \ + vp9_mcomp.c \ + vp9_modecosts.c \ + vp9_onyx_if.c \ + vp9_picklpf.c \ + vp9_psnr.c \ + vp9_quantize.c \ + vp9_ratectrl.c \ + vp9_rdopt.c \ + vp9_sad_c.c \ + vp9_segmentation.c \ + vp9_subexp.c \ + vp9_temporal_filter.c \ + vp9_tokenize.c \ + vp9_treewriter.c \ + vp9_vaq.c \ + vp9_variance_c.c \ + vp9_cx_iface.c \ + svc_encodeframe.c \ $(NULL) endif @@ -172,6 +243,8 @@ ifdef VPX_X86_ASM # the optimized assembly in the build. CSRCS += \ + mfqe.c \ + postproc.c \ filter_x86.c \ idct_blk_mmx.c \ idct_blk_sse2.c \ @@ -182,8 +255,10 @@ CSRCS += \ variance_sse2.c \ variance_ssse3.c \ vp8_asm_stubs.c \ - x86_systemdependent.c \ - x86_dsystemdependent.c \ + vp9_asm_stubs.c \ + vp9_idct_intrin_sse2.c \ + vp9_loopfilter_intrin_sse2.c \ + x86_cpuid.c \ $(NULL) ASFILES += \ @@ -194,6 +269,7 @@ ASFILES += \ iwalsh_sse2.asm \ loopfilter_mmx.asm \ loopfilter_sse2.asm \ + mfqe_sse2.asm \ postproc_mmx.asm \ postproc_sse2.asm \ recon_mmx.asm \ @@ -209,22 +285,44 @@ ASFILES += \ variance_impl_mmx.asm \ variance_impl_sse2.asm \ variance_impl_ssse3.asm \ + vp9_copy_sse2.asm \ + vp9_intrapred_sse2.asm \ + vp9_intrapred_ssse3.asm \ + vp9_loopfilter_mmx.asm \ + vp9_subpixel_8t_sse2.asm \ + vp9_subpixel_8t_ssse3.asm \ emms.asm \ $(NULL) ifeq (64,$(findstring 64,$(OS_TEST))) -ASFILES += loopfilter_block_sse2.asm +VPATH += \ + $(srcdir)/third_party/x86inc \ + $(NULL) + +ASFILES += \ + x86inc.asm \ + loopfilter_block_sse2.asm \ + $(NULL) endif + # AVX2 only supported on + # Darwin toolchain right now +### BINOC TODO: AVX2 Conversion from m-r28-moz.build + ifdef MOZ_VP8_ENCODER CSRCS += \ - x86_csystemdependent.c \ + denoising_sse2.c \ + quantize_sse2.c \ + vp8_enc_stubs_mmx.c \ + vp8_enc_stubs_sse2.c \ + vp9_dct32x32_sse2.c \ + vp9_dct_sse2.c \ + vp9_variance_mmx.c \ + vp9_variance_sse2.c \ $(NULL) -# Files which depend on asm_enc_offsets.asm VPX_ASM_ENC_OFFSETS_SRCS = \ - quantize_sse2.asm \ quantize_sse4.asm \ quantize_ssse3.asm \ $(NULL) @@ -238,13 +336,34 @@ ASFILES += \ subtract_mmx.asm \ subtract_sse2.asm \ temporal_filter_apply_sse2.asm \ + vp9_error_sse2.asm \ + vp9_sad4d_sse2.asm \ + vp9_sad_mmx.asm \ + vp9_sad_sse2.asm \ + vp9_sad_sse3.asm \ + vp9_sad_sse4.asm \ + vp9_sad_ssse3.asm \ + vp9_subpel_variance.asm \ + vp9_subpel_variance_impl_sse2.asm \ + vp9_subtract_sse2.asm \ + vp9_temporal_filter_apply_sse2.asm \ + vp9_variance_impl_mmx.asm \ + vp9_variance_impl_sse2.asm \ $(VPX_ASM_ENC_OFFSETS_SRCS) \ $(NULL) +ifeq (64,$(findstring 64,$(OS_TEST))) +ASFILES += \ + vp9_quantize_ssse3.asm \ + $(NULL) +endif + endif endif +### BINOC PROGRESS STOP + ifdef VPX_ARM_ASM # Building on an ARM platform with a supported assembler, include # the optimized assembly in the build. @@ -265,111 +384,24 @@ endif endif CSRCS += \ - arm_cpudetect.c \ - arm_systemdependent.c \ - bilinearfilter_arm.c \ - dequantize_arm.c \ - filter_arm.c \ - loopfilter_arm.c \ - reconintra_arm.c \ - variance_arm.c \ - idct_blk_v6.c \ - idct_blk_neon.c \ - arm_dsystemdependent.c \ - arm_scalesystemdependent.c \ - yv12extend_arm.c \ $(NULL) # Files which depend on asm_com_offsets.asm VPX_ASM_COM_OFFSETS_SRCS = \ - vp8_vpxyv12_copy_y_neon.asm \ - vp8_vpxyv12_copyframe_func_neon.asm \ - vp8_vpxyv12_extendframeborders_neon.asm \ $(NULL) VPX_ASFILES = \ - bilinearfilter_v6.asm \ - copymem16x16_v6.asm \ - copymem8x4_v6.asm \ - copymem8x8_v6.asm \ - dc_only_idct_add_v6.asm \ - dequant_idct_v6.asm \ - dequantize_v6.asm \ - filter_v6.asm \ - idct_v6.asm \ - intra4x4_predict_v6.asm \ - iwalsh_v6.asm \ - loopfilter_v6.asm \ - simpleloopfilter_v6.asm \ - sixtappredict8x4_v6.asm \ - bilinearpredict16x16_neon.asm \ - bilinearpredict4x4_neon.asm \ - bilinearpredict8x4_neon.asm \ - bilinearpredict8x8_neon.asm \ - buildintrapredictorsmby_neon.asm \ - copymem16x16_neon.asm \ - copymem8x4_neon.asm \ - copymem8x8_neon.asm \ - dc_only_idct_add_neon.asm \ - dequant_idct_neon.asm \ - dequantizeb_neon.asm \ - idct_dequant_0_2x_neon.asm \ - idct_dequant_full_2x_neon.asm \ - iwalsh_neon.asm \ - loopfilter_neon.asm \ - loopfiltersimplehorizontaledge_neon.asm \ - loopfiltersimpleverticaledge_neon.asm \ - mbloopfilter_neon.asm \ - save_neon_reg.asm \ - vp8_mse16x16_armv6.asm \ - vp8_sad16x16_armv6.asm \ - vp8_variance16x16_armv6.asm \ - vp8_variance8x8_armv6.asm \ - vp8_variance_halfpixvar16x16_h_armv6.asm \ - vp8_variance_halfpixvar16x16_hv_armv6.asm \ - vp8_variance_halfpixvar16x16_v_armv6.asm \ - shortidct4x4llm_neon.asm \ - sad16_neon.asm \ - sad8_neon.asm \ - sixtappredict16x16_neon.asm \ - sixtappredict4x4_neon.asm \ - sixtappredict8x4_neon.asm \ - sixtappredict8x8_neon.asm \ - variance_neon.asm \ - vp8_mse16x16_neon.asm \ - vp8_subpixelvariance8x8_neon.asm \ - vp8_subpixelvariance16x16_neon.asm \ - vp8_subpixelvariance16x16s_neon.asm \ - $(VPX_ASM_COM_OFFSETS_SRCS) \ $(NULL) ifdef MOZ_VP8_ENCODER CSRCS += \ - arm_csystemdependent.c \ - boolhuff_arm.c \ - dct_arm.c \ - picklpf_arm.c \ $(NULL) # Files which depend on asm_enc_offsets.asm VPX_ASM_ENC_OFFSETS_SRCS = \ - boolhuff_armv5te.asm \ - vp8_packtokens_armv5.asm \ - vp8_packtokens_mbrow_armv5.asm \ - vp8_packtokens_partitions_armv5.asm \ - vp8_fast_quantize_b_armv6.asm \ - vp8_subtract_armv6.asm \ - fastquantizeb_neon.asm \ - subtract_neon.asm \ $(NULL) VPX_ASFILES += \ - vp8_short_fdct4x4_armv6.asm \ - walsh_v6.asm \ - shortfdct_neon.asm \ - vp8_memcpy_neon.asm \ - vp8_shortwalsh4x4_neon.asm \ - $(VPX_ASM_ENC_OFFSETS_SRCS) \ $(NULL) endif @@ -411,14 +443,14 @@ endif HOST_PROGRAM = host_obj_int_extract$(HOST_BIN_SUFFIX) -CSRCS += asm_com_offsets.c +CSRCS += vpx_scale_asm_offsets.c -GARBAGE += asm_com_offsets.$(OBJ_SUFFIX) asm_com_offsets.asm +GARBAGE += vpx_scale_asm_offsets.$(OBJ_SUFFIX) vpx_scale_asm_offsets.asm ifdef MOZ_VP8_ENCODER -CSRCS += asm_enc_offsets.c +CSRCS += vp8_asm_enc_offsets.c -GARBAGE += asm_enc_offsets.$(OBJ_SUFFIX) asm_enc_offsets.asm +GARBAGE += vp8_asm_enc_offsets.$(OBJ_SUFFIX) vp8_asm_enc_offsets.asm endif else @@ -426,31 +458,31 @@ else # We can extract the asm offsets directly from generated assembly using inline # asm. This is the preferred method. -asm_com_offsets.s: CFLAGS += -DINLINE_ASM +vpx_scale_asm_offsets.s: CFLAGS += -DINLINE_ASM OFFSET_PATTERN := '^[a-zA-Z0-9_]* EQU' -asm_com_offsets.asm: asm_com_offsets.s +vpx_scale_asm_offsets.asm: vpx_scale_asm_offsets.s grep $(OFFSET_PATTERN) $< | sed -e 's/[$$\#]//g' \ $(if $(VPX_AS_CONVERSION),| $(VPX_AS_CONVERSION)) > $@ -GARBAGE += asm_com_offsets.s asm_com_offsets.asm +GARBAGE += vpx_scale_asm_offsets.s vpx_scale_asm_offsets.asm ifdef MOZ_VP8_ENCODER -asm_enc_offsets.s: CFLAGS += -DINLINE_ASM +vp8_asm_enc_offsets.s: CFLAGS += -DINLINE_ASM -asm_enc_offsets.asm: asm_enc_offsets.s +vp8_asm_enc_offsets.asm: vp8_asm_enc_offsets.s grep $(OFFSET_PATTERN) $< | sed -e 's/[$$\#]//g' \ $(if $(VPX_AS_CONVERSION),| $(VPX_AS_CONVERSION)) > $@ -GARBAGE += asm_enc_offsets.s asm_enc_offsets.asm +GARBAGE += vp8_asm_enc_offsets.s vp8_asm_enc_offsets.asm endif endif -EXTRA_MDDEPEND_FILES = asm_enc_offsets.s.pp asm_enc_offsets.$(OBJ_SUFFIX).pp asm_com_offsets.s.pp asm_com_offsets.$(OBJ_SUFFIX).pp +EXTRA_MDDEPEND_FILES = vp8_asm_enc_offsets.s.pp vp8_asm_enc_offsets.$(OBJ_SUFFIX).pp vpx_scale_asm_offsets.s.pp vpx_scale_asm_offsets.$(OBJ_SUFFIX).pp include $(topsrcdir)/config/rules.mk @@ -460,44 +492,44 @@ ifdef VPX_NEED_OBJ_INT_EXTRACT # only for MSVC ifdef _MSC_VER -asm_com_offsets.$(OBJ_SUFFIX): CFLAGS += -GL- +vpx_scale_asm_offsets.$(OBJ_SUFFIX): CFLAGS += -GL- endif -asm_com_offsets.asm: asm_com_offsets.$(OBJ_SUFFIX) $(HOST_PROGRAM) +vpx_scale_asm_offsets.asm: vpx_scale_asm_offsets.$(OBJ_SUFFIX) $(HOST_PROGRAM) ./$(HOST_PROGRAM) $(VPX_OIE_FORMAT) $< \ $(if $(VPX_AS_CONVERSION),| $(VPX_AS_CONVERSION)) > $@ # Filter out this object, because we don't want to link against it. # It was generated solely so it could be parsed by obj_int_extract. -OBJS := $(filter-out asm_com_offsets.$(OBJ_SUFFIX),$(OBJS)) +OBJS := $(filter-out vpx_scale_asm_offsets.$(OBJ_SUFFIX),$(OBJS)) ifdef MOZ_VP8_ENCODER ifdef _MSC_VER -asm_enc_offsets.$(OBJ_SUFFIX): CFLAGS += -GL- +vp8_asm_enc_offsets.$(OBJ_SUFFIX): CFLAGS += -GL- endif -asm_enc_offsets.asm: asm_enc_offsets.$(OBJ_SUFFIX) $(HOST_PROGRAM) +vp8_asm_enc_offsets.asm: vp8_asm_enc_offsets.$(OBJ_SUFFIX) $(HOST_PROGRAM) ./$(HOST_PROGRAM) $(VPX_OIE_FORMAT) $< \ $(if $(VPX_AS_CONVERSION),| $(VPX_AS_CONVERSION)) > $@ # Filter out this object, because we don't want to link against it. # It was generated solely so it could be parsed by obj_int_extract. -OBJS := $(filter-out asm_enc_offsets.$(OBJ_SUFFIX),$(OBJS)) +OBJS := $(filter-out vp8_asm_enc_offsets.$(OBJ_SUFFIX),$(OBJS)) endif endif # These dependencies are not generated automatically, so do it manually. ifdef VPX_AS_CONVERSION -$(addsuffix .$(OBJ_SUFFIX), $(VPX_ASM_COM_OFFSETS_SRCS)): asm_com_offsets.asm +$(addsuffix .$(OBJ_SUFFIX), $(VPX_ASM_COM_OFFSETS_SRCS)): vpx_scale_asm_offsets.asm ifdef MOZ_VP8_ENCODER -$(addsuffix .$(OBJ_SUFFIX), $(VPX_ASM_ENC_OFFSETS_SRCS)): asm_enc_offsets.asm +$(addsuffix .$(OBJ_SUFFIX), $(VPX_ASM_ENC_OFFSETS_SRCS)): vp8_asm_enc_offsets.asm endif else -$(patsubst %.$(ASM_SUFFIX),%.$(OBJ_SUFFIX), $(VPX_ASM_COM_OFFSETS_SRCS)): asm_com_offsets.asm +$(patsubst %.$(ASM_SUFFIX),%.$(OBJ_SUFFIX), $(VPX_ASM_COM_OFFSETS_SRCS)): vpx_scale_asm_offsets.asm ifdef MOZ_VP8_ENCODER -$(patsubst %.$(ASM_SUFFIX),%.$(OBJ_SUFFIX), $(VPX_ASM_ENC_OFFSETS_SRCS)): asm_enc_offsets.asm +$(patsubst %.$(ASM_SUFFIX),%.$(OBJ_SUFFIX), $(VPX_ASM_ENC_OFFSETS_SRCS)): vp8_asm_enc_offsets.asm endif endif diff --git a/media/libvpx/moz.build b/media/libvpx/moz.build index 96222817d..716fc20e8 100644 --- a/media/libvpx/moz.build +++ b/media/libvpx/moz.build @@ -7,28 +7,22 @@ MODULE = 'vpx' EXPORTS.vpx += [ - 'arm.h', - 'mem.h', - 'scale_mode.h', - 'vp8.h', - 'vp8cx.h', - 'vp8dx.h', - 'vp8e.h', - 'vpx_codec.h', - 'vpx_codec_impl_bottom.h', - 'vpx_codec_impl_top.h', - 'vpx_decoder.h', - 'vpx_decoder_compat.h', - 'vpx_encoder.h', - 'vpx_image.h', - 'vpx_integer.h', - 'vpx_mem.h', - 'vpx_mem_intrnl.h', - 'vpx_timer.h', - 'vpxscale.h', - 'x86.h', - 'yv12config.h', - 'yv12extend.h', + 'vpx/vp8.h', + 'vpx/vp8cx.h', + 'vpx/vp8dx.h', + 'vpx/vpx_codec.h', + 'vpx/vpx_decoder.h', + 'vpx/vpx_encoder.h', + 'vpx/vpx_image.h', + 'vpx/vpx_integer.h', + 'vpx_mem/include/vpx_mem_intrnl.h', + 'vpx_mem/vpx_mem.h', + 'vpx_ports/arm.h', + 'vpx_ports/mem.h', + 'vpx_ports/vpx_timer.h', + 'vpx_ports/x86.h', + 'vpx_scale/vpx_scale.h', + 'vpx_scale/yv12config.h', ] if CONFIG['VPX_NEED_OBJ_INT_EXTRACT']: |