Quantcast
Channel: Intel® Software - Media
Viewing all articles
Browse latest Browse all 697

10 bits output is not actually P010

$
0
0

According to https://docs.microsoft.com/en-us/windows/desktop/medfound/10-bit-and-16-... P010 stores values left shifted 6 bits, as if the values were originally 16 bits, but Intel Media SDK doesn't shift the values.  Bot HW and SW decoding in kaby lake behave the same.  https://software.intel.com/en-us/forums/intel-media-sdk/topic/731469 mentions that HW decoding used to be correct. Repro:

1
curl http://jell.yfish.us/media/jellyfish-3-mbps-hd-hevc-10bit.mkv --output jelly.mkv
2
ffmpeg -i jelly.mkv -vcodec copy -an -bsf hevc_mp4toannexb -vframes 1 jelly.265
3
simple_decode_hevc10.exe jelly.265 mfx.yuv
4
ffmpeg -i jelly.265 -pix_fmt p010le p010le.yuv
5
ffmpeg -i jelly.265 -pix_fmt yuv420p10le yuv420p10le.yuv
6
ffmpeg -i jelly.265 -pix_fmt yuv420p16le yuv420p16le.yuv
mfx.yuv should equal p010le.yuv but actually equals yuv420p10le.yuv (the Y plane is identical but mfx.yuv interleaves U/V like NV12 and yuv420p10le.yuv stores all Us before all Vs).  As expected the Y plane of yuv420p16le.yuv equals the Y plane of p010le.yuv, while the later interleaves U/V.

Bruno


Viewing all articles
Browse latest Browse all 697

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>