中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

YUV420P/I420 stride 計算方式

發布時間:2020-07-05 23:49:46 來源:網絡 閱讀:10814 作者:Gobert 欄目:開發技術

這兩天做一個 H.265 編碼測試的功能,編碼器需要手動輸入 raw yuv frame 的 stride (也可以稱作 pitch)數組大小,這個倒是讓我一愣,做了這么久的音視頻編解碼的工作,長時間使用 ffmpeg,或者 x264 的上層接口去封裝一個視頻幀,竟然對這個該如何賦值給搞不清楚了,這個如果配置不對的話,那么編碼出來的視頻幀將是花屏的,所以在此還是鞏固一下基礎知識吧。

stride 可以稱之為“跨距”,可以理解為每個 (Y、U、V)每個分量在每一行所占的字節數,這里我們拿 I420 做為例子,我們知道 I420 的數據存儲方式為平面存儲,即Y、U、V 分開存儲,如下圖示:

YUV420P/I420 stride 計算方式

p_w_picpath.png

這樣我們可以直觀的看出,Y 分量每一行的字節數為圖像的寬度 img_width,而由于 U 分量和 V 分量為每兩行 Y 像素共享一行 U 和 V 像素,所以 U 和 V 分量在每一行所占的字節數為 圖像寬度的一半,即 img_widht / 2,即:

int y_stride = img_width;
int u_stride = img_width / 2;
int v_stride = img_width / 2;

以上計算方式僅適用于 I420 / YUV420P 色彩空間格式的視頻幀數據,其它格式請參照 stride 的定義應該就可以很快的確定各個分量的大小了。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

茂名市| 宁乡县| 江门市| 怀仁县| 盐城市| 辽宁省| 达日县| 彩票| 伊宁县| 新丰县| 通榆县| 大安市| 磐石市| 合川市| 颍上县| 揭西县| 浮山县| 石狮市| 田东县| 广西| 恩施市| 华池县| 怀安县| 赤峰市| 商都县| 曲阳县| 睢宁县| 临高县| 九龙坡区| 洪雅县| 郧西县| 福建省| 星子县| 运城市| 昭苏县| 舞钢市| 大连市| 剑阁县| 清流县| 富民县| 上栗县|