Skip to content
Snippets Groups Projects
  1. Jun 12, 2024
  2. May 10, 2024
  3. Apr 26, 2024
    • Martin Storsjö's avatar
      tools: Make ARM cpu flags imply relevant lower level flags · 236e1d19
      Martin Storsjö authored
      The --cpumask flag only takes one single flag name, one can't set
      a combination like neon+dotprod.
      
      Therefore, apply the same pattern as for x86, by adding mask values
      that contain all the implied lower level flags.
      
      This is somewhat complicated, as the set of features isn't entirely
      linear - in particular, SVE doesn't imply either dotprod or i8mm,
      and SVE2 only implies dotprod, but not i8mm.
      
      This makes sure that "dav1d --cpumask dotprod" actually uses any
      SIMD at all, as it previously only set the dotprod flag but not
      neon, which essentially opted out from all SIMD.
      236e1d19
  4. Apr 11, 2024
  5. Apr 04, 2024
    • Henrik Gramner's avatar
      cli: Handle SIGINT and SIGTERM more gracefully · e27b451e
      Henrik Gramner authored and Henrik Gramner's avatar Henrik Gramner committed
      Attempt to finish writing the current frame before exiting to avoid
      ending up with a partially written frame at the end of the output file.
      
      Only try catching a signal once, falling back to the default behavior
      of exiting immediately the second time a given signal is raised.
      e27b451e
  6. Feb 28, 2024
  7. Jan 30, 2024
  8. Jan 21, 2024
  9. Jul 07, 2023
    • Martin Storsjö's avatar
      windows: Clarify unicode characters in RC files · a7e12b62
      Martin Storsjö authored
      Windows RC files can have strings expressed either as narrow
      chars expressed in a specific codepage, or as wide unicode strings.
      Regardless of which way they are expressed, they are converted into
      unicode strings in the compiled resource files.
      
      When using narrow strings, even if using escaped chars like \251,
      those chars are interpreted according to a specific codepage. The
      codepage can be specified with arguments to the RC/windres tool
      (or with a pragma, but not all tools support the pragmas),
      but when no codepage is specified, the exact interpretation varies.
      
      llvm-rc uses a hard stance of defaulting to only accepting ANSI
      chars unless something else has been specified (and pragmas aren't
      supported). llvm-windres defaults to CP 850 though, for compatibility
      with what most people probably intend to.
      
      However, GNU windres and MS rc.exe actually default to what the
      system's current default codepage is. That means that if the resource
      file is built on a machine with e.g. Japanese as the default locale,
      the file gets built differently, with a different Unicode character
      than what was intended.
      
      By converting the strings to wide strings, it is unambiguous that
      \251 refers to the Unicode code point u00A9 (octal 0251), i.e.
      copyright sign.
      
      This fixes building the RC files with llvm-rc. With GNU windres,
      llvm-windres and rc.exe, the files still generate the bitwise exact
      same output as before.
      a7e12b62
  10. Jun 12, 2023
  11. Jun 06, 2023
  12. Dec 14, 2022
  13. Dec 09, 2022
  14. Sep 14, 2022
    • Martin Storsjö's avatar
      tools: Allocate the priv structs with proper alignment · 08c70801
      Martin Storsjö authored
      Previously, they could be allocated with any random alignment
      matching the end of the MuxerContext/DemuxerContext. The
      priv structs themselves can have members that require specific
      alignment, or at least the default alignment of malloc()/calloc()
      (which is sufficient for native types such as uint64_t and
      doubles).
      
      This fixes crashes in some arm builds, where GCC (correctly) wants
      to use 64 bit aligned stores to write to MD5Context.
      08c70801
  15. Sep 09, 2022
    • Henrik Gramner's avatar
      tools: Improve demuxer probing · 52473197
      Henrik Gramner authored
      Increase the probing size, and change the logic to assume a stream is
      valid even if no conclusive decision could be made within the probing
      window as long as a sequence header was detected.
      52473197
  16. Feb 16, 2022
  17. Feb 09, 2022
  18. Feb 07, 2022
  19. Jan 18, 2022
  20. Jan 14, 2022
  21. Jan 07, 2022
  22. Jan 06, 2022
    • Ronald S. Bultje's avatar
      Add option to write each frame to separate output file · 36beb818
      Ronald S. Bultje authored
      For per-file yuv/y4m writes, this can be automatically specified
      using e.g. -o file_%w_%h_%5n.yuv/y4m. --muxer=framemd5 -o - --quiet
      will accomplish the same for per-frame md5sums.
      
      Addresses part of #310.
      36beb818
    • Wan-Teh Chang's avatar
      DAV1D_MC_IDENTITY requires DAV1D_PIXEL_LAYOUT_I444 · f9bddfff
      Wan-Teh Chang authored and Ronald S. Bultje's avatar Ronald S. Bultje committed
      Section 6.4.2 (Color config semantics) of the AV1 spec says:
        If matrix_coefficients is equal to MC_IDENTITY, it is a requirement of
        bitstream conformance that subsampling_x is equal to 0 and
        subsampling_y is equal to 0.
      Add Dav1dSettings.strict_std_compliance flag which, when set, allows
      aborting decoding when such standard-compliance violations fail, even
      though they don't affect decoding. In CLI, this flag can be accessed
      using -strict.
      f9bddfff
  23. Oct 29, 2021
  24. Sep 20, 2021
  25. Sep 03, 2021
  26. Apr 27, 2021
    • Martin Storsjö's avatar
      Remove a variable that is set but not used · bd7f0511
      Martin Storsjö authored
      This fixes warnings when building with the top of tree version of
      clang:
      
      tools/input/ivf.c:69:12: warning: variable 'res' set but not used [-Wunused-but-set-variable]
      
      Alternatively, a `(void)res` cast also marks the variable as used,
      silencing the same warning.
      bd7f0511
  27. Feb 12, 2021
  28. Feb 08, 2021
    • Martin Storsjö's avatar
      xxhash: Add a cast to silence a warning when built with MSVC · 95884615
      Martin Storsjö authored
      This silences the following warning:
      tools/output/xxhash.c(127): warning C4244: '=': conversion from 'unsigned long' to 'unsigned char', possible loss of data
      95884615
    • Janne Grunau's avatar
      tools: add optional xxh3 based muxer · e6168525
      Janne Grunau authored and Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf committed
      The required 'xxhash.h' header can either be in system include directory
      or can be copied to 'tools/output'.
      
      The xxh3_128bits based muxer shows no significant slowdown compared to
      the null muxer. Decoding times Chimera-AV1-8bit-1920x1080-6736kbps.ivf
      with 4 frame and 4 tile threads on a core i7-8550U (disabled turbo boost):
      
      null:  72.5 s
      md5:   99.8 s
      xxh3:  73.8 s
      
      Decoding Chimera-AV1-10bit-1920x1080-6191kbps.ivf with 6 frame and 4 tile
      threads on a m1 mc mini:
      
      null:  27.8 s
      md5:  105.9 s
      xxh3:  28.3 s
      e6168525
    • Matthias Dressel's avatar
      cli: Fix md5 verification for short values · 061ac9ae
      Matthias Dressel authored
      Verification should not succeed if the given string is too short to be a
      real hash.
      
      Fixes #361
      061ac9ae
  29. Feb 06, 2021
  30. Jan 28, 2021
  31. Jan 18, 2021
  32. Jan 15, 2021
  33. Jan 06, 2021
  34. Sep 06, 2020
  35. Sep 01, 2020
    • Henrik Gramner's avatar
      cli: Use proper integer math in Y4M PAR calculations · 3bfe8c7c
      Henrik Gramner authored and Henrik Gramner's avatar Henrik Gramner committed
      The previous floating-point implementation produced results that were
      sometimes slightly off due to rounding errors.
      
      For example, a frame size of 432x240 with a render size of 176x240
      previously resulted in a PAR of 98:240 instead of the correct 11:27.
      
      Also reduce fractions to produce more readable numbers.
      3bfe8c7c
Loading