moz.build (4592B)
1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2 # vim: set filetype=python: 3 # This Source Code Form is subject to the terms of the Mozilla Public 4 # License, v. 2.0. If a copy of the MPL was not distributed with this 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7 # Due to duplicate file names, we compile libavutil/x86 in its own 8 # moz.build file. 9 if CONFIG['FFVPX_ASFLAGS']: 10 if CONFIG['TARGET_CPU'] == 'x86' or CONFIG['TARGET_CPU'] == 'x86_64': 11 DIRS += ['x86'] 12 elif CONFIG['TARGET_CPU'] == 'arm': 13 DIRS += ['arm'] 14 15 if CONFIG['TARGET_CPU'] == 'aarch64': 16 DIRS += ['aarch64'] 17 18 DIRS += ['bsf'] 19 20 LOCAL_INCLUDES += ['/modules/fdlibm/inexact-math-override'] 21 22 SharedLibrary('mozavcodec') 23 SOURCES += [ 24 'adts_header.c', 25 'adts_parser.c', 26 'allcodecs.c', 27 'audio_frame_queue.c', 28 'avcodec.c', 29 'avdct.c', 30 'bitstream.c', 31 'bitstream_filters.c', 32 'bsf.c', 33 'codec_desc.c', 34 'codec_par.c', 35 'dct32_fixed.c', 36 'dct32_float.c', 37 'decode.c', 38 'encode.c', 39 'faandct.c', 40 'faanidct.c', 41 'fdctdsp.c', 42 'flac.c', 43 'flacdata.c', 44 'flacdec.c', 45 'flacdsp.c', 46 'get_buffer.c', 47 'idctdsp.c', 48 'jfdctfst.c', 49 'jfdctint.c', 50 'jrevdct.c', 51 'libopus.c', 52 'libopusdec.c', 53 'libopusenc.c', 54 'libvorbisdec.c', 55 'libvorbisenc.c', 56 'log2_tab.c', 57 'mpeg4audio.c', 58 'mpeg4audio_sample_rates.c', 59 'mpegaudio.c', 60 'mpegaudiodata.c', 61 'mpegaudiodec_common.c', 62 'mpegaudiodec_fixed.c', 63 'mpegaudiodecheader.c', 64 'mpegaudiodsp.c', 65 'mpegaudiodsp_data.c', 66 'mpegaudiodsp_fixed.c', 67 'mpegaudiodsp_float.c', 68 'mpegaudiotabs.c', 69 'options.c', 70 'packet.c', 71 'parser.c', 72 'parsers.c', 73 'pcm.c', 74 'profiles.c', 75 'pthread.c', 76 'pthread_frame.c', 77 'pthread_slice.c', 78 'reverse.c', 79 'simple_idct.c', 80 'threadprogress.c', 81 'utils.c', 82 'version.c', 83 'vlc.c', 84 'vorbis_data.c', 85 'vorbis_parser.c', 86 'xiph.c' 87 ] 88 89 if not CONFIG['MOZ_FFVPX_AUDIOONLY']: 90 SOURCES += [ 91 'atsc_a53.c', 92 'av1_parse.c', 93 'av1dec.c', 94 'cbs.c', 95 'cbs_av1.c', 96 'golomb.c', 97 'h264pred.c', 98 'imgconvert.c', 99 'libaom.c', 100 'libaomenc.c', 101 'libdav1d.c', 102 'libvpxdec.c', 103 'libvpxenc.c', 104 'mathtables.c', 105 'qsv_api.c', 106 'raw.c', 107 'videodsp.c', 108 'vp8.c', 109 'vp8_parser.c', 110 'vp8data.c', 111 'vp8dsp.c', 112 'vp9.c', 113 'vp9_parser.c', 114 'vp9block.c', 115 'vp9data.c', 116 'vp9dsp.c', 117 'vp9dsp_10bpp.c', 118 'vp9dsp_12bpp.c', 119 'vp9dsp_8bpp.c', 120 'vp9lpf.c', 121 'vp9mvs.c', 122 'vp9prob.c', 123 'vp9recon.c', 124 'vpx_rac.c', 125 ] 126 127 if CONFIG["MOZ_SYSTEM_AV1"]: 128 CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS'] 129 CFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS'] 130 OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS'] 131 OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS'] 132 else: 133 USE_LIBS += [ 134 'dav1d', 135 'media_libdav1d_asm', 136 ] 137 138 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": 139 LOCAL_INCLUDES += ['/media/mozva'] 140 SOURCES += [ 141 'vaapi_av1.c', 142 'vaapi_decode.c', 143 'vaapi_vp8.c', 144 'vaapi_vp9.c', 145 ] 146 USE_LIBS += [ 147 'mozva' 148 ] 149 elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": 150 SOURCES += [ 151 'd3d11va.c', 152 'dxva2.c', 153 'dxva2_av1.c', 154 'dxva2_vp9.c', 155 ] 156 elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android": 157 SOURCES += [ 158 'fffjni.c', 159 'ffjni.c', 160 'mediacodec.c', 161 'mediacodec_surface.c', 162 'mediacodec_sw_buffer.c', 163 'mediacodec_wrapper.c', 164 'mediacodecdec.c', 165 'mediacodecdec_common.c', 166 'mediacodecenc.c', 167 ] 168 169 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android": 170 EXPORTS.ffvpx += [ 171 "mediacodec.h" 172 ] 173 174 LOCAL_INCLUDES += [ 175 '/media/libopus/include', 176 '/media/libvorbis', 177 ] 178 179 if not CONFIG["MOZ_SYSTEM_LIBVPX"]: 180 LOCAL_INCLUDES += ['/media/libvpx'] 181 else: 182 CXXFLAGS += CONFIG["MOZ_LIBVPX_CFLAGS"] 183 OS_LIBS += CONFIG["MOZ_LIBVPX_LIBS"] 184 185 SYMBOLS_FILE = 'avcodec.symbols' 186 NoVisibilityFlags() 187 188 USE_LIBS += [ 189 'fdlibm', 190 'mozavutil', 191 ] 192 193 if CONFIG['OS_TARGET'] != 'WINNT': 194 OS_LIBS += ['m'] 195 196 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android": 197 OS_LIBS += ['android', 'mediandk'] 198 199 include("../ffvpxcommon.mozbuild")