Esempio n. 1
0
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);
}
Esempio n. 2
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);
        }
    }
}
Esempio n. 3
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);
        }
    }
}
Esempio n. 4
0
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);
        }
    }
}
Esempio n. 5
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;
        }
    }
}
Esempio n. 6
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();
    }
}
Esempio n. 7
0
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;
        }
    }
}
Esempio n. 8
0
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);
}