当前位置: 首页 > article >正文

图像格式中的 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:每个像素在内存中占用的字节数,通常与色彩深度相关。

http://www.kler.cn/a/386407.html

相关文章:

  • 项目风险管理的3大要素
  • 基于RK3568J多网口电力可信物联网关解决方案
  • 3D编辑器教程:如何实现3D模型多材质定制效果?
  • 穿越数据迷宫:C++哈希表的奇幻旅程
  • JVM 中的完整 GC 流程
  • docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled
  • SDL 播放PCM
  • 国内读新加坡公立大学在职博士是一种怎样的体验?还中文授课
  • Python学习从0到1 day27 第三阶段 Spark ③ 数据计算 Ⅱ
  • Nuxt3之使用lighthouse性能测试及性能优化实操
  • MySQL 中的 `IN`、`EXISTS` 区别与性能分析
  • Kubernetes-编排工具篇-01-Kustomize与Helm对比
  • 安装和运行开发微信小程序
  • 贪心算法day2(最长递增子序列)
  • 常见插入排序算法的实现(直接插入排序与希尔排序)
  • 虚拟化负载均衡至少需要几台服务器?
  • Linux服务器网络故障排查命令
  • 【前端】Svelte:事件处理
  • Node.js——fs模块-文件重命名和移动
  • 【Django】配置文件 settings.py
  • shodan4(泷羽sec)
  • STM32——毕设基于单片机的多功能节能窗控制系统
  • JavaWeb合集23-文件上传
  • kafka 安装和使用
  • vue3+vite 前端打包不缓存配置
  • Spring中的过滤器和拦截器