Changes between Initial Version and Version 1 of Bump59


Ignore:
Timestamp:
May 9, 2021, 12:34:54 PM (3 months ago)
Author:
elenril
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Bump59

    v1 v1  
     1The major versions of all the libraries were bumped on 2021-04-27. Follows a summary of backwards-incompatible changes.
     2
     3= libavcodec =
     4* old audio/video decoding APIs avcodec_decode_video2 and
     5  avcodec_decode_audio4 were removed;
     6  they are replaced by avcodec_send_packet/avcodec_receive_frame, which
     7  decouple input and output and can return any number of output frames
     8  for a single input packet
     9* old audio/video encoding APIs avcodec_encode_video2 and
     10  avcodec_encode_audio2 were removed;
     11  they are replaced by avcodec_send_frame/avcodec_receive_packet, which
     12  decouple input and output and can return any number of output packets
     13  for a single input frame
     14* AVCodecContext.coded_frame removed without replacement
     15* AVCodecContext.side_data_only_packets removed, codecs (currently only flacenc)
     16  now always behave as if this field was set to 1
     17* AVCodecContext.vbv_delay removed, replaced by AV_PKT_DATA_CPB_PROPERTIES side data
     18* AVCodecContext.rtp_callback removed without replacement
     19* AVCodecContext.*_bits removed without replacement
     20* following AVCodecContext fields  removed, replaced by encoder-private options
     21    - coder_type and FF_CODER_TYPE*
     22    - b_frame_strategy
     23    - mpeg_quant
     24    - prediction_method and FF_PRED_*
     25    - pre_me
     26    - scenechange_threshold
     27    - noise_reduction
     28    - me_penalty_compensation
     29    - brd_scale
     30    - chromaoffset
     31    - b_sensitivity
     32    - context_model
     33    - frame_skip_*
     34    - min/max_prediction_order
     35    - timecode_frame_start
     36    - rtp_payload_size
     37* AVPacket.convergence_duration removed, use AVPacket.duration instead
     38* AVPacket API for pre-refcounted memory management were removed
     39    - av_dup_packet
     40    - av_copy_packet
     41    - av_copy_packet_side_data
     42    - av_free_packet
     43  users should use refcounted packet API instead
     44* av_packet_merge_side_data and av_packet_split_side_data removed without replacement,
     45  packets with merged side data are no longer supported
     46* AVPicture and its related APIs removed; it is replaced either by AVFrame API
     47  or imgutils in libavutil
     48* old bistream filtering API (using AVBitStreamFilterContext) removed, replaced by the API
     49  in libavcodec/bsf.h
     50* avcodec_copy_context removed, it never makes sense for users to call this function
     51* avcodec_get_context_defaults3 removed, users should allocate a new codec context
     52  instead of resettting an old one
     53* av_get_codec_tag_string replaced by av_fourcc_make_string/av_fourcc2str
     54* avcodec_get_chroma_sub_sample replaced by av_pix_fmt_get_chroma_sub_sample
     55* AVCodecContext accessors removed, AVCodecContext fields should be accessed directly
     56* AVHWAccel and its related functions removed from public API, as there was no reason
     57  for them to be user-visible
     58* av_lockmgr_register and AVLockOp removed, libavcodec handles locking internally
     59* codec registration APIs removed, all codecs are always registered
     60    - avcodec_register
     61    - avcodec_register_all
     62* av_codec_next replaced by av_codec_iterate
     63* AVCPBProperties.max/min/avg_bitrate types changed from int to int64_t
     64* avcodec_get_pix_fmt_loss replaced by av_get_pix_fmt_loss
     65* avcodec_find_best_pix_fmt_of_2 replaced by av_find_best_pix_fmt_of_2
     66* avcodec_find_best_pix_fmt2 removed
     67* av_parser_change removed; dump_extradata, remove_extra or extract_extradata
     68  should be used instead
     69* FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS removed, ASS subtitles are always decoded without timings
     70* mpegvideo encoders' rc_strategy option removed, as it had no effect
     71* av_vdpau_get_profile removed, users should call av_vdpau_get_profile to set up
     72  VDPAU decoding
     73* libopenh264 encoder's 'slice_mode' option removed, as it is redundant with 'slices'/'max_nal_size'
     74  options
     75* libopenh264 encoder's 'cabac' option replaced with 'coder cabac'
     76* 'nvenc' encoder renamed to 'h264_nvenc'
     77* struct vaapi_context removed, AVCodecContext.hw_frames_ctx in combination with the API
     78  in libavutil/hwcontext.h should be used instead
     79
     80= libavformat =
     81* AVFormatContext.open_cb replaced by io_open/io_close
     82* AVStream.codec removed; stream information is now exported through
     83  AVStream.codecpar; for decoding/encoding the users should allocate
     84  a separate codec context
     85* HTTP and RTSP protocol's 'user-agent' option renamed to 'user_agent'
     86* HLS muxer's 'hls_wrap' option removed, users should use
     87  'hls_list_size'/'hls_flags delete_segments' instead
     88* HLS muxer's 'user_localtime'/'use_localtime_mkdir' options removed, users
     89  should use 'strftime'/'strftime_mkdir' instead
     90* AVFMT_FLAG_KEEP_SIDE_DATA removed, it has had no effect since last major bump
     91* mov muxer/demuxer no longer read/export the "rotate" tag, use
     92  AV_PKT_DATA_DISPLAYMATRIX instead
     93* AVFormatContext accessors removed, AVFormatContext fields should be accessed
     94  directly
     95* custom AVIOContext instances may no longer return 0 on EOF, they should return
     96  AVERROR_EOF or another appropriate error code
     97* APIs related to ffserver removed without replacement, as ffserver itself has been
     98  removed
     99    - AVStream.recommended_encoder_configuration
     100    - av_stream_get_recommended_encoder_configuration
     101    - av_stream_set_recommended_encoder_configuration
     102* AVFormatContext.filename replaces with AVFormatContext.url
     103* format registration APIs removed, all formats are always registered
     104    - av_register_all
     105    - av_register_input_format
     106    - av_register_output_format
     107* av_iformat_next replaced with av_demuxer_iterate
     108* av_oformat_next replaced with av_muxer_iterate
     109* DASH muxer's 'min_seg_duration' option replaced with 'seg_duration'
     110* AVFMT_FLAG_MP4A_LATM removed, as it had no effect since 2011
     111* all instances of AVOutputFormat/AVInputFormat visible through the API
     112  are now const-qualified
     113  this is only a type change, as the caller was never allowed to modify them
     114* av_demuxer_open removed, use avformat_open_input with an options dictionary
     115* AVChapter.id type changed from int to int64_t
     116
     117= libavutil =
     118* old VAAPI pixel formats
     119    - AV_PIX_FMT_VAAPI_IDCT and AV_PIX_FMT_VAAPI_MOCO were never-used - just removed
     120    - AV_PIX_FMT_VAAPI_VLD renamed to just AV_PIX_FMT_VAAPI
     121* QP tables in AVFrame were removed, as they were not flexible enough for new codecs
     122    - qscale_table
     123    - qstride
     124    - qscale_type
     125    - qp_table_buf
     126  they were replaced by the API in libavutil/video_enc_params.h
     127* AVFrame.error removed without replacement
     128* AVFrame.pkt_pts replaced with AVFrame.pts
     129* AVFrame accessors were removed, AVFrame fields should be accessed directly
     130* types of arguments/return values of the following functions changed from
     131  (unsigned) int to size_t:
     132    - av_adler32_update
     133    - av_hash_update
     134    - av_md5_update
     135    - av_md5_sum
     136    - av_murmur3_update
     137    - av_ripemd_update
     138    - av_sha_update
     139    - av_sha512_update
     140    - av_buffer_alloc
     141    - av_buffer_allocz
     142    - av_buffer_create
     143    - av_buffer_realloc
     144    - av_buffer_pool_init
     145    - av_buffer_pool_init2
     146* AVBufferRef.size changed from int to size_t
     147* "compressed" AVComponentDescriptor fields
     148    - step_minus1
     149    - depth_minus1
     150    - offset_plus1
     151  were replaced by same fields without the offset
     152* AV_PIX_FMT_FLAG_PSEUDOPAL removed, pixel formats previously flagged with it
     153  are no longer treated as paletted