| 59 | } |
| 60 | |
| 61 | HRESULT CLAVVideoSettingsProp::OnApplyChanges() |
| 62 | { |
| 63 | ASSERT(m_pVideoSettings != nullptr); |
| 64 | ASSERT(m_pVideoStatus != nullptr); |
| 65 | HRESULT hr = S_OK; |
| 66 | BOOL bFlag; |
| 67 | DWORD dwVal; |
| 68 | |
| 69 | dwVal = (DWORD)SendDlgItemMessage(m_Dlg, IDC_STREAMAR, BM_GETCHECK, 0, 0); |
| 70 | m_pVideoSettings->SetStreamAR(dwVal); |
| 71 | |
| 72 | dwVal = (DWORD)SendDlgItemMessage(m_Dlg, IDC_THREADS, CB_GETCURSEL, 0, 0); |
| 73 | m_pVideoSettings->SetNumThreads(dwVal); |
| 74 | |
| 75 | dwVal = (DWORD)SendDlgItemMessage(m_Dlg, IDC_DEINT_FIELDORDER, CB_GETCURSEL, 0, 0); |
| 76 | m_pVideoSettings->SetDeintFieldOrder((LAVDeintFieldOrder)dwVal); |
| 77 | |
| 78 | dwVal = (DWORD)SendDlgItemMessage(m_Dlg, IDC_DEINT_MODE, CB_GETCURSEL, 0, 0); |
| 79 | m_pVideoSettings->SetDeinterlacingMode((LAVDeintMode)dwVal); |
| 80 | |
| 81 | m_bPixFmts[LAVOutPixFmt_YV12] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_YV12, BM_GETCHECK, 0, 0); |
| 82 | m_bPixFmts[LAVOutPixFmt_NV12] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_NV12, BM_GETCHECK, 0, 0); |
| 83 | m_bPixFmts[LAVOutPixFmt_P010] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_P010, BM_GETCHECK, 0, 0); |
| 84 | m_bPixFmts[LAVOutPixFmt_P016] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_P016, BM_GETCHECK, 0, 0); |
| 85 | m_bPixFmts[LAVOutPixFmt_YUY2] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_YUY2, BM_GETCHECK, 0, 0); |
| 86 | m_bPixFmts[LAVOutPixFmt_UYVY] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_UYVY, BM_GETCHECK, 0, 0); |
| 87 | m_bPixFmts[LAVOutPixFmt_P210] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_P210, BM_GETCHECK, 0, 0); |
| 88 | m_bPixFmts[LAVOutPixFmt_v210] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_V210, BM_GETCHECK, 0, 0); |
| 89 | m_bPixFmts[LAVOutPixFmt_P216] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_P216, BM_GETCHECK, 0, 0); |
| 90 | m_bPixFmts[LAVOutPixFmt_YV24] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_YV24, BM_GETCHECK, 0, 0); |
| 91 | m_bPixFmts[LAVOutPixFmt_AYUV] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_AYUV, BM_GETCHECK, 0, 0); |
| 92 | m_bPixFmts[LAVOutPixFmt_Y410] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_Y410, BM_GETCHECK, 0, 0); |
| 93 | m_bPixFmts[LAVOutPixFmt_v410] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_V410, BM_GETCHECK, 0, 0); |
| 94 | m_bPixFmts[LAVOutPixFmt_Y416] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_Y416, BM_GETCHECK, 0, 0); |
| 95 | m_bPixFmts[LAVOutPixFmt_RGB32] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_RGB32, BM_GETCHECK, 0, 0); |
| 96 | m_bPixFmts[LAVOutPixFmt_RGB24] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_RGB24, BM_GETCHECK, 0, 0); |
| 97 | m_bPixFmts[LAVOutPixFmt_RGB48] = (BOOL)SendDlgItemMessage(m_Dlg, IDC_OUT_RGB48, BM_GETCHECK, 0, 0); |
| 98 | |
| 99 | for (int i = 0; i < LAVOutPixFmt_NB; ++i) |
| 100 | { |
| 101 | m_pVideoSettings->SetPixelFormat((LAVOutPixFmts)i, m_bPixFmts[i]); |
| 102 | } |
| 103 | |
| 104 | BOOL bRGBAuto = (BOOL)SendDlgItemMessage(m_Dlg, IDC_RGBOUT_AUTO, BM_GETCHECK, 0, 0); |
| 105 | BOOL bRGBTV = (BOOL)SendDlgItemMessage(m_Dlg, IDC_RGBOUT_TV, BM_GETCHECK, 0, 0); |
| 106 | BOOL bRGBPC = (BOOL)SendDlgItemMessage(m_Dlg, IDC_RGBOUT_PC, BM_GETCHECK, 0, 0); |
| 107 | m_pVideoSettings->SetRGBOutputRange(bRGBAuto ? 0 : bRGBTV ? 1 : 2); |
| 108 | |
| 109 | LRESULT retVal = SendDlgItemMessage(m_Dlg, IDC_HWACCEL, CB_GETCURSEL, 0, 0); |
| 110 | dwVal = (DWORD)SendDlgItemMessage(m_Dlg, IDC_HWACCEL, CB_GETITEMDATA, retVal, 0); |
| 111 | m_pVideoSettings->SetHWAccel((LAVHWAccel)dwVal); |
| 112 | |
| 113 | bFlag = (BOOL)SendDlgItemMessage(m_Dlg, IDC_HWACCEL_H264, BM_GETCHECK, 0, 0); |
| 114 | m_pVideoSettings->SetHWAccelCodec(HWCodec_H264, bFlag); |
| 115 | |
| 116 | bFlag = (BOOL)SendDlgItemMessage(m_Dlg, IDC_HWACCEL_VC1, BM_GETCHECK, 0, 0); |
| 117 | m_pVideoSettings->SetHWAccelCodec(HWCodec_VC1, bFlag); |
| 118 |
nothing calls this directly
no test coverage detected