尽我所能see in the documentation ,所有涉及YUV的转换实际上都使用YCbCr。但有细微的差别,我想转换为实际的 YUV 格式。有什么办法可以使用 ffmpeg 吗?事后想一想,有没有其他方法可以像 ffmpeg 一样快?
最佳答案
事实证明这是可能的:例如在处理 AVFrame
时使用AVCodecContext
,
- 使用
<a href="https://github.com/FFmpeg/FFmpeg/blob/release/3.2/libavutil/pixfmt.h#L74" rel="noreferrer noopener nofollow">AV_PIX_FMT_YUV</a><b>J</b><a href="https://github.com/FFmpeg/FFmpeg/blob/release/3.2/libavutil/pixfmt.h#L74" rel="noreferrer noopener nofollow">420P</a>
而不是AV_PIX_FMT_YUV_420P
(已弃用), - 或使用
AV_PIX_FMT_YUV_420P
并设置color_range
至AVCOL_RANGE_JPEG
.
所有链接均与版本 3.2 相关。
编辑:
我相信实际的数学转换在 yuv2rgb.c
中.
关于ffmpeg - 有没有办法使用 ffmpeg 将 RGB 转换为真正的 YUV(而不是 YCbCr)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43115424/