背景
I420 中 yuv 數(shù)據(jù)存放在3個 planes 中。
網(wǎng)上一般說 I420 數(shù)據(jù)大小為 widthheight1.5
但是當 width 和 height 是奇數(shù)時,這個計算公式會有問題。
I420 中 u 和 v 的寬高分別為 y 的一半。
但是當不能整除時,是如何取整呢?向上還是向下,網(wǎng)上一般都沒有細說。
求證過程
今天遇到個問題,和這個相關。網(wǎng)上查詢和用 ffmpeg 實驗了一下。
網(wǎng)上查詢
問了 chatgpt
google 結果
https://groups.google.com/a/webmproject.org/g/webm-discuss/c/LaCKpqiDTXM
https://sourceforge.net/p/raw-yuvplayer/bugs/1/
使用 ffmpeg 測試
使用 windows 自動繪圖系統(tǒng),繪制3張 rgb 圖片,保存成 bmp 圖片。
使用 ffmpeg 命令將圖片轉化為視頻。
使用 ffmpeg 命令將 Mp4 轉換為 yuv420p 的 yuv 數(shù)據(jù)
使用 notepad 打開數(shù)據(jù),計算 yuv 的數(shù)據(jù)長度。
最后計算結果和網(wǎng)絡說的一樣。
yuv player 播放該 yuv 數(shù)據(jù)正常文章來源:http://www.zghlxwxcb.cn/news/detail-663463.html
結論
uv 的寬高除以2,需要向上取整,以提高邊緣像素精度。但是沒有專業(yè)的定義,如果大家找到專業(yè)定義辛苦貼到評論中。文章來源地址http://www.zghlxwxcb.cn/news/detail-663463.html
到了這里,關于當圖像寬高為奇數(shù)時,如何計算 I420 格式的uv分量大小的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!