# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # Due to duplicate file names, we compile libavutil/x86 in its own # moz.build file. if CONFIG['FFVPX_ASFLAGS']: if CONFIG['TARGET_CPU'] == 'x86' or CONFIG['TARGET_CPU'] == 'x86_64': DIRS += ['x86'] elif CONFIG['TARGET_CPU'] == 'arm': DIRS += ['arm'] if CONFIG['TARGET_CPU'] == 'aarch64': DIRS += ['aarch64'] LOCAL_INCLUDES += ['/modules/fdlibm/inexact-math-override'] SharedLibrary('mozavcodec') SOURCES += [ 'allcodecs.c', 'audio_frame_queue.c', 'avcodec.c', 'avdct.c', 'avfft.c', 'avpacket.c', 'bitstream.c', 'bitstream_filters.c', 'bsf.c', 'codec_desc.c', 'codec_par.c', 'dct32_fixed.c', 'dct32_float.c', 'decode.c', 'encode.c', 'faandct.c', 'faanidct.c', 'fdctdsp.c', 'flac.c', 'flacdata.c', 'flacdec.c', 'flacdsp.c', 'get_buffer.c', 'idctdsp.c', 'jfdctfst.c', 'jfdctint.c', 'jrevdct.c', 'libopus.c', 'libopusdec.c', 'libopusenc.c', 'libvorbisdec.c', 'libvorbisenc.c', 'log2_tab.c', 'mpegaudio.c', 'mpegaudiodata.c', 'mpegaudiodec_common.c', 'mpegaudiodec_fixed.c', 'mpegaudiodecheader.c', 'mpegaudiodsp.c', 'mpegaudiodsp_data.c', 'mpegaudiodsp_fixed.c', 'mpegaudiodsp_float.c', 'mpegaudiotabs.c', 'null_bsf.c', 'options.c', 'parser.c', 'parsers.c', 'pcm.c', 'profiles.c', 'pthread.c', 'pthread_frame.c', 'pthread_slice.c', 'refstruct.c', 'reverse.c', 'simple_idct.c', 'utils.c', 'version.c', 'vlc.c', 'vorbis_data.c', 'vorbis_parser.c', 'xiph.c' ] if not CONFIG['MOZ_FFVPX_AUDIOONLY']: SOURCES += [ 'atsc_a53.c', 'av1_frame_split_bsf.c', 'av1_parse.c', 'av1dec.c', 'avpicture.c', 'cbs.c', 'cbs_av1.c', 'golomb.c', 'h264pred.c', 'imgconvert.c', 'libaom.c', 'libaomenc.c', 'libdav1d.c', 'libvpxdec.c', 'libvpxenc.c', 'mathtables.c', 'qsv_api.c', 'raw.c', 'videodsp.c', 'vp8.c', 'vp8_parser.c', 'vp8data.c', 'vp8dsp.c', 'vp9.c', 'vp9_parser.c', 'vp9_superframe_split_bsf.c', 'vp9block.c', 'vp9data.c', 'vp9dsp.c', 'vp9dsp_10bpp.c', 'vp9dsp_12bpp.c', 'vp9dsp_8bpp.c', 'vp9lpf.c', 'vp9mvs.c', 'vp9prob.c', 'vp9recon.c', 'vpx_rac.c', ] USE_LIBS += [ 'dav1d', 'media_libdav1d_asm', ] if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": LOCAL_INCLUDES += ['/media/mozva'] SOURCES += [ 'vaapi_av1.c', 'vaapi_decode.c', 'vaapi_vp8.c', 'vaapi_vp9.c', ] USE_LIBS += [ 'mozva' ] LOCAL_INCLUDES += [ '/media/libopus/include', '/media/libvorbis', ] if not CONFIG["MOZ_SYSTEM_LIBVPX"]: LOCAL_INCLUDES += ['/media/libvpx'] else: CXXFLAGS += CONFIG["MOZ_LIBVPX_CFLAGS"] OS_LIBS += CONFIG["MOZ_LIBVPX_LIBS"] SYMBOLS_FILE = 'avcodec.symbols' NoVisibilityFlags() USE_LIBS += [ 'fdlibm', 'mozavutil', ] if CONFIG['OS_TARGET'] != 'WINNT': OS_LIBS += ['m'] include("../ffvpxcommon.mozbuild")