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

Khan's Notebook GCC/GNU/Linux Delphi/Window Java/Anywhere

路漫漫,長修遠,我們不能沒有錢
隨筆 - 173, 文章 - 0, 評論 - 257, 引用 - 0
數據加載中……

ffmpeg分析系列之一(注冊該注冊的)(轉載)

 (不知原始出處, 方便請告知, 此處轉載于 http://hi.baidu.com/monkeyifox)

hello,各位好,本人是一名嵌入式軟件工程師,目前正使用ffmpeg開發一款嵌入式多媒體播放器,《ffmpeg分析》系列博文是本人在閱讀ffmpeg源代碼時所做的筆記,希望對各位有點幫助。分析過程結合下面的例程:    http://dranger.com/ffmpeg/tutorial05.c 一. 調用av_register_all函數注冊所有的格式和編碼解碼器. 1.1 先調用avcodec_register_all函數注冊所有的編碼解碼器. 1. 下面列出與H264相關的注冊:

   // 注冊硬件加速器
     REGISTER_HWACCEL (H264_DXVA2, h264_dxva2);
     REGISTER_HWACCEL (H264_VAAPI, h264_vaapi);

    // 注冊解碼器
     REGISTER_DECODER (H264, h264);
     REGISTER_DECODER (H264_VDPAU, h264_vdpau);

    // 注冊編碼器
     REGISTER_ENCODER (LIBX264, libx264);

    // 注冊分析器
     REGISTER_PARSER (H264, h264);

    // 注冊位流分離器
     REGISTER_BSF (H264_MP4TOANNEXB, h264_mp4toannexb);


2. 下面列出注冊宏:

#define REGISTER_HWACCEL(X,x) { \
          extern AVHWAccel x##_hwaccel; \
          if(CONFIG_##X##_HWACCEL) av_register_hwaccel(&x##_hwaccel); }

#define REGISTER_ENCODER(X,x) { \
          extern AVCodec x##_encoder; \
          if(CONFIG_##X##_ENCODER) avcodec_register(&x##_encoder); }

#define REGISTER_DECODER(X,x) { \
          extern AVCodec x##_decoder; \
          if(CONFIG_##X##_DECODER) avcodec_register(&x##_decoder); }

#define REGISTER_ENCDEC(X,x) REGISTER_ENCODER(X,x); REGISTER_DECODER(X,x)

#define REGISTER_PARSER(X,x) { \
          extern AVCodecParser x##_parser; \
          if(CONFIG_##X##_PARSER) av_register_codec_parser(&x##_parser); }

#define REGISTER_BSF(X,x) { \
          extern AVBitStreamFilter x##_bsf; \
          if(CONFIG_##X##_BSF) av_register_bitstream_filter(&x##_bsf); }


3. 分析一下注冊函數, 以avcodec_register函數為例:

void avcodec_register(AVCodec *codec)
{
     AVCodec **p;
     avcodec_init();
     p = &first_avcodec;
    while (*p != NULL) p = &(*p)->next;
    *p = codec;
     codec->next = NULL;
}


   可以看到avcodec_register函數把輸入的AVCodec連成一個鏈表, 其它注冊函數與之類似, 就不多言了.
4. 上面調用了avcodec_init函數:

void avcodec_init(void)
{
    static int initialized = 0;

     if (initialized != 0)
        return;
     initialized = 1;

     dsputil_static_init ();
}


   這個函數只會真正執行一次. 5. 上面調用了dsputil_static_init函數:

av_cold void dsputil_static_init(void)
{
    int i;

     for(i=0;i<256;i++) ff_cropTbl[i + MAX_NEG_CROP] = i;
    for(i=0;i<MAX_NEG_CROP;i++) {
         ff_cropTbl[i] = 0;
         ff_cropTbl[i + MAX_NEG_CROP + 256] = 255;
    }

     for(i=0;i<512;i++) {
         ff_squareTbl[i] = (i - 256) * (i - 256);
    }

     for(i=0; i<64; i++) inv_zigzag_direct16[ff_zigzag_direct[i]]= i+1;
}

      可以看到, 它初始化了一些靜態數據. 1.2 注冊所有的格式和外部庫及協議.
1. 下面列出與H264相關的注冊:

   // 注冊分離器和混合器
     REGISTER_MUXDEMUX (H264, h264);

    // 注冊文件協議
     REGISTER_PROTOCOL (FILE, file);


2. 下面列出注冊宏:

#define REGISTER_MUXER(X,x) { \
    extern AVOutputFormat x##_muxer; \
    if(CONFIG_##X##_MUXER) av_register_output_format(&x##_muxer); }

#define REGISTER_DEMUXER(X,x) { \
    extern AVInputFormat x##_demuxer; \
    if(CONFIG_##X##_DEMUXER) av_register_input_format(&x##_demuxer); }

#define REGISTER_MUXDEMUX(X,x) REGISTER_MUXER(X,x); REGISTER_DEMUXER(X,x)

#define REGISTER_PROTOCOL(X,x) { \
    extern URLProtocol x##_protocol; \
    if(CONFIG_##X##_PROTOCOL) av_register_protocol(&x##_protocol); }


   這些注冊函數與avcodec_register函數類似, 就不多言了. @import url(http://m.shnenglu.com/cutesoft_client/cuteeditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

posted on 2012-12-14 01:18 Khan 閱讀(1295) 評論(0)  編輯 收藏 引用 所屬分類: GCC/G++ 、跨平臺開發 、周邊技術

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久久久久夜精品精品免费| 欧美黄色网络| 国产一区二区三区四区三区四| 欧美久久久久久久| 欧美日韩国产综合视频在线| 欧美成人免费在线观看| 欧美高清视频在线观看| 欧美日韩免费区域视频在线观看| 欧美日韩直播| 国产亚洲精品自拍| 精品99视频| 一二三区精品福利视频| 亚洲一区二区成人在线观看| 久久av老司机精品网站导航| 老巨人导航500精品| 亚洲韩国一区二区三区| 亚洲久久一区二区| 亚洲欧美国产高清| 欧美成人一区在线| 国产精品爽黄69| 亚洲国产裸拍裸体视频在线观看乱了中文 | 午夜精品久久99蜜桃的功能介绍| 亚洲欧美国产制服动漫| 久久精品视频播放| 欧美日韩大片| 狠狠色丁香久久综合频道| 亚洲美女视频在线免费观看| 久久av资源网| 亚洲美女在线视频| 久久国产欧美精品| 国产精品成人久久久久| 亚洲国产一区二区三区a毛片| 亚洲午夜免费视频| 亚洲成色精品| 欧美中文字幕视频| 国产精品理论片在线观看| 91久久久久久久久久久久久| 午夜激情综合网| 亚洲黄色影院| 欧美制服丝袜第一页| 国产亚洲在线| 亚洲日本中文字幕区| 午夜精品一区二区三区在线视| 女同性一区二区三区人了人一 | 久久精品一区二区三区中文字幕 | 久久xxxx| 亚洲视频二区| 欧美精品尤物在线| 在线精品高清中文字幕| 欧美一区二区三区四区在线观看地址 | 午夜精品网站| 欧美视频在线观看免费网址| 亚洲欧洲偷拍精品| 免费欧美电影| 久久综合色8888| 伊人一区二区三区久久精品| 久久精品国产69国产精品亚洲| 一区二区日韩欧美| 欧美日韩中国免费专区在线看| 亚洲精品美女在线| 亚洲国产精品精华液2区45| 欧美11—12娇小xxxx| 亚洲国产成人久久综合一区| 久久久噜噜噜| 久久精品国亚洲| 影音先锋亚洲一区| 免费看亚洲片| 欧美大成色www永久网站婷| 亚洲国产一区二区在线| 亚洲第一精品夜夜躁人人躁| 欧美a级在线| 夜夜嗨网站十八久久| 亚洲精品久久久久久久久久久久久 | 久久中文精品| 欧美国产日本| 欧美日韩国产不卡| 亚洲欧美另类国产| 亚洲香蕉网站| 激情婷婷欧美| 亚洲国产经典视频| 欧美视频在线观看 亚洲欧| 午夜精品久久久99热福利| 欧美一区影院| 亚洲欧洲日产国码二区| 一区二区欧美在线| 在线电影院国产精品| 日韩午夜三级在线| 国产欧美一区二区三区久久| 美女精品自拍一二三四| 欧美日韩伦理在线免费| 久久久久久网| 亚洲日本视频| 欧美大片免费观看| 国产精品99久久不卡二区| 亚洲一区自拍| 国产一区香蕉久久| 欧美激情五月| 国产伦精品一区二区三区视频孕妇 | 欧美亚一区二区| 久久精品91久久久久久再现| 久久嫩草精品久久久精品| 一区二区三区**美女毛片| 欧美一级一区| 99综合电影在线视频| 亚洲理论在线观看| 国产亚洲va综合人人澡精品| 亚洲国产视频直播| 国产一区二区精品久久99| 亚洲人午夜精品| 黑人中文字幕一区二区三区| 一区二区三区视频免费在线观看| 在线欧美三区| 亚洲欧美综合精品久久成人| 99re亚洲国产精品| 久久精品99国产精品| 亚洲图片在区色| 欧美1区3d| 久久免费国产| 国产精品一区二区在线| 亚洲精品一级| 亚洲国产精品女人久久久| 欧美有码在线视频| 午夜欧美电影在线观看| 欧美日韩三级| 亚洲激情在线激情| 一区国产精品| 久久精品亚洲一区二区三区浴池| 午夜精品影院在线观看| 欧美视频在线观看视频极品| 亚洲日韩欧美视频一区| 91久久一区二区| 久久久久综合| 久久中文久久字幕| 精品成人一区二区三区| 久久精品一区中文字幕| 久久字幕精品一区| 亚洲国产电影| 美女脱光内衣内裤视频久久影院 | 老司机成人网| 一区视频在线播放| 久久国产精品一区二区| 蜜桃av噜噜一区| 在线日韩中文| 欧美大胆成人| 99ri日韩精品视频| 亚洲淫性视频| 国产九九精品| 日韩天堂av| 欧美三级乱码| 午夜精品理论片| 久久人人爽人人| 亚洲日韩欧美一区二区在线| 久久亚洲精品中文字幕冲田杏梨| 久久精品1区| 欧美国产国产综合| 中日韩美女免费视频网址在线观看| 欧美日韩精品在线观看| 亚洲少妇诱惑| 久久久夜色精品亚洲| 在线观看亚洲精品视频| 欧美高清视频| 亚洲欧美日韩在线| 欧美黄色日本| 性色av一区二区三区在线观看| 国内精品国产成人| 免费一级欧美片在线播放| 一区二区三区国产在线| 久久免费高清| 亚洲先锋成人| 国内精品福利| 欧美母乳在线| 久久精品日韩| 99热这里只有成人精品国产| 久久久亚洲国产天美传媒修理工| 亚洲国产高清自拍| 国产精品久久久久久福利一牛影视| 欧美在线观看www| 亚洲另类在线视频| 鲁鲁狠狠狠7777一区二区| 日韩亚洲精品在线| 激情成人在线视频| 国产精品国码视频| 免费在线国产精品| 欧美在线精品免播放器视频| 亚洲片区在线| 久久爱91午夜羞羞| 亚洲综合大片69999| 亚洲片区在线| 在线观看91精品国产麻豆| 国产精品社区| 欧美午夜精品伦理| 欧美国产丝袜视频| 久久亚洲免费| 久久久99精品免费观看不卡| 欧美一区二区三区视频在线观看| 99精品国产99久久久久久福利| 影音先锋日韩精品| 国产欧美一区二区三区沐欲| 国产精品www网站| 欧美日韩免费视频|