175 lines
3.9 KiB
Python
175 lines
3.9 KiB
Python
# -*- 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',
|
|
'reverse.c',
|
|
'simple_idct.c',
|
|
'threadprogress.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',
|
|
]
|
|
|
|
if CONFIG["MOZ_SYSTEM_AV1"]:
|
|
CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
|
|
CFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS']
|
|
OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
|
|
OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS']
|
|
else:
|
|
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'
|
|
]
|
|
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
|
|
SOURCES += [
|
|
'd3d11va.c',
|
|
'dxva2.c',
|
|
'dxva2_av1.c',
|
|
'dxva2_vp9.c',
|
|
]
|
|
|
|
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")
|