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

Fix CUVID crash on resolution change #418

Merged
merged 5 commits into from
Aug 19, 2024
Merged

Commits on Aug 19, 2024

  1. ffmpeg: Flush filters before re-initialization.

    Also add another condition for re-initialization: if the
    input resolution changes. This triggers the filter graph
    to re-build and adjust to the new resolution, when CPU
    encoders are in use.
    j0sh committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    be728e9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    808675b View commit details
    Browse the repository at this point in the history
  3. ffmpeg: Reset the flush packet after each keyframe.

    This handles cases where the packet may contain a frame
    that triggers a decoder reset - we do not want to cause
    a reset during the flushing process.
    j0sh committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    f033859 View commit details
    Browse the repository at this point in the history
  4. ffmpeg: Handle EAGAIN from decoder and drain

    This usually happens with CUVID if the decoder needs to be reset
    internally for whatever reason, such as a mid-stream resolution
    change.
    
    Also block demuxing until decoder is ready to receive packets again.
    j0sh committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    def71fa View commit details
    Browse the repository at this point in the history
  5. ffmpeg: Add tests for rotation.

    j0sh committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    0e6fd2e View commit details
    Browse the repository at this point in the history