Closed v0lt closed 8 years ago
The Microsoft DXVA decoder also artifacts in a similar manner, not sure if the file is damaged or whats up. Will check more.
It may be incorrect HEVC header after the old decoder?
x265 [info]: HEVC encoder version 0.6+343-eb3713ab0641 x265 [info]: build info [Windows][GCC 4.8.2][64 bit] 8bpp x265 [info]: Main profile, Level-4 (Main tier) x265 [info]: WPP streams / pool / frames : 13 / 8 / 4 x265 [info]: CU size : 64 x265 [info]: Max RQT depth inter / intra : 2 / 2 x265 [info]: ME / range / subpel / merge : umh / 38 / 5 / 3 x265 [info]: Keyframe min / max : 23 / 23 x265 [info]: Rate Control / AQ-Strength / CUTree : CRF-19.0 / 0.8 / 1 x265 [info]: RDpenalty : 1 x265 [info]: Lookahead / bframes / badapt : 40 / 9 / 2 x265 [info]: b-pyramid / weightp / refs : 1 / 1 / 16 x265 [info]: tools: rect amp esd rd=4 lft sao-lcu sign-hide
I found the reason - this video uses too many reference frames. While HEVC allows using up to 16 reference frames, every individual frame is only allowed to use 8. This file violates that constraint, and the DXVA decoder strictly enforces this (it simply doesn't have room for more than 8 in its structure)
@ Nevcairiel How do you define it?
I'm not sure I understand the question.
Ok. I'll ask for another. How to determine the number of reference frames from HEVCContext?
I don't think there is a clear way to detect such problems beforehand. As I mentioned above, streams are allowed to have 16 reference frames, HOWEVER, every frame is only allowed to use up to 8 as references. This makes 100% detection hard.
http://www.mediafire.com/watch/9c7uq38m9b9ixzj/sample_HEVC_1080p_20sec.mkv This sample has artifacts when HEVC DXVA. The problem occurs on Nvidia and Intel.
LAV Video Decoder 0.67.0.30-git.