2017-07-17 47 views
0

我想知道有人可以提供帮助。我目前正在将RBGA位图转换为YUV420p,然后用h264编解码器编码帧并将编码的数据包转储成文件。绿色色调转换RGBA到YUV420p ffmpeg libavcodec

我也可以在VLC中播放h264视频文件。但是,在灰色实际上是浅色调的情况下,似乎有一种颜色偏移更明显。我使用了一个动画视频作为我的例子,它应该在后台显示蓝天,然而在转换图像后,我得到了橙色的天空背景。你有什么想法,我可以解决这个问题吗?

你碰巧知道在调用sws_scale之前和编码包之前是否可以将rgba转换为yuv?

+1

道歉的问题是在整个视频中出现屏幕的浅色调 –

+0

嗨,欢迎来到Stack Overflow,请阅读如何创建一个[最小,完整和可验证的示例](https://stackoverflow.com/help/mcve),并检查[如何提出好问题](https://stackoverflow.com/help/how-to-ask)所以你增加了获得反馈和有用答案的机会。如果你错过了你的问题中的某些东西,请编辑它以包含该部分 – DarkCygnus

回答

0

我使用了错误的像素格式。

我应该一直使用BGR24,但我使用的是RGBA。我意识到这一点后,看起来像我最初解码帧到位图,它被解码为BGR24

0

也许你忘了指定stride? 或者使用了错误的颜色格式? (BGRA,RGB等)

+0

我发现了这个问题。我使用了错误的像素格式。当我应该使用BGR24时,我正在使用RGBA。 –