[swscaler] Warning: data is not aligned! This can lead to a speedloss 的解决方法【FFmpeg】
发布日期:2021-07-01 05:53:32 浏览次数:2 分类:技术文章

本文共 674 字,大约阅读时间需要 2 分钟。

[swscaler] Warning: data is not aligned! This can lead to a speedloss 的解决

相信如果你用了FFmpeg一段时间,对以下的黄色警告肯定不会陌生

这种刺眼的黄色警告(还会影响性能),对一个强迫症患者来说,实在是不能忍!

其实导致报警的原因很简单,就是swscaler的缩放的目标尺寸不合适,它想要的大小是 16 的倍数!

只要简单的代码就解决掉这个讨厌的警告:

m_dst_h = (dst_h >> 4) << 4 ;	m_dst_w = (dst_w >> 4) <<4 ;

如果是按比例的话,就是:

float ratio = 1.0f * getSrcWidth()/getSrcHeight();	m_dst_h = (dst_h >> 4) << 4 ;	m_dst_w = (int(ratio * m_dst_h)>>4)  <<4 ;

如图,世界就清净了

注意以上方法得到的尺寸是不大于原大小的,如果想得到不小于原大小尺寸,那么就要改为以下方法:

size = (size + 0xf) & ~0xf;

如果想得到2次幂的宽高,且不小于原宽高,那么改为以下方法:

int tmp = 1; int w = bitmap.getWidth(); int h = bitmap.getHeight(); while (w > tmp || h > tmp) {      tmp <<= 1; } int width = tmp; int height = tmp;

转载地址:https://panda1234lee.blog.csdn.net/article/details/53334254 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:简单的笔刷效果【OpenGL】
下一篇:cJSON 的简单应用——保存/解析 Shader 参数 【代码示例】

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年05月02日 23时28分28秒