通过yuv数据错位生成伪随机图像

通过yuv数据错位生成伪随机图像的示例如下:

图中使用的播放器为YUVPlayer,yuv数据源为akiyo_352x288_30.yuv,数据格式为yuv420。当播放器的图像尺寸设为352x288时,图像正常显示;播放器的图像尺寸设为340x288时,图像显示异常。

背后的原理:
为了方便说明,假设图像的格式是YUV420 Planar模式,即YUV数据文件中先存放整张图像的Y数据(大小为352x288),然后存放U数据(大小为176x144),最后存放V数据(大小为176x144),显示的时候根据图像尺寸的设置情况到相应的位置取数即可。

正常显示:
(1) Y: 352 x 288(Y DATA)
(2) U: 176 x 144(U DATA)
(3) V: 176 x 144(V DATA)

异常显示:
(1) Y: 340 x 288(Y DATA)
(2) U: 12 x 288(Y DATA) + (176 x 144 - 12 x 288)(U DATA)
(3) V: 12 x 288(U DATA) + (176 x 144 - 12 x 288)(V DATA)

根据取数的情况,可知YUV数据发生错位,因此显示异常。

注:YUV播放器的显示原理是把yuv420转成yuv444,最后转成RGB来显示的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值