Skip to content
Snippets Groups Projects
  1. Jan 31, 2024
  2. Jan 21, 2024
  3. Jul 06, 2023
  4. Jun 12, 2023
  5. Jun 07, 2023
  6. Jun 06, 2023
  7. Jun 02, 2023
  8. Jun 01, 2023
  9. May 31, 2023
  10. May 24, 2023
  11. May 06, 2023
    • Andrey Semashev's avatar
      Fix extern "C" declarations · cb5a095e
      Andrey Semashev authored
      Avoid wrapping external includes in extern "C" blocks. Also wrap all public headers in extern "C" blocks to allow them to be selectively included in C++ projects.
      
      Fixes #422.
      cb5a095e
  12. Apr 18, 2023
    • James Almer's avatar
      picture: allow storing an array of Dav1dITUTT35 entries · feeeccb6
      James Almer authored
      Nothing in the spec prevents a Temporal Unit from having more than one Metadata
      OBU of type ITU-T T.35, so export them as an array instead of only exporting
      the last one we parse.
      This is backwards compatible with the previous implementation, as users unaware
      of this change can ignore the n_itut_t35 field and still access the first (or
      only) entry in the array as they have been doing until now.
      Verified
      feeeccb6
  13. Apr 12, 2023
  14. Apr 08, 2023
  15. Dec 14, 2022
  16. Nov 10, 2022
  17. Oct 26, 2022
  18. Sep 30, 2022
  19. Jul 06, 2022
  20. Apr 28, 2022
  21. Apr 23, 2022
  22. Mar 31, 2022
  23. Mar 08, 2022
  24. Jan 14, 2022
  25. Jan 11, 2022
  26. Jan 07, 2022
  27. Jan 06, 2022
    • 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
  28. Jan 01, 2022
    • Niklas Haas's avatar
      Expose dav1d_apply_grain as part of the public API · 2a183945
      Niklas Haas authored
      This change is motivated by a desire to be able to toggle between CPU
      and GPU film gain synthesis in players such as VLC. Because VLC
      initializes the codec before the vout (and, indeed, the active vout
      module may change in the middle of decoding), it cannot make the
      decision of whether to apply film grain in libdav1d as part of codec
      initialization. It needs to be decided on a frame-by-frame basis
      depending on whether the currently active vout supports film grain
      synthesis or not.
      
      Using the new API, users like VLC can simply set `apply_grain` to 0 and
      then manually call `dav1d_apply_grain` whenever the vout does not
      support GPU film grain synthesis. As a side note, `dav1d_apply_grain`
      could also technically be called from dedicated worker threads,
      something that libdav1d does not currently do internally.
      
      The alternative to this solution would have been to allow changing
      Dav1dSettings at runtime, but that would be more invasive and a proper
      API would also need to take other settings into consideration, some of
      which can't be changed as easily as `apply_grain`. This commit
      represents a stop-gap solution.
      
      Bump the minor version to allow clients to depend on this API.
      2a183945
  29. Oct 04, 2021
  30. Sep 20, 2021
  31. Sep 03, 2021
  32. Aug 19, 2021
  33. Jul 09, 2021
  34. Jun 20, 2021
    • Henrik Gramner's avatar
      Use the 'noclone` function attribute in addition to 'noinline` · a336f470
      Henrik Gramner authored and Henrik Gramner's avatar Henrik Gramner committed
      We use the 'noinline' attribute in order to reduce code size, but that
      doesn't prevent gcc from cloning the function, which is something that
      goes against the purpose of preventing inlining in the first place.
      
      Adding the 'noclone' attribute reduces the (stripped) binary size by
      around 45 kB on x86-64.
      a336f470
Loading