[FFMPEG]h264的YUV420數(shù)據(jù)的存儲(chǔ)


前面文章有人問(wèn)我解碼出來(lái)的264如何播放,一般用OPENGLES去渲染

  • 這里只給關(guān)鍵部分代碼, 從最近做的項(xiàng)目里面摘出來(lái)的。
    這部分內(nèi)容推薦看一本書(shū)《音視頻進(jìn)階開(kāi)發(fā)指南Android和iOS》
    c++

這里我定義了一個(gè)snode結(jié)構(gòu)體來(lái)存儲(chǔ)YUV數(shù)據(jù)蝎宇,這個(gè)自己也可以寫(xiě);

還有一個(gè)經(jīng)常被忽略的問(wèn)題:記住處理內(nèi)存泄露的問(wèn)題脉执,如果常年不寫(xiě)c++的話(huà)可能會(huì)忽視掉這個(gè)問(wèn)題踢代。 用PS檢測(cè)內(nèi)存泄露情況盲憎,跑上個(gè)十來(lái)八個(gè)小時(shí)的看下內(nèi)存變換情況; 但是如果你常年寫(xiě)java,php,python操作系統(tǒng)課本不扎實(shí)的話(huà)就得回頭好好補(bǔ)補(bǔ)了,代碼風(fēng)騷的背后需要理論功底去突破瓶頸胳挎,不需要背名詞饼疙,但要記原理

        if (open_ret1 >= 0 ) {
                avcodec_decode_video2(rtspVideoCodecContext, v_frame, &got_picture, read_packet);
                printf("1\n");
                if (got_picture) {
                    // Init And Define YUV INFO
                    /* 
                    snode->luma = new unsigned char[width*height];
                    snode->chromaB = new unsigned char[width*height/4];
                    snode->chromaR = new unsigned char[width*height/4];
                    */

                    printf("alloc ok\n");
                    unsigned int height = rtspVideoCodecContext->height;
                    unsigned int width = rtspVideoCodecContext->width;
                    printf("decode video ok:%d,%d\n",width,height);

                    if (snode->luma != NULL) delete []snode->luma;
                    if (snode->chromaB != NULL) delete []snode->chromaB;
                    if (snode->chromaR != NULL) delete []snode->chromaR;
                    snode->luma = NULL;
                    snode->chromaB = NULL; 
                    snode->chromaR = NULL; 

                    snode->luma = new char[width*height];
                    snode->chromaB = new char[width*height/4];
                    snode->chromaR = new char[width*height/4];

                    int i;
                    for (i = 0; i<height; i++) {
                        memcpy(snode->luma + width*i, v_frame->data[0] + i * v_frame->linesize[0], width);
                        //memcpy(snode->luma + a, v_frame->data[0] + i * v_frame->linesize[0], width);
                    }
                    for (i = 0; i<height / 2; i++) {
                        memcpy(snode->chromaB + width/2*i, v_frame->data[1] + i * v_frame->linesize[1], width / 2);
                        //memcpy(snode->chromaB + a, v_frame->data[1] + i * v_frame->linesize[1], width / 2);
                    }
                    for (i = 0; i<height / 2; i++) {
                        memcpy(snode->chromaR + width/2*i, v_frame->data[2] + i * v_frame->linesize[2], width / 2);
                        //memcpy(snode->chromaR + a, v_frame->data[2] + i * v_frame->linesize[2], width / 2);
                    }

                    snode->luma_length = width*height;
                    snode->chromaB_length = (width*height)/4;
                    snode->chromaR_length = (width*height)/4;

                    snode->pts = read_packet->pts;
                    snode->width = width;
                    snode->height = height;

                    printf("decode video ok:%d,%d\n%d,%d,%d\n",width,height,snode->luma_length,snode->chromaB_length,snode->chromaR_length);

                    printf("set data ok\n");
                    printf("===>%d\n",snode->pts);
                    //exit(0);
                } // if got_pic
            }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末慕爬,一起剝皮案震驚了整個(gè)濱河市窑眯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌医窿,老刑警劉巖磅甩,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異姥卢,居然都是意外死亡卷要,警方通過(guò)查閱死者的電腦和手機(jī)渣聚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)僧叉,“玉大人奕枝,你說(shuō)我怎么就攤上這事∑慷椋” “怎么了隘道?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)郎笆。 經(jīng)常有香客問(wèn)我谭梗,道長(zhǎng),這世上最難降的妖魔是什么题画? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任默辨,我火速辦了婚禮,結(jié)果婚禮上苍息,老公的妹妹穿的比我還像新娘。我一直安慰自己壹置,他們只是感情好竞思,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著钞护,像睡著了一般盖喷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上难咕,一...
    開(kāi)封第一講書(shū)人閱讀 49,071評(píng)論 1 285
  • 那天课梳,我揣著相機(jī)與錄音,去河邊找鬼余佃。 笑死暮刃,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的爆土。 我是一名探鬼主播椭懊,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼步势!你這毒婦竟也來(lái)了氧猬?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤坏瘩,失蹤者是張志新(化名)和其女友劉穎盅抚,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體倔矾,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡妄均,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丛晦。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡奕纫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出烫沙,到底是詐尸還是另有隱情匹层,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布锌蓄,位于F島的核電站升筏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏瘸爽。R本人自食惡果不足惜您访,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望剪决。 院中可真熱鬧灵汪,春花似錦、人聲如沸柑潦。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)渗鬼。三九已至览露,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間譬胎,已是汗流浹背差牛。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留堰乔,地道東北人偏化。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像浩考,于是被迫代替她去往敵國(guó)和親夹孔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 喜歡獨(dú)自行走在夜色中陌生的城市析孽,感受無(wú)聲的等待搭伤,沐浴著幻想,聆聽(tīng)遠(yuǎn)方絲絲溫柔的音樂(lè)袜瞬,青灰色夜的精靈或許正飛舞跳動(dòng)在...
    沁陽(yáng)老刀閱讀 222評(píng)論 0 2
  • 現(xiàn)在正是求職面試大熱之時(shí)贴谎,今天我們就來(lái)談一談工作面試時(shí)的套路。 在正式開(kāi)始面試之前最重要的是簡(jiǎn)歷季稳。簡(jiǎn)歷之所以稱(chēng)之為...
    職場(chǎng)青年閱讀 217評(píng)論 1 0
  • 大概是兩年前擅这,發(fā)現(xiàn)了微信還有公眾號(hào)功能。 一個(gè)公眾號(hào)就是一本雜志景鼠,人人都可以申請(qǐng)公眾號(hào)仲翎,相當(dāng)于人人都能辦雜志。 學(xué)...
    dexter2017閱讀 329評(píng)論 0 2
  • 讀書(shū)的境界與《射雕英雄傳》 金庸先生的作品铛漓,皆是武林上乘之作溯香,雖然我讀過(guò)的的不多,但是拜服其《射雕英雄傳》浓恶、《神雕...
    天行踐閱讀 305評(píng)論 0 0