1. 07 Jul, 2019 1 commit
  2. 23 Jan, 2019 1 commit
  3. 26 Oct, 2018 1 commit
    • Josh de Kock's avatar
      lavc/h264dec: don't error out when receiving multiple IDR slices · 0a055f46
      Josh de Kock authored
      This error isn't particularly helpful as checking for mixed IDR/non-IDR
      NALUs would need to be done at a higher level to actually be accurate.
      Removing the error allows an API user to send individual slice NALUs
      (i.e. incomplete frames) so they can take advantage of slice
      threading. The ticket which this error was added for (#4408) no
      longer segfaults after removing this error (as the bug was likely
      fixed more properly elsewhere).
      0a055f46
  4. 07 Sep, 2018 2 commits
  5. 17 Aug, 2018 1 commit
  6. 08 Mar, 2018 1 commit
    • Rodger Combs's avatar
      lavc/videotoolbox: fix threaded decoding · 63d87577
      Rodger Combs authored
      AVHWAccel.end_frame can run on a worker thread. The assumption of the
      frame threading code is that the worker thread will change the AVFrame
      image data, not the AVFrame fields. So the AVFrame fields are not synced
      back to the main thread. But this breaks videotoolbox due to its special
      requirements (everything else is fine). It actually wants to update
      AVFrame fields.
      
      The actual videotoolbox frame is now stored in the dummy AVBufferRef, so
      it mimics what happens in non-videotoolbox cases. (Changing the
      AVBufferRef contents is a bit like changing the image data.) The
      post_process callback copies that reference to the proper AVFrame field.
      
      Based on a patch by wm4.
      Signed-off-by: 's avatarAman Gupta <aman@tmm1.net>
      63d87577
  7. 26 Dec, 2017 1 commit
    • wm4's avatar
      h264: add AVOption to set x264_build default · cf57cb3a
      wm4 authored
      This provides a generic way to the API user to deal with files that
      either lack this SEI, or which have the SEI only in packets not passed
      to the decoder (such as the common case of the SEI being in the very
      firsat video packet, but decoding is started somewhere in the middle of
      the file). Bugs like 840b41b2 make this
      somewhat of a necessity.
      
      This intentionally uses the version in the SEI instead, if any is found.
      cf57cb3a
  8. 19 Dec, 2017 1 commit
    • 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
  9. 11 Dec, 2017 1 commit
  10. 01 Dec, 2017 1 commit
  11. 26 Nov, 2017 1 commit
    • Mark Thompson's avatar
      lavc: Add hardware config metadata for decoders supporting hardware output · 758fbc54
      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.
      758fbc54
  12. 13 Nov, 2017 2 commits
  13. 26 Jul, 2017 1 commit
    • Anton Khirnov's avatar
      h264dec: track the last seen value of x264_build · 45c4bf3d
      Anton Khirnov authored
      Do not use the one in the SEI directly as that is reset at certain
      points.
      
      Inspired by patches from Michael Niedermayer <michaelni@gmx.at> and
      Anton Mitrofanov <BugMaster@narod.ru>.
      
      CC: libav-stable@libav.org
      45c4bf3d
  14. 07 Jul, 2017 1 commit
  15. 26 May, 2017 2 commits
  16. 28 Mar, 2017 1 commit
  17. 21 Mar, 2017 1 commit
  18. 15 Mar, 2017 1 commit
  19. 12 Mar, 2017 1 commit
  20. 07 Mar, 2017 1 commit
    • Aman Gupta's avatar
      avcodec/h264, videotoolbox: fix crash after VT decoder fails · b6eaa392
      Aman Gupta authored
      The way videotoolbox hooks in as a hwaccel is pretty hacky. The VT decode
      API is not invoked until end_frame(), so alloc_frame() returns a dummy
      frame with a 1-byte buffer. When end_frame() is eventually called, the
      dummy buffer is replaced with the actual decoded data from
      VTDecompressionSessionDecodeFrame().
      
      When the VT decoder fails, the frame returned to the h264 decoder from
      alloc_frame() remains invalid and should not be used. Before
      97472199, it was accidentally being
      returned all the way up to the API user. After that commit, the dummy
      frame was unref'd so the user received an error.
      
      However, since that commit, VT hwaccel failures started causing random
      segfaults in the h264 decoder. This happened more often on iOS where the
      VT implementation is more likely to throw errors on bitstream anomolies.
      A recent report of this issue can be see in
      http://ffmpeg.org/pipermail/libav-user/2016-November/009831.html
      
      The issue here is that the dummy frame is still referenced internally by the
      h264 decoder, as part of the reflist and cur_pic_ptr. Deallocating the
      frame causes assertions like this one to trip later on during decoding:
      
        Assertion h->cur_pic_ptr->f->buf[0] failed at src/libavcodec/h264_slice.c:1340
      
      With this commit, we leave the dummy 1-byte frame intact, but avoid returning it
      to the user.
      
      This reverts commit 97472199.
      Signed-off-by: 's avatarwm4 <nfxjfg@googlemail.com>
      b6eaa392
  21. 24 Feb, 2017 1 commit
  22. 31 Jan, 2017 1 commit
  23. 26 Jan, 2017 1 commit
  24. 24 Jan, 2017 1 commit
  25. 22 Jan, 2017 1 commit
  26. 20 Jan, 2017 2 commits
  27. 18 Jan, 2017 1 commit
  28. 16 Jan, 2017 1 commit
  29. 12 Jan, 2017 2 commits
  30. 09 Jan, 2017 1 commit
  31. 19 Dec, 2016 2 commits
  32. 02 Oct, 2016 1 commit
  33. 23 Aug, 2016 1 commit
  34. 18 Aug, 2016 1 commit