1. 01 Apr, 2020 1 commit
  2. 27 Mar, 2020 1 commit
    • Lynne's avatar
      movenc: mark Opus encapsulation as stable · ca7a192d
      Lynne authored
      The specifications are de-facto frozen now as they've already been used in
      production for years, the author has indicated reluctance on IRC to change
      it further, and the only potential changes would, from what I understand,
      be forward-compatible.
      ca7a192d
  3. 26 Mar, 2020 1 commit
  4. 10 Mar, 2020 1 commit
  5. 26 Jan, 2020 2 commits
    • Andreas Rheinhardt's avatar
      avformat/av1: Avoid allocation + copying when filtering OBUs · a3e43e0c
      Andreas Rheinhardt authored
      Certain types of OBUs are stripped away before muxing into Matroska and
      ISOBMFF; there are two functions to do this: One that outputs by
      directly writing in an AVIOContext and one that returns a freshly
      allocated buffer with the units not stripped away copied into it.
      
      The latter option is bad for performance, especially when the input
      does already not contain any of the units intended to be stripped away
      (this covers typical remuxing scenarios). Therefore this commit changes
      this by avoiding allocating and copying when possible; it is possible if
      the OBUs to be retained are consecutively in the input buffer (without
      an OBU to be discarded between them). In this case, the caller receives
      the offset as well as the length of the part of the buffer that contains
      the units to be kept. This also avoids copying when e.g. the only unit
      to be discarded is a temporal delimiter at the front.
      
      For a 22.7mb/s file with average framesize 113 kB this improved the time
      for the calls to ff_av1_filter_obus_buf() when writing Matroska from
      313319 decicycles to 2368 decicycles; for another file with 1.5mb/s
      (average framesize 7.3 kB) it improved from 34539 decicycles to 1922
      decicyles. For these files the only units that needed to be stripped
      away were temporal unit delimiters at the front.
      Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
      Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
      a3e43e0c
    • Andreas Rheinhardt's avatar
      avformat/movenc: Check for reformatting errors when writing hint tracks · e8518c25
      Andreas Rheinhardt authored
      If this is not done, the avio_write() calls will cause segfaults
      immediately afterwards on error.
      Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
      Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
      e8518c25
  6. 25 Jan, 2020 1 commit
  7. 17 Jan, 2020 2 commits
  8. 16 Jan, 2020 3 commits
  9. 10 Jan, 2020 1 commit
    • Martin Storsjö's avatar
      movenc: Write durations based on pts into mvhd/mdhd/tkhd/elst · 3d894db7
      Martin Storsjö authored
      Keep all the existing data fields as they are (there's lots and
      lots of nontrivial calculation and heuristics based on them in
      their current form), but derive the duration as the difference
      between the pts of the first packet to the maximum pts+duration
      (not necessarily the last packet); use this duration in any box
      where the actual presentation duration is supposed to be.
      
      Fixes: 8420
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      3d894db7
  10. 07 Jan, 2020 2 commits
    • Marton Balint's avatar
      avformat: convert some avio_flush() calls to avio_write_marker(AVIO_DATA_MARKER_FLUSH_POINT) · 3414115c
      Marton Balint authored
      Converting explicit avio_flush() calls helps us to buffer more data and avoid
      flushing the IO context too often which causes reduced IO throughput for
      non-streamed file output.
      
      The user can control FLUSH_POINT flushing behaviour using the -flush_packets
      option, the default typically means to flush unless a non-streamed file output
      is used, so this change should have no adverse effect on streaming even if it
      is assumed that after an avio_flush() the output buffer is clean so small
      seekbacks within the output buffer will work even when the IO context is not
      seekable.
      Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
      3414115c
    • Marton Balint's avatar
      avformat: remove avio_flush() calls from the end of write_header functions · 4bf90e09
      Marton Balint authored
      To make it consistent with other muxers.
      
      The user can still control the generic flushing behaviour after write_header
      (same way as after packets) using the -flush_packets option, the default
      typically means to flush unless a non-streamed file output is used.
      
      Therefore this change should have no adverse effect on streaming, even if it is
      assumed that the first packet has a clean buffer, so small seekbacks within the
      output buffer work even when the IO context is not seekable.
      Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
      4bf90e09
  11. 21 Dec, 2019 3 commits
  12. 12 Dec, 2019 2 commits
  13. 28 Nov, 2019 1 commit
  14. 26 Sep, 2019 2 commits
  15. 20 Sep, 2019 1 commit
  16. 25 Aug, 2019 1 commit
  17. 12 Jul, 2019 1 commit
  18. 09 Apr, 2019 1 commit
  19. 03 Apr, 2019 1 commit
    • Gyan Doshi's avatar
      lavf/movenc: fix tmcd writing for non-MP4/MOV modes · 8161ac29
      Gyan Doshi authored
      write_tmcd allows tmcd track to be created with any mode but in
      mov_write_header, index for first tmcd track is only set for modes
      MP4 or MOV, causing a crash if tmcd creation is attempted with other
      modes.
      8161ac29
  20. 02 Apr, 2019 1 commit
  21. 31 Mar, 2019 1 commit
  22. 18 Mar, 2019 1 commit
  23. 06 Feb, 2019 1 commit
  24. 24 Jan, 2019 1 commit
  25. 14 Dec, 2018 1 commit
  26. 11 Dec, 2018 1 commit
  27. 22 Nov, 2018 2 commits
  28. 07 Oct, 2018 1 commit
  29. 09 Sep, 2018 1 commit
  30. 08 Sep, 2018 1 commit