stackuser
stackuser

Reputation: 669

What is fourcc code for YUV420/YUV422 10 bit semi planar formats

Could readers please suggest me right fourcc codes to represent

YUV420 10 bit semi-planar
YUV422 10 bit semi-planar

The data looks like below in memory:

2:10:10:10 2:Y2:Y1:Y0
2:10:10:10 2:U1:V0:U0

3 components packed in 4 bytes

Upvotes: 3

Views: 7352

Answers (2)

Maybe this page can help.

Regarding this table from the page

FOURCC Description
P016 Planar, 4:2:0, 16-bit.
P010 Planar, 4:2:0, 10-bit.
P216 Planar, 4:2:2, 16-bit.
P210 Planar, 4:2:2, 10-bit.
Y216 Packed, 4:2:2, 16-bit.
Y210 Packed, 4:2:2, 10-bit.
Y416 Packed, 4:4:4, 16-bit
Y410 Packed, 4:4:4, 10-bit.

your colorspace named P010 or P210. Dispite this fourcc color space described as Planar, below it is showed as semi-planar.

P016 and P010
In these two formats, all Y samples appear first in memory as an array of WORDs with an even number of lines. The surface stride can be larger than the width of the Y plane. This array is followed immediately by an array of WORDs that contains interleaved U and V samples, as shown in the following diagram.
Diagram showing P016 and P010 pixel layout

Upvotes: 3

Fredrik Pihl
Fredrik Pihl

Reputation: 45672

Don't think I understand what you are asking. Have a look at vooya which can play most of the available YCbCr formats out there. Also try ffmpeg -pix_fmts to list the available formats.

For example to play the 10bpp sequences provided by the HEVC standardization which are in 4:2:0 10bpp, you can use the following ffmpeg command:

$ ffplay -video_size 2560x1600 -pixel_format yuv420p10le SteamLocomotiveTrain_2560x1600_60_10bit_crop.yuv

So, in "ffmpeg-speach", the format is called yuv420p10le, where le is little-endian.

Upvotes: 1

Related Questions