• Dale Curtis's avatar
    Reland: Add dav1d decoder and build configurations. · d8ec7dbd
    Dale Curtis authored
    PS#1 is the original change, the latest PS disables assembly
    for MSAN and fixes up the .gitignore file.
    
    -----------[Original Description Below]-----------
    We're planning to experiment with av1 decoders, so this change
    adds support for dav1d in Chromium.
    
    This sets up the dav1d repo per modern 3rd party style: It's a
    read-only clone of dav1d's GitHub mirror with the build config
    and helper scripts living in the main Chromium src.git repo.
    Due to this configuration, no local patches can be made.
    
    Two helper scripts have been added "generate_configs.py" and
    "generate_source.py". The former requires a few dependencies
    spelled out in the README.chromium. The latter works simply
    by globbing some source patterns into GN variables.
    
    Thus far it seems all posix configurations (mac, linux, CrOS)
    can share the same config, so only support linux and windows
    in x86, x64 configurations has been added.
    
    ARM support is not enabled yet since we haven't enabled libaom
    for ARM and similarly dav1d is lacking much of the SIMD code.
    
    To wire everything up this also:
    - Adds a media::VideoDecoder based implementation and unit test.
    - Adds a disabled-by-default Dav1dVideoDecoder base::Feature.
    
    TBR=jam,liberato,mmoroz
    
    Bug: 924370, 928357
    Change-Id: I0e921599830d6e52019106e3ad42672873c94ece
    Reviewed-on: https://chromium-review.googlesource.com/c/1452782Reviewed-by: default avatarMax Moroz <mmoroz@chromium.org>
    Reviewed-by: default avatarFrank Liberato <liberato@chromium.org>
    Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
    Reviewed-by: default avatarDale Curtis <dalecurtis@chromium.org>
    Commit-Queue: John Abd-El-Malek <jam@chromium.org>
    Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#628921}
    d8ec7dbd
config.h 442 Bytes