android 直播有意思的事- 420SP到420P

android Camera 出來的數(shù)據(jù)一般是NV21 也就是YUV420SP
我個人理解S 是 staggered 交錯的意思 P就是plane 平面

YYYYYYYY VUVU 這種分布


420SP

H264呢 里面用的一般是I420(420P), YUV三個分量在三個平面上


420P

所以一般獲取到圖片 想用H264傳出去,就得轉(zhuǎn)換

像我這種懶蛋,一般找個模版代碼一抄就行

圖呢是我從網(wǎng)上找的,主要理解下轉(zhuǎn)換過程

所以看圖就能理解為啥 420計算的時候 都是寬1.5 因為2組Y對應一個UV
復制數(shù)據(jù)的時候呢 Y就按照順序完整復制,U需要從 Y的所有數(shù)據(jù)后 隔著一個復制一個,V同理

   //挪動Y分量
    memcpy(picture->img.plane[0], data, y_len);
   
    for (int i = 0; i < uv_len; ++i) {
        //挪動U分量
        *(picture->img.plane[1] + i) = *(data + y_len + i * 2 + 1);

        //挪動V分量
        *(picture->img.plane[2] + i) = *(data + y_len + i * 2);

    }

是不是看這段模版代碼 越發(fā)有感覺了,能理解了吧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容