⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tglobalsettings.cpp

📁 从FFMPEG转换而来的H264解码程序,VC下编译..
💻 CPP
📖 第 1 页 / 共 4 页
字号:
 std::sort(codecs.begin(),codecs.end());
 Tstrptrs::iterator codecsend=std::unique(codecs.begin(),codecs.end());
 codecs.erase(codecsend,codecs.end());
 std::sort(codecs.begin(),codecs.end(),compStrPtrs);
}

//=================================== TglobalSettingsDecVideo ===================================
TglobalSettingsDecVideo::TglobalSettingsDecVideo(const Tconfig *Iconfig,int Imode,TintStrColl *Icoll):TglobalSettingsDec(Iconfig,Imode,Imode&IDFF_FILTERMODE_VFW?FFDSHOWDECVIDEOVFW:FFDSHOWDECVIDEO,Icoll,&osd),sub(Icoll),osd(Icoll)
{
 static const TintOptionT<TglobalSettingsDecVideo> iopts[]=
  {
   IDFF_buildHistogram ,&TglobalSettingsDecVideo::buildHistogram ,0,0,_l(""),0,
     _l("buildHistogram"),0,
   IDFF_xvid           ,&TglobalSettingsDecVideo::xvid           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_div3           ,&TglobalSettingsDecVideo::div3           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_dx50           ,&TglobalSettingsDecVideo::dx50           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_mp4v           ,&TglobalSettingsDecVideo::mp4v           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_fvfw           ,&TglobalSettingsDecVideo::fvfw           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_mp43           ,&TglobalSettingsDecVideo::mp43           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_mp42           ,&TglobalSettingsDecVideo::mp42           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_mp41           ,&TglobalSettingsDecVideo::mp41           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_h263           ,&TglobalSettingsDecVideo::h263           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_h264           ,&TglobalSettingsDecVideo::h264           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_h261           ,&TglobalSettingsDecVideo::h261           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_wmv1           ,&TglobalSettingsDecVideo::wmv1           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_wmv2           ,&TglobalSettingsDecVideo::wmv2           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_wmv3           ,&TglobalSettingsDecVideo::wmv3           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_wvc1           ,&TglobalSettingsDecVideo::wvc1           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_mss2           ,&TglobalSettingsDecVideo::mss2           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_wvp2           ,&TglobalSettingsDecVideo::wvp2           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_vp5            ,&TglobalSettingsDecVideo::vp5            ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_vp6            ,&TglobalSettingsDecVideo::vp6            ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_vp6f           ,&TglobalSettingsDecVideo::vp6f           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_cavs           ,&TglobalSettingsDecVideo::cavs           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_mjpg           ,&TglobalSettingsDecVideo::mjpg           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_avrn           ,&TglobalSettingsDecVideo::avrn           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_dvsd           ,&TglobalSettingsDecVideo::dvsd           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_cdvc           ,&TglobalSettingsDecVideo::cdvc           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_hfyu           ,&TglobalSettingsDecVideo::hfyu           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_cyuv           ,&TglobalSettingsDecVideo::cyuv           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_asv1           ,&TglobalSettingsDecVideo::asv1           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_vcr1           ,&TglobalSettingsDecVideo::vcr1           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_mpg1           ,&TglobalSettingsDecVideo::mpg1           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_mpg2           ,&TglobalSettingsDecVideo::mpg2           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_mpegAVI        ,&TglobalSettingsDecVideo::mpegAVI        ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_em2v           ,&TglobalSettingsDecVideo::em2v           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_theo           ,&TglobalSettingsDecVideo::theo           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_svq1           ,&TglobalSettingsDecVideo::svq1           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_svq3           ,&TglobalSettingsDecVideo::svq3           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_qtrpza         ,&TglobalSettingsDecVideo::qtrpza         ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_cram           ,&TglobalSettingsDecVideo::cram           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_rt21           ,&TglobalSettingsDecVideo::rt21           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_iv32           ,&TglobalSettingsDecVideo::iv32           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_cvid           ,&TglobalSettingsDecVideo::cvid           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_rv10           ,&TglobalSettingsDecVideo::rv10           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_ffv1           ,&TglobalSettingsDecVideo::ffv1           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_vp3            ,&TglobalSettingsDecVideo::vp3            ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_rle            ,&TglobalSettingsDecVideo::rle            ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_mszh           ,&TglobalSettingsDecVideo::mszh           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_zlib           ,&TglobalSettingsDecVideo::zlib           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_flv1           ,&TglobalSettingsDecVideo::flv1           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_8bps           ,&TglobalSettingsDecVideo::_8bps          ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_png1           ,&TglobalSettingsDecVideo::png1           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_qtrle          ,&TglobalSettingsDecVideo::qtrle          ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_duck           ,&TglobalSettingsDecVideo::duck           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_tscc           ,&TglobalSettingsDecVideo::tscc           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_qpeg           ,&TglobalSettingsDecVideo::qpeg           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_loco           ,&TglobalSettingsDecVideo::loco           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_wnv1           ,&TglobalSettingsDecVideo::wnv1           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_cscd           ,&TglobalSettingsDecVideo::cscd           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_zmbv           ,&TglobalSettingsDecVideo::zmbv           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_ulti           ,&TglobalSettingsDecVideo::ulti           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_vixl           ,&TglobalSettingsDecVideo::vixl           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_aasc           ,&TglobalSettingsDecVideo::aasc           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_fps1           ,&TglobalSettingsDecVideo::fps1           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_snow           ,&TglobalSettingsDecVideo::snow           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_avisV          ,&TglobalSettingsDecVideo::avis           ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0,
   IDFF_rawv           ,&TglobalSettingsDecVideo::rawv           ,0,0,_l(""),0,
     NULL,0,
   IDFF_supDVDdec      ,&TglobalSettingsDecVideo::supdvddec      ,0,0,_l(""),0,
     _l("supDVDdec"),0,
   IDFF_fastMpeg2      ,&TglobalSettingsDecVideo::fastMpeg2      ,0,0,_l(""),1,
     _l("fastMpeg2"),0,
   IDFF_fastH264       ,&TglobalSettingsDecVideo::fastH264       ,0,3,_l(""),1,
     _l("fastH264"),0,
   IDFF_libtheoraPostproc,&TglobalSettingsDecVideo::libtheoraPostproc ,0,0,_l(""),1,
     _l("libtheoraPostproc"),0,
   0
  };
 addOptions(iopts);
}

