{"id":51170,"date":"2026-05-09T16:11:12","date_gmt":"2026-05-09T16:11:12","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=51170"},"modified":"2026-05-09T16:11:12","modified_gmt":"2026-05-09T16:11:12","slug":"ffmpeg-8-1-1-released-with-numerous-fixes-improvements-ppa-updated","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2026\/05\/ffmpeg-8-1-1-released-with-numerous-fixes-improvements-ppa-updated\/","title":{"rendered":"FFmpeg 8.1.1 Released with Numerous Fixes &#038; Improvements (PPA Updated)"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-37497\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/02\/ffmpeg-logo-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/02\/ffmpeg-logo-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/02\/ffmpeg-logo-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/02\/ffmpeg-logo-600x600.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/02\/ffmpeg-logo-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/02\/ffmpeg-logo.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p>FFmpeg, the popular multimedia library, released new 8.1.1 version few days ago.<\/p>\n<p>This is a maintenance release that includes mostly bug-fixes, stability improvements, as well as few minor new features.<\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51171\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/ffmpeg811-about-700x466.webp\" alt=\"\" width=\"610\" height=\"406\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/ffmpeg811-about-700x466.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/ffmpeg811-about-300x200.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/ffmpeg811-about-768x511.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/ffmpeg811-about.webp 837w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>FFmpeg 8.1.1 updated the ALS decoder for MPEG\u20114 ALS audio streams with patch to preserve the full floating\u2011point value so the decoded audio is accurate and truly lossless.<\/p>\n<p>It ensures nbits is always valid, preventing mis-decoding and potential crashes, and, ensures <code>read_diff_float_data()<\/code> errors is properly returned by <code>read_frame_data()<\/code> instead of being ignored, making the decoder safer and more reliable. As well, it fixed the logic for mantissa unpacking in compressed Part A path.<\/p>\n<p>The release added the missing parts of OTTs band phase reconstruction and residual band computation to the USAC\/xHE\u2011AAC decoder, and, fixed an out-of-bounds memoery access for this decoder.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51172\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/mp4als-decoder-700x443.webp\" alt=\"\" width=\"610\" height=\"386\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/mp4als-decoder-700x443.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/mp4als-decoder-300x190.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/mp4als-decoder-768x486.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/mp4als-decoder.webp 874w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>To prevent crashes, corrupted outputs, and\/or security issues, it added a safety check to ensure nb_samples is valid in the DFPWM decoder, added a missing return after an error log in the RALF (RealAudio Lossless Format) audio decoder, and, fixed a use\u2011after\u2011free bug in the RASC decoder\u2019s <code>decode_move()<\/code> function.<\/p>\n<p>It as well cleared invalid\/stale pointers from the H.264 reference lists, fixed a bug where the H.264\/H.265 SEI parser used provider_code before initializing it, and, improved the input\u2011buffer size validation in TDSC decoder which also improve the stability.<\/p>\n<p>Other codec changes include fix for signed integer overflow in the Nintendo 64 ADPCM decoder, safety bug fix in the ZMBV (Zip Motion Block Video) decodeer to prevent memory corruption, missing padding bytes added to the WMA (Windows Media Audio) encoder&#8217;s extradata to fix compatibility issues, and fix for a memory leak in the VP9 codec\u2011bitstream (CBS) parser.<\/p>\n<p>Besides fixes for the encoders and decoders, the new 8.1.1 also has many improvements to the <code>libavformat<\/code> library for container, demuxer, and muxer handling.<\/p>\n<p>It added a maximum size limit to MOV\/MP4 demuxer when parsing the lhvc box inside <code>mov_read_lhvc()<\/code>, added checks to ensure the extradata is valid before accessing it with <code>mov_read_dops()<\/code> function. And, the demuxer now rejects <code>dimg<\/code> box references that contain zero entries.<\/p>\n<p>It as well added LIST chunk size and INFO list size validation before parsing for AVI demuxer, fixed potential out\u2011of\u2011bounds read in the RTSP demuxer, and, added sanity check to the RTP decoder for QDM2 audio to ensure that the block_size value extracted from incoming RTP packets is valid, sanity check to the JPEG\u2011over\u2011RTP decoder to ensure that the quantization table length (qtable_len) is valid, validation check to the MPEG\u20114 RTP decoder to ensure that AU Header Sections (Access Unit headers) are not zero\u2011length.<\/p>\n<p>For libavfilter, it added a minimum input\u2011height check to the kerndeint video filter, fixed logic bug caused by incorrect operator precedence in the v360 filter, and incorrect handling of <code>sscanf()<\/code> return values inside the af_pan filter.<\/p>\n<p>There are as well dozens of other changes. See the Changelog file in source tarball for details.<\/p>\n<h3>Get FFmpeg 8.1.1<\/h3>\n<p>The source for the new release is available to download in its website via the link below:<\/p>\n<div class=\"wp-block-buttons aligncenter\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-vivid-cyan-blue-to-vivid-purple-gradient-background has-text-color has-background\" href=\"https:\/\/ffmpeg.org\/download.html\" target=\"_blank\" rel=\"noreferrer noopener\">Download FFmpeg (source)<\/a><\/div>\n<\/div>\n<p>Besides building from the source or waiting for your distribution updates, Ubuntu user may try this <a href=\"https:\/\/launchpad.net\/~ubuntuhandbook1\/+archive\/ubuntu\/ffmpeg8\" target=\"_blank\" rel=\"noopener\">unofficial PPA<\/a> in Ubuntu 22.04, Ubuntu 24.04, or Ubuntu 26.04.<\/p>\n<p>To do so, open terminal and run commands below one by one:<\/p>\n<pre>sudo add-apt-repository ppa:ubuntuhandbook1\/ffmpeg8\r\nsudo apt update\r\nsudo apt install ffmpeg<\/pre>\n<p>Note that the PPA package may break dependencies, as many graphic apps depend on FFmpeg. You may install <code>ppa-purge<\/code> and use it to purge the PPA to restore system default FFmpeg library.<\/p>\n<pre>sudo apt install ppa-purge\r\nsudo ppa-purge ppa:ubuntuhandbook1\/ffmpeg8<\/pre>","protected":false},"excerpt":{"rendered":"<p>FFmpeg, the popular multimedia library, released new 8.1.1 version few days ago. This is a maintenance release that includes mostly bug-fixes, stability improvements, as well as few minor new features.<\/p>\n","protected":false},"author":1,"featured_media":37497,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[594,1154],"class_list":["post-51170","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-ffmpeg","tag-multimedia"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/51170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=51170"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/51170\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/37497"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=51170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=51170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=51170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}