自学内容网 自学内容网

图像格式中的 stride 和 pix stide

最近发现media codec 解码后 yuv 的拷贝时间很大,进一步分析后发现底层会一个像素一个像素拷贝,非常花时间。用过调整解码后图像的Stride(步幅)后直接进行内存块拷贝,可以大幅缩短拷贝时间


在YUV图像格式中,stridepix stride是两个重要的概念,通常与图像的存储和处理有关。下面是这两个术语的详细解释:

1. Stride(步幅)

Stride指的是在内存中每一行图像数据的字节数。它不仅包括当前行的数据,还可能包括用于对齐的填充字节。具体来说:

  • Y分量:在YUV格式中,Y分量通常是亮度信息,可能会有较高的分辨率。Y分量的stride指的是每一行Y数据的字节数。
  • U和V分量:U和V分量通常是色度信息,可能会有较低的分辨率。它们的stride也会被定义,通常与Y分量不同。
示例

假设Y分量的分辨率为1920x1080,stride为1920(每行1920个字节),而U和V分量的分辨率为960x540,stride可能为960(每行960个字节)。

2. Pix Stride(像素步幅)

Pix Stride是指在图像中每个像素占用的字节数。这个值通常与图像的色彩深度有关。例如:

  • 在YUV 4:4:4格式中,每个Y、U和V分量的stride可能都是相同的,因为每个像素都有完整的Y、U、V信息。
  • 在YUV 4:2:0格式中,U和V分量的分辨率会降低,因此它们的pix stride可能会小于Y分量的pix stride。
示例

如果在YUV 4:2:0格式中,每个Y分量占用1字节,而U和V分量各占用0.5字节(因为它们的分辨率降低),那么Y的pix stride为1字节,而U和V的pix stride则可能为0.5字节。

总结

  • Stride:每行图像数据在内存中占用的字节数,可能包括填充。
  • Pix Stride:每个像素在内存中占用的字节数,通常与色彩深度相关。

原文地址:https://blog.csdn.net/qq_17308321/article/details/143627886

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!