我处理来自 AVFrame.data 的原始数据。该帧的像素格式为AV_PIX_FMT_YUV420P。我想了解该数据位于什么值范围内。
看起来 UV(在 YUV 方案中)必须在 [-128, 128] 范围内,CbCr(在 YCbCr 中)必须在 [0, 255] 范围内。 FFmpeg中使用了什么方案?
最佳答案
FFmpeg 中 YUV 和 RGB 格式的所有像素分量值都是无符号的。根据特定格式,类型可能不同(int、float),位深度也可能不同。
对于AV_PIX_FMT_YUV420P
,Y的严格范围是16-235,U和V的严格范围是16-240,通常称为有限范围。 U 和 V 的中点通常为 128。
但是,也可能遇到全范围。
关于video - AV帧数据格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66560997/