gpt4 book ai didi

android - 如何使用任何颜色格式从 MediaCodec 输出缩放 YUV 图像?

转载 作者:行者123 更新时间:2023-12-04 23:16:54 24 4
gpt4 key购买 nike

我正在使用 MediaCodec 解码视频并使用 sws_scale(from ffmpeg) 重新缩放它。我可以处理一种特殊的颜色格式,例如。 YUV420P,并将其重新缩放到目标大小。但是我必须做一些准备工作,例如将输出缓冲区的linesize和memcpy到三个普通切片(data [0],data [1],data [2])。并且解码器输出颜色格式因设备而异.如果我得到颜色格式,ffmpeg中有没有一种方法可以自动重新缩放而不需要特殊处理(当然,颜色格式应该是ffmpeg支持的)?

最佳答案

swscale/libavutil 中没有直接采用 OMX (MediaCodec) 颜色格式的功​​能,您需要手动映射格式。但是您不需要将输出缓冲区memcpy成三个单独的缓冲区,您只需将三个数据指针data[0]、data[1]和data[2]设置为从MediaCodec指向输出缓冲区(同一点在缓冲区中,否则你会从那里 memcpied)。

正常的颜色格式(例如 YUV420P 和 NV12)应该可以正常工作,您只需要设置格式常量之间的映射即可。但是一些 MediaCodec 解码器(尤其是高通的)通常使用专有的平铺格式,需要花费更多的精力来解读,而 swscale 不直接支持这种格式,您需要自己解读。

关于android - 如何使用任何颜色格式从 MediaCodec 输出缩放 YUV 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26419307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com