Beispiel #1
0
TquantPage::TquantPage(TffdshowPageEnc *Iparent): TconfPageEnc(Iparent)
{
    dialogId = IDD_QUANT;
    static const int props[] = {IDFF_enc_q_i_min, IDFF_enc_q_i_max, IDFF_enc_i_quant_factor, IDFF_enc_i_quant_offset, IDFF_enc_isInterQuantBias, IDFF_enc_interQuantBias, IDFF_enc_isIntraQuantBias, IDFF_enc_intraQuantBias, IDFF_enc_dct_algo, 0};
    propsIDs = props;
    helpURL = _l("Quantization.html");
    static const TbindCheckbox<TquantPage> chb[] = {
        IDC_CHB_QUANT_INTER_BIAS, IDFF_enc_isInterQuantBias, &TquantPage::bias2dlg,
        IDC_CHB_QUANT_INTRA_BIAS, IDFF_enc_isIntraQuantBias, &TquantPage::bias2dlg,
        0, NULL, NULL
    };
    bindCheckboxes(chb);
    static const TbindEditInt<TquantPage> edInt[] = {
        IDC_ED_QUANT_INTER_BIAS, -512, 512, IDFF_enc_interQuantBias, NULL,
        IDC_ED_QUANT_INTRA_BIAS, -512, 512, IDFF_enc_intraQuantBias, NULL,
        0
    };
    bindEditInts(edInt);
    static const TbindEditReal<TquantPage> edReal[] = {
        IDC_ED_I_QUANTFACTOR, -31.0, 31.0, IDFF_enc_i_quant_factor, 100.0, NULL,
        IDC_ED_I_QUANTOFFSET, -31.0, 31.0, IDFF_enc_i_quant_offset, 100.0, NULL,
        0
    };
    bindEditReals(edReal);
    static const TbindCombobox<TquantPage> cbx[] = {
        IDC_CBX_DCT_ALGO, IDFF_enc_dct_algo, BINDCBX_SEL, NULL,
        0
    };
    bindComboboxes(cbx);
}
Beispiel #2
0
TdctPage::TdctPage(TffdshowPageDec *Iparent, const TfilterIDFF *idff): TconfPageDecVideo(Iparent, idff)
{
    resInter = IDC_CHB_DCT;
    static const TbindEditReal<TdctPage> edReal[] = {
        IDC_ED_DCT0, 0.0, 3.0, IDFF_dct0, 1000.0, NULL,
        IDC_ED_DCT1, 0.0, 3.0, IDFF_dct1, 1000.0, NULL,
        IDC_ED_DCT2, 0.0, 3.0, IDFF_dct2, 1000.0, NULL,
        IDC_ED_DCT3, 0.0, 3.0, IDFF_dct3, 1000.0, NULL,
        IDC_ED_DCT4, 0.0, 3.0, IDFF_dct4, 1000.0, NULL,
        IDC_ED_DCT5, 0.0, 3.0, IDFF_dct5, 1000.0, NULL,
        IDC_ED_DCT6, 0.0, 3.0, IDFF_dct6, 1000.0, NULL,
        IDC_ED_DCT7, 0.0, 3.0, IDFF_dct7, 1000.0, NULL,
        0
    };
    bindEditReals(edReal);
    static const TbindRadiobutton<TdctPage> rbt[] = {
        IDC_RBT_DCT_COEFFS, IDFF_dctMode, 0, NULL,
        IDC_RBT_DCT_H263  , IDFF_dctMode, 1, NULL,
        IDC_RBT_DCT_MPEG  , IDFF_dctMode, 2, NULL,
        0, 0, 0, NULL
    };
    bindRadioButtons(rbt);
    static const TbindTrackbar<TdctPage> htbr[] = {
        IDC_TBR_DCT_QUANT, IDFF_dctQuant, &TdctPage::quant2dlg,
        0, 0, NULL
    };
    bindHtracks(htbr);
    static const TbindButton<TdctPage> bt[] = {
        IDC_BT_DCT_MPEG, &TdctPage::onMatrix,
        0, NULL
    };
    bindButtons(bt);
}
Beispiel #3
0
TresizeAspectPage::TresizeAspectPage(TffdshowPageDec *Iparent, const TfilterIDFF *idff): TconfPageDecVideo(Iparent, idff, 1)
{
    resInter = IDC_CHB_RESIZE;
    helpURL = _l("http://ffdshow-tryout.sourceforge.net/wiki/video:resize_aspect");
    static const TbindTrackbar<TresizeAspectPage> htbr[] = {
        IDC_TBR_ASPECT_USER, IDFF_aspectRatio, &TresizeAspectPage::userAspect2dlg,
        IDC_TBR_HWOVERLAY_ASPECT, IDFF_hwOverlayAspect, &TresizeAspectPage::aspect2dlg,
        0, 0, NULL
    };
    bindHtracks(htbr);
    static const TbindRadiobutton<TresizeAspectPage> rbt[] = {
        IDC_RBT_RESIZE_MODE_SIZE, IDFF_resizeMode, 0, &TresizeAspectPage::onModeChange,
        IDC_RBT_RESIZE_MODE_ASPECT, IDFF_resizeMode, 1, &TresizeAspectPage::onModeChange,
        IDC_RBT_RESIZE_MOD_16, IDFF_resizeMode, 2, &TresizeAspectPage::onModeChange,
        IDC_RBT_RESIZE_MODE_MULT, IDFF_resizeMode, 3, &TresizeAspectPage::onModeChange,
        IDC_RBT_RESIZE_MODE_SIZE_H, IDFF_resizeMode, 4, &TresizeAspectPage::onModeChange,
        IDC_RBT_RESIZE_MODE_SCREEN_RES, IDFF_resizeMode, 5, &TresizeAspectPage::onModeChange,
        IDC_RBT_ASPECT_NO, IDFF_isAspect, 0, NULL,
        IDC_RBT_ASPECT_KEEP, IDFF_isAspect, 1, NULL,
        IDC_RBT_ASPECT_USER, IDFF_isAspect, 2, NULL,
        IDC_RBT_RESIZE_ALWAYS, IDFF_resizeIf, 0, NULL,
        IDC_RBT_RESIZE_IFSIZE, IDFF_resizeIf, 1, NULL,
        IDC_RBT_RESIZE_IFNUMBEROFPIXELS, IDFF_resizeIf, 2, NULL,
        0, 0, 0, NULL
    };
    bindRadioButtons(rbt);
    static const TbindEditInt<TresizeAspectPage> edInt[] = {
        IDC_ED_RESIZEA1, 1, 10000, IDFF_resizeA1, NULL,
        IDC_ED_RESIZEA2, 1, 10000, IDFF_resizeA2, NULL,
        IDC_ED_RESIZE_IFX, 0, 16384, IDFF_resizeIfXval, NULL,
        IDC_ED_RESIZE_IFY, 0, 16384, IDFF_resizeIfYval, NULL,
        IDC_ED_RESIZE_IFPIX, 0, 16384 * 16384, IDFF_resizeIfPixVal, NULL,
        IDC_ED_RESIZE_MOD_16, 1, 128, IDFF_resizeMultOf, NULL,
        IDC_ED_RESIZE_OUT_DEVICE_A1, 1, 10000, IDFF_resizeOutDeviceA1, NULL,
        IDC_ED_RESIZE_OUT_DEVICE_A2, 1, 10000, IDFF_resizeOutDeviceA2, NULL,
        0
    };
    bindEditInts(edInt);
    static const TbindEditReal<TresizeAspectPage> edReal[] = {
        IDC_ED_RESIZE_MULT, 0.001, 1000.0, IDFF_resizeMult1000, 1000.0, NULL,
        IDC_ED_RESIZE_USER_ASPECT, 0.05, 5, IDFF_aspectRatio, 65536, NULL,
        0
    };
    bindEditReals(edReal);
    static const TbindButton<TresizeAspectPage> bt[] = {
        IDC_BT_RESIZE_SIZE_MENU, &TresizeAspectPage::onResizeSizeMenu,
        IDC_BT_RESIZE_MOD_16, &TresizeAspectPage::onResizeMulfOfMenu,
        IDC_BT_RESIZE_ASPECT_MENU, &TresizeAspectPage::onResizeAspectMenu,
        IDC_BT_RESIZE_PIX_MENU, &TresizeAspectPage::onResizePixMenu,
        IDC_BT_RESIZE_USER_ASPECT, &TresizeAspectPage::onResizeManualArMenu,
        0, NULL
    };
    static const TbindCheckbox<TresizeAspectPage> chb[] = {
        IDC_CHB_SAR_INTERNALLY, IDFF_resizeSARinternally, &TresizeAspectPage::resize2dlg,
        0, NULL, NULL
    };
    bindCheckboxes(chb);
    bindButtons(bt);
}