void TglobalSettingsDecVideo::reg_op(TregOp &t)
{
 TglobalSettingsDec::reg_op(t);
 sub.reg_op(t);
}

int TglobalSettingsDecVideo::getDefault(int id)
{
 switch (id)
  {
   case IDFF_multipleInstances:return filtermode&IDFF_FILTERMODE_VIDEORAW?0:2;
   default:return TglobalSettingsDec::getDefault(id);
  }
}

void TglobalSettingsDecVideo::reg_op_codec(TregOp &t,TregOp *t2)
{
 _reg_op_codec(IDFF_xvid,t,t2,_l("xvid"),xvid,0);
 _reg_op_codec(IDFF_div3,t,t2,_l("div3"),div3,0);
 _reg_op_codec(IDFF_dx50,t,t2,_l("dx50"),dx50,0);
 _reg_op_codec(IDFF_mp4v,t,t2,_l("mp4v"),mp4v,0);
 _reg_op_codec(IDFF_mp43,t,t2,_l("mp43"),mp43,0);
 _reg_op_codec(IDFF_mp42,t,t2,_l("mp42"),mp42,0);
 _reg_op_codec(IDFF_mp41,t,t2,_l("mp41"),mp41,0);
 _reg_op_codec(IDFF_h261,t,t2,_l("h261"),h261,0);
 _reg_op_codec(IDFF_h263,t,t2,_l("h263"),h263,0);
 _reg_op_codec(IDFF_h264,t,t2,_l("h264"),h264,0);
 _reg_op_codec(IDFF_wmv1,t,t2,_l("wmv1"),wmv1,0);
 _reg_op_codec(IDFF_wmv2,t,t2,_l("wmv2"),wmv2,0);
 _reg_op_codec(IDFF_wmv3,t,t2,_l("wmv3"),wmv3,0);
 _reg_op_codec(IDFF_wvc1,t,t2,_l("wvc1"),wvc1,0);
 _reg_op_codec(IDFF_mss2,t,t2,_l("mss2"),mss2,0);
 _reg_op_codec(IDFF_wvp2,t,t2,_l("wvp2"),wvp2,0);
 _reg_op_codec(IDFF_vp5 ,t,t2,_l("vp5") ,vp5,0);
 _reg_op_codec(IDFF_vp6 ,t,t2,_l("vp6") ,vp6,0);
 _reg_op_codec(IDFF_vp6f,t,t2,_l("vp6f"),vp6f,0);
 _reg_op_codec(IDFF_cavs,t,t2,_l("cavs"),cavs,0);
 _reg_op_codec(IDFF_rawv,t,t2,filtermode&IDFF_FILTERMODE_VIDEORAW?_l("raw_rawv"):_l("rawv"),rawv,filtermode&IDFF_FILTERMODE_VIDEORAW?IDFF_MOVIE_RAW:0);
 _reg_op_codec(IDFF_mpg1,t,t2,_l("mpg1"),mpg1,0);
 _reg_op_codec(IDFF_mpg2,t,t2,_l("mpg2"),mpg2,0);
 _reg_op_codec(IDFF_mpegAVI,t,t2,_l("mpegAVI"),mpegAVI,0);
 _reg_op_codec(IDFF_em2v,t,t2,_l("em2v"),em2v,0);
 _reg_op_codec(IDFF_avrn,t,t2,_l("avrn"),avrn,0);
 _reg_op_codec(IDFF_mjpg,t,t2,_l("mjpg"),mjpg,0);
 _reg_op_codec(IDFF_dvsd,t,t2,_l("dvsd"),dvsd,0);
 _reg_op_codec(IDFF_cdvc,t,t2,_l("cdvc"),cdvc,0);
 _reg_op_codec(IDFF_hfyu,t,t2,_l("hfyu"),hfyu,0);
 _reg_op_codec(IDFF_cyuv,t,t2,_l("cyuv"),cyuv,0);
 _reg_op_codec(IDFF_theo,t,t2,_l("theo"),theo,IDFF_MOVIE_THEO);
 _reg_op_codec(IDFF_fvfw,t,t2,_l("fvfw"),fvfw,IDFF_MOVIE_LAVC);
 _reg_op_codec(IDFF_asv1,t,t2,_l("asv1"),asv1,0);
 _reg_op_codec(IDFF_vcr1,t,t2,_l("vcr1"),vcr1,0);
 _reg_op_codec(IDFF_svq1,t,t2,_l("svq1"),svq1,0);
 _reg_op_codec(IDFF_svq3,t,t2,_l("svq3"),svq3,0);
 _reg_op_codec(IDFF_qtrpza,t,t2,_l("qtrpza"),qtrpza,0);
 _reg_op_codec(IDFF_cram,t,t2,_l("cram"),cram,0);
 _reg_op_codec(IDFF_rt21,t,t2,_l("rt21"),rt21,0);
 _reg_op_codec(IDFF_iv32,t,t2,_l("iv32"),iv32,0);
 _reg_op_codec(IDFF_cvid,t,t2,_l("cvid"),cvid,0);
 _reg_op_codec(IDFF_rv10,t,t2,_l("rv10"),rv10,0);
 _reg_op_codec(IDFF_ffv1,t,t2,_l("ffv1"),ffv1,IDFF_MOVIE_LAVC);
 _reg_op_codec(IDFF_vp3 ,t,t2,_l("vp3") ,vp3 ,0);
 _reg_op_codec(IDFF_rle ,t,t2,_l("rle") ,rle ,0);
 _reg_op_codec(IDFF_avisV,t,t2,_l("avis"),avis,IDFF_MOVIE_AVIS);
 _reg_op_codec(IDFF_mszh,t,t2,_l("mszh"),mszh,0);
 _reg_op_codec(IDFF_zlib,t,t2,_l("zlib"),zlib,0);
 _reg_op_codec(IDFF_flv1,t,t2,_l("flv1"),flv1,0);
 _reg_op_codec(IDFF_8bps,t,t2,_l("8bps"),_8bps,0);
 _reg_op_codec(IDFF_png1,t,t2,_l("png1"),png1,0);
 _reg_op_codec(IDFF_qtrle,t,t2,_l("qtrle"),qtrle,0);
 _reg_op_codec(IDFF_duck,t,t2,_l("duck"),duck,0);
 _reg_op_codec(IDFF_tscc,t,t2,_l("tscc"),tscc,0);
 _reg_op_codec(IDFF_qpeg,t,t2,_l("qpeg"),qpeg,0);
 _reg_op_codec(IDFF_loco,t,t2,_l("loco"),loco,0);
 _reg_op_codec(IDFF_wnv1,t,t2,_l("wnv1"),wnv1,0);
 _reg_op_codec(IDFF_cscd,t,t2,_l("cscd"),cscd,0);
 _reg_op_codec(IDFF_zmbv,t,t2,_l("zmbv"),zmbv,0);
 _reg_op_codec(IDFF_ulti,t,t2,_l("ulti"),ulti,0);
 _reg_op_codec(IDFF_vixl,t,t2,_l("vixl"),vixl,0);
 _reg_op_codec(IDFF_aasc,t,t2,_l("aasc"),aasc,0);
 _reg_op_codec(IDFF_fps1,t,t2,_l("fps1"),fps1,0);
 _reg_op_codec(IDFF_snow,t,t2,_l("snow"),snow,0);
 _reg_op_codec(0,t,t2,_l("needCodecFix"),needCodecFix,1);
}

