Skip to content

Latest commit

 

History

History
196 lines (142 loc) · 10.7 KB

File metadata and controls

196 lines (142 loc) · 10.7 KB

Changelog

We are operating with semantic versioning.

v18.1.0 (Unreleased)

Features:

  • 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`.

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:

  • Fix VideoFrame.reformat (and to_ndarray/to_rgb/to_image) raising OSError Operation not supported on frames tagged with reserved or otherwise unsupported color_primaries/color_trc values (e.g. VP9 and NVDEC output); a transfer/primaries conversion is now only performed when explicitly requested by :gh-user:`WyattBlue` (:issue:`2208`).
  • Fix add_mux_stream producing unwritable Matroska files by extracting codec extradata from the bitstream before the header is written by :gh-user:`WyattBlue` (:issue:`2198`).
  • Encode GPU frames (e.g. CUDA frames from DLPack) directly with pix_fmt="cuda" by adopting the frame's hw_frames_ctx before opening the encoder by :gh-user:`WyattBlue` (:issue:`2199`).
  • Fix a crash when reading VideoCodecContext.pix_fmt before it is set; it now returns None by :gh-user:`CarlosRDomin`.
  • Preserve frame attributes (pts, time_base, colorspace, etc.) when downloading hardware frames to system memory by :gh-user:`CarlosRDomin`.

v17.1.0

Breaking:

  • Remove the undertested av.option and av.descriptor APIs, along with the related Codec and Filter descriptor accessors.

Features:

Fixes:

v17.0.1

Fixes:

v17.0.0

Major:

  • Limited API binary wheels are now built.
  • 3.13t (free-threading) will be dropped because of storage limitations.
  • When an FFmpeg C function indicates an error, raise av.ArgumentError instead of ValueError/av.ValueError. This helps disambiguate why an exception is being thrown.
  • Save space by removing libaom (av1 encoder/decoder); dav1d, stvav1, and hardware, are available alternatives.

Features:

Fixes:

v16.1.0

Features:

Fixes:

v16.0.1

Fixes:

v16.0.0

Major:

  • Drop Python 3.9, Support Python 3.14.
  • Drop support for i686 Linux.

Features:

Fixes:

15.X and Below

15.X Changelog <https://pyav.basswood.io/docs/15.1/development/changelog.html>