1. 08 Feb, 2019 1 commit
  2. 09 Sep, 2018 1 commit
  3. 08 Sep, 2018 1 commit
  4. 25 Jul, 2018 1 commit
    • Carl Eugen Hoyos's avatar
      lavf/isom: Make auxiliary_offsets consistently uint64_t. · fa35ab80
      Carl Eugen Hoyos authored
      Fixes a compilation warning if size_t != uint64_t:
      libavformat/mov.c: In function ‘mov_read_saio’:
      libavformat/mov.c:6207:45: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
               encryption_index->auxiliary_offsets = auxiliary_offsets;
                                                   ^
      fa35ab80
  5. 20 Apr, 2018 1 commit
  6. 19 Apr, 2018 2 commits
  7. 10 Mar, 2018 1 commit
  8. 02 Dec, 2017 1 commit
  9. 23 Oct, 2017 1 commit
  10. 28 Sep, 2017 1 commit
  11. 24 Aug, 2017 1 commit
    • Dale Curtis's avatar
      avformat/mov: Fix trampling of ctts during seeks when sidx support is enabled. · 37e8edc9
      Dale Curtis authored
      When sidx box support is enabled, the code will skip reading all
      trun boxes (each containing ctts entries for samples inthat box).
      
      If seeks are attempted before all ctts values are known, the old
      code would dump ctts entries into the wrong location. These are
      then used to compute pts values which leads to out of order and
      incorrectly timestamped packets.
      
      This patch fixes ctts processing by always using the index returned
      by av_add_index_entry() as the ctts_data index. When the index gains
      new entries old values are reshuffled as appropriate.
      
      This approach makes sense since the mov demuxer is already relying
      on the mapping of AVIndex entries to samples for correct demuxing.
      
      As a result of this all ctts entries are now 1-count. A followup
      change will be submitted to remove support for > 1 count entries
      which will simplify seeking.
      
      Notes for future improvement:
      Probably there are other boxes (stts, stsc, etc) that are impacted
      by this issue... this patch only attempts to fix ctts since it
      completely breaks packet timestamping.
      
      This patch continues using an array for the ctts data, which is not
      the most ideal given the rearrangement that needs to happen (via
      memmove as new entries are read in). Ideally AVIndex and the ctts
      data would be set-type structures so addition is always worst case
      O(lg(n)) instead of the O(n^2) that exists now; this slowdown is
      noticeable during seeks.
      Signed-off-by: 's avatarDale Curtis <dalecurtis@chromium.org>
      Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      37e8edc9
  12. 27 May, 2017 2 commits
  13. 03 Apr, 2017 1 commit
  14. 31 Mar, 2017 1 commit
  15. 10 Feb, 2017 1 commit
  16. 01 Feb, 2017 1 commit
  17. 14 Dec, 2016 1 commit
  18. 08 Dec, 2016 1 commit
  19. 07 Dec, 2016 2 commits
  20. 30 Nov, 2016 1 commit
  21. 03 Nov, 2016 1 commit
  22. 01 Nov, 2016 1 commit
  23. 24 Oct, 2016 1 commit
    • Rodger Combs's avatar
      lavf/mov: improve `tref/chap` chapter handling · 697400ea
      Rodger Combs authored
      3 parts:
      - Supports multiple chapter streams
      - Exports regular text chapter streams as opaque data. This prevents consumers
        from showing chapters as if they were regular subtitle streams.
      - Exports video chapter streams as thumbnails, and provides the first one as
        an attached_pic.
      697400ea
  24. 29 Aug, 2016 1 commit
  25. 25 Aug, 2016 1 commit
  26. 17 Jun, 2016 1 commit
    • Vittorio Giovara's avatar
      mov: Implement support for multiple sample description tables · 76729970
      Vittorio Giovara authored
      Store data from each stsd in a separate extradata buffer, keep track of
      the stsc index for read and seek operations, switch buffers when the
      index differs. Decoder is notified with an AV_PKT_DATA_NEW_EXTRADATA
      packet side data.
      
      Since H264 supports this notification, and can be reset midstream, enable
      this feature only for multiple avcC's. All other stsd types (such as
      hvc1 and hev1) need decoder-side changes, so they are left disabled for
      now.
      
      This is implemented only in non-fragmented MOVs.
      Signed-off-by: 's avatarVittorio Giovara <vittorio.giovara@gmail.com>
      76729970
  27. 06 Mar, 2016 1 commit
  28. 21 Jan, 2016 1 commit
  29. 20 Jan, 2016 1 commit
  30. 31 Dec, 2015 1 commit
  31. 13 Dec, 2015 1 commit
  32. 05 Dec, 2015 1 commit
  33. 10 Nov, 2015 1 commit
  34. 26 Oct, 2015 1 commit
  35. 10 Oct, 2015 1 commit
  36. 19 Jul, 2015 1 commit
  37. 18 Mar, 2015 1 commit
    • Derek Buitenhuis's avatar
      mov: Add option to keep exact packet sequence after seeking · 414d6547
      Derek Buitenhuis authored
      The current behavior may produce a different sequence of packets
      after seeking, compared to demuxing linearly from the beginning.
      This is because the MOV demuxer seeks in each stream individually,
      based on timestamp, which may set each stream at a slightly different
      position than if the file would have been read sequentially.
      
      This makes implementing certain operations, such as segmenting,
      quite hard, and slower than need be.
      
      Therefore, add an option which retains the same packet sequence
      after seeking, as when a file is demuxed linearly.
      414d6547