Source code

Revision control

Copy as Markdown

Other Tools

# -*- 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']
DIRS += ['bsf']
LOCAL_INCLUDES += ['/modules/fdlibm/inexact-math-override']
SharedLibrary('mozavcodec')
SOURCES += [
'allcodecs.c',
'audio_frame_queue.c',
'avcodec.c',
'avdct.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',
'options.c',
'packet.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_parse.c',
'av1dec.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',
'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',
]
c11_flags = ["-std=gnu11"]
if CONFIG["CC_TYPE"] == "clang-cl":
c11_flags.insert(0, "-Xclang")
CFLAGS += c11_flags
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")