Never assume the API of libav* to be stable unless at least 1 month has passedsince the last major version increase or the API was added. The last version increases were:libavcodec: 2021-04-27libavdevice: 2021-04-27libavfilter: 2021-04-27libavformat: 2021-04-27libpostproc: 2021-04-27libswresample: 2021-04-27libswscale: 2021-04-27libavutil: 2021-04-27 API changes, most recent first: 2022-03-16 - xxxxxxxxxx - all libraries - version_major.h Add lib<name>/version_major.h as new installed headers, which only contain the major version number (and corresponding API deprecation defines). 2022-03-15 - cdba98bb80 - swr 4.5.100 - swresample.h Add swr_alloc_set_opts2() and swr_build_matrix2(). Deprecate swr_alloc_set_opts() and swr_build_matrix(). 2022-03-15 - cdba98bb80 - lavfi 8.28.100 - avfilter.h buffersink.h buffersrc.h Update AVFilterLink for the new channel layout API: add ch_layout, deprecate channel_layout. Update the buffersink filter sink for the new channel layout API: add av_buffersink_get_ch_layout() and the ch_layouts option, deprecate av_buffersink_get_channel_layout() and the channel_layouts option. Update AVBufferSrcParameters for the new channel layout API: add ch_layout, deprecate channel_layout. 2022-03-15 - cdba98bb80 - lavf 59.19.100 - avformat.h Add AV_DISPOSITION_NON_DIEGETIC. 2022-03-15 - cdba98bb80 - lavc 59.24.100 - avcodec.h codec_par.h Update AVCodecParameters for the new channel layout API: add ch_layout, deprecate channels/channel_layout. Update AVCodecContext for the new channel layout API: add ch_layout, deprecate channels/channel_layout. Update AVCodec for the new channel layout API: add ch_layouts, deprecate channel_layouts. 2022-03-15 - cdba98bb80 - lavu 57.24.100 - channel_layout.h frame.h opt.h Add new channel layout API based on the AVChannelLayout struct. Add support for Ambisonic audio. Deprecate previous channel layout API based on uint64 bitmasks. Add AV_OPT_TYPE_CHLAYOUT option type, deprecate AV_OPT_TYPE_CHANNEL_LAYOUT. Update AVFrame for the new channel layout API: add ch_layout, deprecate channels/channel_layout. 2022-03-10 - xxxxxxxxxx - lavu 57.23.100 - cpu.h Add AV_CPU_FLAG_AVX512ICL. 2022-02-07 - xxxxxxxxxx - lavu 57.21.100 - fifo.h Deprecate AVFifoBuffer and the API around it, namely av_fifo_alloc(), av_fifo_alloc_array(), av_fifo_free(), av_fifo_freep(), av_fifo_reset(), av_fifo_size(), av_fifo_space(), av_fifo_generic_peek_at(), av_fifo_generic_peek(), av_fifo_generic_read(), av_fifo_generic_write(), av_fifo_realloc2(), av_fifo_grow(), av_fifo_drain() and av_fifo_peek2(). Users should switch to the AVFifo-API. 2022-02-07 - xxxxxxxxxx - lavu 57.20.100 - fifo.h Add a new FIFO API, which allows setting a FIFO element size. This API operates on these elements rather than on bytes. Add av_fifo_alloc2(), av_fifo_elem_size(), av_fifo_can_read(), av_fifo_can_write(), av_fifo_grow2(), av_fifo_drain2(), av_fifo_write(), av_fifo_write_from_cb(), av_fifo_read(), av_fifo_read_to_cb(), av_fifo_peek(), av_fifo_peek_to_cb(), av_fifo_drain2(), av_fifo_reset2(), av_fifo_freep2(), av_fifo_auto_grow_limit(). 2022-01-26 - af94ab7c7c0 - lavu 57.19.100 - tx.h Add AV_TX_FLOAT_RDFT, AV_TX_DOUBLE_RDFT and AV_TX_INT32_RDFT. 2022-01-04 - 78dc21b123e - lavu 57.16.100 - frame.h Add AV_FRAME_DATA_DOVI_METADATA. 2022-01-03 - 70f318e6b6c - lavf 59.13.100 - avformat.h Add AVFMT_EXPERIMENTAL flag. 2021-12-22 - b7e1ec7bda9 - lavu 57.13.100 - hwcontext_videotoolbox.h Add av_vt_pixbuf_set_attachments 2021-12-22 - 69bd95dcd8d - lavu 57.13.100 - hwcontext_videotoolbox.h Add av_map_videotoolbox_chroma_loc_from_av Add av_map_videotoolbox_color_matrix_from_av Add av_map_videotoolbox_color_primaries_from_av Add av_map_videotoolbox_color_trc_from_av 2021-12-21 - ffbab99f2c2 - lavu 57.12.100 - cpu.h Add AV_CPU_FLAG_SLOW_GATHER. 2021-12-20 - 278068dc60d - lavu 57.11.101 - display.h Modified the documentation of av_display_rotation_set() to match its longstanding actual behaviour of treating the angle as directed clockwise. 2021-12-12 - 64834bb86a1 - lavf 59.10.100 - avformat.h Add AVFormatContext io_close2 which returns an int 2021-12-10 - f45cbb775e4 - lavu 57.11.100 - hwcontext_vulkan.h Add AVVkFrame.offset and AVVulkanFramesContext.flags. 2021-12-04 - b9c928a486f - lavfi 8.19.100 - avfilter.h Add AVFILTER_FLAG_METADATA_ONLY. 2021-12-03 - b236ef0a594 - lavu 57.10.100 - frame.h Add AVFrame.time_base 2021-11-22 - b2cd1fb2ec6 - lavu 57.9.100 - pixfmt.h Add AV_PIX_FMT_P210, AV_PIX_FMT_P410, AV_PIX_FMT_P216, and AV_PIX_FMT_P416. 2021-11-17 - 54e65aa38ab - lavf 57.9.100 - frame.h Add AV_FRAME_DATA_DOVI_RPU_BUFFER. 2021-11-16 - ed75a08d36c - lavf 59.9.100 - avformat.h Add av_stream_get_class(). Schedule adding AVStream.av_class at libavformat major version 60. Add av_disposition_to_string() and av_disposition_from_string(). Add "disposition" AVOption to AVStream's class. 2021-11-12 - 8478d60d5b5 - lavu 57.8.100 - hwcontext_vulkan.h Added AVVkFrame.sem_value, AVVulkanDeviceContext.queue_family_encode_index, nb_encode_queues, queue_family_decode_index, and nb_decode_queues. 2021-10-18 - 682bafdb125 - lavf 59.8.100 - avio.h Introduce public bytes_{read,written} statistic fields to AVIOContext. 2021-10-13 - a5622ed16f8 - lavf 59.7.100 - avio.h Deprecate AVIOContext.written. Originally added as a private entry in commit 3f75e5116b900f1428aa13041fc7d6301bf1988a, its grouping with the comment noting its private state was missed during merging of the field from Libav (most likely due to an already existing field in between). 2021-09-21 - 0760d9153c3 - lavu 57.7.100 - pixfmt.h Add AV_PIX_FMT_X2BGR10. 2021-09-20 - 8d5de914d31 - lavu 57.6.100 - mem.h Deprecate av_mallocz_array() as it is identical to av_calloc(). 2021-09-20 - 176b8d785bf - lavc 59.9.100 - avcodec.h Deprecate AVCodecContext.sub_text_format and the corresponding AVOptions. It is unused since the last major bump. 2021-09-20 - dd846bc4a91 - lavc 59.8.100 - avcodec.h codec.h Deprecate AV_CODEC_FLAG_TRUNCATED and AV_CODEC_CAP_TRUNCATED, as they are redundant with parsers. 2021-09-17 - ccfdef79b13 - lavu 57.5.101 - buffer.h Constified the input parameters in av_buffer_replace(), av_buffer_ref(), and av_buffer_pool_buffer_get_opaque(). 2021-09-08 - 4f78711f9c2 - lavu 57.5.100 - hwcontext_d3d11va.h Add AVD3D11VAFramesContext.texture_infos 2021-09-06 - 42cd64c1826 - lsws 6.1.100 - swscale.h Add AVFrame-based scaling API: - sws_scale_frame() - sws_frame_start() - sws_frame_end() - sws_send_slice() - sws_receive_slice() - sws_receive_slice_alignment() 2021-09-02 - cbf111059d2 - lavc 59.7.100 - avcodec.h Incremented the number of elements of AVCodecParser.codec_ids to seven. 2021-08-24 - 590a7e02f04 - lavc 59.6.100 - avcodec.h Add FF_CODEC_PROPERTY_FILM_GRAIN 2021-08-20 - 7c5f998196d - lavfi 8.3.100 - avfilter.H Add avfilter_filter_pad_count() as a replacement for avfilter_pad_count(). Deprecate avfilter_pad_count(). 2021-08-17 - 8c53b145993 - lavu 57.4.101 - opt.h av_opt_copy() now guarantees that allocated src and dst options don't alias each other even on error. 2021-08-14 - d5de9965ef6 - lavu 57.4.100 - imgutils.h Add av_image_copy_plane_uc_from() 2021-08-02 - a1a0fddfd05 - lavc 59.4.100 - packet.h Add AVPacket.opaque, AVPacket.opaque_ref, AVPacket.time_base. 2021-07-23 - 2dd8acbe800 - lavu 57.3.100 - common.h macros.h Move several macros (AV_NE, FFDIFFSIGN, FFMAX, FFMAX3, FFMIN, FFMIN3, FFSWAP, FF_ARRAY_ELEMS, MKTAG, MKBETAG) from common.h to macros.h. 2021-07-22 - e3b5ff17c2e - lavu 57.2.100 - film_grain_params.h Add AV_FILM_GRAIN_PARAMS_H274, AVFilmGrainH274Params 2021-07-19 - c1bf56a526f - lavu 57.1.100 - cpu.h Add av_cpu_force_count() 2021-06-17 - aca923b3653 - lavc 59.2.100 - packet.h Add AV_PKT_DATA_DYNAMIC_HDR10_PLUS 2021-06-09 - 2cccab96f6f - lavf 59.3.100 - avformat.h Add pts_wrap_bits to AVStream 2021-06-10 - 7c9763070d9 - lavc 59.1.100 - avcodec.h codec.h Move av_get_profile_name() from avcodec.h to codec.h. 2021-06-10 - bb3648e6766 - lavc 59.1.100 - avcodec.h codec_par.h Move av_get_audio_frame_duration2() from avcodec.h to codec_par.h. 2021-06-10 - 881db34f6a0 - lavc 59.1.100 - avcodec.h codec_id.h Move av_get_bits_per_sample(), av_get_exact_bits_per_sample(), avcodec_profile_name(), and av_get_pcm_codec() from avcodec.h to codec_id.h. 2021-06-10 - ff0a96046d8 - lavc 59.1.100 - avcodec.h defs.h Add new installed header defs.h. The following definitions are moved into it from avcodec.h: - AVDiscard - AVAudioServiceType - AVPanScan - AVCPBProperties and av_cpb_properties_alloc() - AVProducerReferenceTime - av_xiphlacing() 2021-04-27 - cb3ac722f4 - lavc 59.0.100 - avcodec.h Constified AVCodecParserContext.parser. 2021-04-27 - 8b3e6ce5f4 - lavd 59.0.100 - avdevice.h The av_*_device_next API functions now accept and return pointers to const AVInputFormat resp. AVOutputFormat. 2021-04-27 - d7e0d428fa - lavd 59.0.100 - avdevice.h avdevice_list_input_sources and avdevice_list_output_sinks now accept pointers to const AVInputFormat resp. const AVOutputFormat. 2021-04-27 - 46dac8cf3d - lavf 59.0.100 - avformat.h av_find_best_stream now uses a const AVCodec ** parameter for the returned decoder. 2021-04-27 - 626535f6a1 - lavc 59.0.100 - codec.h avcodec_find_encoder_by_name(), avcodec_find_encoder(), avcodec_find_decoder_by_name() and avcodec_find_decoder() now return a pointer to const AVCodec. 2021-04-27 - 14fa0a4efb - lavf 59.0.100 - avformat.h Constified AVFormatContext.*_codec. 2021-04-27 - 56450a0ee4 - lavf 59.0.100 - avformat.h Constified the pointers to AVInputFormats and AVOutputFormats in AVFormatContext, avformat_alloc_output_context2(), av_find_input_format(), av_probe_input_format(), av_probe_input_format2(), av_probe_input_format3(), av_probe_input_buffer2(), av_probe_input_buffer(), avformat_open_input(), av_guess_format() and av_guess_codec(). Furthermore, constified the AVProbeData in av_probe_input_format(), av_probe_input_format2() and av_probe_input_format3(). 2021-04-19 - 18af1ea8d1 - lavu 56.74.100 - tx.h Add AV_TX_FULL_IMDCT and AV_TX_UNALIGNED. 2021-04-17 - f1bf465aa0 - lavu 56.73.100 - frame.h detection_bbox.h Add AV_FRAME_DATA_DETECTION_BBOXES 2021-04-06 - 557953a397 - lavf 58.78.100 - avformat.h Add avformat_index_get_entries_count(), avformat_index_get_entry(), and avformat_index_get_entry_from_timestamp(). 2021-03-21 - a77beea6c8 - lavu 56.72.100 - frame.h Deprecated av_get_colorspace_name(). Use av_color_space_name() instead. -------- 8< --------- FFmpeg 4.4 was cut here -------- 8< --------- 2021-03-19 - e8c0bca6bd - lavu 56.69.100 - adler32.h Added a typedef for the type of the Adler-32 checksums used by av_adler32_update(). It will be changed to uint32_t at the next major bump. The type of the parameter for the length of the input buffer will also be changed to size_t at the next major bump. 2021-03-19 - e318438f2f - lavf 58.75.100 - avformat.h AVChapter.id will be changed from int to int64_t on the next major version bump. 2021-03-17 - f7db77bd87 - lavc 58.133.100 - codec.h Deprecated av_init_packet(). Once removed, sizeof(AVPacket) will no longer be a part of the public ABI. Deprecated AVPacketList. 2021-03-16 - 7d09579190 - lavc 58.132.100 - codec.h Add AV_CODEC_CAP_OTHER_THREADS as a new name for AV_CODEC_CAP_AUTO_THREADS. AV_CODEC_CAP_AUTO_THREADS is now deprecated. 2021-03-12 - 6e7e3a3820 - lavc 58.131.100 - avcodec.h codec.h Add a get_encode_buffer callback to AVCodecContext, similar to get_buffer2 but for encoders. Add avcodec_default_get_encode_buffer(). Add AV_GET_ENCODE_BUFFER_FLAG_REF. Encoders may now be flagged as AV_CODEC_CAP_DR1 capable. 2021-03-10 - 42e68fe015 - lavf 58.72.100 - avformat.h Change AVBufferRef related AVStream function and struct size parameter and fields type to size_t at next major bump. 2021-03-10 - d79e0fe65c - lavc 58.130.100 - packet.h Change AVBufferRef related AVPacket function and struct size parameter and fields type to size_t at next major bump. 2021-03-10 - 14040a1d91 - lavu 56.68.100 - buffer.h frame.h Change AVBufferRef and relevant AVFrame function and struct size parameter and fields type to size_t at next major bump. 2021-03-04 - a0eec776b6 - lavc 58.128.101 - avcodec.h Enable err_recognition to be set for encoders. 2021-03-03 - 2ff40b98ec - lavf 58.70.100 - avformat.h Deprecate AVFMT_FLAG_PRIV_OPT. It will do nothing as soon as av_demuxer_open() is removed. 2021-02-27 - dd9227e48f - lavc 58.126.100 - avcodec.h Deprecated avcodec_get_frame_class(). 2021-02-21 - 5ca40d6d94 - lavu 56.66.100 - tx.h Add enum AVTXFlags and AVTXFlags.AV_TX_INPLACE 2021-02-14 - 4f49ca7bbc - lavd 58.12.100 - avdevice.h Deprecated avdevice_capabilities_create() and avdevice_capabilities_free(). 2021-02-10 - 1bda9bb68a - lavu 56.65.100 - common.h Add FFABS64U() 2021-01-26 - 5dd9567080 - lavu 56.64.100 - common.h Add FFABSU() 2021-01-25 - 56709ca8aa - lavc 58.119.100 - avcodec.h Deprecate AVCodecContext.debug_mv, FF_DEBUG_VIS_MV_P_FOR, FF_DEBUG_VIS_MV_B_FOR, FF_DEBUG_VIS_MV_B_BACK 2021-01-11 - ebdd33086a - lavc 58.116.100 - avcodec.h Add FF_PROFILE_VVC_MAIN_10 and FF_PROFILE_VVC_MAIN_10_444. 2020-01-01 - baecaa16c1 - lavu 56.63.100 - video_enc_params.h Add AV_VIDEO_ENC_PARAMS_MPEG2 2020-12-03 - eca12f4d5a - lavu 56.62.100 - timecode.h Add av_timecode_init_from_components. 2020-11-27 - a83098ab03 - lavc 58.114.100 - avcodec.h Deprecate AVCodecContext.thread_safe_callbacks. Starting with LIBAVCODEC_VERSION_MAJOR=60, user callbacks must always be thread-safe when frame threading is used. 2020-11-25 - d243dd540a - lavc 58.113.100 - avcodec.h Adds a new flag AV_CODEC_EXPORT_DATA_FILM_GRAIN for export_side_data. 2020-11-25 - 4f9ee87253 - lavu 56.61.100 - film_grain_params.h Adds a new API for extracting codec film grain parameters as side data. Adds a new AVFrameSideDataType entry AV_FRAME_DATA_FILM_GRAIN_PARAMS for it. 2020-10-28 - f95d9510ff - lavf 58.64.100 - avformat.h Add AVSTREAM_EVENT_FLAG_NEW_PACKETS. 2020-09-28 - 68918d3b7f - lavu 56.60.100 - buffer.h Add a av_buffer_replace() convenience function. 2020-09-13 - 837b6eb90e - lavu 56.59.100 - timecode.h Add av_timecode_make_smpte_tc_string2. 2020-08-21 - 06f2651204 - lavu 56.58.100 - avstring.h Deprecate av_d2str(). Use av_asprintf() instead. 2020-08-04 - 34de0abbe7 - lavu 56.58.100 - channel_layout.h Add AV_CH_LAYOUT_22POINT2 together with its newly required pieces: AV_CH_TOP_SIDE_LEFT, AV_CH_TOP_SIDE_RIGHT, AV_CH_BOTTOM_FRONT_CENTER, AV_CH_BOTTOM_FRONT_LEFT, AV_CH_BOTTOM_FRONT_RIGHT. 2020-07-23 - 84655b7101 - lavu 56.57.100 - cpu.h Add AV_CPU_FLAG_MMI and AV_CPU_FLAG_MSA. 2020-07-22 - 3a8e927176 - lavu 56.56.100 - imgutils.h Add av_image_fill_plane_sizes(). 2020-07-15 - 448a9aaa78 - lavc 58.96.100 - packet.h Add AV_PKT_DATA_S12M_TIMECODE. 2020-06-12 - b09fb030c1 - lavu 56.55.100 - pixdesc.h Add AV_PIX_FMT_X2RGB10. 2020-06-11 - bc8ab084fb - lavu 56.54.100 - frame.h Add AV_FRAME_DATA_SEI_UNREGISTERED. 2020-06-10 - 1b4a98b029 - lavu 56.53.100 - log.h opt.h Add av_opt_child_class_iterate() and AVClass.child_class_iterate(). Deprecate av_opt_child_class_next() and AVClass.child_class_next(). -------- 8< --------- FFmpeg 4.3 was cut here -------- 8< --------- 2020-06-05 - ec39c2276a - lavu 56.50.100 - buffer.h Passing NULL as alloc argument to av_buffer_pool_init2() is now allowed. 2020-05-27 - ba6cada92e - lavc 58.88.100 - avcodec.h codec.h Move AVCodec-related public API to new header codec.h. 2020-05-23 - 064b875e89 - lavu 56.49.100 - video_enc_params.h Add AV_VIDEO_ENC_PARAMS_H264. 2020-05-23 - 2e08b39444 - lavu 56.48.100 - hwcontext.h Add av_hwdevice_ctx_create_derived_opts. 2020-05-23 - 6b65c4ec54 - lavu 56.47.100 - rational.h Add av_gcd_q(). 2020-05-22 - af9e622776 - lavu 56.46.101 - opt.h Add AV_OPT_FLAG_CHILD_CONSTS. 2020-05-22 - 9d443c3e68 - lavc 58.87.100 - avcodec.h codec_par.h Move AVBitstreamFilter-related public API to new header bsf.h. Move AVCodecParameters-related public API to new header codec_par.h. 2020-05-21 - 13b1bbff0b - lavc 58.86.101 - avcodec.h Deprecated AV_CODEC_CAP_INTRA_ONLY and AV_CODEC_CAP_LOSSLESS. 2020-05-17 - 84af196c65 - lavu 56.46.100 - common.h Add av_sat_add64() and av_sat_sub64() 2020-05-12 - 991d417692 - lavu 56.45.100 - video_enc_params.h lavc 58.84.100 - avcodec.h Add a new API for exporting video encoding information. Replaces the deprecated API for exporting QP tables from decoders. Add AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS to request this information from decoders. 2020-05-10 - dccd07f66d - lavu 56.44.100 - hwcontext_vulkan.h Add enabled_inst_extensions, num_enabled_inst_extensions, enabled_dev_extensions and num_enabled_dev_extensions fields to AVVulkanDeviceContext 2020-04-22 - 0e1db79e37 - lavc 58.81.100 - packet.h - lavu 56.43.100 - dovi_meta.h Add AV_PKT_DATA_DOVI_CONF and AVDOVIDecoderConfigurationRecord. 2020-04-15 - 22b25b3ea5 - lavc 58.79.100 - avcodec.h Add formal support for calling avcodec_flush_buffers() on encoders. Encoders that set the cap AV_CODEC_CAP_ENCODER_FLUSH will be flushed. For all other encoders, the call is now a no-op rather than undefined behaviour. 2020-04-10 - 672946c7fe - lavc 58.78.100 - avcodec.h codec_desc.h codec_id.h packet.h Move AVCodecDesc-related public API to new header codec_desc.h. Move AVCodecID enum to new header codec_id.h. Move AVPacket-related public API to new header packet.h. 2020-03-29 - 4cb0dda555 - lavf 58.42.100 - avformat.h av_read_frame() now guarantees to handle uninitialized input packets and to return refcounted packets on success. 2020-03-27 - c52ec0367d - lavc 58.77.100 - avcodec.h av_packet_ref() now guarantees to return the destination packet in a blank state on error. 2020-03-10 - 05d27f342b - lavc 58.75.100 - avcodec.h Add AV_PKT_DATA_ICC_PROFILE. 2020-02-21 - d005a7cdfd - lavc 58.73.101 - avcodec.h Add AV_CODEC_EXPORT_DATA_PRFT. 2020-02-21 - c666689491 - lavc 58.73.100 - avcodec.h Add AVCodecContext.export_side_data and AV_CODEC_EXPORT_DATA_MVS. 2020-02-13 - e8f054b095 - lavu 56.41.100 - tx.h Add AV_TX_INT32_FFT and AV_TX_INT32_MDCT 2020-02-12 - 3182114f88 - lavu 56.40.100 - log.h Add av_log_once(). 2020-02-04 - a88449ffb2 - lavu 56.39.100 - hwcontext.h Add AV_PIX_FMT_VULKAN Add AV_HWDEVICE_TYPE_VULKAN and implementation. 2020-01-30 - 27529eeb27 - lavf 58.37.100 - avio.h Add avio_protocol_get_class(). 2020-01-15 - 717b2074ec - lavc 58.66.100 - avcodec.h Add AV_PKT_DATA_PRFT and AVProducerReferenceTime. 2019-12-27 - 45259a0ee4 - lavu 56.38.100 - eval.h Add av_expr_count_func(). 2019-12-26 - 16685114d5 - lavu 56.37.100 - buffer.h Add av_buffer_pool_buffer_get_opaque(). 2019-11-17 - 1c23abc88f - lavu 56.36.100 - eval API Add av_expr_count_vars(). 2019-10-14 - f3746d31f9 - lavu 56.35.101 - opt.hLines 1–500 of 3630. Load more
Never assume the API of libav* to be stable unless at least 1 month has passed since the last major version increase or the API was added. The last version increases were: libavcodec: 2021-04-27 libavdevice: 2021-04-27 libavfilter: 2021-04-27 libavformat: 2021-04-27 libpostproc: 2021-04-27 libswresample: 2021-04-27 libswscale: 2021-04-27 libavutil: 2021-04-27 API changes, most recent first: 2022-03-16 - xxxxxxxxxx - all libraries - version_major.h Add lib<name>/version_major.h as new installed headers, which only contain the major version number (and corresponding API deprecation defines). 2022-03-15 - cdba98bb80 - swr 4.5.100 - swresample.h Add swr_alloc_set_opts2() and swr_build_matrix2(). Deprecate swr_alloc_set_opts() and swr_build_matrix(). 2022-03-15 - cdba98bb80 - lavfi 8.28.100 - avfilter.h buffersink.h buffersrc.h Update AVFilterLink for the new channel layout API: add ch_layout, deprecate channel_layout. Update the buffersink filter sink for the new channel layout API: add av_buffersink_get_ch_layout() and the ch_layouts option, deprecate av_buffersink_get_channel_layout() and the channel_layouts option. Update AVBufferSrcParameters for the new channel layout API: add ch_layout, deprecate channel_layout. 2022-03-15 - cdba98bb80 - lavf 59.19.100 - avformat.h Add AV_DISPOSITION_NON_DIEGETIC. 2022-03-15 - cdba98bb80 - lavc 59.24.100 - avcodec.h codec_par.h Update AVCodecParameters for the new channel layout API: add ch_layout, deprecate channels/channel_layout. Update AVCodecContext for the new channel layout API: add ch_layout, deprecate channels/channel_layout. Update AVCodec for the new channel layout API: add ch_layouts, deprecate channel_layouts. 2022-03-15 - cdba98bb80 - lavu 57.24.100 - channel_layout.h frame.h opt.h Add new channel layout API based on the AVChannelLayout struct. Add support for Ambisonic audio. Deprecate previous channel layout API based on uint64 bitmasks. Add AV_OPT_TYPE_CHLAYOUT option type, deprecate AV_OPT_TYPE_CHANNEL_LAYOUT. Update AVFrame for the new channel layout API: add ch_layout, deprecate channels/channel_layout. 2022-03-10 - xxxxxxxxxx - lavu 57.23.100 - cpu.h Add AV_CPU_FLAG_AVX512ICL. 2022-02-07 - xxxxxxxxxx - lavu 57.21.100 - fifo.h Deprecate AVFifoBuffer and the API around it, namely av_fifo_alloc(), av_fifo_alloc_array(), av_fifo_free(), av_fifo_freep(), av_fifo_reset(), av_fifo_size(), av_fifo_space(), av_fifo_generic_peek_at(), av_fifo_generic_peek(), av_fifo_generic_read(), av_fifo_generic_write(), av_fifo_realloc2(), av_fifo_grow(), av_fifo_drain() and av_fifo_peek2(). Users should switch to the AVFifo-API. 2022-02-07 - xxxxxxxxxx - lavu 57.20.100 - fifo.h Add a new FIFO API, which allows setting a FIFO element size. This API operates on these elements rather than on bytes. Add av_fifo_alloc2(), av_fifo_elem_size(), av_fifo_can_read(), av_fifo_can_write(), av_fifo_grow2(), av_fifo_drain2(), av_fifo_write(), av_fifo_write_from_cb(), av_fifo_read(), av_fifo_read_to_cb(), av_fifo_peek(), av_fifo_peek_to_cb(), av_fifo_drain2(), av_fifo_reset2(), av_fifo_freep2(), av_fifo_auto_grow_limit(). 2022-01-26 - af94ab7c7c0 - lavu 57.19.100 - tx.h Add AV_TX_FLOAT_RDFT, AV_TX_DOUBLE_RDFT and AV_TX_INT32_RDFT. 2022-01-04 - 78dc21b123e - lavu 57.16.100 - frame.h Add AV_FRAME_DATA_DOVI_METADATA. 2022-01-03 - 70f318e6b6c - lavf 59.13.100 - avformat.h Add AVFMT_EXPERIMENTAL flag. 2021-12-22 - b7e1ec7bda9 - lavu 57.13.100 - hwcontext_videotoolbox.h Add av_vt_pixbuf_set_attachments 2021-12-22 - 69bd95dcd8d - lavu 57.13.100 - hwcontext_videotoolbox.h Add av_map_videotoolbox_chroma_loc_from_av Add av_map_videotoolbox_color_matrix_from_av Add av_map_videotoolbox_color_primaries_from_av Add av_map_videotoolbox_color_trc_from_av 2021-12-21 - ffbab99f2c2 - lavu 57.12.100 - cpu.h Add AV_CPU_FLAG_SLOW_GATHER. 2021-12-20 - 278068dc60d - lavu 57.11.101 - display.h Modified the documentation of av_display_rotation_set() to match its longstanding actual behaviour of treating the angle as directed clockwise. 2021-12-12 - 64834bb86a1 - lavf 59.10.100 - avformat.h Add AVFormatContext io_close2 which returns an int 2021-12-10 - f45cbb775e4 - lavu 57.11.100 - hwcontext_vulkan.h Add AVVkFrame.offset and AVVulkanFramesContext.flags. 2021-12-04 - b9c928a486f - lavfi 8.19.100 - avfilter.h Add AVFILTER_FLAG_METADATA_ONLY. 2021-12-03 - b236ef0a594 - lavu 57.10.100 - frame.h Add AVFrame.time_base 2021-11-22 - b2cd1fb2ec6 - lavu 57.9.100 - pixfmt.h Add AV_PIX_FMT_P210, AV_PIX_FMT_P410, AV_PIX_FMT_P216, and AV_PIX_FMT_P416. 2021-11-17 - 54e65aa38ab - lavf 57.9.100 - frame.h Add AV_FRAME_DATA_DOVI_RPU_BUFFER. 2021-11-16 - ed75a08d36c - lavf 59.9.100 - avformat.h Add av_stream_get_class(). Schedule adding AVStream.av_class at libavformat major version 60. Add av_disposition_to_string() and av_disposition_from_string(). Add "disposition" AVOption to AVStream's class. 2021-11-12 - 8478d60d5b5 - lavu 57.8.100 - hwcontext_vulkan.h Added AVVkFrame.sem_value, AVVulkanDeviceContext.queue_family_encode_index, nb_encode_queues, queue_family_decode_index, and nb_decode_queues. 2021-10-18 - 682bafdb125 - lavf 59.8.100 - avio.h Introduce public bytes_{read,written} statistic fields to AVIOContext. 2021-10-13 - a5622ed16f8 - lavf 59.7.100 - avio.h Deprecate AVIOContext.written. Originally added as a private entry in commit 3f75e5116b900f1428aa13041fc7d6301bf1988a, its grouping with the comment noting its private state was missed during merging of the field from Libav (most likely due to an already existing field in between). 2021-09-21 - 0760d9153c3 - lavu 57.7.100 - pixfmt.h Add AV_PIX_FMT_X2BGR10. 2021-09-20 - 8d5de914d31 - lavu 57.6.100 - mem.h Deprecate av_mallocz_array() as it is identical to av_calloc(). 2021-09-20 - 176b8d785bf - lavc 59.9.100 - avcodec.h Deprecate AVCodecContext.sub_text_format and the corresponding AVOptions. It is unused since the last major bump. 2021-09-20 - dd846bc4a91 - lavc 59.8.100 - avcodec.h codec.h Deprecate AV_CODEC_FLAG_TRUNCATED and AV_CODEC_CAP_TRUNCATED, as they are redundant with parsers. 2021-09-17 - ccfdef79b13 - lavu 57.5.101 - buffer.h Constified the input parameters in av_buffer_replace(), av_buffer_ref(), and av_buffer_pool_buffer_get_opaque(). 2021-09-08 - 4f78711f9c2 - lavu 57.5.100 - hwcontext_d3d11va.h Add AVD3D11VAFramesContext.texture_infos 2021-09-06 - 42cd64c1826 - lsws 6.1.100 - swscale.h Add AVFrame-based scaling API: - sws_scale_frame() - sws_frame_start() - sws_frame_end() - sws_send_slice() - sws_receive_slice() - sws_receive_slice_alignment() 2021-09-02 - cbf111059d2 - lavc 59.7.100 - avcodec.h Incremented the number of elements of AVCodecParser.codec_ids to seven. 2021-08-24 - 590a7e02f04 - lavc 59.6.100 - avcodec.h Add FF_CODEC_PROPERTY_FILM_GRAIN 2021-08-20 - 7c5f998196d - lavfi 8.3.100 - avfilter.H Add avfilter_filter_pad_count() as a replacement for avfilter_pad_count(). Deprecate avfilter_pad_count(). 2021-08-17 - 8c53b145993 - lavu 57.4.101 - opt.h av_opt_copy() now guarantees that allocated src and dst options don't alias each other even on error. 2021-08-14 - d5de9965ef6 - lavu 57.4.100 - imgutils.h Add av_image_copy_plane_uc_from() 2021-08-02 - a1a0fddfd05 - lavc 59.4.100 - packet.h Add AVPacket.opaque, AVPacket.opaque_ref, AVPacket.time_base. 2021-07-23 - 2dd8acbe800 - lavu 57.3.100 - common.h macros.h Move several macros (AV_NE, FFDIFFSIGN, FFMAX, FFMAX3, FFMIN, FFMIN3, FFSWAP, FF_ARRAY_ELEMS, MKTAG, MKBETAG) from common.h to macros.h. 2021-07-22 - e3b5ff17c2e - lavu 57.2.100 - film_grain_params.h Add AV_FILM_GRAIN_PARAMS_H274, AVFilmGrainH274Params 2021-07-19 - c1bf56a526f - lavu 57.1.100 - cpu.h Add av_cpu_force_count() 2021-06-17 - aca923b3653 - lavc 59.2.100 - packet.h Add AV_PKT_DATA_DYNAMIC_HDR10_PLUS 2021-06-09 - 2cccab96f6f - lavf 59.3.100 - avformat.h Add pts_wrap_bits to AVStream 2021-06-10 - 7c9763070d9 - lavc 59.1.100 - avcodec.h codec.h Move av_get_profile_name() from avcodec.h to codec.h. 2021-06-10 - bb3648e6766 - lavc 59.1.100 - avcodec.h codec_par.h Move av_get_audio_frame_duration2() from avcodec.h to codec_par.h. 2021-06-10 - 881db34f6a0 - lavc 59.1.100 - avcodec.h codec_id.h Move av_get_bits_per_sample(), av_get_exact_bits_per_sample(), avcodec_profile_name(), and av_get_pcm_codec() from avcodec.h to codec_id.h. 2021-06-10 - ff0a96046d8 - lavc 59.1.100 - avcodec.h defs.h Add new installed header defs.h. The following definitions are moved into it from avcodec.h: - AVDiscard - AVAudioServiceType - AVPanScan - AVCPBProperties and av_cpb_properties_alloc() - AVProducerReferenceTime - av_xiphlacing() 2021-04-27 - cb3ac722f4 - lavc 59.0.100 - avcodec.h Constified AVCodecParserContext.parser. 2021-04-27 - 8b3e6ce5f4 - lavd 59.0.100 - avdevice.h The av_*_device_next API functions now accept and return pointers to const AVInputFormat resp. AVOutputFormat. 2021-04-27 - d7e0d428fa - lavd 59.0.100 - avdevice.h avdevice_list_input_sources and avdevice_list_output_sinks now accept pointers to const AVInputFormat resp. const AVOutputFormat. 2021-04-27 - 46dac8cf3d - lavf 59.0.100 - avformat.h av_find_best_stream now uses a const AVCodec ** parameter for the returned decoder. 2021-04-27 - 626535f6a1 - lavc 59.0.100 - codec.h avcodec_find_encoder_by_name(), avcodec_find_encoder(), avcodec_find_decoder_by_name() and avcodec_find_decoder() now return a pointer to const AVCodec. 2021-04-27 - 14fa0a4efb - lavf 59.0.100 - avformat.h Constified AVFormatContext.*_codec. 2021-04-27 - 56450a0ee4 - lavf 59.0.100 - avformat.h Constified the pointers to AVInputFormats and AVOutputFormats in AVFormatContext, avformat_alloc_output_context2(), av_find_input_format(), av_probe_input_format(), av_probe_input_format2(), av_probe_input_format3(), av_probe_input_buffer2(), av_probe_input_buffer(), avformat_open_input(), av_guess_format() and av_guess_codec(). Furthermore, constified the AVProbeData in av_probe_input_format(), av_probe_input_format2() and av_probe_input_format3(). 2021-04-19 - 18af1ea8d1 - lavu 56.74.100 - tx.h Add AV_TX_FULL_IMDCT and AV_TX_UNALIGNED. 2021-04-17 - f1bf465aa0 - lavu 56.73.100 - frame.h detection_bbox.h Add AV_FRAME_DATA_DETECTION_BBOXES 2021-04-06 - 557953a397 - lavf 58.78.100 - avformat.h Add avformat_index_get_entries_count(), avformat_index_get_entry(), and avformat_index_get_entry_from_timestamp(). 2021-03-21 - a77beea6c8 - lavu 56.72.100 - frame.h Deprecated av_get_colorspace_name(). Use av_color_space_name() instead. -------- 8< --------- FFmpeg 4.4 was cut here -------- 8< --------- 2021-03-19 - e8c0bca6bd - lavu 56.69.100 - adler32.h Added a typedef for the type of the Adler-32 checksums used by av_adler32_update(). It will be changed to uint32_t at the next major bump. The type of the parameter for the length of the input buffer will also be changed to size_t at the next major bump. 2021-03-19 - e318438f2f - lavf 58.75.100 - avformat.h AVChapter.id will be changed from int to int64_t on the next major version bump. 2021-03-17 - f7db77bd87 - lavc 58.133.100 - codec.h Deprecated av_init_packet(). Once removed, sizeof(AVPacket) will no longer be a part of the public ABI. Deprecated AVPacketList. 2021-03-16 - 7d09579190 - lavc 58.132.100 - codec.h Add AV_CODEC_CAP_OTHER_THREADS as a new name for AV_CODEC_CAP_AUTO_THREADS. AV_CODEC_CAP_AUTO_THREADS is now deprecated. 2021-03-12 - 6e7e3a3820 - lavc 58.131.100 - avcodec.h codec.h Add a get_encode_buffer callback to AVCodecContext, similar to get_buffer2 but for encoders. Add avcodec_default_get_encode_buffer(). Add AV_GET_ENCODE_BUFFER_FLAG_REF. Encoders may now be flagged as AV_CODEC_CAP_DR1 capable. 2021-03-10 - 42e68fe015 - lavf 58.72.100 - avformat.h Change AVBufferRef related AVStream function and struct size parameter and fields type to size_t at next major bump. 2021-03-10 - d79e0fe65c - lavc 58.130.100 - packet.h Change AVBufferRef related AVPacket function and struct size parameter and fields type to size_t at next major bump. 2021-03-10 - 14040a1d91 - lavu 56.68.100 - buffer.h frame.h Change AVBufferRef and relevant AVFrame function and struct size parameter and fields type to size_t at next major bump. 2021-03-04 - a0eec776b6 - lavc 58.128.101 - avcodec.h Enable err_recognition to be set for encoders. 2021-03-03 - 2ff40b98ec - lavf 58.70.100 - avformat.h Deprecate AVFMT_FLAG_PRIV_OPT. It will do nothing as soon as av_demuxer_open() is removed. 2021-02-27 - dd9227e48f - lavc 58.126.100 - avcodec.h Deprecated avcodec_get_frame_class(). 2021-02-21 - 5ca40d6d94 - lavu 56.66.100 - tx.h Add enum AVTXFlags and AVTXFlags.AV_TX_INPLACE 2021-02-14 - 4f49ca7bbc - lavd 58.12.100 - avdevice.h Deprecated avdevice_capabilities_create() and avdevice_capabilities_free(). 2021-02-10 - 1bda9bb68a - lavu 56.65.100 - common.h Add FFABS64U() 2021-01-26 - 5dd9567080 - lavu 56.64.100 - common.h Add FFABSU() 2021-01-25 - 56709ca8aa - lavc 58.119.100 - avcodec.h Deprecate AVCodecContext.debug_mv, FF_DEBUG_VIS_MV_P_FOR, FF_DEBUG_VIS_MV_B_FOR, FF_DEBUG_VIS_MV_B_BACK 2021-01-11 - ebdd33086a - lavc 58.116.100 - avcodec.h Add FF_PROFILE_VVC_MAIN_10 and FF_PROFILE_VVC_MAIN_10_444. 2020-01-01 - baecaa16c1 - lavu 56.63.100 - video_enc_params.h Add AV_VIDEO_ENC_PARAMS_MPEG2 2020-12-03 - eca12f4d5a - lavu 56.62.100 - timecode.h Add av_timecode_init_from_components. 2020-11-27 - a83098ab03 - lavc 58.114.100 - avcodec.h Deprecate AVCodecContext.thread_safe_callbacks. Starting with LIBAVCODEC_VERSION_MAJOR=60, user callbacks must always be thread-safe when frame threading is used. 2020-11-25 - d243dd540a - lavc 58.113.100 - avcodec.h Adds a new flag AV_CODEC_EXPORT_DATA_FILM_GRAIN for export_side_data. 2020-11-25 - 4f9ee87253 - lavu 56.61.100 - film_grain_params.h Adds a new API for extracting codec film grain parameters as side data. Adds a new AVFrameSideDataType entry AV_FRAME_DATA_FILM_GRAIN_PARAMS for it. 2020-10-28 - f95d9510ff - lavf 58.64.100 - avformat.h Add AVSTREAM_EVENT_FLAG_NEW_PACKETS. 2020-09-28 - 68918d3b7f - lavu 56.60.100 - buffer.h Add a av_buffer_replace() convenience function. 2020-09-13 - 837b6eb90e - lavu 56.59.100 - timecode.h Add av_timecode_make_smpte_tc_string2. 2020-08-21 - 06f2651204 - lavu 56.58.100 - avstring.h Deprecate av_d2str(). Use av_asprintf() instead. 2020-08-04 - 34de0abbe7 - lavu 56.58.100 - channel_layout.h Add AV_CH_LAYOUT_22POINT2 together with its newly required pieces: AV_CH_TOP_SIDE_LEFT, AV_CH_TOP_SIDE_RIGHT, AV_CH_BOTTOM_FRONT_CENTER, AV_CH_BOTTOM_FRONT_LEFT, AV_CH_BOTTOM_FRONT_RIGHT. 2020-07-23 - 84655b7101 - lavu 56.57.100 - cpu.h Add AV_CPU_FLAG_MMI and AV_CPU_FLAG_MSA. 2020-07-22 - 3a8e927176 - lavu 56.56.100 - imgutils.h Add av_image_fill_plane_sizes(). 2020-07-15 - 448a9aaa78 - lavc 58.96.100 - packet.h Add AV_PKT_DATA_S12M_TIMECODE. 2020-06-12 - b09fb030c1 - lavu 56.55.100 - pixdesc.h Add AV_PIX_FMT_X2RGB10. 2020-06-11 - bc8ab084fb - lavu 56.54.100 - frame.h Add AV_FRAME_DATA_SEI_UNREGISTERED. 2020-06-10 - 1b4a98b029 - lavu 56.53.100 - log.h opt.h Add av_opt_child_class_iterate() and AVClass.child_class_iterate(). Deprecate av_opt_child_class_next() and AVClass.child_class_next(). -------- 8< --------- FFmpeg 4.3 was cut here -------- 8< --------- 2020-06-05 - ec39c2276a - lavu 56.50.100 - buffer.h Passing NULL as alloc argument to av_buffer_pool_init2() is now allowed. 2020-05-27 - ba6cada92e - lavc 58.88.100 - avcodec.h codec.h Move AVCodec-related public API to new header codec.h. 2020-05-23 - 064b875e89 - lavu 56.49.100 - video_enc_params.h Add AV_VIDEO_ENC_PARAMS_H264. 2020-05-23 - 2e08b39444 - lavu 56.48.100 - hwcontext.h Add av_hwdevice_ctx_create_derived_opts. 2020-05-23 - 6b65c4ec54 - lavu 56.47.100 - rational.h Add av_gcd_q(). 2020-05-22 - af9e622776 - lavu 56.46.101 - opt.h Add AV_OPT_FLAG_CHILD_CONSTS. 2020-05-22 - 9d443c3e68 - lavc 58.87.100 - avcodec.h codec_par.h Move AVBitstreamFilter-related public API to new header bsf.h. Move AVCodecParameters-related public API to new header codec_par.h. 2020-05-21 - 13b1bbff0b - lavc 58.86.101 - avcodec.h Deprecated AV_CODEC_CAP_INTRA_ONLY and AV_CODEC_CAP_LOSSLESS. 2020-05-17 - 84af196c65 - lavu 56.46.100 - common.h Add av_sat_add64() and av_sat_sub64() 2020-05-12 - 991d417692 - lavu 56.45.100 - video_enc_params.h lavc 58.84.100 - avcodec.h Add a new API for exporting video encoding information. Replaces the deprecated API for exporting QP tables from decoders. Add AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS to request this information from decoders. 2020-05-10 - dccd07f66d - lavu 56.44.100 - hwcontext_vulkan.h Add enabled_inst_extensions, num_enabled_inst_extensions, enabled_dev_extensions and num_enabled_dev_extensions fields to AVVulkanDeviceContext 2020-04-22 - 0e1db79e37 - lavc 58.81.100 - packet.h - lavu 56.43.100 - dovi_meta.h Add AV_PKT_DATA_DOVI_CONF and AVDOVIDecoderConfigurationRecord. 2020-04-15 - 22b25b3ea5 - lavc 58.79.100 - avcodec.h Add formal support for calling avcodec_flush_buffers() on encoders. Encoders that set the cap AV_CODEC_CAP_ENCODER_FLUSH will be flushed. For all other encoders, the call is now a no-op rather than undefined behaviour. 2020-04-10 - 672946c7fe - lavc 58.78.100 - avcodec.h codec_desc.h codec_id.h packet.h Move AVCodecDesc-related public API to new header codec_desc.h. Move AVCodecID enum to new header codec_id.h. Move AVPacket-related public API to new header packet.h. 2020-03-29 - 4cb0dda555 - lavf 58.42.100 - avformat.h av_read_frame() now guarantees to handle uninitialized input packets and to return refcounted packets on success. 2020-03-27 - c52ec0367d - lavc 58.77.100 - avcodec.h av_packet_ref() now guarantees to return the destination packet in a blank state on error. 2020-03-10 - 05d27f342b - lavc 58.75.100 - avcodec.h Add AV_PKT_DATA_ICC_PROFILE. 2020-02-21 - d005a7cdfd - lavc 58.73.101 - avcodec.h Add AV_CODEC_EXPORT_DATA_PRFT. 2020-02-21 - c666689491 - lavc 58.73.100 - avcodec.h Add AVCodecContext.export_side_data and AV_CODEC_EXPORT_DATA_MVS. 2020-02-13 - e8f054b095 - lavu 56.41.100 - tx.h Add AV_TX_INT32_FFT and AV_TX_INT32_MDCT 2020-02-12 - 3182114f88 - lavu 56.40.100 - log.h Add av_log_once(). 2020-02-04 - a88449ffb2 - lavu 56.39.100 - hwcontext.h Add AV_PIX_FMT_VULKAN Add AV_HWDEVICE_TYPE_VULKAN and implementation. 2020-01-30 - 27529eeb27 - lavf 58.37.100 - avio.h Add avio_protocol_get_class(). 2020-01-15 - 717b2074ec - lavc 58.66.100 - avcodec.h Add AV_PKT_DATA_PRFT and AVProducerReferenceTime. 2019-12-27 - 45259a0ee4 - lavu 56.38.100 - eval.h Add av_expr_count_func(). 2019-12-26 - 16685114d5 - lavu 56.37.100 - buffer.h Add av_buffer_pool_buffer_get_opaque(). 2019-11-17 - 1c23abc88f - lavu 56.36.100 - eval API Add av_expr_count_vars(). 2019-10-14 - f3746d31f9 - lavu 56.35.101 - opt.h