什么是lib Swscale用于ffmpeg程序员?

Rel*_*lla 4 c media mpeg

什么是lib Swscale用于ffmpeg程序员?

  • 它为AV编码/解码带来了什么好处?
  • 它与av*libs相关的立场是什么?

R..*_*R.. 16

Swscale主要用于播放器,而不是编码/解码.如果您希望以不同于其编码的像素大小/宽高比显示视频,并且您没有硬件视频缩放支持,则必须这样做.Swscale还可以在各种RGB和YUV颜色格式之间执行颜色空间转换,以及打包(单个缓冲区中的所有通道)和平面(每个通道都有自己的缓冲区)格式之间的转换.所有这些例程都经过高度优化; 据我所知,目前还没有更快的软件实现,至少在x86和x86_64上.

如果源视频尚未采用编码器所需的格式,则可能还需要Swscale来编码视频.例如,如果您的源视频是RGB,您可能需要将其转换为适当的YUV平面格式,因为大多数编解码器都在YUV上工作.这需要色彩空间转换(R,G,B矢量的仿射变换)和实际缩放(重新采样),因为大多数YUV格式使用半分辨率U和V平面(彩色平面)与Y平面(亮度,即亮度)相比强度数据).