v1.8.2 "Pekin Duck"
This release collects incremental improvements to many aspects of the library.
- Upgrading:
ARCH_* defines have been removed in favor of VPX_ARCH_*.
Version 43.0.0 "The Quartermaster":
New features and enhancements
* MKVToolNix GUI: using one of the command line options `--info`,
`--edit-headers` or `--edit-chapters` will make the GUI select the
corresponding tool on startup even if no further file name is
given.
* MKVToolNix GUI: multiplexer: added a setting in the preferences for changing
the location of the MediaInfo executable for when the user accidentally
selected the wrong one.
Bug fixes
* mkvmerge: AVC/h.264 parser: the order of the NALUs before each key frame was
sometimes wrong: mkvmerge wrote SPS & PPS after SEI NALUs. Now SPS & PPS
NALUs are always written before the other NALUs. Patch by Torsten
Hauska.
* mkvmerge: AVC/h.264 parser: when additional SPS or PPS NALUs (with IDs that
haven't been seen so far) are found mid-stream, mkvmerge will prepend all
following key frames with all current valid SPS & PPS NALUs (just like when
SPS & PPS NALUs are overwritten mid-stream).
* mkvmerge: MPEG TS reader: fixed detection of MPEG-1/2 video tracks
consisting of very few frames.
* mkvmerge: Ogg Opus reader: fixed the handling of Ogg Opus streams that
contain a just one Ogg page (`mkvmerge` aborted with an exception).
* MKVToolNix GUI: multiplexer: dragging & dropping XML files with chapters or
tags to the GUI's window was broken in v42. Instead of adding the file names
to the appropriate input boxes the GUI was running mkvmerge for file
identification purposes which then failed.
Changes:
0.32.0
======
Features
--------
Added
~~~~~
- stream_libarchive: enable RAR5 support
- bash completion: add initial implementation
- cocoa-cb: add support for forcing the dedicated GPU for rendering
- cocoa-cb: add pinch to resize window gesture
- w32_common: support minimizing/maximizing using osc window controls
Changed
~~~~~~~
- wayland: print warning on GNOME due to serious issues with their compositor
- player: write watch-later config even for unseekable streams
Removed
~~~~~~~
- vo_gpu: hwdec_vdpau: remove direct_mode
- vo_gpu: hwdec_vaegl: remove support for old-style interop
Options and Commands
--------------------
Added
~~~~~
- command: add a playlist-unshuffle command
- command: add osd-dimensions property
- input: new PLAYONLY and PAUSEONLY keycodes
Changed
~~~~~~~
- options: change option parsing when using a single dash
This adds a warning for `-o file.mkv` and disallows the use of
`--o file.mkv` (use `--o=file.mkv` instead).
Fixes and Minor Enhancements
----------------------------
- lua: fix mp.file_info for large files
- vo_gpu: fix crash if dither texture fails to allocate
- wayland: unscrew up cursors, fix various issues
- osc: usability improvements for osc window controls
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
Enlightened Sound Daemon was one of the earlier solutions to the old
"multiple programs can't open /dev/audio at once" problem that was once
a thing we had to worry about.
Eventually, it was adopted as part of GNOME. GNOME lost interest in it
about a decade ago and dropped it in favour of PulseAudio, newer
applications are generally uninterested in supporting it. Last release
was in 2008 and support for newer OS APIs is pretty nonexistent.
Several years ago the original website disappeared.
https://en.wikipedia.org/wiki/Enlightened_Sound_Daemonhttps://tracker.debian.org/news/999428/removed-0241-11-from-unstable/
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
Changes since 0.1.6:
- Defaults to Gtk+ 3 (like libDesktop)
- Defaults to mpv(1) as the video backend
- Updated translations
- Updated the documentation
- Extended the Player API
- Added support for reading DVDs
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()