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

📄 tglobalsettings.cpp.svn-base

📁 ffshow源码
💻 SVN-BASE
📖 第 1 页 / 共 4 页
字号:
}void TglobalSettingsDecAudio::load(void){ TglobalSettingsDec::load();  if (ac3==IDFF_MOVIE_MPLAYER || ac3==IDFF_MOVIE_LAVC) ac3=IDFF_MOVIE_LIBA52; fixMissing(wma1      ,IDFF_MOVIE_LAVC); fixMissing(wma2      ,IDFF_MOVIE_LAVC); fixMissing(amr       ,IDFF_MOVIE_LAVC); fixMissing(ac3       ,IDFF_MOVIE_LIBA52); fixMissing(dts       ,IDFF_MOVIE_LIBDTS); fixMissing(mp2       ,IDFF_MOVIE_MPLAYER,IDFF_MOVIE_LIBMAD,IDFF_MOVIE_AUDX); fixMissing(mp3       ,IDFF_MOVIE_MPLAYER,IDFF_MOVIE_LIBMAD,IDFF_MOVIE_AUDX); fixMissing(aac       ,IDFF_MOVIE_LIBFAAD,IDFF_MOVIE_REALAAC); fixMissing(avis      ,IDFF_MOVIE_AVIS); fixMissing(iadpcm    ,IDFF_MOVIE_LAVC); fixMissing(msadpcm   ,IDFF_MOVIE_LAVC); fixMissing(otherAdpcm,IDFF_MOVIE_LAVC); fixMissing(law       ,IDFF_MOVIE_LAVC); fixMissing(gsm       ,IDFF_MOVIE_LAVC); fixMissing(flac      ,IDFF_MOVIE_LAVC); fixMissing(tta       ,IDFF_MOVIE_LAVC); fixMissing(qdm2      ,IDFF_MOVIE_LAVC); fixMissing(mace      ,IDFF_MOVIE_LAVC); fixMissing(truespeech,IDFF_MOVIE_LAVC); fixMissing(vorbis    ,IDFF_MOVIE_LAVC,IDFF_MOVIE_TREMOR);}#define FF_WAVE_FORMAT1_CODEC(format,decoder,codec) \ case WAVE_FORMAT_##format:                         \  codecId=(decoder)?codec:CODEC_ID_NONE;            \  break;#define FF_WAVE_FORMAT_CODEC(format,decoder,codecs) \ case WAVE_FORMAT_##format:                         \  codecId=codecs[decoder];                          \  break;#define AUDIO_FOURCCS \ FF_WAVE_FORMAT1_OP(WMA7   ,wma1   & rawmask,CODEC_ID_WMAV1) \ FF_WAVE_FORMAT1_OP(WMA8   ,wma2   & rawmask,CODEC_ID_WMAV2) \ FF_WAVE_FORMAT_OP (MPEGLAYER3,mp3 & rawmask,c_mp123) \ FF_WAVE_FORMAT_OP (MPEG   ,mp2    & rawmask,c_mp123) \ FF_WAVE_FORMAT_OP (AC3_W  ,ac3    & rawmask,c_ac3) \ FF_WAVE_FORMAT_OP (DTS_W  ,dts    & rawmask,c_dts) \ FF_WAVE_FORMAT_OP (AAC1   ,aac    & rawmask,c_aac) \ FF_WAVE_FORMAT_OP (AAC2   ,aac    & rawmask,c_aac) \ FF_WAVE_FORMAT_OP (AAC3   ,aac    & rawmask,c_aac) \ FF_WAVE_FORMAT_OP (AAC4   ,aac    & rawmask,c_aac) \ FF_WAVE_FORMAT1_OP(AMR    ,amr    & rawmask,CODEC_ID_AMR_NB) \ FF_WAVE_FORMAT1_OP(SAMR   ,amr    & rawmask,CODEC_ID_AMR_NB) \ FF_WAVE_FORMAT1_OP(IMA_DK3,iadpcm & rawmask,CODEC_ID_ADPCM_IMA_DK3) \ FF_WAVE_FORMAT1_OP(IMA_WAV,iadpcm & rawmask,CODEC_ID_ADPCM_IMA_WAV) \ FF_WAVE_FORMAT1_OP(IMA_DK4,iadpcm & rawmask,CODEC_ID_ADPCM_IMA_DK4) \ FF_WAVE_FORMAT1_OP(IMA4   ,iadpcm & rawmask,CODEC_ID_ADPCM_IMA_QT) \ FF_WAVE_FORMAT1_OP(ADPCM  ,msadpcm& rawmask,CODEC_ID_ADPCM_MS) \ FF_WAVE_FORMAT1_OP(CREATIVE_ADPCM,otherAdpcm& rawmask,CODEC_ID_ADPCM_CT) \ FF_WAVE_FORMAT1_OP(YAMAHA_ADPCM  ,otherAdpcm& rawmask,CODEC_ID_ADPCM_YAMAHA) \ FF_WAVE_FORMAT1_OP(G726          ,otherAdpcm& rawmask,CODEC_ID_ADPCM_G726) \ FF_WAVE_FORMAT1_OP(ALAW   ,law    & rawmask,CODEC_ID_PCM_ALAW) \ FF_WAVE_FORMAT1_OP(MULAW  ,law    & rawmask,CODEC_ID_PCM_MULAW) \ /*FF_WAVE_FORMAT1_OP(QT_ULAW,law    & rawmask,CODEC_ID_PCM_MULAW)*/ \ FF_WAVE_FORMAT1_OP(GSM610 ,gsm    & rawmask,CODEC_ID_GSM_MS) \ /*FF_WAVE_FORMAT1_OP(QT_GSM ,gsm    & rawmask,CODEC_ID_GSM_MS)*/ \ FF_WAVE_FORMAT1_OP(FLAC   ,flac   & rawmask,CODEC_ID_FLAC) \ FF_WAVE_FORMAT1_OP(TTA    ,tta    & rawmask,CODEC_ID_TTA) \ FF_WAVE_FORMAT1_OP(QDM2   ,qdm2   & rawmask,CODEC_ID_QDM2) \ FF_WAVE_FORMAT1_OP(MAC3   ,mace   & rawmask,CODEC_ID_MACE3) \ FF_WAVE_FORMAT1_OP(MAC6   ,mace   & rawmask,CODEC_ID_MACE6) \ FF_WAVE_FORMAT1_OP(DSPGROUP_TRUESPEECH,truespeech & rawmask,CODEC_ID_TRUESPEECH) \ /*FF_WAVE_FORMAT1_OP(COOK   ,1   & rawmask,CODEC_ID_COOK)*/ \ FF_WAVE_FORMAT_OP (VORBIS  ,vorbis & rawmask,c_vorbis) \ FF_WAVE_FORMAT_OP (FFVORBIS,vorbis & rawmask,c_vorbis) \ /*FF_WAVE_FORMAT1_OP(VORBIS1 ,vorbis& rawmask,CODEC_ID_TREMOR)*/ \ /*FF_WAVE_FORMAT1_OP(VORBIS2 ,vorbis& rawmask,CODEC_ID_TREMOR)*/ \ /*FF_WAVE_FORMAT1_OP(VORBIS3 ,vorbis& rawmask,CODEC_ID_TREMOR)*/ \ /*FF_WAVE_FORMAT1_OP(VORBIS1P,vorbis& rawmask,CODEC_ID_TREMOR)*/ \ /*FF_WAVE_FORMAT1_OP(VORBIS2P,vorbis& rawmask,CODEC_ID_TREMOR)*/ \ /*FF_WAVE_FORMAT1_OP(VORBIS3P,vorbis& rawmask,CODEC_ID_TREMOR)*/ \ FF_WAVE_FORMAT1_OP(LPCM   ,lpcm   & rawmask,CODEC_ID_LPCM) \ FF_WAVE_FORMAT1_OP(AVIS   ,avis   & rawmask,CODEC_ID_AVISYNTH) \ FF_WAVE_FORMAT1_OP(PCM8   ,rawa==IDFF_MOVIE_RAW || rawa==(TsampleFormat::SF_ALLINT<<8) || rawa==(TsampleFormat::SF_PCM8 <<8),CODEC_ID_PCM) \ FF_WAVE_FORMAT1_OP(PCM16  ,rawa==IDFF_MOVIE_RAW || rawa==(TsampleFormat::SF_ALLINT<<8) || rawa==(TsampleFormat::SF_PCM16<<8),CODEC_ID_PCM) \ FF_WAVE_FORMAT1_OP(PCM24  ,rawa==IDFF_MOVIE_RAW || rawa==(TsampleFormat::SF_ALLINT<<8) || rawa==(TsampleFormat::SF_PCM24<<8),CODEC_ID_PCM) \ FF_WAVE_FORMAT1_OP(PCM32  ,rawa==IDFF_MOVIE_RAW || rawa==(TsampleFormat::SF_ALLINT<<8) || rawa==(TsampleFormat::SF_PCM32<<8),CODEC_ID_PCM) \ FF_WAVE_FORMAT1_OP(FLOAT32,rawa==IDFF_MOVIE_RAW || rawa==(TsampleFormat::SF_FLOAT32<<8) || rawa==(TsampleFormat::SF_ALLFLOAT<<8),CODEC_ID_PCM) \ FF_WAVE_FORMAT1_OP(FLOAT64,rawa==IDFF_MOVIE_RAW || rawa==(TsampleFormat::SF_FLOAT64<<8) || rawa==(TsampleFormat::SF_ALLFLOAT<<8),CODEC_ID_PCM)const char_t *TglobalSettingsDecAudio::wave_formats[]={ #undef FF_WAVE_FORMAT_OP #undef FF_WAVE_FORMAT1_OP #define FF_WAVE_FORMAT_OP  FF_FOURCC_LIST #define FF_WAVE_FORMAT1_OP FF_FOURCC_LIST AUDIO_FOURCCS NULL}; const char_t** TglobalSettingsDecAudio::getFOURCClist(void) const{ return wave_formats; }const CodecID TglobalSettingsDecAudio::c_mp123[IDFF_MOVIE_MAX+1]={ CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_MP3LIB, CODEC_ID_LIBMAD, CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_NONE,   CODEC_ID_AUDX   };const CodecID TglobalSettingsDecAudio::c_ac3[IDFF_MOVIE_MAX+1]={ CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_LIBA52, CODEC_ID_SPDIF_AC3};const CodecID TglobalSettingsDecAudio::c_dts[IDFF_MOVIE_MAX+1]={ CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_SPDIF_DTS, CODEC_ID_LIBDTS};const CodecID TglobalSettingsDecAudio::c_aac[IDFF_MOVIE_MAX+1]={ CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_LIBFAAD, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_NONE, CODEC_ID_REALAAC};const CodecID TglobalSettingsDecAudio::c_vorbis[IDFF_MOVIE_MAX+1]={ CODEC_ID_NONE, CODEC_ID_VORBIS,     CODEC_ID_NONE,   CODEC_ID_NONE,     CODEC_ID_NONE,      CODEC_ID_NONE, CODEC_ID_NONE,  CODEC_ID_NONE, CODEC_ID_NONE,   CODEC_ID_NONE,  CODEC_ID_NONE,    CODEC_ID_NONE,     CODEC_ID_NONE,     CODEC_ID_NONE,     CODEC_ID_NONE,     CODEC_ID_NONE,   CODEC_ID_NONE,    CODEC_ID_NONE,   CODEC_ID_TREMOR  };void TglobalSettingsDecAudio::getCodecsList(Tstrptrs &codecs) const{ std::vector<CodecID> ids; #undef FF_WAVE_FORMAT_OP #undef FF_WAVE_FORMAT1_OP #define FF_WAVE_FORMAT_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_WAVE_FORMAT1_OP(format,decoder,codec) ids.push_back(codec); AUDIO_FOURCCS cleanupCodecsList(ids,codecs);}CodecID TglobalSettingsDecAudio::getCodecId(DWORD fourCC,FOURCC*) const{ CodecID codecId=CODEC_ID_NONE; int rawmask=filtermode&IDFF_FILTERMODE_AUDIORAW?0:0xffff; switch(fourCC)  {   #undef FF_WAVE_FORMAT_OP   #undef FF_WAVE_FORMAT1_OP   #define FF_WAVE_FORMAT_OP FF_WAVE_FORMAT_CODEC   #define FF_WAVE_FORMAT1_OP FF_WAVE_FORMAT1_CODEC   AUDIO_FOURCCS   default:return CODEC_ID_NONE;  } return codecId; }//==================================== TglobalSettingsEnc ====================================TglobalSettingsEnc::TglobalSettingsEnc(const Tconfig *Iconfig,int Imode,TintStrColl *Icoll):TglobalSettingsBase(Iconfig,Imode,FFDSHOWENC,Icoll){ static const TintOptionT<TglobalSettingsEnc> iopts[]=  {   IDFF_enc_psnr         ,&TglobalSettingsEnc::psnr             ,0,0,_l(""),0,     _l("psnr"),0,   IDFF_isDyInterlaced   ,&TglobalSettingsEnc::isDyInterlaced   ,0,0,_l(""),0,     _l("isDyInterlaced"),0,   IDFF_dyInterlaced     ,&TglobalSettingsEnc::dyInterlaced     ,0,4096,_l(""),0,     _l("dyInterlaced"),288,   0  }; addOptions(iopts); }int TglobalSettingsEnc::getDefault(int id){ switch (id)  {   case IDFF_trayIcon:return 0;   case IDFF_multipleInstances:return 0;   default:return TglobalSettingsBase::getDefault(id);  }}

⌨️ 快捷键说明

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