Skip to content

MAINT: Bump av from 17.1.0 to 18.1.0 - #2676

Merged
Roman Lutz (romanlutz) merged 1 commit into
mainfrom
dependabot/uv/av-18.1.0
Sep 16, 2026
Merged

Roman Lutz (romanlutz) merged 1 commit into
mainfrom
dependabot/uv/av-18.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 16, 2026

Copy link
Copy Markdown
Contributor

Bumps av from 17.1.0 to 18.1.0.

Release notes

Sourced from av's releases.

v18.1.0

Features

  • Infer the specific stream and codec context types for all FFmpeg encoder names in type-checked code by @​WyattBlue.
  • Add CodecContext.supported_options to discover generic and codec-specific options by @​WyattBlue (#2032).
  • Add Packet.rescale_ts() to rescale packet PTS, DTS, and duration to a new AVRational time base by @​WyattBlue.
  • Support reusing the thread's current CUDA context via a current_ctx flag on CudaContext and VideoFrame.from_dlpack, for interop with libraries like PyTorch that initialize CUDA first by @​Yozer (#2339).
  • VideoFrame.from_dlpack no longer requires restating primary_ctx/current_ctx when passing an explicit cuda_context; the flags are only validated when explicitly given by @​WyattBlue.
  • Support passing an explicit CUDA stream to FFmpeg CUDA operations, including NVENC input and output, via a cuda_stream parameter on CudaContext; currently limited to logical CUDA device 0 by @​Yozer (#2360).
  • Add av.AVRational, an exact rational number stored as two int32s that mirrors FFmpeg's AVRational. Codec.frame_rates now holds these rather than fractions.Fraction, and every setter that accepts a Fraction also accepts an AVRational. Unset rational attributes are falsy, so test them with if not stream.time_base: rather than is None by @​WyattBlue.
  • Add Frame.metadata, the metadata FFmpeg attaches to a frame, by @​WyattBlue.
  • Add CodecContext.level by @​WyattBlue.
  • Add VideoCodecContext.field_order by @​WyattBlue.
  • VideoFrame.save now forwards keyword arguments to the encoder, letting callers trade file size for speed (e.g. pred="none" or compression_level=1 for PNG, qscale=2 for JPG) by @​WyattBlue.
  • Add InputContainer.start_time_realtime, the stream's start time in microseconds since the Unix epoch, which RTSP derives from RTCP sender reports, by @​WyattBlue (#2365).

Fixes

  • Fix VideoFrame.save raising AttributeError when given a Path rather than a str by @​WyattBlue.
  • Fix a frame rate assigned to a VideoStream after add_stream being dropped from the output; the codec context's frame rate is now copied to the stream before the header is written by @​WyattBlue (#2301).
  • Prevent crashes and corrupted output when structural codec properties are changed after an output stream has been opened by @​WyattBlue, reported by @​oakaigh (#2232).
  • Fix a crash when using a stream that has no CodecContext (a demuxed stream with no available decoder, such as one from a truncated file, or a stream created by add_mux_stream); decoding now raises DecoderNotFoundError, encoding now raises EncoderNotFoundError, and BitStreamFilterContext accepts such a stream as out_stream by @​WyattBlue, reported by @​justinrmiller (#2344).

Misc

  • Support building from source against FFmpeg 9.0 by @​WyattBlue. The binary wheels still ship FFmpeg 8.1.2.

New Contributors

Full Changelog: PyAV-Org/PyAV@v18.0.0...v18.1.0

v18.0.0

Major

  • Remove Support for Python 3.10
  • Upgrade binary wheels to ffmpeg 8.1.2

Features

  • Support HW encoding via a hwaccel parameter on OutputContainer.add_stream (e.g. h264_vaapi, h264_nvenc, h264_videotoolbox); software frames passed to encode are uploaded to the device automatically by @​WyattBlue (#2156).
  • Expose sw_format on VideoCodecContext, and allow configuring the software format of hardware encoders by @​WyattBlue.
  • Add options parameter to AudioResampler for passing libswresample options (e.g. resampler, filter_size, cutoff) by @​WyattBlue (#2262).
  • Support yuv420p10le in VideoFrame.to_ndarray and VideoFrame.from_ndarray by @​WyattBlue (#1981).
  • Add at parameter to Graph.push and Graph.vpush to push a frame to a single buffer source by index, for multi-input filters like overlay by @​WyattBlue.
  • find_best_pix_fmt_of_list now returns the loss as a PixFmtLoss enum.IntFlag instead of a plain int by @​WyattBlue (#2300).
  • Add Colorspace.BT2020 by @​mark-oshea.
  • BitStreamFilterContext now accepts a Codec or a codec-name str as in_stream to pin the input codec without a full Stream by @​WyattBlue.

Fixes

... (truncated)

Changelog

Sourced from av's changelog.

v18.1.0

Features:

  • Infer the specific stream and codec context types for all FFmpeg encoder names in type-checked code by :gh-user:WyattBlue.
  • Add CodecContext.supported_options to discover generic and codec-specific options by :gh-user:WyattBlue (:issue:2032).
  • Add Packet.rescale_ts() to rescale packet PTS, DTS, and duration to a new AVRational time base by :gh-user:WyattBlue.
  • Support reusing the thread's current CUDA context via a current_ctx flag on CudaContext and VideoFrame.from_dlpack, for interop with libraries like PyTorch that initialize CUDA first by :gh-user:Yozer (:pr:2339).
  • VideoFrame.from_dlpack no longer requires restating primary_ctx/current_ctx when passing an explicit cuda_context; the flags are only validated when explicitly given by :gh-user:WyattBlue.
  • Support passing an explicit CUDA stream to FFmpeg CUDA operations, including NVENC input and output, via a cuda_stream parameter on CudaContext; currently limited to logical CUDA device 0 by :gh-user:Yozer (:pr:2360).
  • Add av.AVRational, an exact rational number stored as two int32s that mirrors FFmpeg's AVRational. Codec.frame_rates now holds these rather than fractions.Fraction, and every setter that accepts a Fraction also accepts an AVRational. Unset rational attributes are falsy, so test them with if not stream.time_base: rather than is None by :gh-user:WyattBlue.
  • Add Frame.metadata, the metadata FFmpeg attaches to a frame, by :gh-user:WyattBlue.
  • Add CodecContext.level by :gh-user:WyattBlue.
  • Add VideoCodecContext.field_order by :gh-user:WyattBlue.
  • VideoFrame.save now forwards keyword arguments to the encoder, letting callers trade file size for speed (e.g. pred="none" or compression_level=1 for PNG, qscale=2 for JPG) by :gh-user:WyattBlue.
  • Add InputContainer.start_time_realtime, the stream's start time in microseconds since the Unix epoch, which RTSP derives from RTCP sender reports, by :gh-user:WyattBlue (:issue:2365).

Fixes:

  • Fix VideoFrame.save raising AttributeError when given a Path rather than a str by :gh-user:WyattBlue.
  • Fix a frame rate assigned to a VideoStream after add_stream being dropped from the output; the codec context's frame rate is now copied to the stream before the header is written by :gh-user:WyattBlue (:issue:2301).

Misc.:

  • Support building from source against FFmpeg 9.0 by :gh-user:WyattBlue. The binary wheels still ship FFmpeg 8.1.2.

  • Prevent crashes and corrupted output when structural codec properties are changed after an output stream has been opened by :gh-user:WyattBlue, reported by :gh-user:oakaigh (:issue:2232).

  • Fix a crash when using a stream that has no CodecContext (a demuxed stream with no available decoder, such as one from a truncated file, or a stream created by add_mux_stream); decoding now raises DecoderNotFoundError, encoding now raises EncoderNotFoundError, and BitStreamFilterContext accepts such a stream as out_stream by :gh-user:WyattBlue, reported by :gh-user:justinrmiller (:issue:2344).

v18.0.0

Breaking:

  • Remove Python 3.10

Features:

  • Support HW encoding via a hwaccel parameter on OutputContainer.add_stream (e.g. h264_vaapi, h264_nvenc, h264_videotoolbox); software frames passed to encode are uploaded to the device automatically by :gh-user:WyattBlue (:issue:2156).
  • Use FFmpeg 8.1.2 in the binary wheels by :gh-user:WyattBlue.
  • Expose sw_format on VideoCodecContext, and allow configuring the software format of hardware encoders by :gh-user:WyattBlue.
  • Add options parameter to AudioResampler for passing libswresample options (e.g. resampler, filter_size, cutoff) by :gh-user:WyattBlue (:issue:2262).
  • Support yuv420p10le in VideoFrame.to_ndarray and VideoFrame.from_ndarray by :gh-user:WyattBlue (:issue:1981).
  • Add at parameter to Graph.push and Graph.vpush to push a frame to a single buffer source by index, for multi-input filters like overlay by :gh-user:WyattBlue.
  • find_best_pix_fmt_of_list now returns the loss as a PixFmtLoss enum.IntFlag instead of a plain int by :gh-user:WyattBlue (:issue:2300).
  • Add Colorspace.BT2020 by :gh-user:mark-oshea.
  • BitStreamFilterContext now accepts a Codec or a codec-name str as in_stream to pin the input codec without a full Stream by :gh-user:WyattBlue.

Fixes:

... (truncated)

Commits
  • 7e3d950 Release 18.1.0
  • 842955f Changelog entries missed since 18.0.0
  • fdb4ce4 Add InputContainer.start_time_realtime, closes #2365
  • b9ef85f Forward encoder options from VideoFrame.save()
  • f711ab6 Disable avx-512 in build-deps
  • 883642e Test with ffmpeg 9.0
  • b35726c FFmpeg 9.0 reorders AVCodecID
  • f6f0a5e Avoid probing primary context flags for no reason
  • 387fca5 Support explicit CUDA streams
  • 32e9f7d Refresh installation documentation
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [av](https://github.com/PyAV-Org/PyAV) from 17.1.0 to 18.1.0.
- [Release notes](https://github.com/PyAV-Org/PyAV/releases)
- [Changelog](https://github.com/PyAV-Org/PyAV/blob/v18.1.0/CHANGELOG.rst)
- [Commits](PyAV-Org/PyAV@v17.1.0...v18.1.0)

---
updated-dependencies:
- dependency-name: av
  dependency-version: 18.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Sep 16, 2026
@romanlutz
Roman Lutz (romanlutz) added this pull request to the merge queue Sep 16, 2026
Merged via the queue into main with commit 477b0a2 Sep 16, 2026
41 checks passed
@romanlutz
Roman Lutz (romanlutz) deleted the dependabot/uv/av-18.1.0 branch September 16, 2026 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant