Files
roytam1 874efea8e0 ported from UXP:
- Issue #888 - Vendor dav1d 1.5.3 (d1b46d7347)
- Issue #888 - Use in-tree dav1d for AV1 decoding (a468f81a5e)
- Issue #888 - Enable dav1d LoongArch SIMD (5c0a35a358)
- Issue #888 - Remove bundled libaom (eb487c2ca1)
- Issue #888 - Enable dav1d SIMD on more architectures (9a8cb2e22e)
- Issue #888 - Enable AV1 playback by default (e61621692c)
- Issue #888 - Update AV1 configure comment for dav1d (0ccaab55ca)
- Issue #888 - Fix alphabetical order issue (a30f439a9c)
- Issue #888 - (potentially) fix MSVC builderr (6e4bb257a4)
- Issue #888 - Make symbols direct to dav1d, not AOM. (aa69d5ec99)
- Issue #888 - Add dav1d_flush (b7b1918a36)
2026-05-19 14:41:42 +08:00

142 lines
4.8 KiB
INI

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# 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/.
with Files('*'):
BUG_COMPONENT = ('Core', 'Audio/Video')
common_sources = [
'/media/libdav1d/src/src/cdf.c',
'/media/libdav1d/src/src/cpu.c',
'/media/libdav1d/src/src/ctx.c',
'/media/libdav1d/src/src/data.c',
'/media/libdav1d/src/src/decode.c',
'/media/libdav1d/src/src/dequant_tables.c',
'/media/libdav1d/src/src/getbits.c',
'/media/libdav1d/src/src/intra_edge.c',
'/media/libdav1d/src/src/itx_1d.c',
'/media/libdav1d/src/src/lf_mask.c',
'/media/libdav1d/src/src/lib.c',
'/media/libdav1d/src/src/log.c',
'/media/libdav1d/src/src/mem.c',
'/media/libdav1d/src/src/msac.c',
'/media/libdav1d/src/src/obu.c',
'/media/libdav1d/src/src/pal.c',
'/media/libdav1d/src/src/picture.c',
'/media/libdav1d/src/src/qm.c',
'/media/libdav1d/src/src/ref.c',
'/media/libdav1d/src/src/refmvs.c',
'/media/libdav1d/src/src/scan.c',
'/media/libdav1d/src/src/tables.c',
'/media/libdav1d/src/src/thread_task.c',
'/media/libdav1d/src/src/warpmv.c',
'/media/libdav1d/src/src/wedge.c',
]
bitdepth_sources = [
'/media/libdav1d/moz/cdef_16bpc.c',
'/media/libdav1d/moz/cdef_8bpc.c',
'/media/libdav1d/moz/cdef_apply_16bpc.c',
'/media/libdav1d/moz/cdef_apply_8bpc.c',
'/media/libdav1d/moz/fg_apply_16bpc.c',
'/media/libdav1d/moz/fg_apply_8bpc.c',
'/media/libdav1d/moz/filmgrain_16bpc.c',
'/media/libdav1d/moz/filmgrain_8bpc.c',
'/media/libdav1d/moz/ipred_16bpc.c',
'/media/libdav1d/moz/ipred_8bpc.c',
'/media/libdav1d/moz/ipred_prepare_16bpc.c',
'/media/libdav1d/moz/ipred_prepare_8bpc.c',
'/media/libdav1d/moz/itx_16bpc.c',
'/media/libdav1d/moz/itx_8bpc.c',
'/media/libdav1d/moz/lf_apply_16bpc.c',
'/media/libdav1d/moz/lf_apply_8bpc.c',
'/media/libdav1d/moz/loopfilter_16bpc.c',
'/media/libdav1d/moz/loopfilter_8bpc.c',
'/media/libdav1d/moz/looprestoration_16bpc.c',
'/media/libdav1d/moz/looprestoration_8bpc.c',
'/media/libdav1d/moz/lr_apply_16bpc.c',
'/media/libdav1d/moz/lr_apply_8bpc.c',
'/media/libdav1d/moz/mc_16bpc.c',
'/media/libdav1d/moz/mc_8bpc.c',
'/media/libdav1d/moz/recon_16bpc.c',
'/media/libdav1d/moz/recon_8bpc.c',
]
SOURCES += common_sources
SOURCES += bitdepth_sources
if CONFIG['CPU_ARCH'].startswith('x86'):
DIRS += ['x86']
elif CONFIG['CPU_ARCH'] in ('arm', 'aarch64'):
DIRS += ['arm']
elif CONFIG['CPU_ARCH'] == 'ppc64' and CONFIG['TARGET_ENDIANNESS'] == 'little':
DIRS += ['ppc']
if CONFIG['OS_TARGET'] == 'WINNT':
SOURCES += [
'/media/libdav1d/src/src/win32/thread.c',
]
else:
DEFINES['_GNU_SOURCE'] = True
if CONFIG['CPU_ARCH'] == 'loongarch64':
SOURCES += [
'/media/libdav1d/moz/loongarch_cdef.S',
'/media/libdav1d/moz/loongarch_cpu.c',
'/media/libdav1d/moz/loongarch_ipred.S',
'/media/libdav1d/moz/loongarch_itx.S',
'/media/libdav1d/moz/loongarch_loopfilter.S',
'/media/libdav1d/moz/loongarch_looprestoration.S',
'/media/libdav1d/moz/loongarch_looprestoration_inner_16bpc.c',
'/media/libdav1d/moz/loongarch_looprestoration_inner_8bpc.c',
'/media/libdav1d/moz/loongarch_mc.S',
'/media/libdav1d/moz/loongarch_msac.S',
'/media/libdav1d/moz/loongarch_refmvs.S',
]
ASFLAGS += [
'-I%s/dist/include' % OBJDIR,
'-I%s/media/libdav1d/src' % TOPSRCDIR,
]
EXPORTS.dav1d += [
'/media/libdav1d/src/include/dav1d/common.h',
'/media/libdav1d/src/include/dav1d/data.h',
'/media/libdav1d/src/include/dav1d/dav1d.h',
'/media/libdav1d/src/include/dav1d/headers.h',
'/media/libdav1d/src/include/dav1d/picture.h',
'/media/libdav1d/src/include/dav1d/version.h',
]
LOCAL_INCLUDES += [
'/media/libdav1d/config',
'/media/libdav1d/src',
'/media/libdav1d/src/include',
'/media/libdav1d/src/include/dav1d',
]
# Make dav1d's MSVC compatibility headers available to MSVC builds so
# including <stdatomic.h> picks up the local compat header instead of
# the system header which requires C11.
if CONFIG['_MSC_VER'] and not CONFIG['CLANG_CL']:
LOCAL_INCLUDES += ['/media/libdav1d/src/include/compat/msvc']
FINAL_LIBRARY = 'gkmedias'
# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True
if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']:
CFLAGS += [
'-Wno-missing-field-initializers',
'-Wno-sign-compare',
'-Wno-unused-function',
'-Wno-unused-parameter',
]
if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
CFLAGS += [
'-Wno-shorten-64-to-32',
'-Wno-unreachable-code',
]