FFMPEG 用于将 yuv420p 转换为 rgb bmp 的所有操作是什么?

麦康纳西门托

我试图在我自己的代码中复制 ffmpeg 将 yuv420p 转换为 rgb 的操作,而不是使用 ffmpeg 库。最初我认为它会在函数内部:swscale.c 中的 xyz12Torgb48 但做了一些跟踪,它看起来在 yuv2rgb.c ff_yuv2rgb_c_init_tables 中,我不太清楚。

麦康纳西门托

好吧,因为没有人提出解决方案,我只是要发布我发现使用 valgrind tool=callgrind ffmpeg_g 这是一个带有调试对象的 ffmpeg 版本,它向我展示了被调用的函数,并且在 \libswscale\x86 内部有 yuv2rgb_template。 c 似乎有你在汇编中执行 yuv2rgb 的操作

 * Conversion is performed in usual way:
 * R = Y' * Ycoef + Vred * V'
 * G = Y' * Ycoef + Vgreen * V' + Ugreen * U'
 * B = Y' * Ycoef               + Ublue * U'
 *
 * where X' = X * 8 - Xoffset (multiplication is performed to increase
 * precision a bit).
 * Since it operates in YUV420 colorspace, Y component is additionally
 * split into Y1 and Y2 for even and odd pixels.
 *
 * Input:
 * mm0 - U (4 elems), mm1 - V (4 elems), mm6 - Y (8 elems), mm4 - zero register
 * Output:
 * mm1 - R, mm2 - G, mm0 - B
 */ ```

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用ffmpeg的库将YUV420P图像转换为JPEG?

来自分类Dev

如何使用ffmpeg的库将YUV420P图像转换为JPEG?

来自分类Dev

在C中将yuv420p转换为RGB888

来自分类Dev

将图像转换为没有BMP标头的BMP RGB565

来自分类Dev

将yuv420p原始数据转换为图像opencv

来自分类Dev

FFMPEG:将.rgb图像转换为视频

来自分类Dev

FFMpeg将视频转换为8位BMP帧

来自分类Dev

ffmpeg:编解码器“png”的不兼容像素格式“yuv420p”,自动选择格式“rgb24”

来自分类Dev

YUV420p中的RGB32

来自分类Dev

ffmpeg:yuv420p像素格式丢失?

来自分类Dev

保存原始YUV420P帧FFmpeg / Libav

来自分类Dev

将CVImageBufferRef YUV 420转换为cv :: Mat RGB并将其显示在CALayer中?

来自分类Dev

ffmpeg yuv420p到yuv422p并返回

来自分类Dev

ffmpeg YUV420到RGB24仅转换一行

来自分类Dev

使用gstreamer将YUVj420p像素格式转换为RGB888

来自分类Dev

使用gstreamer将YUVj420p像素格式转换为RGB888

来自分类Dev

使用着色器将RGB转换为YUV

来自分类Dev

使用OpenCV将YUV颜色空间转换为RGB

来自分类Dev

使用硬件将YUV转换为DeckLink上的RGB

来自分类Dev

将RGB转换为YUV时图像失真。怎么修???

来自分类Dev

LAV滤镜是否将YUV转换为RGB

来自分类Dev

Chrome DevTools将所有HEX颜色转换为RGB

来自分类Dev

使用FFMpeg将BGR BufferedImage快速转换为YUV

来自分类Dev

使用FFMpeg将BGR BufferedImage快速转换为YUV

来自分类Dev

将RGB转换为HSV

来自分类Dev

将RGB转换为HSV

来自分类Dev

将RGB转换为HSV

来自分类Dev

将RGB转换为HSV

来自分类Dev

将RGB转换为int的最有效方法?