1. 19 Dec, 2017 4 commits
    • Mark Thompson's avatar
      lavc: Use hardware config information in ff_get_format() · 39056b52
      Mark Thompson authored
      This removes the dependency that hardware pixel formats previously had on
      AVHWAccel instances, meaning only those which actually do something need
      exist after this patch.
      
      Also updates avcodec_default_get_format() to be able to choose hardware
      formats if either a matching device has been supplied or no additional
      external configuration is required, and avcodec_get_hw_frames_parameters()
      to use the hardware config rather than searching the old hwaccel list.
      39056b52
    • Mark Thompson's avatar
      webp: Fix alpha initialisation · 57623cba
      Mark Thompson authored
      ff_get_format() in the next patch will reject formats which aren't in the
      offered list, so the hack in 7cb9296d is
      no longer valid.  Change the hack by adding a new field in the VP8 decoder
      context to indicate that it's actually WebP and don't call ff_get_format()
      at all in that case.
      57623cba
    • Mark Thompson's avatar
      lavc: Add hardware config metadata for decoders supporting hardware output · 2fcb0090
      Mark Thompson authored
      This includes a pointer to the associated hwaccel for decoders using
      hwaccels - these will be used later to implement the hwaccel setup
      without needing a global list.
      
      Also added is a new file listing all hwaccels as external declarations -
      this will be used later to generate the hwaccel list at configure time.
      2fcb0090
    • Mark Thompson's avatar
      720cf4e6
  2. 14 Dec, 2017 1 commit
    • wm4's avatar
      avcodec: add metadata to identify wrappers and hardware decoders · 47687a2f
      wm4 authored
      Explicitly identify decoder/encoder wrappers with a common name. This
      saves API users from guessing by the name suffix. For example, they
      don't have to guess that "h264_qsv" is the h264 QSV implementation, and
      instead they can just check the AVCodec .codec and .wrapper_name fields.
      
      Explicitly mark AVCodec entries that are hardware decoders or most
      likely hardware decoders with new AV_CODEC_CAPs. The purpose is allowing
      API users listing hardware decoders in a more generic way. The proposed
      AVCodecHWConfig does not provide this information fully, because it's
      concerned with decoder configuration, not information about the fact
      whether the hardware is used or not.
      
      AV_CODEC_CAP_HYBRID exists specifically for QSV, which can have software
      implementations in case the hardware is not capable.
      
      Based on a patch by Philip Langdale <philipl@overt.org>.
      Signed-off-by: 's avatarLuca Barbato <lu_zero@gentoo.org>
      47687a2f
  3. 12 Dec, 2017 6 commits
  4. 08 Dec, 2017 1 commit
    • Alexandra Hájková's avatar
      hevc: Add hevc_get_pixel_4/8/12/16/24/32/48/64 · 7993ec19
      Alexandra Hájková authored
      Checkasm timings:
      block size bitdepth  C       NEON
      4           8 bit:    146.7   48.7
                 10 bit:    146.7   52.7
      8           8 bit:    430.3   84.4
                 10 bit:    430.4  119.5
      12          8 bit:    812.8  141.0
                 10 bit:    812.8  195.0
      16          8 bit:   1499.1  268.0
                 10 bit:   1498.9  368.4
      24          8 bit:   4394.2  574.8
                 10 bit:   3696.3  804.8
      32          8 bit:   5108.6  568.9
                 10 bit:   4249.6  918.8
      48          8 bit:  16819.6 2304.9
                 10 bit:  13882.0 3178.5
      64          8 bit:  13490.8 1799.5
                 10 bit:  11018.5 2519.4
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      7993ec19
  5. 06 Dec, 2017 2 commits
  6. 02 Dec, 2017 5 commits
  7. 30 Nov, 2017 1 commit
  8. 28 Nov, 2017 2 commits
  9. 24 Nov, 2017 1 commit
  10. 23 Nov, 2017 1 commit
  11. 19 Nov, 2017 1 commit
    • Martin Storsjö's avatar
      libavcodec: Don't use dllexport, only dllimport when building DLLs · 3152058b
      Martin Storsjö authored
      The only purpose of dllexport (which is set while building the library
      that exports the symbols) is to have the linker automatically
      export such symbols into a DLL without using a def file - it doesn't
      affect the generated code.
      
      For both MSVC and mingw builds, this isn't essential since we override
      what symbols to export via an autogenerated def file instead.
      
      Update a comment in configure to refer to the right concept.
      
      With lld, this avoids warnings about duplicate export directives,
      when some symbols are requested to be exported both via dllexport
      attributes and via the autogenerated def file.
      
      This also reduces the number of lines of code marginally.
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      3152058b
  12. 16 Nov, 2017 1 commit
  13. 15 Nov, 2017 2 commits
  14. 14 Nov, 2017 1 commit
  15. 13 Nov, 2017 1 commit
  16. 12 Nov, 2017 6 commits
  17. 11 Nov, 2017 3 commits
  18. 09 Nov, 2017 1 commit