コード例 #1
0
void TperspectiveSettings::createFilters(size_t filtersorder,Tfilters *filters,TfilterQueue &queue) const
{
    idffOnChange(idffs,filters,queue.temporary);
    if (is && show) {
        queueFilter<TimgFilterPerspective>(filtersorder,filters,queue);
    }
}
コード例 #2
0
void TdolbyDecoderSettings::createFilters(size_t filtersorder,Tfilters *filters,TfilterQueue &queue) const
{
    idffOnChange(idffs,filters,queue.temporary);
    if (is && show) {
        queueFilter<TaudioFilterDolbyDecoder2>(filtersorder,filters,queue);
    }
}
コード例 #3
0
void TlevelsSettings::createFilters(size_t filtersorder, Tfilters *filters, TfilterQueue &queue) const
{
    idffOnChange(idffs, filters, queue.temporary);
    if (show) {
        queueFilter<TimgFilterLevels>(filtersorder, filters, queue);
    }
}
コード例 #4
0
void TlfeCrossoverSettings::createFilters(size_t filtersorder, Tfilters *filters, TfilterQueue &queue) const
{
    idffOnChange(idffs, filters, queue.temporary);
    if (is && show) {
        queueFilter<TaudioFilterLFEcrossover>(filtersorder, filters, queue);
    }
}
コード例 #5
0
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);
        }
    }
}
コード例 #6
0
ファイル: TeqSettings.cpp プロジェクト: TheRyuu/ffdshow
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);
        }
    }
}
コード例 #7
0
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;
        }
    }
}
コード例 #8
0
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);
        }
    }
}
コード例 #9
0
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();
    }
}
コード例 #10
0
ファイル: TmixerSettings.cpp プロジェクト: TheRyuu/ffdshow
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;
        }
    }
}
コード例 #11
0
ファイル: Twinamp2settings.cpp プロジェクト: TheRyuu/ffdshow
void Twinamp2settings::createFilters(size_t filtersorder, Tfilters *filters, TfilterQueue &queue) const
{
    idffOnChange(idffs, filters, queue.temporary);
    queueFilter<TaudioFilterWinamp2>(filtersorder, filters, queue);
}