天天看點

通過yuv資料錯位生成僞随機圖像

通過yuv資料錯位生成僞随機圖像的示例如下:

通過yuv資料錯位生成僞随機圖像
通過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來顯示的。

isp

繼續閱讀