Skip to content

Commit

Permalink
Roll src/third_party/dav1d/libdav1d/ a1e3f3584..6ef9a0301 (25 commits)
Browse files Browse the repository at this point in the history
https://chromium.googlesource.com/external/github.com/videolan/dav1d.git/+log/a1e3f35842de..6ef9a030145e

Fixes issues in the cross compilation build files as well as updates the
configs and source file listing.

$ git log a1e3f3584..6ef9a0301 --date=short --no-merges --format='%ad %ae %s'
2019-07-07 jamrial dav1d_fuzzer: use Dav1dSettings.frame_size_limit instead of a custom picture allocator
2019-07-06 gramner Fix memory leak in dav1d_submit_frame()
2019-07-05 jamrial obu: also check frame_size_limit with Frame Header OBUs
2019-07-06 gramner Improve robustness of handling malloc failures
2019-07-05 gramner Correctly return an error on malloc failure
2019-07-05 gramner Fix potential memory leak
2019-07-01 krishnaniyer97 arm: mc: neon: Improvement in blend_v function
2019-06-27 gramner Reduce the size of frame threading buffers
2019-06-27 gramner Consolidate scratch buffers
2019-07-02 victorien build: fix meson deprecation warning
2019-06-29 martin checkasm: msac: Add verbose printouts on failures
2019-06-29 martin checkasm: cdef: Add verbose prints for output data (and relevant input)
2019-06-29 martin checkasm: looprestoration: Use checkasm_check*
2019-06-29 martin checkasm: loopfilter: Use checkasm_check*
2019-06-29 martin checkasm: ipred: Use checkasm_check*
2019-06-24 janne-vlc ci: add test stage for clang armv7a build
2019-06-26 martin checkasm: mc: Use checkasm_check_* for better debuggability
2019-05-08 martin arm64: itx: Add NEON optimized inverse transforms
2019-05-22 epirat07 tools: Use DAV1D_ERR for strerror calls
2019-05-22 epirat07 include: Consistently use DAV1D_ERR in docs
2019-05-09 martin checkasm: itx: Add verbose printouts for the pixel differences
2019-06-20 martin checkasm: Add functions for printing pixel buffers
2019-06-21 martin arm: mc: Move the blend functions up above put/prep
2019-06-20 martin arm64: Consistently name macro arguments tX for temporaries in transposes
2019-06-16 janne-vlc cli: use mach_absolute_time as fallback for clock_gettime on darwin. Fixes #283

Created with:
  roll-dep src/third_party/dav1d/libdav1d

R=tguilbert

Bug: None
Change-Id: Id7fbb5e93f47214f616c73df5a75473b9267b77c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1699321
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Thomas Guilbert <tguilbert@chromium.org>
Reviewed-by: Thomas Guilbert <tguilbert@chromium.org>
Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#676680}
  • Loading branch information
dalecurtis authored and Commit Bot committed Jul 12, 2019
1 parent 13331e8 commit 04d1b6e
Show file tree
Hide file tree
Showing 9 changed files with 64 additions and 15 deletions.
2 changes: 1 addition & 1 deletion DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -708,7 +708,7 @@ deps = {
Var('chromium_git') + '/angle/angle.git' + '@' + Var('angle_revision'),

'src/third_party/dav1d/libdav1d':
Var('chromium_git') + '/external/github.com/videolan/dav1d.git' + '@' + 'a1e3f35842de92b526422af05360c84cf233f07f',
Var('chromium_git') + '/external/github.com/videolan/dav1d.git' + '@' + '6ef9a030145eef79fdeab6d4d38e00423ae7a83d',

'src/third_party/dawn':
Var('dawn_git') + '/dawn.git' + '@' + Var('dawn_revision'),
Expand Down
7 changes: 6 additions & 1 deletion third_party/dav1d/README.chromium
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Name: dav1d is an AV1 decoder :)
Short Name: dav1d
URL: https://code.videolan.org/videolan/dav1d
Version: a1e3f35842de92b526422af05360c84cf233f07f
Version: 6ef9a030145eef79fdeab6d4d38e00423ae7a83d
License: 2-Clause BSD
License File: LICENSE
Security Critical: yes
Expand All @@ -27,3 +27,8 @@ Next you should update the dav1d_generated.gni file, to that run the

Hopefully all that works and then you can roll DEPS to the new revision with
all the updated configuration files. If not, you'll need to debug the bots :(


-- [ OPEN ISSUES ] ------------------
meson v0.51.1 (and possibly some earlier versions), have a bug with clang-cl on
linux. See https://github.com/mesonbuild/meson/issues/5639 for issue and fix.
12 changes: 12 additions & 0 deletions third_party/dav1d/config/win/arm64/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,15 @@
#define HAVE_IO_H 1

// #define STACK_ALIGNMENT 16 -- Stack alignment is controlled by Chromium

#define UNICODE 1

#define _UNICODE 1

// #define _WIN32_WINNT 0x0601 -- Windows version is controlled by Chromium

