#8932 closed defect (fixed)

hevc decode errors with intra-refresh stream

Reported by: srainey Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: hevc
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

Summary of the bug:

Decode errors are visible in an h265 stream that has intra-refresh encoding present. The decoded stream looks error-free when decoded by the JCT-VC reference software as well as by amlogic (odroid-c4) hardware decoding. No decoding errors are reported by ffmpeg

How to reproduce:

% ffmpeg -report -v 9 -loglevel 99 -i intrarefresh_decode3.h265 decoded.yuv

Version is built from current git-master on arch linux x86_64, but the decode errors are also visible on VLC 3.8 Windows:

ffmpeg version N-99545-gd40f249861 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 10.2.0 (GCC)
configuration: 
libavutil      56. 60.100 / 56. 60.100
libavcodec     58.111.100 / 58.111.100
libavformat    58. 62.100 / 58. 62.100
libavdevice    58. 11.102 / 58. 11.102
libavfilter     7. 87.100 /  7. 87.100
libswscale      5.  8.100 /  5.  8.100
libswresample   3.  8.100 /  3.  8.100

See attached files for example stream and log

Attachments (2)

intrarefresh_decode3_short.h265 (2.0 MB ) - added by srainey 12 months ago.
sample stream presenting decode anomalies, cut off at 2M
ffmpeg-20201012-140108.log (187.5 KB ) - added by srainey 12 months ago.
Log of decode to YUV

Change History (9)

by srainey, 12 months ago

sample stream presenting decode anomalies, cut off at 2M

by srainey, 12 months ago

Attachment: ffmpeg-20201012-140108.log added

Log of decode to YUV

comment:1 by Carl Eugen Hoyos, 12 months ago

Keywords: decode removed
Reproduced by developer: set
Status: newopen

comment:3 by srainey, 12 months ago

Thank you XuGuangxin. With that patch applied to the current git master, I do not see any visual anomalies in a stream with intra-refresh encoding enabled.

comment:4 by Xu Guangxin, 12 months ago

Great!thanks for the check.
Your clips has 3x1 tiles, it's a horizantal tile . Is it possible to encode a stream with a 3x3 tiles.so we check issues for virtical tile too?

thanks

comment:5 by srainey, 12 months ago

I'm not sure, but I suspect the answer is no. No other mode in my currently available encoder software causes any visible issue with ffmpeg decoding that I'm aware of, but it may be possible with the hardware I have. I will have to check with my vendor - it may be some time before I can give you a definite answer.

comment:6 by srainey, 12 months ago

I've confirmed with my vendor that the encoder being used is not able to split the picture into more than one row of tiles.

The closest I can do is to break into 3 slice rows x 3 tile columns. This does not cause any issue with the patched ffmpeg, but I don't think it's a good test for what we're looking for.

comment:7 by Linjie.Fu, 12 months ago

Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.