Projects
home:enzokiel
avidemux3
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 50
View file
avidemux3.changes
Changed
@@ -1,7 +1,7 @@ ------------------------------------------------------------------- -Tue Oct 27 19:23:47 UTC 2026 - enzokiel@kabelmail.de +Thu Oct 29 19:24:32 UTC 2026 - enzokiel@kabelmail.de -- Update to version 2.8.2.git20261026 +- Update to version 2.8.2.git20261029 - No changelog available -------------------------------------------------------------------
View file
avidemux3.spec
Changed
@@ -19,7 +19,7 @@ Name: avidemux3 Summary: Graphical video editing and transcoding tool License: GPL-2.0-only -Version: 2.8.2.git20261026 +Version: 2.8.2.git20261029 Release: 0 URL: https://github.com/mean00/avidemux2 ExclusiveArch: %ix86 x86_64
View file
avidemux2-2.8.2.git20261026.tar.xz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.cpp -> avidemux2-2.8.2.git20261029.tar.xz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.cpp
Changed
@@ -244,8 +244,8 @@ } else if(sz > ADM_COMPRESSED_MAX_DATA_LENGTH) { - ADM_warning("Frame %u size %llu exceeds max %u, truncating.\n",framenum,sz,ADM_COMPRESSED_MAX_DATA_LENGTH); - sz = ADM_COMPRESSED_MAX_DATA_LENGTH; + ADM_error("Frame %u size %llu exceeds maximum supported size of %u bytes!\n", framenum, sz, ADM_COMPRESSED_MAX_DATA_LENGTH); + return 0; } uint64_t offset=idx->offset; //+_mdatOffset; @@ -523,7 +523,7 @@ { // Same story for H263 : Analyze 1st frame to get the real width/height uint32_t w,h,sz; uint8_t *bfer=NULL; - sz=VDEO.index0.size; + sz = (VDEO.index0.size > ADM_COMPRESSED_MAX_DATA_LENGTH)? 0 : VDEO.index0.size; if(sz) { bfer=new uint8_tsz; @@ -564,8 +564,9 @@ uint32_t nalSize = ADM_getNalSizeH264(VDEO.extraData,VDEO.extraDataSize); uint32_t prevSpsLen=0; uint8_t *prevSps=NULL, *curSps=NULL; -#define MAX_FRAME_LENGTH (1920*1080*3) // ~7 MiB, should be enough even for 4K - uint8_t *bfer=new uint8_tMAX_FRAME_LENGTH; +#define INITIAL_BUFFER_SIZE 0x400000 // 4 MiB + uint32_t curBferSize = INITIAL_BUFFER_SIZE; + uint8_t *bfer = new uint8_tcurBferSize; ADMCompressedImage img; img.data=bfer; uint32_t i,fields=0,nb=VDEO.nbIndex; @@ -580,11 +581,24 @@ cancelled = true; break; // cancelling frame type decoding is non-fatal } - if(VDEO.indexi.size > MAX_FRAME_LENGTH) + if(VDEO.indexi.size > ADM_COMPRESSED_MAX_DATA_LENGTH) { ADM_warning("Frame %u too large (%" PRIu64" bytes) while decoding H.264 frame type, skipping.\n",i,VDEO.indexi.size); continue; } + if(VDEO.indexi.size > curBferSize) + { + ADM_warning("H.264 probe buffer size %u insufficient for frame %u, reallocating.\n", curBferSize, i); + delete bfer; + uint64_t larger = VDEO.indexi.size; + larger = ((larger / INITIAL_BUFFER_SIZE) + 1) * INITIAL_BUFFER_SIZE; + if (larger > ADM_COMPRESSED_MAX_DATA_LENGTH) + larger = ADM_COMPRESSED_MAX_DATA_LENGTH; + curBferSize = larger; + bfer = new uint8_tcurBferSize; + img.data = bfer; + ADM_info("H.264 probe buffer reallocated, new size: %u bytes.\n", curBferSize); + } if(!getFrame(i,&img)) { ADM_warning("Could not get frame %u while decoding H.264 frame type.\n",i); @@ -712,7 +726,8 @@ if (!indexLoadedFromDisk) { uint32_t nalSize = ADM_getNalSizeH265(VDEO.extraData,VDEO.extraDataSize); - uint8_t *bfer = new uint8_tMAX_FRAME_LENGTH; + uint32_t curBferSize = INITIAL_BUFFER_SIZE; + uint8_t *bfer = new uint8_tcurBferSize; ADMCompressedImage img; img.data = bfer; int poc = INT_MIN; @@ -727,11 +742,24 @@ cancelled = true; break; // cancelling frame type decoding is non-fatal } - if(VDEO.indexi.size > MAX_FRAME_LENGTH) + if(VDEO.indexi.size > ADM_COMPRESSED_MAX_DATA_LENGTH) { ADM_warning("Frame %u too large (%" PRIu64" bytes) while decoding HEVC frame type, skipping.\n",i,VDEO.indexi.size); continue; } + if(VDEO.indexi.size > curBferSize) + { + ADM_warning("HEVC probe buffer size %u insufficient for frame %u, reallocating.\n", curBferSize, i); + delete bfer; + uint64_t larger = VDEO.indexi.size; + larger = ((larger / INITIAL_BUFFER_SIZE) + 1) * INITIAL_BUFFER_SIZE; + if (larger > ADM_COMPRESSED_MAX_DATA_LENGTH) + larger = ADM_COMPRESSED_MAX_DATA_LENGTH; + curBferSize = larger; + bfer = new uint8_tcurBferSize; + img.data = bfer; + ADM_info("HEVC probe buffer reallocated, new size: %u bytes.\n", curBferSize); + } if(!getFrame(i,&img)) { ADM_warning("Could not get frame %u while decoding HEVC frame type.\n",i);
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.