Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update FFmpeg to 7.0.1 #406

Merged
merged 10 commits into from
Jul 11, 2024
Merged

Update FFmpeg to 7.0.1 #406

merged 10 commits into from
Jul 11, 2024

Commits on Jun 19, 2024

  1. Update nvidia tests to pass with VFR changes.

    The nvidia test suite was never run after livepeer#393 so this breakage
    was not noticed.
    j0sh committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    1b3ec5d View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2024

  1. Configuration menu
    Copy the full SHA
    c8ee3cc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fbbd746 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    73d216a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    64889eb View commit details
    Browse the repository at this point in the history
  5. Fix FPS passthrough

    * Set the encoder timebase using AVCodecContext.framerate instead of
      the decoder's AVCodecContext.time_base.
    
      The use of AVCodecContext.time_base is deprecated for decoding.
      See https://ffmpeg.org/doxygen/3.3/structAVCodecContext.html#ab7bfeb9fa5840aac090e2b0bd0ef7589
    
    * Adjust the packet timebase as necessary for FPS pass through
      to match the encoder's expected timebase. For filtergraphs using
      FPS adjustment, the filtergraph output timebase will match the
      framerate (1 / framerate) and the encoder is configured for the same.
    
      However, for FPS pass through, the filtergraph's output timebase
      will match the input timebase (since there is no FPS adjustment)
      while the encoder uses the timebase detected from the decoder's
      framerate. Since the input timebase does not typically match the FPS
      (eg 90khz for mpegts vs 30fps), we need to adjust the packet timestamps
      (in container timebase) to the encoder's expected timebase.
    
    * For the specific case of FPS passthrough, preserve the original PTS
      as much as possible since we are trying to re-encode existing frames
      one-to-one. Use the opaque field for this, since it is already being
      populated with the original PTS to detect sentinel packets
      during flushing.
    
      Without this, timestamps can be slightly "squashed" down when
      rescaling output packets to the muxer's timebase, due to the loss of
      precision (eg, demuxer 90khz -> encoder 30hz -> muxer 90khz)
    j0sh committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    9994662 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1dab663 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2024

  1. Configuration menu
    Copy the full SHA
    c70a026 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b38537a View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2024

  1. Configuration menu
    Copy the full SHA
    d446d4f View commit details
    Browse the repository at this point in the history