1. 05 Aug, 2018 1 commit
  2. 03 Aug, 2018 1 commit
  3. 18 Jun, 2018 1 commit
  4. 04 May, 2018 2 commits
  5. 25 Apr, 2018 3 commits
  6. 19 Apr, 2018 1 commit
  7. 20 Mar, 2018 1 commit
  8. 12 Mar, 2018 2 commits
  9. 08 Mar, 2018 2 commits
    • Aman Gupta's avatar
    • Aman Gupta's avatar
      avcodec/mediacodecdec: add delay_flush option · 2a0eb868
      Aman Gupta authored
      The default behavior of the mediacodec decoder before this commit
      was to delay flushes until all pending hardware frames were
      returned to the decoder. This was useful for certain types of
      applications, but was unexpected behavior for others.
      
      The new default behavior with this commit is now to execute
      flushes immediately to invalidate all pending frames. The old
      behavior can be enabled by setting delay_flush=1.
      
      With the new behavior, video players implementing seek can simply
      call flush on the decoder without having to worry about whether
      they have one or more mediacodec frames still buffered in their
      rendering pipeline. Previously, all these frames had to be
      explictly freed (or rendered) before the seek/flush would execute.
      
      The new behavior matches the behavior of all other lavc decoders,
      reducing the amount of special casing required when using the
      mediacodec decoder.
      Signed-off-by: 's avatarAman Gupta <aman@tmm1.net>
      Signed-off-by: 's avatarMatthieu Bouron <matthieu.bouron@gmail.com>
      2a0eb868
  10. 06 Mar, 2018 1 commit
  11. 03 Mar, 2018 3 commits
  12. 19 Feb, 2018 1 commit
    • Aman Gupta's avatar
      avcodec/mediacodecdec: refactor to take advantage of new decoding api · f611fef3
      Aman Gupta authored
      This refactor splits up the main mediacodec decode loop into two
      send/receive helpers, which are then used to rewrite the receive_frame
      callback and take full advantage of the new decoding api. Since we
      can now request packets on demand with ff_decode_get_packet(), the
      fifo buffer is no longer necessary and has been removed.
      
      This change was motivated by behavior observed on certain Android TV
      devices, featuring hardware mpeg2/h264 decoders which also deinterlace
      content (to produce multiple frames per field). Previously, this code
      caused buffering issues because queueInputBuffer() was always invoked
      before each dequeueOutputBuffer(), even though twice as many output
      buffers were being generated.
      
      With this patch, the decoder will always attempt to drain new frames
      first before sending more data into the underlying codec.
      Signed-off-by: 's avatarMatthieu Bouron <matthieu.bouron@gmail.com>
      f611fef3
  13. 15 Dec, 2017 1 commit
  14. 26 Nov, 2017 1 commit
  15. 03 Jul, 2017 2 commits
  16. 08 Jun, 2017 1 commit
  17. 23 Mar, 2017 1 commit
  18. 19 Oct, 2016 3 commits
  19. 12 Oct, 2016 2 commits
  20. 06 Oct, 2016 1 commit
  21. 15 Sep, 2016 1 commit
  22. 08 Jul, 2016 1 commit
  23. 23 Jun, 2016 4 commits
  24. 20 Jun, 2016 1 commit
  25. 15 Jun, 2016 1 commit
    • Matthieu Bouron's avatar
      lavc/mediacodec: refactor ff_AMediaCodecList_getCodecByType · e452abc5
      Matthieu Bouron authored
      Allows to select a codec (encoder or decoder) only if it supports a
      specific profile.
      
      Adds ff_AMediaCodecProfile_getProfileFromAVCodecContext to convert an
      AVCodecContext profile to a MediaCodec profile. It only supports H264
      for now.
      
      The codepath using MediaCodecList.findDecoderForFormat() (Android >= 5.0)
      has been dropped as this method does not allow to select a decoder
      compatible with a specific profile.
      e452abc5
  26. 07 Jun, 2016 1 commit