void TOSDsettingsAudio::createFilters(size_t filtersorder, Tfilters *filters, TfilterQueue &queue) const { if (!queue.temporary) { setOnChange(IDFF_isOSD, filters, &Tfilters::onQueueChange); } queueFilter<TaudioFilterOSD>(filtersorder, filters, queue); }
void TsubtitlesSettings::createFilters(size_t filtersorder, Tfilters *filters, TfilterQueue &queue) const { idffOnChange(idffs, filters, queue.temporary); if ((is && show) || filters->isdvdproc) { TimgFilterSubtitles *sub = queueFilter<TimgFilterSubtitles>(filtersorder, filters, queue); if (!queue.temporary) { setOnChange(IDFF_subAutoFlnm, sub, &TimgFilterSubtitles::onSubFlnmChange); setOnChange(IDFF_subIsMinDuration, sub, &TimgFilterSubtitles::onSubFlnmChange); setOnChange(IDFF_subMinDurationType, sub, &TimgFilterSubtitles::onSubFlnmChange); setOnChange(IDFF_subMinDurationSub, sub, &TimgFilterSubtitles::onSubFlnmChange); setOnChange(IDFF_subMinDurationLine, sub, &TimgFilterSubtitles::onSubFlnmChange); setOnChange(IDFF_subMinDurationChar, sub, &TimgFilterSubtitles::onSubFlnmChange); setOnChange(IDFF_subFilename, sub, &TimgFilterSubtitles::onSubFlnmChangeStr); setOnChange(IDFF_subTempFilename, sub, &TimgFilterSubtitles::onSubFlnmChangeStr); setOnChange(IDFF_subWordWrap, sub, &TimgFilterSubtitles::onSubFlnmChange); } } }
void TcropSettings::createFilters(size_t filtersorder,Tfilters *filters,TfilterQueue &queue) const { idffOnChange(idffs,filters,queue.temporary); if (is && show) { if (!queue.temporary) { setOnChange(IDFF_fullCropNzoom,filters,&Tfilters::onQueueChange); } if (full && (mode < 3 || mode > 5)) { // Do expand only if not in AutoCrop (autocrop code is located in TimgFilterCrop class) queueFilter<TimgFilterCropExpand>(filtersorder,filters,queue); } else { queueFilter<TimgFilterCrop>(filtersorder,filters,queue); } } }
void TeqSettings::createFilters(size_t filtersorder, Tfilters *filters, TfilterQueue &queue) const { idffOnChange(idffs, filters, queue.temporary); if (is && show) { if (!queue.temporary) { setOnChange(IDFF_eqSuper, filters, &Tfilters::onQueueChange); } if (super) { queueFilter<TaudioFilterEQsuper>(filtersorder, filters, queue); } else { queueFilter<TaudioFilterEQ>(filtersorder, filters, queue); } } }
void TwarpsharpSettings::createFilters(size_t filtersorder, Tfilters *filters, TfilterQueue &queue) const { idffOnChange(idffs, filters, queue.temporary); if (is && show) { if (!queue.temporary) { setOnChange(IDFF_warpsharpMethod, filters, &Tfilters::onQueueChange); } switch (method) { case WARPSHARP_FF: queueFilter<TimgFilterWarpsharp>(filtersorder, filters, queue); return; case WARPSHARP_A: queueFilter<TimgFilterAwarpsharp>(filtersorder, filters, queue); return; } } }
void TdeinterlaceSettings::createFilters(size_t filtersorder, Tfilters *filters, TfilterQueue &queue) const { idffOnChange(idffs, filters, queue.temporary); if (is && show) { if (!queue.temporary) { setOnChange(IDFF_deinterlaceMethod, filters, &Tfilters::onQueueChange); } queueFilter<TimgFilterDeinterlace>(filtersorder, filters, queue); switch (getMethod(cfgId).id) { case BYPASS: break; case TOMSMOCOMP_DEINT_FILTER: queueFilter<TimgFilterTomsMoComp>(filtersorder, filters, queue); return; case DGBOB_DEINT_FILTER: queueFilter<TimgFilterDGbob>(filtersorder, filters, queue); return; case FRAMERATEDOUBLER: queueFilter<TimgFilterFramerateDoubler>(filtersorder, filters, queue); return; case DSCALER: queueFilter<TimgFilterDScalerDI>(filtersorder, filters, queue); return; case KERNELDEINT: queueFilter<TimgFilterKernelDeint2>(filtersorder, filters, queue); return; case KERNELBOB: queueFilter<TimgFilterKernelBob>(filtersorder, filters, queue); return; case YADIF: queueFilter<TimgFilterYadif>(filtersorder, filters, queue); return; default: queueFilter<TimgFilterAvcodecDeinterlace>(filtersorder, filters, queue); return; //mplayer deinterlacers } } if (getMethod(cfgId).id != YADIF || !is || !show) { // Inform yadif filter that it is no longer in the filter queue. // FIXME create more generic function that call Tfilter::onRemoveFromFilterQueue. TimgFilterYadif *imgFilterYadif = filters->getFilter<TimgFilterYadif>(); imgFilterYadif->done(); } }
void TmixerSettings::createFilters(size_t filtersorder, Tfilters *filters, TfilterQueue &queue) const { idffOnChange(idffs, filters, queue.temporary); if (is && show) { if (!queue.temporary) { setOnChange(IDFF_mixerOut, filters, &Tfilters::onQueueChange); } switch (out) { case 17: queueFilter<TaudioFilterHeadphone>(filtersorder, filters, queue); break; case 18: queueFilter<TaudioFilterHeadphone2>(filtersorder, filters, queue); break; default: queueFilter<TaudioFilterMixer>(filtersorder, filters, queue); break; } } }
TcoSettings::TcoSettings(TintStrColl *Icoll): Toptions(Icoll), options(Icoll) { static const TintOptionT<TcoSettings> iopts[] = { IDFF_enc_mode , &TcoSettings::mode , 0, 5, _l(""), 1, _l("mode"), ENC_MODE::CBR, IDFF_enc_bitrate1000 , &TcoSettings::bitrate1000, 1, 10000, _l(""), 1, _l("bitrate1000"), 900, IDFF_enc_desiredSize , &TcoSettings::desiredSize, 1, 4 * 1024 * 1024, _l(""), 1, _l("desiredSize"), 570000, IDFF_enc_quant , &TcoSettings::quant , minQuant, maxQuant, _l(""), 1, _l("quant"), 2, IDFF_enc_qual , &TcoSettings::qual , 0, 100, _l(""), 1, _l("qual"), 85, IDFF_enc_codecId , &TcoSettings::codecId , 1, 10000, _l(""), 1, _l("codecId"), CODEC_ID_MJPEG, IDFF_enc_fourcc , (TintVal)&TcoSettings::fourcc , 1, 1, _l(""), 1, _l("fourcc"), FOURCC_MJPG, IDFF_enc_interlacing , &TcoSettings::interlacing , 0, 0, _l(""), 1, _l("interlacing"), 0, IDFF_enc_interlacing_tff , &TcoSettings::interlacing_tff , 0, 0, _l(""), 1, _l("interlacing_tff"), 0, IDFF_enc_gray , &TcoSettings::gray , 0, 0, _l(""), 1, _l("gray"), 0, IDFF_enc_huffyuv_csp , &TcoSettings::huffyuv_csp , 0, 1, _l(""), 1, _l("huffyuv_csp"), 1, IDFF_enc_huffyuv_pred , &TcoSettings::huffyuv_pred, 0, 2, _l(""), 1, _l("huffyuv_pred"), 1, IDFF_enc_huffyuv_ctx , &TcoSettings::huffyuv_ctx , 0, 1, _l(""), 1, _l("huffyuv_ctx"), 0, IDFF_enc_ljpeg_csp , &TcoSettings::ljpeg_csp , 0, 0, _l(""), 1, _l("ljpeg_csp"), FOURCC_YV12, IDFF_enc_ffv1_coder , &TcoSettings::ffv1_coder , 0, 1, _l(""), 1, _l("ffv1_coder"), 0, IDFF_enc_ffv1_context, &TcoSettings::ffv1_context, 0, 10, _l(""), 1, _l("ffv1_context"), 0, IDFF_enc_ffv1_key_interval, &TcoSettings::ffv1_key_interval, 1, 500, _l(""), 1, _l("ffv1_key_interval"), 10, IDFF_enc_ffv1_csp , &TcoSettings::ffv1_csp , 1, 1, _l(""), 1, _l("ffv1_csp"), FOURCC_YV12, IDFF_enc_dv_profile , &TcoSettings::dv_profile , DV_PROFILE_AUTO, countof(dv_profiles) - 1, _l(""), 1, _l("dv_profile"), DV_PROFILE_AUTO, IDFF_enc_forceIncsp, &TcoSettings::forceIncsp , 0, 0, _l(""), 1, _l("forceIncsp"), 0, IDFF_enc_incsp , &TcoSettings::incspFourcc, 1, 1, _l(""), 1, _l("incsp"), FOURCC_YV12, IDFF_enc_isProc , &TcoSettings::isProc , 0, 0, _l(""), 1, _l("isProc"), 0, IDFF_enc_flip , &TcoSettings::flip , 0, 0, _l(""), 1, _l("flip"), 0, IDFF_enc_dropFrames, &TcoSettings::dropFrames , 0, 0, _l(""), 1, _l("dropFrames"), 0, IDFF_enc_storeAVI , &TcoSettings::storeAVI , 0, 0, _l(""), 1, _l("storeAVI"), 1, IDFF_enc_storeExt , &TcoSettings::storeExt , 0, 0, _l(""), 1, _l("storeExt"), 0, IDFF_enc_muxer , &TcoSettings::muxer , 0, 4, _l(""), 1, _l("muxer"), Tmuxer::MUXER_FILE, IDFF_enc_q_i_min , &TcoSettings::q_i_min , minQuant, maxQuant, _l(""), 1, _l("q_i_min"), 2, IDFF_enc_q_i_max , &TcoSettings::q_i_max , minQuant, maxQuant, _l(""), 1, _l("q_i_max"), 31, IDFF_enc_i_quant_factor , &TcoSettings::i_quant_factor , -3100, 3100, _l(""), 1, _l("i_quant_factor"), -80, IDFF_enc_i_quant_offset , &TcoSettings::i_quant_offset , -3100, 3100, _l(""), 1, _l("i_quant_offset"), 0, IDFF_enc_dct_algo , &TcoSettings::dct_algo , 0, 4, _l(""), 1, _l("dct_algo"), 0, IDFF_enc_ff1_vratetol , &TcoSettings::ff1_vratetol , 1, 1024 * 10, _l(""), 1, _l("ff1_vratetol"), 1024, IDFF_enc_ff1_vqcomp , &TcoSettings::ff1_vqcomp , 0, 100, _l(""), 1, _l("ff1_vqcomp"), 50, IDFF_enc_ff1_vqblur1 , &TcoSettings::ff1_vqblur1 , 0, 100, _l(""), 1, _l("ff1_vqblur1"), 50, IDFF_enc_ff1_vqblur2 , &TcoSettings::ff1_vqblur2 , 0, 100, _l(""), 1, _l("ff1_vqblur2"), 50, IDFF_enc_ff1_vqdiff , &TcoSettings::ff1_vqdiff , 0, 31, _l(""), 1, _l("ff1_vqdiff"), 3, IDFF_enc_ff1_rc_squish , &TcoSettings::ff1_rc_squish , 0, 0, _l(""), 1, _l("ff1_rc_squish"), 0, IDFF_enc_ff1_rc_max_rate1000, &TcoSettings::ff1_rc_max_rate1000, 1, 1, _l(""), 1, _l("ff1_rc_max_rate1000"), 0, IDFF_enc_ff1_rc_min_rate1000, &TcoSettings::ff1_rc_min_rate1000, 1, 1, _l(""), 1, _l("ff1_rc_min_rate1000"), 0, IDFF_enc_ff1_rc_buffer_size , &TcoSettings::ff1_rc_buffer_size , 1, 1, _l(""), 1, _l("ff1_rc_buffer_size"), 0, IDFF_enc_is_lavc_nr , &TcoSettings::is_lavc_nr , 0, 0, _l(""), 1, _l("is_lavc_nr"), 0, IDFF_enc_lavc_nr , &TcoSettings::lavc_nr , 0, 10000, _l(""), 1, _l("lavc_nr"), 100, IDFF_enc_raw_fourcc, (TintVal)&TcoSettings::raw_fourcc, 0, 0, _l(""), 1, _l("raw_fourcc"), FOURCC_RGB2, 0, }; addOptions(iopts); setOnChange(IDFF_enc_forceIncsp, this, &TcoSettings::onIncspChange); setOnChange(IDFF_enc_incsp, this, &TcoSettings::onIncspChange); static const TcreateParamList1 listHuffYUVcaps(huffYUVcsps); setParamList(IDFF_enc_huffyuv_csp, &listHuffYUVcaps); static const TcreateParamList1 listHuffYUVpreds(huffYUVpreds); setParamList(IDFF_enc_huffyuv_pred, &listHuffYUVpreds); static const TcreateParamList1 listFFV1coders(ffv1coders); setParamList(IDFF_enc_ffv1_coder, &listFFV1coders); static const TcreateParamList1 listFFV1contexts(ffv1contexts); setParamList(IDFF_enc_ffv1_context, &listFFV1contexts); static const TcreateParamList2<TcspFcc> listFFV1csp(ffv1csps, &TcspFcc::name); setParamList(IDFF_enc_ffv1_csp, &listFFV1csp); static const TcreateParamList1 listMuxer(Tmuxer::muxers); setParamList(IDFF_enc_muxer, &listMuxer); }