void TglobalSettingsDecVideo::fixNewCodecs(void)
{
 if (mpg1==2) mpg1=IDFF_MOVIE_LIBMPEG2;
 if (mpg2==2) mpg2=IDFF_MOVIE_LIBMPEG2;
 if (em2v==2) em2v=IDFF_MOVIE_LIBMPEG2;
 if (mpegAVI==2) mpegAVI=IDFF_MOVIE_LIBMPEG2;
 if (theo==1) theo=IDFF_MOVIE_THEO;
 //if (rawv==1 && forceInCSP!=0) rawv=forceInCSP;
}

void TglobalSettingsDecVideo::load(void)
{
 TglobalSettingsDec::load();
 if (needCodecFix)
  {
   fixNewCodecs();
   needCodecFix=0;
  }

 fixMissing(xvid,IDFF_MOVIE_LAVC,IDFF_MOVIE_XVID4);
 fixMissing(div3,IDFF_MOVIE_LAVC);
 fixMissing(dx50,IDFF_MOVIE_LAVC,IDFF_MOVIE_XVID4);
 fixMissing(mp4v,IDFF_MOVIE_LAVC,IDFF_MOVIE_XVID4);
 fixMissing(fvfw,IDFF_MOVIE_LAVC,IDFF_MOVIE_XVID4);
 fixMissing(mp43,IDFF_MOVIE_LAVC);
 fixMissing(mp42,IDFF_MOVIE_LAVC);
 fixMissing(mp41,IDFF_MOVIE_LAVC);
 fixMissing(h261,IDFF_MOVIE_LAVC);
 fixMissing(h263,IDFF_MOVIE_LAVC);
 fixMissing(h264,IDFF_MOVIE_LAVC);
 fixMissing(wmv1,IDFF_MOVIE_LAVC,IDFF_MOVIE_WMV9);
 fixMissing(wmv2,IDFF_MOVIE_LAVC,IDFF_MOVIE_WMV9);
 fixMissing(wmv3,IDFF_MOVIE_LAVC,IDFF_MOVIE_WMV9);
 fixMissing(wvc1,IDFF_MOVIE_LAVC,IDFF_MOVIE_WMV9);
 fixMissing(mss2,IDFF_MOVIE_WMV9);
 fixMissing(wvp2,IDFF_MOVIE_WMV9);
 fixMissing(vp5 ,IDFF_MOVIE_LAVC);
 fixMissing(vp6 ,IDFF_MOVIE_LAVC);
 fixMissing(vp6f,IDFF_MOVIE_LAVC);
 fixMissing(cavs,IDFF_MOVIE_LAVC);
 fixMissing(avrn,IDFF_MOVIE_LAVC);
 fixMissing(mjpg,IDFF_MOVIE_LAVC);
 fixMissing(dvsd,IDFF_MOVIE_LAVC);
 fixMissing(cdvc,IDFF_MOVIE_LAVC);
 fixMissing(hfyu,IDFF_MOVIE_LAVC);
 fixMissing(cyuv,IDFF_MOVIE_LAVC);
 fixMissing(asv1,IDFF_MOVIE_LAVC);
 fixMissing(vcr1,IDFF_MOVIE_LAVC);
 fixMissing(svq1,IDFF_MOVIE_LAVC);
 fixMissing(svq3,IDFF_MOVIE_LAVC);
 fixMissing(qtrpza,IDFF_MOVIE_LAVC);
 fixMissing(mpg1,IDFF_MOVIE_LAVC,IDFF_MOVIE_LIBMPEG2);
 fixMissing(mpg2,IDFF_MOVIE_LAVC,IDFF_MOVIE_LIBMPEG2);
 fixMissing(mpegAVI,IDFF_MOVIE_LAVC,IDFF_MOVIE_LIBMPEG2);
 fixMissing(em2v,IDFF_MOVIE_LAVC,IDFF_MOVIE_LIBMPEG2);
 fixMissing(theo,IDFF_MOVIE_LAVC,IDFF_MOVIE_THEO);
 fixMissing(cram,IDFF_MOVIE_LAVC);
 fixMissing(rt21,IDFF_MOVIE_LAVC);
 fixMissing(iv32,IDFF_MOVIE_LAVC);
 fixMissing(cvid,IDFF_MOVIE_LAVC);
 fixMissing(rv10,IDFF_MOVIE_LAVC);
 fixMissing(ffv1,IDFF_MOVIE_LAVC);
 fixMissing(vp3 ,IDFF_MOVIE_LAVC);
 fixMissing(rle ,IDFF_MOVIE_LAVC);
 fixMissing(mszh,IDFF_MOVIE_LAVC);
 fixMissing(zlib,IDFF_MOVIE_LAVC);
 fixMissing(flv1,IDFF_MOVIE_LAVC);
 fixMissing(_8bps,IDFF_MOVIE_LAVC);
 fixMissing(png1,IDFF_MOVIE_LAVC);
 fixMissing(qtrle,IDFF_MOVIE_LAVC);
 fixMissing(duck,IDFF_MOVIE_LAVC);
 fixMissing(tscc,IDFF_MOVIE_LAVC);
 fixMissing(qpeg,IDFF_MOVIE_LAVC);
 fixMissing(loco,IDFF_MOVIE_LAVC);
 fixMissing(wnv1,IDFF_MOVIE_LAVC);
 fixMissing(cscd,IDFF_MOVIE_LAVC);
 fixMissing(zmbv,IDFF_MOVIE_LAVC);
 fixMissing(ulti,IDFF_MOVIE_LAVC);
 fixMissing(vixl,IDFF_MOVIE_LAVC);
 fixMissing(aasc,IDFF_MOVIE_LAVC);
 fixMissing(fps1,IDFF_MOVIE_LAVC);
 fixMissing(avis,IDFF_MOVIE_AVIS);
 fixMissing(snow,IDFF_MOVIE_LAVC);
}

