News:

--

Main Menu

Crash viewing specific video on v2.8.1

Started by stro, March 24, 2023, 11:21:49 AM

Previous topic - Next topic

stro

Hi, problem editing a specific video.
Avidemux 2.8.1 opens it fine, but when I look through the video frames, it either crashes on some frames, and/or displays the frame visually corrupted - the bottom part of the frame has colored stripes, and then another click and it crashes.

The video plays fine in VLC. Video codec below, and it's Windows 10.
For testing I tried the video on the old Avidemux 2.6.21 and it has the same problem.
Ideas on how to workaround this? Perhaps a known issue?

=====================================================
Video
=====================================================
Codec 4CC:         H264
Image Size:         1280 x 720
Aspect Ratio:         1:1 (1:1)
Frame Rate:         19.063 fps
Average Bitrate:      2824 kbps
Pixel format:         YUV 4:2:0, 8-bit
Color range:         Limited (MPEG)
Color primaries:      BT.709
Transfer characteristics:   BT.709
Color space:         BT.709

=====================================================
Audio (1 active track)
=====================================================
Codec:            AAC
Channels:         Stereo
Bitrate:         5002 Bps / 40 kbps
Frequency:         48000 Hz

eumagga0x2a

Please update to the latest available 2.8.2 nightly build. If the issue still persists and if the video is innocuous enough, please provide a sample via WeTransfer, Mega, Dropbox or Google Drive.

stro

Thanks! the same issue happens with the latest 2.8.2 nightly (avidemux_2.8.2 r230212_win64.exe).
Uploaded a short sample to Mega. Note that with this sample, the crash happens immediately when loading the video. Also, the source video has audio issues and a black screen for a moment - these are not problems, just the quality of the source material. Let me know if a longer sample is needed.

I can't seem to post the stacktraces here so uploaded to Mega. Exception is through decompressImage.

eumagga0x2a

Thank you, the global video header (extradata, decoder configuration) provided by the MKV container doesn't match the extradata embedded into video stream, the global extradata specifies 1280x720, the SPS of the first keyframe specifies 1024x576, the SPS of the third, the last keyframe in the sample says 896x504 as picture size. The bundled libavcodec library, which performs all the decoding magic behind the scenes here, reconfigures the decoder based on the embedded extradata, but Avidemux cannot follow suit and tries to collect the decoded picture with mismatching size in mind.

The bad thing was that it even didn't realize that things were not going to end well. This issue is fixed now (i.e. Avidemux will still crash, but in a safe way).

Thank you for your report.

stro

Cool, thank you for looking into it :)
Any chance we'll be able to edit the video with a future fix to Avidemux?
Or is the video too messed up to be editable? It was from a previously-live Facebook video and I used Avidemux to cut the sample in the places it allowed.

eumagga0x2a

If I am not mistaken, video (or audio) in a Matroska or MP4 container changing properties on-the-fly is not covered by specification (it is entirely valid in a MPEG-TS stream).

Unless the application gets a deep redesign, I don't think that support for intermittent resolution changes can be added. However, the case of mismatch between the global header and in-band extradata can be probably handled more wisely, when we have already detected that the very first frame uses a different decoder config.

stro