Changelog¶
We are operating with semantic versioning.
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:
Add
OutputContainer.add_mux_stream()for creating codec-context-free streams, enabling muxing of pre-encoded packets without an encoder, addressing #1970 by @WyattBlue.Use zero-copy for Packet init from buffer data by @WyattBlue in (#2199).
Expose AVIndexEntry by @Queuecumber in (#2136).
Preserving hardware memory during cuvid decoding, exporting/importing via dlpack by @WyattBlue in (#2155).
Add enumerate_input_devices and enumerate_output_devices API by @WyattBlue in (#2174).
Add
ColorTrcandColorPrimariesenums; addcolor_trcandcolor_primariesproperties toVideoFrame; adddst_color_trcanddst_color_primariesparameters toVideoFrame.reformat(), addressing #1968 by @WyattBlue in (#2175).Add multithreaded reformatting and reduce Python overhead by replacing
sws_scalewithsws_scale_frame, skipping unnecessary reformats, and minimizing Python interactions by @lgeiger.Prevent data copy in
VideoFrame.to_ndarray()for padded frames by @lgeiger in (#2190).
Fixes:
Fix #2149 by @WyattBlue in (#2155).
Fix packet typing based on stream and specify InputContainer.demux based on incoming stream by @ntjohnson1 in (#2134).
Fix memory growth when remuxing with
add_stream_from_templateby skippingavcodec_open2for template-initialized codec contexts, addressing #2135 by @WyattBlue.Explicitly disable OpenSSL in source builds (
scripts/build-deps) to prevent accidental OpenSSL linkage that breaks FIPS-enabled systems, addressing #1972.Add missing
SWS_SPLINEinterpolation by @lgeiger in (#2188).
v16.1.0¶
Features:
Add support for Intel QSV codecs by @ladaapp.
Add AMD AMF hardware decoding by @ladaapp2.
Add subtitle encoding support by @skeskinen in (#2050).
Add read/write access to PacketSideData by @skeskinen in (#2051).
Add yuv422p support for video frame to_ndarray and from_ndarray by @wader in (#2054).
Add binding for
avcodec_find_best_pix_fmt_of_list()by @ndeybach in (#2058).
Fixes:
Fix #2036, #2053, #2057 by @WyattBlue.
v16.0.1¶
Fixes:
Add new hwaccel enums by @WyattBlue in (#2030).
v16.0.0¶
Major:
Drop Python 3.9, Support Python 3.14.
Drop support for i686 Linux.
Features:
Add
Filter.Context.process_command()method by @caffeinism in (#2000).Add packet side-data handling mechanism by @tikuma-lsuhsc in (#2003).
Declare free-threaded support and support 3.13t by @ngoldbaum in (#2005).
Add writable and copyable attachment and data streams by @skeskinen in (#2026).
Fixes:
Declare free-threaded support and support 3.13t by @ngoldbaum in (#2005).
Allow
NoneinFilterContext.push()type stub by @velsinki in (#2015).Fix typos
15.X and Below¶
15.X Changelog <https://pyav.basswood-io.com/docs/15.1/development/changelog.html>