The second 1.16 bug-fix release (1.16.2) was released on 3 December 2019.
This release only contains bugfixes and it should be safe to update from 1.16.1.
Highlighted bugfixes in 1.16.2
Interlaced video scaling fixes
CineForm video support in AVI
audiorate: avoid glitches due to rounding errors after changing rate
Command line tool output printing improvements on Windows
various performance improvements, memory leak fixes and security fixes
VP9 decoding fixes
avfvideosrc: Explicitly request video permission on macOS 10.14+
wasapi: bug fixes and stability improvements
webrtc-audio-processing: fix segmentation fault on 32-bit windows
tsdemux: improved handling of certain discontinuities
vaapi h265 decoder: wait for I-frame before trying to decode
gstreamer
gst-launch: Fix ugly stdout on Windows
tee: Make sure to actually deactivate pads that are released
bin: Drop need-context messages without source instead of crashing
gst: Don't pass miniobjects to GST_DEBUG_OBJECT() and similar macros
tracers: Don't leak temporary GstStructure
gst-plugins-base
xvimagepool: Update size, stride, and offset with allocated XvImage
video-converter: Fix RGB-XYZ-RGB conversion
audiorate: Update next_offset on rate change
audioringbuffer: Reset reorder flag before check
audio-buffer: Don't fail to map buffers with zero samples
videorate: Fix max-duplication-time handling
gl/gbm: ensure we call the resize callback before attempting to draw
video-converter: Various fixes for interlaced scaling
gstrtspconnection: messages_bytes not decreased
check: Don't use real audio devices for tests
riff: add CineForm mapping
glfilters: Don't use static variables for storing per-element state
glupload: Add VideoMetas and GLSyncMeta to the raw uploaded buffers
streamsynchronizer: avoid pad release race during logging.
gst-play: Use gst_print* to avoid broken stdout string on Windows
gst-plugins-good
vp9dec: Fix broken 4:4:4 8bits decoding
rtpsession: add locking for clear-pt-map
rtpL16depay: don't crash if data is not modulo channels*width
wavparse: Fix push mode ignoring audio with a size smaller than segment buffer
wavparse: Fix push mode ignoring last audio payload chunk
aacparse: fix wrong offset of the channel number in adts header
jpegdec: Fix incorrect logic in EOI tag detection
videocrop: Also update the coordinate when in-place
jpegdec: don't overwrite the last valid line
vpx: Error out if enabled and no features found
v4l2videodec: ensure pool exists before orphaning it
v4l2videoenc: fix type conversion errors
v4l2bufferpool: Queue number of allocated buffers to capture
v4l2object: fix mpegversion number typo
v4l2object: Work around bad TRY_FMT colorimetry implementations
gst-plugins-bad
avfvideosrc: Explicitly request video permission on macOS 10.14+
wasapi: Various fixes and a workaround for a specific driver bug
wasapi: Move to CoInitializeEx for COM initialization
wasapi: Fix runtime/build warnings
waylandsink: Commit the parent after creating subsurface
msdkdec: fix surface leak in msdkdec_handle_frame
tsmux: Fix copying of buffer region
tsdemux: Handle continuity mismatch in more cases
tsdemux: Always issue a DTS even when it's equal to PTS
openexr: Fix build with OpenEXR 2.4 (and also OpenEXR 2.2 on Ubuntu 18.04)
ccextractor: Always forward all sticky events to the caption pad
pnmdec: Return early on ::finish() if we have no actual data to parse
ass: avoid infinite unref loop with bad data
fluidsynth: add sf3 to soundfont search path
webrtcdsp/webrtcechoprobe segmentation fault on windows (1.16.0 x86)
gst-libav
avvidenc: Fix error propagation
avdemux: Fix segmentation fault if long_name is NULL
avviddec: Fix huge leak caused by circular reference
avviddec: Enforce allocate new AVFrame per input frame
avdec_mpeg2video (and probably more): Huge memory leak in git master
gst-rtsp-server
rtsp-media: Use lock in gst_rtsp_media_is_receive_only
rtsp-client: RTP Info when completed_sender
rtsp-client: fix location uri-format by getting uri directly from context instead
gstreamer-vaapi
meson build: halt configuration if no renderer API
libs: decoder: h265: skip all pictures prior the first I-frame
libs: window: x11: Avoid usage of deprecated API
gst-editing-services
Initialize debug categories before usage
gst-build
gst-env: Use locally built GStreamer utility programs
version 3.4.7:
- avcodec/g729dec: require buf_size to be non 0
- avcodec/alac: Fix integer overflow in lpc_prediction() with sign
- avcodec/wmaprodec: Fix buflen computation in save_bits()
- avcodec/vc1_block: Fix integer overflow in AC rescaling in vc1_decode_i_block_adv()
- avcodec/vmdaudio: Check chunk counts to avoid integer overflow
- avformat/mxfdec: Clear metadata_sets_count in mxf_read_close()
- avcodec/nuv: Use ff_set_dimensions()
- avcodec/ffwavesynth: Fix integer overflow with pink_ts_cur/next
- avcodec/ralf: Fix integer overflows with the filter coefficient in decode_channel()
- avcodec/g729dec: Use 64bit and clip in scalar product
- avcodec/mxpegdec: Check for multiple SOF
- avcodec/nuv: Move comptype check up
- avcodec/wmavoice: Fix integer overflow in synth_frame()
- avcodec/rawdec: Check bits_per_coded_sample more pedantically for 16bit cases
- avutil/lfg: Correct index increment type to avoid undefined behavior
- avcodec/cngdec: Remove AV_CODEC_CAP_DELAY
- avcodec/iff: Move index use after check in decodeplane8()
- avcodec/atrac3: Check for huge block aligns
- avcodec/ralf: use multiply instead of shift to avoid undefined behavior in decode_block()
- avcodec/wmadec: Require previous exponents for reuse
- avcodec/vc1_block: Fix undefined behavior in ac prediction rescaling
- avcodec/qdm2: The smallest header seems to have 2 bytes so treat 1 as invalid
- avcodec/apedec: Fixes integer overflow of res+*data in do_apply_filter()
- avcodec/sonic: Fix integer overflow in predictor_calc_error()
- avformat/mp3dec: Check that the frame fits within the probe buffe
- lavc/tableprint_vlc: Remove avpriv_request_sample() from included files.
- avcodec/wmaprodec: get frame during frame decode
- avcodec/interplayacm: Fix overflow of last unused value
- avcodec/adpcm: Fix undefined behavior with negative predictions in IMA OKI
- avcodec/cook: Move up and extend block_align check
- avcodec/twinvq: Check block_align
- avcodec/cook: Enlarge gain table
- avcodec/cook: Check samples_per_channel earlier
- avcodec/atrac3plus: Check split point in fill mode 3
- avcodec/wmavoice: Check sample_rate
- avcodec/xsubdec: fix overflow in alpha handling
- avcodec/iff: Check available space before entering loop in decode_long_vertical_delta2() / decode_long_vertical_delta()
- avcodec/apedec: Fix integer overflow in filter_3800()
- avutil/lfg: Document the AVLFG struct
- avcodec/ffv1dec: Use a different error message for the slice level CRC
- avcodec/apedec: Fix undefined integer overflow in long_filter_ehigh_3830()
- avcodec/dstdec: Check that AC probabilities are within range
- avcodec/dstdec: Check read_table() for failure
- avcodec/snowenc: Set mb_num to avoid ratecontrol floating point divisions by 0.0
- avcodec/snowenc: Fix 2 undefined shifts
- avformat/nutenc: Do not pass NULL to memcmp() in get_needed_flags()
- avcodec/aacdec_template: Check samplerate
- avcodec/truemotion2: Fix several integer overflows in tm2_low_res_block()
- avcodec/utils: Check block_align
- avcodec/wmalosslessdec: Fix some integer anomalies
- avcodec/adpcm: Fix invalid shifts in ADPCM DTK
- avcodec/apedec: Only clear the needed buffer space, instead of all
- avcodec/libvorbisdec: Fix insufficient input checks leading to out of array reads
- avcodec/g723_1dec: fix invalid shift with negative sid_gain
- avcodec/vp5: Check render_x/y
- avcodec/qdrw: Check input for header/skiped space before get_buffer()
- avcodec/ralf: Skip initializing unused filter variables
- avcodec/takdec: Fix overflow with large sample rates
- avcodec/alsdec: Check that input space for header exists in read_diff_float_data()
- avformat/pjsdec: Check duration for overflow
- avcodec/ptx: Check that the input contains at least one line
- avcodec/alac: Fix integer overflow in LPC
- avcodec/smacker: Fix integer overflows in pred[] in smka_decode_frame()
- avcodec/aliaspixdec: Check input size against minimal picture size
- avcodec/ffwavesynth: Fix integer overflows in pink noise addition
- avcodec/vc1_block: Fixes integer overflow in vc1_decode_i_block_adv()
- avcodec/wmalosslessdec: Check block_align
- avcodec/g729postfilter: Fix left shift of negative value
- avcodec/binkaudio: Check sample rate
- avcodec/adpcm: Check initial predictor for ADPCM_IMA_EA_EACS
- avcodec/g723_1dec: Fix overflow in shift
- avcodec/apedec: Fix integer overflow in predictor_update_3930()
- avcodec/g729postfilter: Fix undefined intermediate pointers
- avcodec/g729postfilter: Fix undefined shifts
- avcodec/lsp: Fix undefined shifts in lsp2poly()
- avcodec/adpcm: Fix left shifts in AV_CODEC_ID_ADPCM_EA
- avformat/shortendec: Check k in probe
- avfilter/vf_geq: Use av_clipd() instead of av_clipf()
- avcodec/wmaprodec: Check that the streams channels do not exceed the overall channels
- avcodec/qdmc: Check input space in qdmc_get_vlc()
- avcodec/pcm: Check bits_per_coded_sample
- avcodec/exr: Allow duplicate use of channel indexes
- avcodec/fitsdec: Fail on 0 naxisn
- avcodec/ituh263dec: Check input for minimal frame size
- avcodec/truemotion1: Check that the input has enough space for a minimal index_stream
- avformat/mpsubdec: Clear queue on error
- avcodec/sunrast: Check that the input is large enough for the maximally compressed image
- avcodec/sunrast: Check for availability of maplength before allocating image
- avformat/subtitles: Check nb_subs in ff_subtitles_queue_finalize()
- avcodec/wmaprodec: Check if there is a stream
- avcodec/g2meet: Check for end of input in jpg_decode_block()
- avcodec/g2meet: Check if adjusted pixel was on the stack
- avformat/electronicarts: If no packet has been read at the end do not treat it as if theres a packet
- avcodec/utils: Check sample_rate before opening the decoder
- avcodec/fitsdec: fix use of uninitialised values
- avcodec/motionpixels: Mark 2 functions as always_inline
- avcodec/ralf: Fix integer overflow in decode_channel()
- vcodec/vc1: compute rangex/y only for P/B frames
- avcodec/vc1_pred: Fix invalid shifts in scaleforopp()
- avcodec/vc1_block: Fix invalid shift with rangeredfrm
- avcodec/vc1: Check for excessive resolution
- avcodec/vc1: check REFDIST
- avcodec/apedec: Fix several integer overflows in predictor_update_filter() and do_apply_filter()
- avcodec/hevc_cabac: Tighten the limit on k in ff_hevc_cu_qp_delta_abs()
- avcodec/4xm: Check index in decode_i_block() also in the path where its not used.
- avcodec/atrac3: Check block_align
- avcodec/alsdec: Avoid dereferencing context pointer in inner interleave loop
- avcodec/fitsdec: Prevent division by 0 with huge data_max
- avcodec/dstdec: Fix integer overflow in samples_per_frame computation
- avcodec/g729_parser: Check block_size
- avcodec/utils: Optimize ff_color_frame() using memcpy()
- avcodec/aacdec: Check if we run out of input in read_stream_mux_config()
- avcodec/utils: Use av_memcpy_backptr() in ff_color_frame()
- avcodec/smacker: Fix integer overflow in signed int multiply in SMK_BLK_FILL
- avcodec/alac: Fix invalid shifts in 20/24 bps
- avcodec/alac: fix undefined behavior with INT_MIN in lpc_prediction()
- avcodec/ffwavesynth: Fix integer overflow in timestamps
- avcodec/adpcm: Check number of channels for MTAF
- avcodec/sunrast: Fix indention
- avcodec/sunrast: Fix return type for "unsupported (compression) type"
- avformat/mov: Check for EOF in mov_read_meta()
- avcodec/hevcdec: Fix memleak of a53_caption
- avformat/cdxl: Fix integer overflow in intermediate
- avcodec/hevcdec: repeat character in skiped
- avcodec/gdv: Replace assert() checking bitstream by if()
- libavcodec/utils: Free threads on init failure
- avcodec/htmlsubtitles: Avoid locale dependant isdigit()
- avcodec/alsdec: Check k from being outside what our implementation can handle
- avcodec/takdec: Fix integer overflow in decorrelate()
- avcodec/aacps: Fix integer overflows in hybrid_synthesis()
- avcodec/vp56rac: delay signaling an error on truncated input
- avcodec/vp5/6/8: use vpX_rac_is_end()
- avcodec/vp56: Add vpX_rac_is_end() to check for the end of input
- avcodec/qdm2: Check frame size
- avcodec/vc1_pred: Fix refdist in scaleforopp()
- avcodec/vorbisdec: fix FASTDIV usage for vr_type == 2
- avcodec/iff: Check for overlap in cmap_read_palette()
- avcodec/apedec: Fix 32bit int overflow in do_apply_filter()
- avcodec/ralf: fix undefined shift in extend_code()
- avcodec/ralf: fix undefined shift
- avcodec/bgmc: Check input space in ff_bgmc_decode_init()
- avcodec/truemotion2: Fix multiple integer overflows in tm2_null_res_block()
- avcodec/vc1dec: Require res_sprite for wmv3images
- avcodec/vc1_block: Check for double escapes
- avcodec/vorbisdec: Check get_vlc2() failure
- avcodec/tta: Fix integer overflow in prediction
- avcodec/vb: Check input packet size to be large enough to contain flags
- avcodec/cavsdec: Limit the number of access units per packet to 2
- avcodec/alac: Check for bps of 0
- avcodec/alac: Fix multiple integer overflows in lpc_prediction()
- avcodec/rl2: set dimensions
- avcodec/aacdec: Add FF_CODEC_CAP_INIT_CLEANUP
- avcodec/idcinvideo: Add 320x240 default maximum resolution
- avformat/realtextdec: free queue on error
- avcodec/alsdec: Fix integer overflow in decode_var_block_data()
- avcodec/alsdec: Limit maximum channels to 512
- avcodec/anm: Check input size for a frame with just a stop code
- avcodec/flicvideo: Optimize and Simplify FLI_COPY in flic_decode_frame_24BPP() by using bytestream2_get_buffer()
- avcodec/loco: Check left column value
- avcodec/ffwavesynth: Fixes invalid shift with pink noise seeking
- avcodec/ffwavesynth: Fix integer overflow for some corner case values
- avcodec/indeo2: Check remaining input more often
- avcodec/diracdec: Check that slices are fewer than pixels
- avcodec/vp56: Consider the alpha start as end of the prior header
- avcodec/4xm: Check for end of input in decode_p_block()
- avcodec/hevcdec: Check delta_luma_weight_l0/1
- avcodec/hnm4video: Optimize postprocess_current_frame()
- avcodec/hevc_refs: Optimize 16bit generate_missing_ref()
- avcodec/scpr: Use av_memcpy_backptr() in type 17 and 33
- avcodec/dds: Use ff_set_dimensions()
- avcodec/mpc8: Fix 32bit mask/enum
- avcodec/alsdec: Fix integer overflows of raw_samples in decode_var_block_data()
- avcodec/alsdec: Fix integer overflow of raw_samples in decode_blocks()
- avcodec/alsdec: fix mantisse shift
- avcodec/aacdec_template: fix integer overflow in imdct_and_windowing()
- libavcodec/iff: Use unsigned to avoid undefined behaviour
- avcodec/alsdec: Check for block_length <= 0 in read_var_block_data()
- avcodec/vqavideo: Set video size
- avcodec/sanm: Check extradata_size before allocations
- avcodec/mss1: check for overread and forward errors
- avcodec/dirac_parser: Fix overflow in dts
- avcodec/ralf: Fix undefined pointer in decode_channel()
- avcodec/ralf: Fix integer overflow in apply_lpc()
- avcodec/vorbisdec: Implement vr->classifications = 1
- avcodec/vorbisdec: Check parameters in vorbis_floor0_decode() before divide
- avformat/realtextdec: Check for duplicate extradata in realtext_read_header()
- avcodec/apedec: Fix 2 signed overflows
- avcodec/mss3: Check for the rac stream being invalid in rac_normalize()
- avcodec/vc1_block: Check get_vlc2() return before use
- avcodec/apedec: Do not partially clear data array
- avcodec/hnm4video: Forward errors of decode_interframe_v4()
- avcodec/vp3: Check that theora is theora
- avcodec/vc1_pred: Fix invalid shift in scaleforsame()
- avcodec/vc1_block: Fix integer overflow in ff_vc1_pred_dc()
- avcodec/truemotion2: Fix several integer overflows in tm2_motion_block()
- avcodec/apedec: make left/right unsigned to avoid undefined behavior
- avcodec/apedec: Fix multiple integer overflows and undefined behaviorin filter_3800()
- avformat/mpc: deallocate frames array on errors
- avcodec/eatqi: Check for minimum frame size
- avcodec/eatgv: Check remaining size after the keyframe header
- avcodec/assdec: undefined use of memcpy()
- avcodec/brenderpix: Check input size before allocating image
- lafv/wavdec: Fail bext parsing on incomplete reads
- avcodec/utils: fix leak of subtitle_header on error path
- avcodec/utils: Check close before calling it
- avcodec/vorbisdec: Check vlc for floor0 dec vector offset
- avcodec/vorbisdec: amplitude bits can be more than 25 bits
- avutil/softfloat_ieee754: Fix odd bit position for exponent and sign in av_bits2sf_ieee754()
- avcodec/apedec: Fix various integer overflows
- avcodec/apedec: Fix multiple integer overflows in predictor_update_filter()
- avcodec/alsdec: fix undefined shift in multiply()
- avcodec/alsdec: Fix 2 integer overflows
- avcodec/flicvideo: Make line_packets int
- avcodec/dvbsubdec: Use ff_set_dimensions()
- avcodec/ffwavesynth: Check if there is enough extradata before allocation
- avcodec/ffwavesynth: More correct cast in wavesynth_seek()
- avcodec/ffwavesynth: Check sample rate before use
- avcodec/dnxhd_parser: Fix parser when input does not have nicely sized packets
- avcodec/dnxhd_parser: remove unneeded code
- avformat/utils: Check rfps_duration_sum for overflow
- avcodec/h264_refs: Also check reference in ff_h264_build_ref_list()
- avcodec/parser: Check next index validity in ff_combine_frame()
- avcodec/ivi: Ask for samples with odd tiles
- avformat/xmv: Make bitrate 64bit
- avcodec/pngdec: Check that previous_picture has same w/h/format
- avcodec/huffyuv: remove gray8a (the format is listed but not supported by the implementation)
- avcodec/mpc8: Fixes invalid shift in mpc8_decode_frame()
- avcodec/utils, avcodec_open2: close codec on failure
- avcodec/golomb: Correct the doxy about get_ue_golomb() and errors
- avformat/utils: Check timebase before use in estimate_timings()
- avcodec/hq_hqa: Use ff_set_dimensions()
- avcodec/rv10: Fix integer overflow in aspect ratio compare
- avcodec/4xm: Fix signed integer overflows in idct()
- avcodec/qdm2: Check checksum_size for 0
- avcodec/qdm2: error out of qdm2_fft_decode_tones() before entering endless loop
- avcodec/qdm2: Do not read out of array in fix_coding_method_array()
- avcodec/svq3: Use ff_set_dimension()
- avcodec/iff: Check ham vs bpp
- avcodec/ffwavesynth: use uint32_t to compute difference, it is enough
- avcodec/ffwavesynth: Simplify lcg_seek(), avoid negative case
- avcodec/ffwavesynth: Fix backward lcg_seek()
- avcodec/flicvideo: Fix off by 1 error in flic_decode_frame_24BPP()
- avcodec/vc1_block: Check for vlc error in vc1_decode_ac_coeff()
- avcodec/alac: Check lpc_quant
- avcodec/alsdec: Add FF_CODEC_CAP_INIT_CLEANUP
- avcodec/alsdec: Fix integer overflow with buffer number
- avcodec/alsdec: Fixes signed integer overflow in LSB addition
- avcodec/alsdec: Check opt_order / sb_length in ra_block handling
- avcodec/alsdec: Fix integer overflow with shifting samples
- avcodec/alsdec: Fix undefined behavior in decode_rice()
- avcodec/alsdec: Fixes invalid shifts in read_var_block_data() and INTERLEAVE_OUTPUT()
- avcodec/hevc_ps: Change num_tile_rows/columns checks to sps->ctb_height/weight
- avcodec/hevc_ps: Fix integer overflow with num_tile_rows and num_tile_columns
- avcodec/apedec: Add k < 24 check to the only k++ case which lacks such a check
- avformat/aviobuf: Delay buffer downsizing until asserts are met
- avcodec/fitsdec: Check data_min/max
- avcodec/m101: Fix off be 2 error
- avcodec/qdm2: Move fft_order check up
- avcodec/libvorbisdec: Check extradata size
- avformat/vqf: Check header_size
- avcodec/utils: Check bits_per_coded_sample
- avcodec/videodsp_template: Fix overflow of addition
- avcodec/alsdec: Fix invalid shift in multiply()
- avcodec/ffwavesynth: Check ts_end - ts_start for overflow
- avcodec/vc1dsp: Avoid undefined shifts in vc1_v_s_overlap_c / vc1_h_s_overlap_c
- avcodec/tta: Fix undefined shift
- avcodec/qdmc: Fix integer overflows in PRNG
- avcodec/bintext: Check font height
- avcodec/binkdsp: Fix integer overflows in idct
- avcodec/motionpixels: Check for vlc error in mp_get_vlc()
- avcodec/loco: Limit lossy parameter so it is sane and does not overflow
- avformat/mov: Set fragment.found_tfhd only after TFHD has been parsed
- avcodec/xpmdec: Do not use context dimensions as temporary variables
- avcodec/fitsdec: Fix division by 0 in size check
- avcodec/aacpsdsp_template: Fix integer overflow in ps_hybrid_analysis_c()
- avcodec/truemotion2: Fix integer overflow in last loop in tm2_update_block()
- avcodec/iff: finetune the palette size check in the mask case
- avcodec/iff: Fix mask_buf / mask_palbuf leak
- avformat/icodec: Free ico->images on error paths
- avformat/wsddec: Fix undefined shift
- avcodec/fmvc: Check if header fields are available before allocating the image
- avcodec/bink: Reorder operations in init to avoid memleak on error
- avformat/wtvdec: Avoid (32bit signed) sectors
- avcodec/bitstream: Check for more conflicting codes in build_table()
- avcodec/bitstream: Check for integer code truncation in build_table()
- avformat/sbgdec: Fixes integer overflow in str_to_time() with hours
- avformat/vpk: Check offset for validity
- avformat/vpk: Fix integer overflow in samples_per_block computation
- avcodec/mjpegdec: Check for non ls PAL8
- avcodec/interplayvideo: check decoding_map_size with video_data_size
- avcodec/h264_parse: Use 64bit for expectedpoc and expected_delta_per_poc_cycle
- avcodec/mss4: Check input size against skip bits
- avcodec/diracdec: Fix integer overflow in global_mv()
- avcodec/vmnc: Check available space against chunks before reget_buffer()
- avcodec/aacdec_template: skip apply_tns() if max_sfb is 0 (from previous header decode failure)
- avcodec/aacdec_fixed: Handle more extreem cases in noise_scale()
- avcodec/aacdec_template: Merge 3 #ifs related to noise handling
- avcodec/aacdec_fixed: ssign seems always -1 in noise_scale(), simplify
- avformat/mp3enc: Avoid SEEK_END as it is unsupported
- avcodec/truemotion2: Fix several integer overflows in tm2_update_block()
- avformat/webm_chunk: Specify expected argument length of get_chunk_filename()
- avformat/webm_chunk: Check header filename length
- avcodec/cpia: Check input size also against linesizes and EOL
- swscale/tests/swscale: Lengthen pixfmt name buffer to 21 bytes
- libswcale: Fix possible string overflow in test.
- avcodec/hq_hqa: Check available space before reading slice offsets
- lavf/webm_chunk: Respect buffer size
- avcodec/fits: Check bitpix
- avcodec/jvdec: Use ff_get_buffer() when the content is not reused
- avcodec/truemotion2: Fix 2 integer overflows in tm2_update_block()
- avcodec/jpeg2000: Check stepsize before using it
- avcodec/aacdec_fixed: Fix undefined shift in noise_scale()
- avutil/avstring: Fix bug and undefined behavior in av_strncasecmp()
- avformat/mov: Skip stsd adjustment without chunks
- avformat/aadec: Check for scanf() failure
- avcodec/ccaption_dec: Add a blank like at the end to avoid rollup reading from outside
- avcodec/ivi: Move buffer/block end check to caller of ivi_dc_transform()
- avcodec/diracdec: Use 64bit in intermediate of global motion vector field generation
- avcodec/truemotion2: Fix integer overflow in tm2_decode_blocks()
- avcodec/rscc: Check that the to be uncompressed input is large enough
- avcodec/bsf: check that AVBSFInternal was allocated before dereferencing it
- lavf/rawenc: Only accept the appropriate stream type for raw muxers.
- avcodec/h263dec: fix hwaccel decoding
- avutil/mem: Fix invalid use of av_alloc_size
- avformat/aacdec: resync to the next adts frame on invalid data instead of aborting
- avformat/aacdec: factorize the adts frame resync code
Version 42.0.0 "Overtime":
New features and enhancements
* mkvmerge: added an option for creating byte-identical files:
`--deterministic <seed>`.
* mkvmerge: Matroska reader: mkvmerge will remove the `icpf` atom headers if
they're present in frames read from Matroska files.
* mkvmerge: MP4 reader: ALAC tracks: the number of channels, sampling
frequency and bit depth are now taken from the bitstream in order to fix
bogus values on the container level.
* mkvpropedit: when changing track UIDs the referring elements in existing
chapters & tags will be updated automatically, too.
* mkvinfo: when the option `-p`/`--hex-positions` is used, element positions
will be output regardless of the verbosity level.
* mkvinfo: added the option `-P`/`--positions` for showing the position of
each element in decimal regardless of the verbosity level used.
* mkvinfo: added the option `-o`/`--continue` for continuing processing when
the first cluster is encountered regardless of the verbosity level
used.
* mkvinfo: added the option `-a`/`--all` for outputting all sub-elements (even
cues & seek head entries) and not stopping at the first cluster regardless
of the verbosity level used.
* MKVToolNix GUI: multiplexer: added an option in the preferences for
disabling adding cover images from Blu-ray discs.
* MKVToolNix GUI: multiplexer: added mkvmerge's new `--deterministic` option
in the "additional command-line options" dialog.
* MKVToolNix GUI: header editor:: when changing track UIDs the referring
elements in existing chapters & tags will be updated automatically,
too.
Bug fixes
* mkvmerge: HEVC ES parser: fixed a bug in the slice parser calculating the
size of a field which in turn could have led to the slice's type being read
wrong.
* mkvmerge: Matroska reader: fixed a segmentation fault when trying to read a
file that uses header removal compression but no removed bytes are present
in the track headers.
* mkvmerge: MPEG elementary stream parser: fixed an invalid memory access and
use of uninitialized memory that could happen under certain
circumstances.
* mkvmerge: RealMedia reader: fixed a division by zero when all audio
timestamps were zero.
* mkvmerge: RealMedia reader: fixed an invalid memory access in the video
frame assembly code triggered by invalid data in the file.
Build system changes
* `std::optional` (C++17 feature) is now used instead of `boost::optional`.
* `std::regex` is now used instead of `boost::regex`.
Other changes
* New man page translations into French, Italian, Russian and Chinese
Traditional have been added.
* Convert to ffmpeg4 from ffmpeg3
Changelog:
We are happy to announce the new release 0.8.0 of GPAC, featuring AV1, full CENC and ATSC3.0 support.
General
Many security fixes (static compile and fuzzing through AFL, always ongoing).
Many bugs fixes
Added :ncl option in log levels to disable color logs
More tests and coverage
File Formats
Better support of QTFF / ProRes files
Support for AV1
-- import and export
-- source formats: OBUs (Section 5), IVF and AnnexB
-- AV1 in HEIF
Support for color (nclc, nclx and ICC profiles) in HEIF and ISOBMFF
Support for HDR (mdcv, clli) info in HEIF and ISOBMFF
Support for alpha in HEIF
Support for enforcing pasp presence even for 1:1 ratios
HEVC temporal sublayer split in MP4Box
Allow meta storage before mdat for meta-only files (heif and co)
Added option to keep AU delimiter in isobmff samples
Support for opus import
Support for pixi and ccst in HEIF
DolbyVision 'dvcC' and partial 'dvhe' boxes for HDR
Support for VP9 import and playback
Sample dependency in avc and hevc importers, and track thinner for non-refs images
Support for audio_roll signaling
New audio import mode to control AudioSampleEntry creation (v0, v1 ISOBMFF, v1 QTFF)
xHE-AAC import with detection of sync samples
Added support for MPEG-H 3D audio boxes (no import yet)
Handle Vobsub empty SPU packets
Added auxv and pict support
Common Encryption
Fully compliant CENC supporting cenc, cens, cbc1 and cbcs
CENC for AV1
Improved DASH+CENC support, pssh in MPD
ForceClear mode for CENC to skip encryption without sample groups
Made senc in movie fragments always stored before truns
Added default values handling for cbcs and possibility to set protection system per track
Compatibility with OpenSSL 1.1.x
Streaming and Adaptive Streaming
Support for ATSC3.0 both US and Korean versions !
Support for for live splices (xlink period insertions) in DASH client
Automatic period continuity in DASH when no codec change between periods
Added DASH cue-base segmentation (XML based) and -dsap option to generate cue files from source
Support for BBA-0 and BOLA implementations
Write fragment defaults in trex even when not using them
Support for simple ssix for keyframe data byterange at the start of a segment
Moved segment template at AdaptationSet level if only one representation
Changed default bsmode in dasher if single input file
Added init-seg-ext option
Added -mvex-after-traks option to MP4Box when dashing for CMAF
Added segmentation option to insert a tfdt per traf
Added -closest mode for DASH segmentation
Added -bound option to use audio segmenting method for video
Renamed -dash-run-for to -run-for
Added '=' in dash templates
Improved bandwith estimation when using HTTP 1.1 chunk transfer
Add option to force moof base offsets
MP4Box
Added -catpl to concatenate from playlist in MP4Box
Added options to set movie timescale at import and dash time
Added mpd rip option and top-level box compressor in MP4Box
Made -dts skip timing check and added -dtsc for that
Made force-cat option more agressive
Support for MovieFragmentRandomAccess using -mfra option
Added -dtsx to dump timing without offset
Added -dnalc opt for nal CRC dump
Added chunk extraction up to time until end
ISOBMFF single track import now removes references by default
Decoders
Updated ffmpeg to 4.0.2
Moved to openHEVC 3.0 API
Added nvdec support (windows, linux) with reuse of decoder context for tiled VR
Added HEVC support to mediacodec on android
AV1 playback through ffmpeg
Opus playback through ffmpeg
3D, VR and 360
Added vrhud for multiviewpoint 360
Added forced visibility mode of tiles in VR
Added tile visibility debug mode
Added forced stereo output for openhevc
Disable face nav if mouse grabbed
Added simple face tracking vr navigation based on udp commands
Added PSVR support
Added mouse move emulation at window border to force sphere rotation when inactive
Changed tile visibility algo to sample points in mesh
Players (Mobile and Desktop)
Added about extension
Added multiple audio objects in dynamic scene
Added addon splicing of main content
Added mosaic://v1:.:vN url support
Added gaze simulation through mouse and gaze-sphere visibility test
Subtitles
Allow * as argument of -srt|ttxt to dump all possible tracks (#925)
Improved support for WebVTT import
Improved support for WebVTT DASHing/fragmentation
Misc
OSX install now done through PKG and modify PATH env in/etc/paths
Added initial PMT version and disc marker to TS muxer
Moved dektec output to matrix API, added SDI clipping
Added temi periodic toggle and manual toggle in MP42TS
Changes:
- Fixed: build warning from mismatched callback signature.
- Fixed: only first column printed with colors off.
- New: type 'q' at the prompt to quit.
- New: next page suggested after last subpage (e.g. [101] after [101-4]).
- Change: drop /usr/local from default include and lib search path. System
search paths aren't for us to decide.
version 4.2.2
- cbs_mpeg2: Fix parsing the last unit
- cbs_mpeg2: Rearrange start code search
- cbs_mpeg2: Decompose Sequence End
- cbs_mpeg2: Fix parsing of picture and slice headers
- cbs: Remove useless initializations
- mpeg2_metadata, cbs_mpeg2: Fix handling of colour_description
- lavc/cbs_h2645_syntax_template: Fix memleak
- avcodec/cbs: Fix potential overflow
- avcodec/cbs: Factor out common code for writing units
- avcodec/ffwavesynth: Fix undefined overflow in wavesynth_synth_sample()
- avcodec/ffwavesynth: Fix undefined overflow in wavesynth_synth_sample()
- avcodec/cook: Use 3 stage VLC decoding for channel_coupling
- avcodec/wmalosslessdec: Fixes undefined overflow in dequantization in decode_subframe()
- avcodec/sonic: Check e in get_symbol()
- avcodec/twinvqdec: Correct overflow in block align check
- avcodec/vc1dec: Fix "return -1" cases
- avcodec/vc1dec: Free sprite_output_frame on error
- avcodec/atrac9dec: Clamp band_ext_data to max that can be read if skipped.
- avcodec/agm: Include block size in the MV check for flags == 3
- avcodec/wmadec: Keep track of exponent initialization per channel
- avcodec/iff: Check that video_size is large enough for the read parameters
- avcodec/cbs_vp9: Check data_size
- avcodec/cbs_vp9: Check index_size
- avcodec/adpcm: Clip predictor for APC
- avcodec/targa: Check colors vs. available space
- avcodec/dstdec: Use get_ur_golomb_jpegls()
- avcodec/wmavoice: Check remaining input in parse_packet_header()
- avcodec/wmalosslessdec: Fix 2 overflows in mclms
- avcodec/wmaprodec: Fixes integer overflow with 32bit samples
- avcodec/adpcm: Fix invalid shift in xa_decode()
- avcodec/wmalosslessdec: Fix several integer issues
- avcodec/wmalosslessdec: Check that padding bits is not more than sample bits
- avcodec/iff: Skip overflowing runs in decode_delta_d()
- avcodec/pnm: Check that the header is not truncated
- avcodec/mp3_header_decompress_bsf: Check sample_rate_index
- avcodec/cbs_av1_syntax_template: Check num_y_points
- avformat/rmdec: Initialize and sanity check offset in ivr_read_header()
- avcodec/agm: Do not allow MVs out of the picture area as no edge is allocated
- avcodec/apedec: Fix 2 integer overflows
- avformat/id3v2: Fix double-free on error
- avcodec/wmaprodec: Set packet_loss when we error out on a sanity check
- avcodec/wmaprodec: Check offset
- avcodec/truemotion2: Fix 2 integer overflows in tm2_low_res_block()
- avcodec/wmaprodec: Check if the channel sum of all internal contexts match the external
- avcodec/atrac9dec: Check q_unit_cnt more completely before using it to access at9_tab_band_ext_group
- avcodec/fitsdec: Use lrint()
- avcodec/g729dec: Avoid using buf_size
- avcodec/g729dec: Factor block_size out
- avcodec/g729dec: require buf_size to be non 0
- avcodec/alac: Fix integer overflow in lpc_prediction() with sign
- avcodec/wmaprodec: Fix buflen computation in save_bits()
- avcodec/vc1_block: Fix integer overflow in AC rescaling in vc1_decode_i_block_adv()
- avcodec/vmdaudio: Check chunk counts to avoid integer overflow
- avformat/mxfdec: Clear metadata_sets_count in mxf_read_close()
- avcodec/nuv: Use ff_set_dimensions()
- avformat/vividas: Error out on audio packets in the absence of audio streams
- avformat/vividas: Check and require 1 video stream
- avcodec/ffwavesynth: Fix integer overflow with pink_ts_cur/next
- avcodec/ralf: Fix integer overflows with the filter coefficient in decode_channel()
- avcodec/g729dec: Use 64bit and clip in scalar product
- avcodec/mxpegdec: Check for multiple SOF
- avcodec/nuv: Move comptype check up
- avcodec/wmavoice: Fix integer overflow in synth_frame()
- avcodec/rawdec: Check bits_per_coded_sample more pedantically for 16bit cases
- avutil/lfg: Correct index increment type to avoid undefined behavior
- avcodec/cngdec: Remove AV_CODEC_CAP_DELAY
- avcodec/iff: Move index use after check in decodeplane8()
- avcodec/atrac3: Check for huge block aligns
- avcodec/ralf: use multiply instead of shift to avoid undefined behavior in decode_block()
- avcodec/wmadec: Require previous exponents for reuse
- avcodec/vc1_block: Fix undefined behavior in ac prediction rescaling
- avcodec/qdm2: The smallest header seems to have 2 bytes so treat 1 as invalid
- avcodec/apedec: Fixes integer overflow of res+*data in do_apply_filter()
- avcodec/sonic: Fix integer overflow in predictor_calc_error()
- avformat/vividas: Add EOF check in val_1 loop in track_header()
- avcodec/atrac9dec: Check precision_fine/coarse
- avformat/mp3dec: Check that the frame fits within the probe buffer
- vcodec/agm: Alloc based on coded dimensions
- avcodec/wmaprodec: get frame during frame decode
- avcodec/interplayacm: Fix overflow of last unused value
- avcodec/adpcm: Fix undefined behavior with negative predictions in IMA OKI
- avcodec/cook: Move up and extend block_align check
- avcodec/sbcdec: Fix integer overflows in sbc_synthesize_four()
- avcodec/twinvq: Check block_align
- avcodec/cook: Enlarge gain table
- avcodec/cook: Check samples_per_channel earlier
- avcodec/atrac3plus: Check split point in fill mode 3
- avcodec/wmavoice: Check sample_rate
- avcodec/xsubdec: fix overflow in alpha handling
- avcodec/iff: Check available space before entering loop in decode_long_vertical_delta2() / decode_long_vertical_delta()
- avcodec/apedec: Fix integer overflow in filter_3800()
- avutil/lfg: Document the AVLFG struct
- avcodec/ffv1dec: Use a different error message for the slice level CRC
- avcodec/apedec: Fix undefined integer overflow in long_filter_ehigh_3830()
- avcodec/dstdec: Check that AC probabilities are within range
- avcodec/dstdec: Check read_table() for failure
- avformat/vividas: Fix n_sb_blocks Check
- avcodec/snowenc: Set mb_num to avoid ratecontrol floating point divisions by 0.0
- avcodec/snowenc: Fix 2 undefined shifts
- avformat/nutenc: Do not pass NULL to memcmp() in get_needed_flags()
- avcodec/aptx: Check the number of channels
- avcodec/aacdec_template: Check samplerate
- avcodec/truemotion2: Fix several integer overflows in tm2_low_res_block()
- avcodec/utils: Check block_align
- avcodec/wmalosslessdec: Fix some integer anomalies
- avcodec/adpcm: Fix invalid shifts in ADPCM DTK
- avcodec/apedec: Only clear the needed buffer space, instead of all
- avcodec/libvorbisdec: Fix insufficient input checks leading to out of array reads
- avcodec/g723_1dec: fix invalid shift with negative sid_gain
- avcodec/vp5: Check render_x/y
- avcodec/hcom: Check the root entry and the right entries
- avcodec/qdrw: Check input for header/skiped space before get_buffer()
- avcodec/ralf: Skip initializing unused filter variables
- avcodec/takdec: Fix overflow with large sample rates
- avcodec/atrac9dec: Set channels
- avcodec/alsdec: Check that input space for header exists in read_diff_float_data()
- avformat/pjsdec: Check duration for overflow
- avcodec/agm: Check for reference frame earlier
- avcodec/ptx: Check that the input contains at least one line
- avcodec/alac: Fix integer overflow in LPC
- avcodec/smacker: Fix integer overflows in pred[] in smka_decode_frame()
- avcodec/aliaspixdec: Check input size against minimal picture size
- avcodec/ffwavesynth: Fix integer overflows in pink noise addition
- avcodec/vc1_block: Fixes integer overflow in vc1_decode_i_block_adv()
- avcodec/wmalosslessdec: Check block_align
- avcodec/g729dec: Avoid computing invalid temporary pointers for ff_acelp_weighted_vector_sum()
- avcodec/g729postfilter: Fix left shift of negative value
- avcodec/binkaudio: Check sample rate
- avcodec/sbcdec: Fix integer overflows in sbc_synthesize_eight()
- avcodec/adpcm: Check initial predictor for ADPCM_IMA_EA_EACS
- avcodec/g723_1dec: Fix overflow in shift
- avcodec/apedec: Fix integer overflow in predictor_update_3930()
- avcodec/g729postfilter: Fix undefined intermediate pointers
- avcodec/g729postfilter: Fix undefined shifts
- avcodec/lsp: Fix undefined shifts in lsp2poly()
- avcodec/adpcm: Fix left shifts in AV_CODEC_ID_ADPCM_EA
- avformat/shortendec: Check k in probe
- avfilter/vf_geq: Use av_clipd() instead of av_clipf()
- avcodec/wmaprodec: Check that the streams channels do not exceed the overall channels
- avcodec/qdmc: Check input space in qdmc_get_vlc()
- avcodec/wmaprodec: Fix cleanup on error
- avcodec/pcm: Check bits_per_coded_sample
- avcodec/exr: Allow duplicate use of channel indexes
- avcodec/fitsdec: Fail on 0 naxisn
- avcodec/dxv: Subtract 12 earlier in dxv_decompress_cocg()
- libavcodec/dxv: Remove redundant seek
- avcodec/ituh263dec: Check input for minimal frame size
- avcodec/truemotion1: Check that the input has enough space for a minimal index_stream
- avformat/mpsubdec: Clear queue on error
- avcodec/sunrast: Check that the input is large enough for the maximally compressed image
- avcodec/sunrast: Check for availability of maplength before allocating image
- avformat/subtitles: Check nb_subs in ff_subtitles_queue_finalize()
- avcodec/vc1_block: Fix invalid left shift in vc1_decode_p_mb()
- avcodec/wmaprodec: Check if there is a stream
- avcodec/g2meet: Check for end of input in jpg_decode_block()
- avcodec/g2meet: Check if adjusted pixel was on the stack
- avformat/electronicarts: If no packet has been read at the end do not treat it as if theres a packet
- avcodec/dxv: Check op_offset in dxv_decompress_yo()
- avcodec/utils: Check sample_rate before opening the decoder
- avcodec/aptx: Fix multiple shift anomalies
- avcodec/fitsdec: fix use of uninitialised values
- avcodec/motionpixels: Mark 2 functions as always_inline
- avcodec/ituh263dec: Make the condition for the studio slice start code match between ff_h263_resync() and ff_mpeg4_decode_studio_slice_header()
- avcodec/ralf: Fix integer overflow in decode_channel()
- vcodec/vc1: compute rangex/y only for P/B frames
- avcodec/vc1_pred: Fix invalid shifts in scaleforopp()
- avcodec/vc1_block: Fix invalid shift with rangeredfrm
- avcodec/vc1: Check for excessive resolution
- avcodec/vc1: check REFDIST
- avcodec/apedec: Fix several integer overflows in predictor_update_filter() and do_apply_filter()
- avcodec/hevc_cabac: Tighten the limit on k in ff_hevc_cu_qp_delta_abs()
- avcodec/4xm: Check index in decode_i_block() also in the path where its not used.
- avcodec/loco: Check for end of input in the first line
- avcodec/atrac3: Check block_align
- avcodec/alsdec: Avoid dereferencing context pointer in inner interleave loop
- avcodec/hcom: Check that there are dictionary entries
- avcodec/fitsdec: Prevent division by 0 with huge data_max
- avcodec/dstdec: Fix integer overflow in samples_per_frame computation
- avcodec/g729_parser: Check block_size
- avcodec/sbcdec: Initialize number of channels
- avcodec/utils: Optimize ff_color_frame() using memcpy()
- avcodec/aacdec: Check if we run out of input in read_stream_mux_config()
- avcodec/utils: Use av_memcpy_backptr() in ff_color_frame()
- avcodec/smacker: Fix integer overflow in signed int multiply in SMK_BLK_FILL
- avcodec/alac: Fix invalid shifts in 20/24 bps
- avcodec/alac: fix undefined behavior with INT_MIN in lpc_prediction()
- avcodec/ffwavesynth: Fix integer overflow in timestamps
- avformat/vividas: Test size and packet numbers a bit more
- avformat/vividas: Check n_sb_blocks against input space
- avcodec/dxv: Check op_offset in both directions
- avcodec/adpcm: Check number of channels for MTAF
- avcodec/sunrast: Fix indention
- avcodec/sunrast: Fix return type for "unsupported (compression) type"
- avcodec/utils: Check channels fully earlier
- avformat/mov: Check for EOF in mov_read_meta()
- avcodec/hevcdec: Fix memleak of a53_caption
- avformat/vividas: Remove align offset which is always masked off
- avformat/vividas: remove dead assignment
- avformat/cdxl: Fix integer overflow in intermediate
- avcodec/hevcdec: repeat character in skiped
- repeat an even number of characters in occured
- avcodec/gdv: Replace assert() checking bitstream by if()
- libavcodec/utils: Free threads on init failure
- avcodec/htmlsubtitles: Avoid locale dependant isdigit()
- avcodec/alsdec: Check k from being outside what our implementation can handle
- avcodec/takdec: Fix integer overflow in decorrelate()
- avcodec/aacps: Fix integer overflows in hybrid_synthesis()
- avcodec/mpeg4videodec: Fix integer overflow in mpeg4_decode_studio_block()
- avcodec/vp56rac: delay signaling an error on truncated input
- avcodec/pnm_parser: Use memchr() in pnm_parse()
- tests: Fix bash errors in lavf_container tests.
- avformat/matroskadec: Fix use-after-free when demuxing ProRes
- avformat/matroskadec: Fix demuxing ProRes
- avcodec/cbs_av1: fix array size for ar_coeffs_cb_plus_128 and ar_coeffs_cr_plus_128
- avcodec/cbs_av1: avoid reading trailing bits when obu type is OBU_TILE_LIST
- lavc/cbs_h2645: Fix incorrect max size of nalu unit
- avcodec/extract_extradata_bsf: Don't unref uninitialized buffers
- avformat/av1: Fix leak of dynamic buffer in case of parsing failure
- libavformat/rtsp: return error if rtsp_hd_out is null instead of crash
- cbs_h264: Fix missing inferred colour description fields
- avcodec/cbs_av1: keep separate reference frame state for reading and writing
- avcodec/cbs_av1: fix reading reference order hint in skip_mode_params()
- avcodec/amfnec: allocate packets using av_new_packet()
- avcodec/nvenc: make sure newly allocated packets are refcounted
- lavc/mpeg4audio: add chan_config check to avoid indeterminate channels
- aformat/movenc: add missing padding to output track extradata
- avcodec/nvenc: add driver version info for SDK 9.1
- avcodec/bsf: check that AVBSFInternal was allocated before dereferencing it
Changelog:
24.0.5 Hotfix Changes
Fixed macOS Catalina issues
Fixed macOS Python scripting support
Fixed a bug where audio bitrate would not be properly set to the specified value in simple output mode
Fixed a bug where videos on loop could sometimes get frozen when switching scenes
Fixed a bug with Linux Display Capture where the crop value would shift the cursor's captured position incorrectly
Fixed an issue where if the video drivers crashed on Windows for whatever reason, OBS would not recover from that properly and also crash (yes you heard that correctly)
Fixed an issue where when connecting to your Twitch account fails because of Twitch's two-factor authentication requirement, you would not be able to change to another Twitch account until authentication was fixed and the account was reconnected
Fixed an issue where when connecting your Twitch account for the first time, the panels would not open up in dark mode
Fixed an issue where preview projector stopped working when toggling studio mode
Fixed an issue where multiple 0x0 windows would appear on Linux Window Capture
Fixed an issue where certain windows would not be listed with Linux Window Capture
Fixed a few rare crashes
You can now use Twitch dashboard panel URLs as custom browser docks
Added some additional graphics and audio diagnostic logging
24.0.3 Hotfix
Fixed a startup crash on the 32bit version of OBS
Fixed an issue where audio monitoring on Windows would have a bit of unintended latency introduced by 24.0.2
Changelog:
2.6.0
Align libva attribute check
Added displaying supported config attributes
add the VP samples README.
add VP sample for usrptr and 1:N output
2.5.0
meson: rename the h264enc binary to be in line with the autotools build
unify NEWS format
sfcsample: don't include X11 headers
test: update vaInitialize_vaTerminate_Bad_vaSetDriverName
Check for -fstack-protector
vavpp: csc with AYUV format
vavpp: requires BGRA frame when saving a BGRA file
2.4.0
fix make dist issue caused by decode streamout sample
add VP sample for Blending.
add VP seperate sample for scaling,csc,sharpness,denoise,chromasitting.
Changelog:
2.6.0
enable the mutiple driver selection logic and enable it for DRM.
drm: Add iHD to driver_name_map
Add missed slice parameter 'slice_data_num_emu_prevn_bytes'
ensure that all meson files are part of the release tarball
configure: use correct comparison operator
trace: support VAConfigAttribMultipleFrame in trace
remove incorrect field of VAConfigAttribValDecJPEG
va/va_trace: Dump VP9 parameters for profile 1~3
add multiple frame capability report
add variable to indicate layer infromation
trace: fix memory leak on closing the trace
add prediction direction caps report
Add comments for colour primaries and transfer characteristics in VAProcColorProperties
2.5.0
Correct the comment of color_range.
Add VA_FOURCC_A2B10G10R10 for format a2b10g10r10.
Adjust VAEncMiscParameterQuantization structure to be align with VAEncMiscParameterBuffer(possible to impact BC)
Add attribute for max frame size
Add va_footer.html into distribution build
va_trace: hevc profiles added
Add new definition for input/output surface flag
va/va_trace: add trace support for VAEncMiscParameterTypeSkipFrame structure.
va/va_trace: add MPEG2 trace support for MiscParam and SequenceParam
va_openDriver: check strdup return value
Mark some duplicated field as deprecated
Add return value into logs
va/va_trace: add trace support for VAEncMiscParameterEncQuality structure.
Add newformat foucc defination
va_backend: remove unneeded linux/videodev2.h include
va_trace: add missing <sys/time.h> include
configure: don't build glx if VA/X11 isn't built
va/va_trace: unbreak with C89 after b369467
[common] Add A2RGB10 fourcc definition
build: meson: enables va messaging and visibility
va/va_trace: add trace support for RIR(rolling intra refresh).
va/va_trace: add trace support for ROI(region of interest).
2.4.0
va_TraceSurface support for VA_FOURCC_P010
Add pointer to struct wl_interface for driver to use
(integrate) va: fix new line symbol in error message
av: avoid driver path truncation
Fix compilation warning (uninit and wrong variable types) for Android O MR1
Allow import of the DRM PRIME 2 memory type
android: ignore unimportant compile warnnings
compile: fix sign/unsign compare in va_trace.c
android: replace utils/Log.h with log/log.h
High Dynamic Range Tone Mapping: Add a new filter for input metadata and some comments.
Remove restrictions on vaSetDriverName()
Changes:
0.31.0
======
Features
--------
Added
~~~~~
- vo_gpu/d3d11: allow configurable swapchain color space for native HDR output
- player: add mechanisms for better logging as preperation for console.lua
- audio: add ao_audiotrack for Android
- input: introduce a pseudo key name that grabs all text input
- wayland: add grab zone for resizing window with mouse
- osc: implement pseudo client side decorations via OSC
- vf_gpu: add video filter using vo_gpu's renderer
- added console.lua: interactive REPL for input commands
- osc: display Santa hat for idle logo in December
- vd_lavc: add option to autoselect known good hwdec implementations
- mac: replace old event tap for media key support with MediaPlayer
Changed
~~~~~~~
- input: disable gamepad code by default
- vo_gpu: allow vdpau usage under EGL
- stream, demux: redo origin policy
Removed
~~~~~~~
- mac: remove Apple Remote support
- client API: deprecate tick event
Options and Commands
--------------------
Added
~~~~~
- vo_gpu/d3d11: add --d3d11-output-csp for configuring swap chain color space
- command: add command-list property
- command, input: add input-bindings property
- command: add --window-maximized and make --window-minimized settable
- command: add property returning hidpi scale
- command, lua: add a way to share data between scripts
- client API, lua: add new API for setting OSD overlays
Changed
~~~~~~~
- add a builtin "sw-fast" profile, which restores performance settings
for software video conversion. These were switched to higher quality.
This affects video outputs like vo_x11 and vo_drm, and screenshots.
- options: make --show-profile without parameters list all profiles
- wayland: support for --hidpi-window-scale option
- stream_lavf: set --network-timeout to 60 seconds by default
- x11: scale window-scale by DPI
Deprecated
~~~~~~~~~~
- deprecate --input-file
- deprecate --video-sync=display-adrop
- deprecate all input section commands
- deprecate --display-fps, replaced by --override-display-fps
Removed
~~~~~~~
- remove deprecated --playlist-pos alias
Fixes and Minor Enhancements
----------------------------
- vo_drm, vo_x11: allow use of zimg
- vo_sdl: Support mouse wheel input, Improve mouse button input
- video: fix track switching work for external images
- vo_gpu: fix infinite scaler reinit spam
- f_output_chain: fix possible crash when changing filters
- vo_gpu: opengl: add hack for ancient Mesa/GLX
- demux_lavf: export demuxer_id for more formats which have it
- lua: make later key bindings always have higher priority
- drm_common: fix display FPS estimation for interlaced modes
- vo_drm: fix incorrect pixel format possibly being picked for 30-bit
- zsh completion: fix pcre usage to really be optional
- options: increase consistency between list options and document them
- osc: reduce unnecesary CPU usage by using property notifications
Version 41.0.0 "Smarra"
New features and enhancements
* mkvmerge: Matroska reader: Vorbis tracks: stream comments (aka Vorbis
comments) will be converted to Matroska attachments (for cover arts) and
Matroska track tags (for other comments). Additionally the stream comments
will be removed from Vorbis headers.
* mkvmerge: MP4 reader: added support for reading Opus audio from MP4
files.
* mkvmerge: MP4 reader: added support for reading VP9 video from MP4
files.
* mkvmerge: Ogg reader: Vorbis, Opus & VP8 streams: stream comments (aka
Vorbis comments) will be converted to Matroska attachments (for cover arts)
and Matroska track tags (for other comments). Additionally the stream
comments will be removed from Vorbis headers.
* mkvmerge: WAV reader: added support for reading RF64 files.
* MKVToolNix GUI: multiplexer: the list of predefined track names is now split
up into three lists, one for each track type (audio, video &
subtitles).
* MKVToolNix GUI: multiplexer: when trying to add thumbnails for a Blu-ray the
GUI will determine the thumbnail's pixel size from the thumbnail files if
the XML file doesn't contain that information. This works for JPEG and PNG
files.
* MKVToolNix GUI: general: line edits & combo boxes will now have a "clear
text" button appear whenever they're not empty.
* MKVToolNix GUI: update check: the dialog showing the latest news & version
information states explicitly where the links take the user (the MKVToolNix
`NEWS.md` file and YouTube respectively).
Bug fixes
* mkvmerge: Matroska reader: mkvmerge did not copy the codec's private data
when reading WavPack from Matroska files.
* mkvmerge: MPLS handling: re-added caching when using MPLS playlists as input
files.
* mkvmerge: MPEG TS reader: when reading an MPLS playlist, the calculation of
the minimum timestamp to use for shifting all output timestamps to zero was
wrong. It was wrongfully considering timestamps from packets it would not
copy due to the MPLS's timestamp restrictions. This could lead to the first
timestamps in the output file being quite large, e.g. more than a couple of
minutes, causing sync problems when multiplexing together with other
files.
* MKVToolNix GUI: multiplexer: the automatic switch between aspect ratio &
display width/height wasn't reflected in the configuration generated for
`mkvmerge`. The user had to change between the two settings manually
* MKVToolNix GUI: multiplexer: the progress dialog shown when scanning a
Blu-ray wasn't closed properly in certain situations.
* MKVToolNix GUI: general: the configured font was not applied to a lot of
controls (e.g. the file & track lists or the menu entries) on application
startup. Instead the user had to open & close the preferences in order for
the font to be applied to all controls.
2018-01-30 (0.8.3) Robin Gareus <robin@gareus.org>
* NO-OP, build-system update only
2017-01-11 (0.8.2) Robin Gareus <robin@gareus.org>
* explicitly set "C" locale: consistent numeric data format
* allow empty docroot for passing drive-letters on windows
Version 3.1 <2019-05-19>
------------------------
* added some new buttons (movie, settings, etc.)
* added possibility to create a new button from SVG file
* added possibility to edit buttons
* added frame-text button and template (thanks to ecodrv)
* fixed functionality of command "call last menu;" if specified for a chapter
* added support of HD videos (experimental, can be activated in settings)
* fixed some bugs
* win32: fixed starting VLC player
* win32/win64: updated ffmpeg to version 4.1.1
Version 3.0.4 <2017-11-25>
--------------------------
* fixed handling of files with multiple video streams (pictures, video thumbnails or cover arts)
* added possibility to play video from internal file browser
* win32/win64: updated Manolito's VBR plug-in
Version 3.0.3 <2017-01-01>
--------------------------
* disabled copy option for non-MPEG2 video streams
* added parameter "-pix_fmt yuv420p" to transcoder
* fixed displaying first video frame in frame button
* changed transcoding caching to allow put multiple equal video files on DVD (e.g. with different cut points)
* added support of EXIF metadata in slideshow
* added CBR option for menu and slideshow enoding settings (disabled by default)
* added Bulgarian translation (thanks to Ivan Dobrev)
* win32/win64: updated Manolito's VBR plug-in
Version 3.0.2 <2016-08-21>
--------------------------
* improved handling of process messages
* changed encoding of menu and slideshow to use constant bitrate (CBR)
* fixed using of transcoding cache after restarting of DVDStyler
* win32/win64: updated Manolito's VBR plug-in and enabled by default
* win32/win64: updated ffmpeg to version 3.1.2 (rogerdpack build with Windows-XP patch)
Version 3.0.1 <2016-07-27>
--------------------------
* fixed using of transcoding cache after restarting of DVDStyler
* win32/win64: included Manolito's VBR plug-in
Version 3.0 <2016-07-02>
------------------------
* added support of animations
* added validation of menu cell actions
* added option "keep aspect ratio" for image in frame
* added option "add chapter at title end"
* added option to downmix audio to stereo
* fixed setting of chapters if video is cut
* fixed fade in/out if video is cut
* fixed applying of audio filters if mplex is used
* added support of MPC-HC
* audio normalization: added clipping protection
* interlaced encoding: added -alternate_scan parameter
* added clear cache button in settings dialog
* added support of Manolito's VBR plug-in
* added scrollbar to video object box in title properties
* added support of metadata (chapter and audio/subtitle language names)
* added possibility to force display subtitles (but it doesn't work in VLC)
* added menu templates "Heart" and "MothersDay" (thanks to Gerd Altmann for the images)
* fixed some bugs
* win32: updated ffmpeg to version 3.0
Version 2.9.6 <2016-01-05>
--------------------------
* audio properties: allow negative dB values
* disabled "Frame data under-runs detected" error message (mplex)
* added menu template "Camera" (thanks to Republica for the image)
* added menu template "Fireworks" (thanks to Katyalazy0 for the image)
Version 2.9.5 <2015-11-29>
--------------------------
* button parameters: added possibility to specify multiple svg elements
* disabled mplex for menus with still images without audio
* updated some translations
Version 2.9.4 <2015-10-03>
--------------------------
* added option to turn off computer when burning is finished (Windows & Linux)
* fixed option "remember last button"
* added support of SMPTE time codes in chapter dialog
* fixed audio time offset (enabled only for separate streams)
* fixed some slideshow transitions
* changed default frame count for still NTSC menu to 15 (=GOP size)
* forcing key frames at chapter marks if video is reencoded
* fixed option "remember last button"
* fixed playing the NTSC video inside the frame
* added displaying of the chapter end time if auto is selected
Version 2.9.3 <2015-08-02>
--------------------------
* added option to enable reencoding of ntsc film (24 fps)
* disabled reencoding of ntsc film (24 fps) by default
* fixed some bugs
* win32: updated ffmpeg to version 2.7.1
Version 2.9.2 <2015-02-17>
--------------------------
* fixed muxrate
Version 2.9.1 <2015-02-15>
--------------------------
* added +genpts muxing flag to improved compatibility on some dvd players (thanks to Manolito)
* updated some translations
Version 2.9 <2015-02-07>
------------------------
* added selection of player for preview
* added possibility to normalize audio (replay gain)
* added ability to choose 5.1 audio and normalizing as default in the settings
* added possibility to select border or crop to keep aspect ratio
* added possibility to set default subtitle properties
* added possibility to keep and use cached files after restarting of DVDStyler
* redesigned the menu properties dialog
* joined chapter and cell properties dialogs
* enabled reencoding of ntsc film (24 fps) by default
* fixed displaying of video bitrate if video don't need be transcoded
* fixed memory leak (thanks to Sebastian Vater)
* win32: updated ffmpeg to version 2.5
Version 2.8 <2014-09-13>
------------------------
* added possibility to rotate objects and buttons
* added possibility to play all titlesets
* fixed call last menu command
* fixed multithreaded encoding
* fixed some other bugs
* updated ffmpeg to version 2.2.1
Version 2.7.2 <2014-04-05>
--------------------------
* fixed some small bugs
* win32: updated ffmpeg to current snapshot version
GStreamer Python Bindings
- add binding for gst_pad_set_caps()
- pygobject dependency requirement was bumped to >= 3.8
- new audiotestsrc, audioplot, and mixer plugin examples, and a
dynamic pipeline example
I've had to create a distfile by checking out the latest available SVN
tag, because there are no tarballs available. You can diff it if you
like.
Here's the latest available changelog before they stopped updating it:
current:
Ryan C. Gordon - Sun Oct 29 02:16:02 EST 2006
* Patch from Chris Nelson to deal with SMPEG_error(NULL).
Ryan C. Gordon - Sat Mar 18 14:57:28 EST 2006
* Patch from Mike Frysinger to fix more asm stuff.
Sam Lantinga - Sun Mar 5 21:08:09 PST 2006
* Updated libtool build configuration
Ryan C. Gordon - Fri Dec 16 22:07:22 EST 2005
* gcc4 fixes (compliments of Gentoo Bugzilla #73579).
* gcc4.1 fixes, too. (compliments of Robert Marmorstein).
* Shortened filenames because "ar" apparently doesn't like them (thanks, LGP).
Ryan C. Gordon - Wed Oct 12 18:22:02 EDT 2005
* Patch from Jorge to allow graceful (and faster) exit of threads.
* Patch from Mike Frysinger to disable executable stack.
* Patch from Mike Frysinger to add sanity checks to autogen.sh
* Patch from Mike Frysinger for MMX/asm code fixes (PIC and TEXTREL stuff).
Ryan C. Gordon - Wed Aug 31 22:55:18 EDT 2005
* Disable executable stack in library (thanks, Mike Frysinger!)
Ryan C. Gordon - Wed Apr 27 11:15:01 EDT 2005
* automake fix in smpeg.m4 by Thomas Klausner.
Martin Köhler - Sun Mar 20 10:48:54 EST 2005
* PBProjects fix.
Steven Fuller - Mon Feb 9 23:26:08 CST 2004
* Added a --enable-video-callback-thread configure flag to disable thread
usage in smpeg.
Ryan C. Gordon - Fri Jan 2 22:50:11 EST 2004
* Added some sanity checks.
Ryan C. Gordon - Fri Jan 2 22:18:41 EST 2004
* Removed "Patches" file...it was screwing up my greps too much.
Ryan C. Gordon - Fri Jan 2 22:16:47 EST 2004
* SMPEG builds on Cygwin again.
Ryan C. Gordon - Wed Dec 31 00:07:51 EST 2003
* Check for SDL_CreateYUVOverlay() failure (happens for OpenGL surfaces).
Ryan C. Gordon - Tue Dec 30 23:37:07 EST 2003
* Check that SDL_BYTEORDER is sane (it wasn't, for SDL 1.2.5 on Linux/amd64).
Ryan C. Gordon - Fri Feb 14 21:02:00 EST 2003
* Memory leak fix that I missed from before (thanks, Pete Shinners).
Ryan C. Gordon - Sat Jan 25 19:20:58 EST 2003
* Memory leak fixes from NUNOKAWA Masato and Robert Diel.
Ryan C. Gordon - Wed Dec 18 16:47:52 EST 2002
* Apple Project Builder support by Eric Wing.
Ryan C. Gordon - Fri Dec 6 14:32:29 EST 2002
* Fixed for newer automakes.
Ryan C. Gordon - Wed Dec 4 18:00:33 EST 2002
* Now builds again when --enable-mmx is specified at configure time.
Ryan C. Gordon - Thu Sep 26 01:13:58 EDT 2002
* Minor Makefile.am patch for GCC 3.2
Ryan C. Gordon - Tue Jul 9 22:28:21 EDT 2002
* Removed #include <unistd.h> from glmovie.c
Ryan C. Gordon - Sun Jun 02 20:10:42 EST 2002
* ./autogen.sh accepts aclocal commandlines via the ACLOCAL_FLAGS envr var.
Ryan C. Gordon - Sun Jun 02 20:10:42 EST 2002
* ./autogen.sh is now flagged as executable in CVS.
Ryan C. Gordon - Sun Jun 02 20:10:42 EST 2002
* ./configure.in tweaked to not complain with newer autoconf.
Ryan C. Gordon - Sun Jun 02 20:10:42 EST 2002
* Newer ltconfig and hacks for libtool and .S files.
Adam Procter - Sat Jun 8 05:41:30 EDT 2002
* Fixed potential deadlock in MPEGaudio.cpp
Sam Lantinga - Sun Jun 9 00:24:10 EDT 2002
* Fix for crash when an MPEG file can't be opened.
0.4.5:
Sam Lantinga - Tue Jul 17 12:27:20 PDT 2001
* Skip MPEG audio frames with wildly varying frequencies