#define FF_FOURCC1_CODEC(fourCC1,decoder,codec)  \
 case FOURCC_##fourCC1:                          \
  codecId=(decoder)?codec:CODEC_ID_NONE;         \
  break;
#define FF_FOURCC_CODEC(fourCC1,decoder,codecs)  \
 case FOURCC_##fourCC1:                          \
  codecId=codecs[decoder];                       \
  break;

#define VIDEO_FOURCCS  \
 FF_FOURCC_OP (FFDS,fvfw & rawmask,c_mpeg4) \
 FF_FOURCC_OP (FVFW,fvfw & rawmask,c_mpeg4) \
 FF_FOURCC_OP (XVID,xvid & rawmask,c_mpeg4) \
 FF_FOURCC_OP (DIVX,dx50 & rawmask,c_mpeg4) \
 FF_FOURCC_OP (DX50,dx50 & rawmask,c_mpeg4) \
 FF_FOURCC_OP (MP4V,mp4v & rawmask,c_mpeg4) \
 FF_FOURCC_OP (3IVX,mp4v & rawmask,c_mpeg4) \
 FF_FOURCC_OP (WV1F,mp4v & rawmask,c_mpeg4) \
 FF_FOURCC_OP (FMP4,mp4v & rawmask,c_mpeg4) \
 FF_FOURCC_OP (SMP4,mp4v & rawmask,c_mpeg4) \
 FF_FOURCC1_OP(DIV3,div3 & rawmask,CODEC_ID_MSMPEG4V3) \
 FF_FOURCC1_OP(DVX3,div3 & rawmask,CODEC_ID_MSMPEG4V3) \
 FF_FOURCC1_OP(MP43,mp43 & rawmask,CODEC_ID_MSMPEG4V3) \
 FF_FOURCC1_OP(MP42,mp42 & rawmask,CODEC_ID_MSMPEG4V2) \
 FF_FOURCC1_OP(MP41,mp41 & rawmask,CODEC_ID_MSMPEG4V1) \
 FF_FOURCC_OP (WMV1,wmv1 & rawmask,c_wmv1) \
 FF_FOURCC_OP (WMV2,wmv2 & rawmask,c_wmv2) \
 FF_FOURCC_OP (WMV3,wmv3 & rawmask,c_wmv3) \
 FF_FOURCC1_OP(MSS1,mss2 & rawmask,CODEC_ID_WMV9_LIB) \
 FF_FOURCC1_OP(MSS2,mss2 & rawmask,CODEC_ID_WMV9_LIB) \
 FF_FOURCC1_OP(WVP2,wvp2 & rawmask,CODEC_ID_WMV9_LIB) \
 FF_FOURCC1_OP(WMVP,wvp2 & rawmask,CODEC_ID_WMV9_LIB) \
 FF_FOURCC_OP (WVC1,wvc1 & rawmask,c_wvc1) \
 FF_FOURCC1_OP(VP50,vp5 & rawmask,CODEC_ID_VP5) \
 FF_FOURCC1_OP(VP60,vp6 & rawmask,CODEC_ID_VP6) \
 FF_FOURCC1_OP(VP61,vp6 & rawmask,CODEC_ID_VP6) \
 FF_FOURCC1_OP(VP62,vp6 & rawmask,CODEC_ID_VP6) \
 FF_FOURCC1_OP(VP6F,vp6f & rawmask,CODEC_ID_VP6F) \
 FF_FOURCC1_OP(FLV4,vp6f & rawmask,CODEC_ID_VP6F) \
 FF_FOURCC1_OP(CAVS,cavs & rawmask,CODEC_ID_CAVS) \
 FF_FOURCC_OP (MPG1,mpg1 & rawmask,c_mpeg1) \
 FF_FOURCC_OP (MPG2,mpg2 & rawmask,c_mpeg2) \
 FF_FOURCC_OP (EM2V,em2v & rawmask,c_mpeg2) \
 FF_FOURCC_OP (MMES,em2v & rawmask,c_mpeg2) \
 FF_FOURCC_OP (MPEG,mpegAVI & rawmask,c_mpeg1) \
 FF_FOURCC1_OP(H263,h263 & rawmask,CODEC_ID_H263) \
 /*FF_FOURCC1_OP(I263,h263 & rawmask,CODEC_ID_H263I)*/ \
 FF_FOURCC1_OP(S263,h263 & rawmask,CODEC_ID_H263) \
 FF_FOURCC1_OP(L263,h263 & rawmask,CODEC_ID_H263) \
 FF_FOURCC1_OP(M263,h263 & rawmask,CODEC_ID_H263) \
 FF_FOURCC1_OP(U263,h263 & rawmask,CODEC_ID_H263) \
 FF_FOURCC1_OP(X263,h263 & rawmask,CODEC_ID_H263) \
 FF_FOURCC1_OP(H264,h264 & rawmask,CODEC_ID_H264) \
 FF_FOURCC1_OP(X264,h264 & rawmask,CODEC_ID_H264) \
 FF_FOURCC1_OP(VSSH,h264 & rawmask,CODEC_ID_H264) \
 FF_FOURCC1_OP(DAVC,h264 & rawmask,CODEC_ID_H264) \
 FF_FOURCC1_OP(PAVC,h264 & rawmask,CODEC_ID_H264) \
 FF_FOURCC1_OP(AVC1,h264 & rawmask,CODEC_ID_H264) \
 /*FF_FOURCC1_OP(SVM2,h264 & rawmask,CODEC_ID_H264)*/ \
 FF_FOURCC1_OP(MJPG,mjpg & rawmask,CODEC_ID_MJPEG) \
 FF_FOURCC1_OP(LJPG,mjpg & rawmask,CODEC_ID_MJPEG) \
 FF_FOURCC1_OP(MJLS,mjpg & rawmask,CODEC_ID_MJPEG) \
 FF_FOURCC1_OP(JPEG,(mjpg || svq1 || svq3) & rawmask,CODEC_ID_MJPEG) \
 FF_FOURCC1_OP(AVRN,avrn & rawmask,CODEC_ID_MJPEG) \
 FF_FOURCC1_OP(MJPA,avrn & rawmask,CODEC_ID_MJPEG) \
 FF_FOURCC1_OP(DVSD,dvsd & rawmask,CODEC_ID_DVVIDEO) \
 FF_FOURCC1_OP(DV25,dvsd & rawmask,CODEC_ID_DVVIDEO) \
 FF_FOURCC1_OP(DV50,dvsd & rawmask,CODEC_ID_DVVIDEO) \
 FF_FOURCC1_OP(CDVC,cdvc & rawmask,CODEC_ID_DVVIDEO) \
 FF_FOURCC1_OP(CDV5,cdvc & rawmask,CODEC_ID_DVVIDEO) \
 FF_FOURCC1_OP(DVIS,cdvc & rawmask,CODEC_ID_DVVIDEO) \
 FF_FOURCC1_OP(PDVC,cdvc & rawmask,CODEC_ID_DVVIDEO) \
 FF_FOURCC1_OP(HFYU,hfyu & rawmask,CODEC_ID_HUFFYUV) \

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -