gpt4 book ai didi

更改区域上的 FFmpeg sws_scale

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

我正在使用 sws_scale将一组 RGB32 图像转换为 YUV420 格式。每张图像都与前一张非常相似,它们仅在矩形区域 Q 上有所不同。

我的问题是如何利用 Q 来加快转换过程?应在 sws_scale 中添加一个附加参数功能。

sws_scale( ctx, in_plane, in_stride, sliceY, height, out_plane, out_stride, Q){
// parameter out_plane stores the YUV420 data of previous image
Instead of scanning the whole image, scan through rectangle Q{
Do conversion
}
}

最佳答案

当前 API 中不存在此类参数,但您可以按原样使用 sws_scale。您可以创建两种上下文 - 一种用于全图,一种用于 Q;为了只转换 Q:

  • 使用您为 Q
  • 创建的上下文
  • 移动所有数据指针,使它们都指向输入/输出图片中 Q 的第一个像素
  • 为全貌保持原样

  • 这里要注意几个注意事项:首先,由于您使用 YUV420 作为输出格式,因此您希望增加 Q 以便它从偶数行/列开始并占据偶数宽度/高度(否则 Q 边界处可能会有一些扭曲的颜色)。其次,确保所有图片平面的指针都指向同一个像素——这需要根据像素格式为每个平面提供不同的偏移量。第三,如果没有缩放,这效果最好 - 否则由于抖动,结果图片可能看起来与全图片比例不完全相同。

    关于更改区域上的 FFmpeg sws_scale,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39744189/

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