📄 tglobalsettings.cpp.svn-base
字号:
FF_FOURCC1_OP(RGB2,rawv==1 || rawv==3 || rawv==FOURCC_RGB2,CODEC_ID_RGB2) \ FF_FOURCC1_OP(RGB3,rawv==1 || rawv==3 || rawv==FOURCC_RGB3,CODEC_ID_RGB3) \ FF_FOURCC1_OP(RGB5,rawv==1 || rawv==3 || rawv==FOURCC_RGB5,CODEC_ID_RGB5) \ FF_FOURCC1_OP(RGB6,rawv==1 || rawv==3 || rawv==FOURCC_RGB6,CODEC_ID_RGB6) \ FF_FOURCC1_OP(CLJR,rawv==1 || rawv==FOURCC_CLJR,CODEC_ID_CLJR) \ FF_FOURCC1_OP(Y800,rawv==1 || rawv==2 || rawv==FOURCC_Y800,CODEC_ID_Y800) \ FF_FOURCC1_OP(444P,rawv==1 || rawv==2 || rawv==FOURCC_444P,CODEC_ID_444P) \ FF_FOURCC1_OP(YV24,rawv==1 || rawv==2 || rawv==FOURCC_YV24,CODEC_ID_444P) \ FF_FOURCC1_OP(422P,rawv==1 || rawv==2 || rawv==FOURCC_422P,CODEC_ID_422P) \ FF_FOURCC1_OP(YV16,rawv==1 || rawv==2 || rawv==FOURCC_YV16,CODEC_ID_422P) \ FF_FOURCC1_OP(411P,rawv==1 || rawv==2 || rawv==FOURCC_411P,CODEC_ID_411P) \ FF_FOURCC1_OP(Y41B,rawv==1 || rawv==2 || rawv==FOURCC_Y41B,CODEC_ID_411P) \ FF_FOURCC1_OP(410P,rawv==1 || rawv==2 || rawv==FOURCC_410P,CODEC_ID_410P) \ FF_FOURCC1_OP(NV12,rawv==1 || rawv==2 || rawv==FOURCC_NV12,CODEC_ID_NV12) \ FF_FOURCC1_OP(NV21,rawv==1 || rawv==2 || rawv==FOURCC_NV12,CODEC_ID_NV21) \ /*FF_FOURCC1_OP(PAL1,rawv==1 || rawv==4 || rawv==FOURCC_PAL1,CODEC_ID_PAL1)*/ \ /*FF_FOURCC1_OP(PAL4,rawv==1 || rawv==4 || rawv==FOURCC_PAL4,CODEC_ID_PAL4)*/ \ /*FF_FOURCC1_OP(PAL8,rawv==1 || rawv==4 || rawv==FOURCC_PAL8,CODEC_ID_PAL8)*/ \ /* mencoder's raw formats */ \ FF_FOURCC1_OP(RGB24MPLAYER,rawv==1 || rawv==3 || rawv==FOURCC_RGB2,CODEC_ID_BGR2) \ FF_FOURCC1_OP(RGB32MPLAYER,rawv==1 || rawv==3 || rawv==FOURCC_RGB3,CODEC_ID_BGR3) \ FF_FOURCC1_OP(RGB15MPLAYER,rawv==1 || rawv==3 || rawv==FOURCC_RGB5,CODEC_ID_BGR5) \ FF_FOURCC1_OP(RGB16MPLAYER,rawv==1 || rawv==3 || rawv==FOURCC_RGB6,CODEC_ID_BGR6) \ /* exotic */ \ FF_FOURCC_OP (MP4S,divx & rawmask,c_mpeg4) \ FF_FOURCC_OP (M4S2,divx & rawmask,c_mpeg4) \ FF_FOURCC1_OP(COL1,div3 & rawmask,CODEC_ID_MSMPEG4V3) \ FF_FOURCC_OP (BLZ0,dx50 & rawmask,c_mpeg4) \ FF_FOURCC_OP (DXGM,dx50 & rawmask,c_mpeg4) \ FF_FOURCC_OP (3IV2,_3iv & rawmask,c_mpeg4) \ FF_FOURCC_OP (RMP4,_3iv & rawmask,c_mpeg4) \ FF_FOURCC_OP (DM4V,_3iv & rawmask,c_mpeg4) \ FF_FOURCC_OP (HDX4,_3iv & rawmask,c_mpeg4) \ FF_FOURCC_OP (XVIX,xvid & rawmask,c_mpeg4) \ FF_FOURCC1_OP(DIV4,div3 & rawmask,CODEC_ID_MSMPEG4V3) \ FF_FOURCC1_OP(DIV5,div3 & rawmask,CODEC_ID_MSMPEG4V3) \ FF_FOURCC1_OP(DIV6,div3 & rawmask,CODEC_ID_MSMPEG4V3) \ FF_FOURCC1_OP(AP41,div3 & rawmask,CODEC_ID_MSMPEG4V3) \ FF_FOURCC1_OP(MPG3,div3 & rawmask,CODEC_ID_MSMPEG4V3) \ FF_FOURCC1_OP(DIV2,mp42 & rawmask,CODEC_ID_MSMPEG4V2) \ FF_FOURCC1_OP(MPG4,mp41 & rawmask,CODEC_ID_MSMPEG4V1) \ FF_FOURCC1_OP(DIV1,mp41 & rawmask,CODEC_ID_MSMPEG4V1) \#define FF_FOURCC_LIST(fourCC,decoder,codec) _l(#fourCC),const char_t* TglobalSettingsDecVideo::fourccs[]={ #undef FF_FOURCC_OP #undef FF_FOURCC1_OP #define FF_FOURCC_OP FF_FOURCC_LIST #define FF_FOURCC1_OP FF_FOURCC_LIST VIDEO_FOURCCS NULL}; const char_t** TglobalSettingsDecVideo::getFOURCClist(void) const{ return fourccs; }const CodecID TglobalSettingsDecVideo::c_mpeg4[IDFF_MOVIE_MAX+1]={ CODEC_ID_NONE, CODEC_ID_MPEG4, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_XVID4,};const CodecID TglobalSettingsDecVideo::c_mpeg1[IDFF_MOVIE_MAX+1]={ CODEC_ID_NONE, CODEC_ID_MPEG1VIDEO, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_LIBMPEG2};const CodecID TglobalSettingsDecVideo::c_mpeg2[IDFF_MOVIE_MAX+1]={ CODEC_ID_NONE, CODEC_ID_MPEG2VIDEO, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_LIBMPEG2};const CodecID TglobalSettingsDecVideo::c_theora[IDFF_MOVIE_MAX+1]={ CODEC_ID_NONE, CODEC_ID_THEORA, CODEC_ID_NONE, CODEC_ID_THEORA_LIB};void TglobalSettingsDecVideo::getCodecsList(Tstrptrs &codecs) const{ std::vector<CodecID> ids; #undef FF_FOURCC_OP #undef FF_FOURCC1_OP #define FF_FOURCC_OP(format,decoder,codecs) for (int j=0;j<=IDFF_MOVIE_MAX;j++) if (codecs[j]!=CODEC_ID_NONE) ids.push_back(codecs[j]); #define FF_FOURCC1_OP(format,decoder,codec) ids.push_back(codec); VIDEO_FOURCCS cleanupCodecsList(ids,codecs);}CodecID TglobalSettingsDecVideo::getCodecId(DWORD fourCC,FOURCC *AVIfourCC) const{ fourCC=FCCupper(fourCC); CodecID codecId=CODEC_ID_NONE; int rawmask=filtermode&IDFF_FILTERMODE_VIDEORAW?0:0xffff; switch(fourCC) { #undef FF_FOURCC_OP #undef FF_FOURCC1_OP #define FF_FOURCC_OP FF_FOURCC_CODEC #define FF_FOURCC1_OP FF_FOURCC1_CODEC VIDEO_FOURCCS default:return CODEC_ID_NONE; } if (codecId && AVIfourCC) *AVIfourCC=fourCC; return codecId; }//======================== TglobalSettingsDecVideo::TsubtitlesSettings ==========================TglobalSettingsDecVideo::TsubtitlesSettings::TsubtitlesSettings(TintStrColl *Icoll):Toptions(Icoll){ static const TintOptionT<TsubtitlesSettings> iopts[]= { IDFF_subTextpin ,&TsubtitlesSettings::textpin ,0,0,_l(""),0, _l("subTextpin"),0, IDFF_subTextpinSSA ,&TsubtitlesSettings::textpinSSA ,0,0,_l(""),0, _l("subTextpinSSA"),0, IDFF_subWatch ,&TsubtitlesSettings::watch ,0,0,_l(""),1, _l("subWatch"),0, IDFF_subSearchHeuristic,&TsubtitlesSettings::searchHeuristic,0,0,_l(""),1, _l("subSearchHeuristic"),0, 0 }; addOptions(iopts); static const TstrOption sopts[]= { IDFF_subSearchDir,(TstrVal)&TsubtitlesSettings::searchDir,2*MAX_PATH ,_l(""),0, _l("subSearchDir"),NULL, 0 }; addOptions(sopts); }void TglobalSettingsDecVideo::TsubtitlesSettings::getDefaultStr(int id,char_t *buf,size_t buflen){ if (id==IDFF_subSearchDir) { TregOpRegRead tt(HKEY_LOCAL_MACHINE,_l("SOFTWARE\\PRR\\DivXG400")); tt._REG_OP_S(0,_l("SubPath"),buf,buflen,_l(".")); } }//=================================== TglobalSettingsDecAudio ===================================TglobalSettingsDecAudio::TglobalSettingsDecAudio(const Tconfig *Iconfig,int Imode,TintStrColl *Icoll,const char_t *Ireg_child):TglobalSettingsDec(Iconfig,Imode,Ireg_child,Icoll,&osd),osd(Icoll){ static const TintOptionT<TglobalSettingsDecAudio> iopts[]= { IDFF_wma7 ,&TglobalSettingsDecAudio::wma1 ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_wma8 ,&TglobalSettingsDecAudio::wma2 ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_mp3 ,&TglobalSettingsDecAudio::mp3 ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_mp2 ,&TglobalSettingsDecAudio::mp2 ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_ac3 ,&TglobalSettingsDecAudio::ac3 ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_dts ,&TglobalSettingsDecAudio::dts ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_aac ,&TglobalSettingsDecAudio::aac ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_amr ,&TglobalSettingsDecAudio::amr ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_iadpcm ,&TglobalSettingsDecAudio::iadpcm ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_msadpcm ,&TglobalSettingsDecAudio::msadpcm ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_otherAdpcm ,&TglobalSettingsDecAudio::otherAdpcm ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_law ,&TglobalSettingsDecAudio::law ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_gsm ,&TglobalSettingsDecAudio::gsm ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_lpcm ,&TglobalSettingsDecAudio::lpcm ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_flac ,&TglobalSettingsDecAudio::flac ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_tta ,&TglobalSettingsDecAudio::tta ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_qdm2 ,&TglobalSettingsDecAudio::qdm2 ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_mace ,&TglobalSettingsDecAudio::mace ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_truespeech ,&TglobalSettingsDecAudio::truespeech ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_vorbis ,&TglobalSettingsDecAudio::vorbis ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_avisA ,&TglobalSettingsDecAudio::avis ,0,IDFF_MOVIE_MAX,_l(""),0,NULL,0, IDFF_rawa ,&TglobalSettingsDecAudio::rawa ,0,0 ,_l(""),0,NULL,0, IDFF_showCurrentVolume ,&TglobalSettingsDecAudio::showCurrentVolume ,0,0 ,_l(""),0, _l("showCurrentVolume"),0, IDFF_showCurrentFFT ,&TglobalSettingsDecAudio::showCurrentFFT ,0,0 ,_l(""),0, _l("showCurrentFFT"),0, IDFF_firIsUserDisplayMaxFreq,&TglobalSettingsDecAudio::firIsUserDisplayMaxFreq,0,0 ,_l(""),0, _l("firIsUserDisplayMaxFreq"),0, IDFF_firUserDisplayMaxFreq ,&TglobalSettingsDecAudio::firUserDisplayMaxFreq ,1,192000/2 ,_l(""),0, _l("firUserDisplayMaxFreq"),48000, IDFF_isAudioSwitcher ,&TglobalSettingsDecAudio::isAudioSwitcher ,0,0 ,_l(""),0, _l("isAudioSwitcher"),0, IDFF_alwaysextensible ,&TglobalSettingsDecAudio::alwaysextensible ,0,0 ,_l(""),0, _l("alwaysextensible"),1, IDFF_allowOutStream ,&TglobalSettingsDecAudio::allowOutStream ,0,0 ,_l(""),0, _l("allowOutStream"),1, IDFF_ac3drc ,&TglobalSettingsDecAudio::ac3drc ,0,0 ,_l(""),0, _l("ac3drc"),1, IDFF_dtsdrc ,&TglobalSettingsDecAudio::dtsdrc ,0,0 ,_l(""),0, _l("dtsdrc"),1, IDFF_dtsinwav ,&TglobalSettingsDecAudio::dtsinwav ,0,0 ,_l(""),0, _l("dtsinwav"),1, IDFF_vorbisgain ,&TglobalSettingsDecAudio::vorbisgain ,0,0 ,_l(""),0, _l("vorbisgain"),0, 0 }; addOptions(iopts); static const TstrOption sopts[]= { IDFF_winamp2dir,(TstrVal)&TglobalSettingsDecAudio::winamp2dir,MAX_PATH,_l(""),0, _l("winamp2dir"),NULL, 0 }; addOptions(sopts); }int TglobalSettingsDecAudio::getDefault(int id){ switch (id) { case IDFF_multipleInstances:return filtermode&IDFF_FILTERMODE_AUDIORAW?0:1; default:return TglobalSettingsDec::getDefault(id); }}void TglobalSettingsDecAudio::getDefaultStr(int id,char_t *buf,size_t buflen){ if (id==IDFF_winamp2dir) { TregOpRegRead wt(HKEY_CURRENT_USER,_l("Software\\Winamp")); wt._REG_OP_S(0,NULL,buf,buflen,_l("")); } else TglobalSettingsDec::getDefaultStr(id,buf,buflen); }void TglobalSettingsDecAudio::reg_op_codec(TregOp &t,TregOp *t2){ _reg_op_codec(IDFF_wma7 ,t,t2,_l("wma1") ,wma1 ,0); _reg_op_codec(IDFF_wma8 ,t,t2,_l("wma2") ,wma2 ,0); _reg_op_codec(IDFF_mp2 ,t,t2,_l("mp2") ,mp2 ,0); _reg_op_codec(IDFF_mp3 ,t,t2,_l("mp3") ,mp3 ,0); _reg_op_codec(IDFF_ac3 ,t,t2,_l("ac3") ,ac3 ,IDFF_MOVIE_LIBA52); _reg_op_codec(IDFF_dts ,t,t2,_l("dts") ,dts ,IDFF_MOVIE_LIBDTS); _reg_op_codec(IDFF_aac ,t,t2,_l("aac") ,aac ,0); _reg_op_codec(IDFF_amr ,t,t2,_l("amr") ,amr ,0); _reg_op_codec(IDFF_iadpcm ,t,t2,_l("iadpcm") ,iadpcm ,IDFF_MOVIE_LAVC); _reg_op_codec(IDFF_msadpcm ,t,t2,_l("msadpcm") ,msadpcm ,0); _reg_op_codec(IDFF_otherAdpcm,t,t2,_l("otherAdpcm"),otherAdpcm,0); _reg_op_codec(IDFF_law ,t,t2,_l("law") ,law ,0); _reg_op_codec(IDFF_gsm ,t,t2,_l("gsm") ,gsm ,0); _reg_op_codec(IDFF_lpcm ,t,t2,_l("lpcm") ,lpcm ,0); _reg_op_codec(IDFF_flac ,t,t2,_l("flac") ,flac ,0); _reg_op_codec(IDFF_tta ,t,t2,_l("tta") ,tta ,0); _reg_op_codec(IDFF_qdm2 ,t,t2,_l("qdm2") ,qdm2 ,0); _reg_op_codec(IDFF_mace ,t,t2,_l("mace") ,mace ,0); _reg_op_codec(IDFF_truespeech,t,t2,_l("truespeech"),truespeech,0); _reg_op_codec(IDFF_vorbis ,t,t2,_l("vorbis") ,vorbis ,0); _reg_op_codec(IDFF_avisA ,t,t2,_l("avis") ,avis ,IDFF_MOVIE_AVIS); _reg_op_codec(IDFF_rawa ,t,t2,filtermode&IDFF_FILTERMODE_AUDIORAW?_l("raw_rawa"):_l("rawa"),rawa,filtermode&IDFF_FILTERMODE_AUDIORAW?IDFF_MOVIE_RAW:0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -