青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 25, 文章 - 0, 評論 - 6, 引用 - 0
數據加載中……

ffplay 將視頻幀轉換成bmp圖片

static int video_thread2(void *arg)
{
    AVPacket pkt = { 0 };
    VideoState *is = (VideoState *)arg;
    AVFrame *pFrame = avcodec_alloc_frame();
    int64_t pts_int = AV_NOPTS_VALUE, pos = -1;
    double pts;
    int ret;
    
    for (;;) 
    {
        while (is->paused && !is->videoq.abort_request)
            SDL_Delay(10);
        
        avcodec_get_frame_defaults(pFrame);
        av_free_packet(&pkt);

        ret = get_video_frame(is, pFrame, &pts_int, &pkt);
        if (ret < 0)
            goto the_end;

        if (!ret)
            continue;

        pts = pts_int * av_q2d(is->video_st->time_base);
        ret = queue_picture(is, pFrame, pts, pkt.pos);

        if (ret < 0)
            goto the_end;

        if (is->step)
            stream_toggle_pause(is);
        
        int nWidth = pFrame->width;
        int nHeight = pFrame->height;
        AVPixelFormat srcfmt = (AVPixelFormat)pFrame->format;
        AVPixelFormat dstfmt = AV_PIX_FMT_BGR24;//AV_PIX_FMT_RGB24;//AV_PIX_FMT_BGR24;
        AVFrame *pFrameRGB;
        pFrameRGB = avcodec_alloc_frame();

//         int src_bytes_num = avpicture_get_size(srcfmt, nWidth, nHeight);
//         uint8_t* src_buff = (uint8_t*)av_malloc(src_bytes_num);
//         avpicture_fill((AVPicture*)pFrame, src_buff, srcfmt, nWidth, nHeight);

        int dst_bytes_num = avpicture_get_size(dstfmt, nWidth, nHeight);
        uint8_t* dst_buff = (uint8_t*)av_malloc(dst_bytes_num);
        avpicture_fill((AVPicture*)pFrameRGB, dst_buff, dstfmt, nWidth, nHeight);

        SwsContext* pSwsCtx = sws_getContext(nWidth, nHeight,
            srcfmt,
            nWidth, nHeight,
            dstfmt,
            SWS_BICUBIC,
            NULL,NULL,NULL);

        /// <轉換圖像格式>
        sws_scale(pSwsCtx, pFrame->data, pFrame->linesize, 0, nHeight, pFrameRGB->data, pFrameRGB->linesize);

        static int nnn = 0;
        
        if ((nnn++ % 5) == 0)
        {
            //saveAsBitmap(pFrameRGB, nWidth, nHeight, nnn);
        }
    }

the_end:
    avcodec_flush_buffers(is->video_st->codec);
    av_free_packet(&pkt);
    avcodec_free_frame(&pFrame);
    return 0;
}


bool saveAsBitmap(AVFrame *pFrameRGB, int width, int height, int iFrame)  
{  
    if (NULL == pFrameRGB->data[0])
    {
        return false;
    }

    FILE *pFile = NULL;  
    BITMAPFILEHEADER bmpheader;  
    BITMAPINFO bmpinfo;  

    char fileName[32];  
    int bpp = 24;  

    // open file  
    sprintf(fileName, "./images/frame%d.bmp", iFrame);  
    pFile = fopen(fileName, "wb");  
    if (!pFile)  
        return false;  

    bmpheader.bfType = ('M' <<8)|'B';  
    bmpheader.bfReserved1 = 0;  
    bmpheader.bfReserved2 = 0;  
    bmpheader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);  
    bmpheader.bfSize = bmpheader.bfOffBits + width*height*bpp/8;  

    bmpinfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);  
    bmpinfo.bmiHeader.biWidth = width;  
    bmpinfo.bmiHeader.biHeight = -height; //reverse the image  
    bmpinfo.bmiHeader.biPlanes = 1;  
    bmpinfo.bmiHeader.biBitCount = bpp;  
    bmpinfo.bmiHeader.biCompression = BI_RGB;  
    bmpinfo.bmiHeader.biSizeImage = 0;  
    bmpinfo.bmiHeader.biXPelsPerMeter = 100;  
    bmpinfo.bmiHeader.biYPelsPerMeter = 100;  
    bmpinfo.bmiHeader.biClrUsed = 0;  
    bmpinfo.bmiHeader.biClrImportant = 0;  

    fwrite(&bmpheader, sizeof(BITMAPFILEHEADER), 1, pFile);  
    fwrite(&bmpinfo.bmiHeader, sizeof(BITMAPINFOHEADER), 1, pFile);  
     uint8_t *buffer = pFrameRGB->data[0];  
//     for (int h=0; h<height; h++)  
//     {  
//         for (int w=0; w<width; w++)  
//         {  
//             fwrite(buffer+2, 1, 1, pFile);  
//             fwrite(buffer+1, 1, 1, pFile);  
//             fwrite(buffer, 1, 1, pFile);  
// 
//             buffer += 3;  
//         }  
//     }  

    fwrite(buffer,width*height*bpp/8,1,pFile);

    fclose(pFile);  

    return true;  

posted on 2014-08-21 22:21 chenjt3533 閱讀(844) 評論(0)  編輯 收藏 引用 所屬分類: C/C++

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一区二视频| 影音欧美亚洲| 午夜精品久久久久久久久| 亚洲欧美国产高清| 亚洲电影免费在线| 亚洲黑丝一区二区| 久久久精彩视频| 欧美久久一区| 日韩网站在线观看| 久久精品中文字幕免费mv| 亚洲一区二区三区四区五区黄| 麻豆精品视频在线观看| 美女主播视频一区| 久久天天躁狠狠躁夜夜av| 国产精品影视天天线| 亚洲国产精品欧美一二99| 日韩视频免费观看高清在线视频| 欧美午夜精品久久久久久浪潮| 欧美成人精品1314www| 亚洲专区在线| 欧美亚洲日本国产| 亚洲国产精品美女| 亚洲天堂成人在线观看| 国产欧美日韩精品一区| 久久一区二区三区四区五区| 欧美日韩国产在线播放| 亚洲天堂男人| 亚洲综合日韩| 亚洲全部视频| 美女精品在线| 国产精品99久久不卡二区| 欧美一级视频免费在线观看| 国产日韩在线播放| 免费成人在线视频网站| 一区二区三区.www| 欧美xart系列在线观看| 欧美激情一区二区三区蜜桃视频| 欧美日韩国产页| 亚洲破处大片| 欧美午夜视频一区二区| 欧美不卡高清| 国产日韩一级二级三级| 99亚洲一区二区| 中文一区二区| 欧美日韩日日骚| 99精品热视频| 欧美日韩国产专区| 亚洲淫片在线视频| 亚洲精品国产精品国自产观看| 麻豆精品视频在线观看| 久久久www成人免费精品| 亚洲少妇自拍| 一区二区三区免费看| 欧美激情免费观看| 久久精品91久久久久久再现| 午夜一区二区三区在线观看| 国产精品白丝黑袜喷水久久久 | 久久免费黄色| 老司机午夜精品视频在线观看| 国产日韩在线播放| 久久婷婷国产麻豆91天堂| 久热国产精品| 欧美国产一区二区| 免费看亚洲片| 久久在线观看视频| 欧美高清影院| 欧美插天视频在线播放| 亚洲美女一区| 亚洲一区二区三区高清不卡| 国产麻豆日韩| 久久九九热免费视频| 国产欧美精品xxxx另类| 一区二区三区日韩精品| 久久婷婷丁香| 午夜精品一区二区在线观看 | 免费视频亚洲| 亚洲精品欧洲精品| 国产日韩亚洲欧美精品| 久久久99精品免费观看不卡| 亚洲精品久久久久久一区二区 | 欧美一区综合| 久久最新视频| 欧美揉bbbbb揉bbbbb| 极品裸体白嫩激情啪啪国产精品| 久久精品国产欧美激情| 日韩一区二区免费高清| 99国产精品自拍| 美国十次了思思久久精品导航| 久久一日本道色综合久久| 久久精品99国产精品| 亚洲夜间福利| 中文av一区特黄| 欧美一区二区性| 午夜精品成人在线| 亚洲视频第一页| 日韩天堂av| 9国产精品视频| 午夜宅男欧美| 亚洲美女网站| 亚洲人成免费| 欧美色另类天堂2015| 亚洲国产一区在线| 欧美成人精品在线播放| 欧美 日韩 国产一区二区在线视频 | 一本色道久久综合亚洲精品高清 | 久久激情五月丁香伊人| 在线中文字幕一区| 一本大道久久a久久精二百| 日韩午夜高潮| 性做久久久久久久久| 亚洲图片在线观看| 国产日韩一区二区| 久久综合九色综合网站| 欧美激情2020午夜免费观看| 在线观看不卡| 亚洲乱码国产乱码精品精可以看| 欧美大片国产精品| 一区二区三区免费观看| 亚洲欧洲另类国产综合| 午夜精品久久久| 亚洲性夜色噜噜噜7777| 欧美一区二视频在线免费观看| 久久久之久亚州精品露出| 欧美国产91| 性色av一区二区三区| 免费一级欧美片在线播放| 国产乱码精品一区二区三区忘忧草 | 麻豆乱码国产一区二区三区| 亚洲毛片在线观看.| 亚洲一区二区动漫| 亚洲女同同性videoxma| 狠狠做深爱婷婷久久综合一区| 日韩午夜激情电影| 欧美一区二区啪啪| 亚洲国产老妈| 欧美激情成人在线| 欧美一区二区三区在线播放| 亚洲一区二区成人在线观看| 免费成人黄色| 亚洲国产精品久久久久婷婷老年 | 久久精品一区| 欧美激情精品久久久久久变态| 欧美日韩一区二区三区高清| 久久久国产精品一区二区中文 | 午夜一区二区三区在线观看| 欧美日韩视频在线| 亚洲一区二区三区精品在线观看| 午夜影视日本亚洲欧洲精品| 国产一本一道久久香蕉| 国产精品人人做人人爽人人添| 蜜桃久久精品一区二区| 国产一区在线视频| 欧美激情在线观看| 国产精品一区二区三区四区五区| 欧美一区二区三区视频在线| 国产一区二区三区四区五区美女| 欧美韩日一区二区| 亚洲在线电影| 久色成人在线| 欧美在线一二三区| 欧美成人一区二免费视频软件| 亚洲在线播放| 欧美国产日韩一区二区| 在线精品国产成人综合| 久久视频在线视频| 亚洲国内在线| 久久综合九色欧美综合狠狠| 日韩视频一区二区三区在线播放| 久久免费国产精品| 日韩一区二区免费高清| 国产一区视频在线看| 欧美日韩国产精品成人| 亚洲国内精品| 欧美成人在线影院| 久久久久久久久久久成人| 国产精品国产成人国产三级| 免费成人你懂的| 尤物网精品视频| 久久综合狠狠| 欧美成人综合在线| 亚洲经典自拍| 欧美丰满少妇xxxbbb| 欧美高清在线精品一区| 亚洲电影免费在线观看| 国产精品你懂的| 欧美gay视频激情| 亚洲美女黄网| 亚洲三级观看| 亚洲国产精品尤物yw在线观看 | 亚洲一区激情| 在线播放一区| 亚洲人成欧美中文字幕| 欧美日韩国产美| 亚洲伦理在线观看| 欧美一区在线视频| 国自产拍偷拍福利精品免费一| 久久九九精品| 日韩视频中午一区| 午夜精品一区二区三区在线播放| 亚洲国产专区|