#define __USE_MINGW_ANSI_STDIO 1

#define fseeko _fseeki64

#define ftello _ftelli64
12 changes: 12 additions & 0 deletions third_party/dav1d/config/win/x64/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,15 @@
#define HAVE_IO_H 1

// #define STACK_ALIGNMENT 16 -- Stack alignment is controlled by Chromium

#define UNICODE 1

#define _UNICODE 1

// #define _WIN32_WINNT 0x0601 -- Windows version is controlled by Chromium

#define __USE_MINGW_ANSI_STDIO 1

#define fseeko _fseeki64

#define ftello _ftelli64
12 changes: 12 additions & 0 deletions third_party/dav1d/config/win/x86/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,15 @@
#define PREFIX 1

// #define STACK_ALIGNMENT 4 -- Stack alignment is controlled by Chromium

#define UNICODE 1

#define _UNICODE 1

// #define _WIN32_WINNT 0x0601 -- Windows version is controlled by Chromium

#define __USE_MINGW_ANSI_STDIO 1

#define fseeko _fseeki64

#define ftello _ftelli64
2 changes: 1 addition & 1 deletion third_party/dav1d/crossfiles/win32.crossfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ c_args = ['-m32', '-fuse-ld=lld',]


[host_machine]
system = 'win'
system = 'windows'
cpu_family = 'x86'
cpu = 'i686'
endian = 'little'
Expand Down
2 changes: 1 addition & 1 deletion third_party/dav1d/crossfiles/win64.crossfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ ar = 'llvm-ar'
c_args = ['-fuse-ld=lld',]

[host_machine]
system = 'win'
system = 'windows'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'
Expand Down
2 changes: 2 additions & 0 deletions third_party/dav1d/dav1d_generated.gni
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ arm32_asm_sources = [

arm64_asm_sources = [
"libdav1d/src/arm/64/cdef.S",
"libdav1d/src/arm/64/itx.S",
"libdav1d/src/arm/64/loopfilter.S",
"libdav1d/src/arm/64/looprestoration.S",
"libdav1d/src/arm/64/mc.S",
Expand All @@ -46,6 +47,7 @@ arm64_asm_sources = [

arm_template_sources = [
"libdav1d/src/arm/cdef_init_tmpl.c",
"libdav1d/src/arm/itx_init_tmpl.c",
"libdav1d/src/arm/loopfilter_init_tmpl.c",
"libdav1d/src/arm/looprestoration_init_tmpl.c",
"libdav1d/src/arm/mc_init_tmpl.c",
Expand Down
28 changes: 17 additions & 11 deletions third_party/dav1d/generate_configs.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
MESON = ['meson.py']

DEFAULT_BUILD_ARGS = [
'-Dbuild_tools=false', '-Dbuild_tests=false', '--buildtype', 'release'
'-Denable_tools=false', '-Denable_tests=false', '-Ddefault_library=static',
'--buildtype', 'release'
]

WINDOWS_BUILD_ARGS = ['-Dc_winlibs=']
Expand Down Expand Up @@ -117,18 +118,23 @@ def GenerateConfig(config_dir, env, special_args=[]):
cwd='libdav1d',
env=env)

# We don't want non-visible log strings polluting the official binary.
RewriteFile(
os.path.join(temp_dir, 'config.h'),
[(r'(#define CONFIG_LOG .*)',
r'// \1 -- Logging is controlled by Chromium')])
[
# We don't want non-visible log strings polluting the official binary.
(r'(#define CONFIG_LOG .*)',
r'// \1 -- Logging is controlled by Chromium'),

# The Chromium build system already defines this.
(r'(#define _WIN32_WINNT .*)',
r'// \1 -- Windows version is controlled by Chromium'),

# Clang LTO doesn't respect stack alignment, so we must use the
# platform's default stack alignment; https://crbug.com/928743.
(r'(#define STACK_ALIGNMENT \d{1,2})',
r'// \1 -- Stack alignment is controlled by Chromium'),
])

# Clang LTO doesn't respect stack alignment, so we must use the platform's
# default stack alignment in that case; https://crbug.com/928743.
RewriteFile(
os.path.join(temp_dir, 'config.h'),
[(r'(#define STACK_ALIGNMENT \d{1,2})',
r'// \1 -- Stack alignment is controlled by Chromium')])
if (os.path.exists(os.path.join(config_dir, 'config.asm'))):
RewriteFile(
os.path.join(temp_dir, 'config.asm'),
Expand Down Expand Up @@ -158,7 +164,7 @@ def main():
linux_env['CC'] = 'clang'

GenerateConfig('config/linux/x64', linux_env)
GenerateConfig('config/linux-noasm/x64', linux_env, ['-Dbuild_asm=false'])
GenerateConfig('config/linux-noasm/x64', linux_env, ['-Denable_asm=false'])

GenerateConfig('config/linux/x86', linux_env,
['--cross-file', '../crossfiles/linux32.crossfile'])
Expand Down

0 comments on commit 04d1b6e

Please sign in to comment.