Opened 7 years ago

Closed 7 years ago

#3872 closed defect (fixed)

Broken HEVC playback with some videos (regression)

Reported by: Dmitry Koteroff Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: hevc regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Broken HEVC playback with some videos since beginning of August.
How to reproduce:
Just download this sample: http://sendfile.su/1013164 (press left blue button "Скачать")
and try to play it.

This is a regression, because this file playing fine with ffmpeg from August 6st, but already broken in ffmpeg from August 15.
So I assume its has been broken somewhere between these days.

Change History (10)

comment:1 by Christophe, 7 years ago

Keywords: hevc added
Reproduced by developer: set
Status: newopen

The SPS is overread by 8 bits, however the overread is much much bigger: the VUI seems incorrect in this file, like truncated. However, if we continue decoding nonetheless, the sequence decodes fine.

comment:2 by Carl Eugen Hoyos, 7 years ago

Keywords: regression added
Reproduced by developer: unset

comment:3 by Carl Eugen Hoyos, 7 years ago

Reproduced by developer: set

comment:4 by Christophe, 7 years ago

There is no way to determine where in the bitstream the SPS has been corrupted. It would be hazardous to let the decoding continue: this sequence doesn't contain a valid hevc header.

Could you also tell us how you produced this file? It's quite possible one of the tools involved is broken. I suspect your multiplexing application, eg mkvtoolnix.

comment:5 by Dmitry Koteroff, 7 years ago

Could you also tell us how you produced this file?

Sadly, but I don't know. I just an author of media player for Windows which uses ffmpeg as codecs base. User just sent me this file and said that is doesn't cannot be played anymore.
I assume source file was created with mkvtoolnix too, as this sample.

comment:6 by Dmitry Koteroff, 7 years ago

There is no way to determine where in the bitstream the SPS has been corrupted. It would be hazardous to let the decoding continue: this sequence doesn't contain a valid hevc header.

Is it mean that this regression will not be fixed?

comment:7 by Christophe, 7 years ago

There are various possibilities. I'm personally against the broadest one (just ignore the error), but this needs more discussion inside the project.

It would be really helpful to narrow down the scenario where this occurs, as it would make more likely for a workaround to be integrated.

Do you know if your user remuxed/truncated/... the file you provided us? If yes, having the full file could help. In any case, it would really be a plus to have more information on how it was generated.

in reply to:  1 comment:8 by Carl Eugen Hoyos, 7 years ago

Replying to kurosu:

The SPS is overread by 8 bits, however the overread is much much bigger: the VUI seems incorrect in this file, like truncated. However, if we continue decoding nonetheless, the sequence decodes fine.

Please only set a ticket status to open once all information is present.

Regression since 5ec85c97

comment:9 by Christophe, 7 years ago

I think the really interesting information is the encoder used. I think mkvmerge has always been fine, seeing the initial commit:
https://github.com/mbunkus/mkvtoolnix/commit/8270527b19e271ff3d8c50f3845f5e4d564c5b91#diff-46364bfa1cfae63c3177c12104574fdcR555

comment:10 by Carl Eugen Hoyos, 7 years ago

Resolution: fixed
Status: openclosed

Fixed by Christophe in 0625a380 - thank you for the report!

Note: See TracTickets for help on using tickets.