📄 config.c.svn-base
字号:
break; case IDC_QPMIN : config->i_qp_min = GetDlgItemInt( hTabs[1], IDC_QPMIN, FALSE, FALSE ); if( config->i_qp_min > 51 ) { config->i_qp_min = 51; SetDlgItemInt( hTabs[1], IDC_QPMIN, config->i_qp_min, FALSE ); } else if ( config->i_qp_min < 1 ) { config->i_qp_min = 1; SetDlgItemInt( hTabs[1], IDC_QPMIN, config->i_qp_min, FALSE ); } break; case IDC_QPMAX : config->i_qp_max = GetDlgItemInt( hTabs[1], IDC_QPMAX, FALSE, FALSE ); if( config->i_qp_max > 51 ) { config->i_qp_max = 51; SetDlgItemInt( hTabs[1], IDC_QPMAX, config->i_qp_max, FALSE ); } else if ( config->i_qp_max < 1 ) { config->i_qp_max = 1; SetDlgItemInt( hTabs[1], IDC_QPMAX, config->i_qp_max, FALSE ); } break; case IDC_QPSTEP : config->i_qp_step = GetDlgItemInt( hTabs[1], IDC_QPSTEP, FALSE, FALSE ); if( config->i_qp_step > 50 ) { config->i_qp_step = 50; SetDlgItemInt( hTabs[1], IDC_QPSTEP, config->i_qp_step, FALSE ); } else if ( config->i_qp_step < 1 ) { config->i_qp_step = 1; SetDlgItemInt( hTabs[1], IDC_QPSTEP, config->i_qp_step, FALSE ); } break; case IDC_SAR_W : config->i_sar_width = GetDlgItemInt( hTabs[3], IDC_SAR_W, FALSE, FALSE ); break; case IDC_SAR_H : config->i_sar_height = GetDlgItemInt( hTabs[3], IDC_SAR_H, FALSE, FALSE ); break; case IDC_REFFRAMES : config->i_refmax = GetDlgItemInt( hTabs[2], IDC_REFFRAMES, FALSE, FALSE ); if( config->i_refmax > 16 ) { config->i_refmax = 16; SetDlgItemInt( hTabs[2], IDC_REFFRAMES, config->i_refmax, FALSE ); } break; case IDC_MERANGE : config->i_me_range = GetDlgItemInt( hTabs[3], IDC_MERANGE, FALSE, FALSE ); if( config->i_me_range > 64 ) { config->i_me_range = 64; SetDlgItemInt( hTabs[3], IDC_MERANGE, config->i_me_range, FALSE ); } break; case IDC_BFRAME : config->i_bframe = GetDlgItemInt( hTabs[2], IDC_BFRAME, FALSE, FALSE ); if( config->i_bframe > 5 ) { config->i_bframe = 5; SetDlgItemInt( hTabs[2], IDC_BFRAME, config->i_bframe, FALSE ); } EnableWindow( GetDlgItem( hTabs[2], IDC_BREFS ), config->i_bframe > 1 ); EnableWindow( GetDlgItem( hTabs[2], IDC_WBPRED ), config->i_bframe > 1 ); EnableWindow( GetDlgItem( hTabs[1], IDC_DIRECTPRED ), config->i_bframe > 0 ); EnableWindow( GetDlgItem( hTabs[2], IDC_BADAPT ), config->i_bframe > 0 ); EnableWindow( GetDlgItem( hTabs[2], IDC_BBIAS ), config->i_bframe > 0 ); EnableWindow( GetDlgItem( hTabs[2], IDC_BBIASSLIDER ), config->i_bframe > 0 ); break; case IDC_BBIAS : config->i_bframe_bias = GetDlgItemInt( hTabs[2], IDC_BBIAS, FALSE, TRUE ); SendDlgItemMessage(hTabs[2], IDC_BBIASSLIDER, TBM_SETPOS, 1, config->i_bframe_bias); if( config->i_bframe_bias > 100 ) { config->i_bframe_bias = 100; SetDlgItemInt( hTabs[2], IDC_BBIAS, config->i_bframe_bias, TRUE ); } else if ( config->i_bframe_bias < -100 ) { config->i_bframe_bias = -100; SetDlgItemInt( hTabs[2], IDC_BBIAS, config->i_bframe_bias, TRUE ); } break; case IDC_IPRATIO : config->i_key_boost = GetDlgItemInt( hTabs[1], IDC_IPRATIO, FALSE, FALSE ); if (config->i_key_boost < 0) { config->i_key_boost = 0; SetDlgItemInt( hTabs[1], IDC_IPRATIO, config->i_key_boost, FALSE ); } else if (config->i_key_boost > 70) { config->i_key_boost = 70; SetDlgItemInt( hTabs[1], IDC_IPRATIO, config->i_key_boost, FALSE ); } break; case IDC_PBRATIO : config->i_b_red = GetDlgItemInt( hTabs[1], IDC_PBRATIO, FALSE, FALSE ); if (config->i_b_red < 0) { config->i_b_red = 0; SetDlgItemInt( hTabs[1], IDC_PBRATIO, config->i_b_red, FALSE ); } else if (config->i_b_red > 60) { config->i_b_red = 60; SetDlgItemInt( hTabs[1], IDC_PBRATIO, config->i_b_red, FALSE ); } break; case IDC_CURVECOMP: config->i_curve_comp = GetDlgItemInt( hTabs[1], IDC_CURVECOMP, FALSE, FALSE ); if( config->i_curve_comp < 0 ) { config->i_curve_comp = 0; SetDlgItemInt( hTabs[1], IDC_CURVECOMP, config->i_curve_comp, FALSE ); } else if( config->i_curve_comp > 100 ) { config->i_curve_comp = 100; SetDlgItemInt( hTabs[1], IDC_CURVECOMP, config->i_curve_comp, FALSE ); } break; } break; case LBN_SELCHANGE : switch ( LOWORD( wParam ) ) { case IDC_DIRECTPRED: config->i_direct_mv_pred = SendDlgItemMessage(hTabs[1], IDC_DIRECTPRED, CB_GETCURSEL, 0, 0); break; case IDC_SUBPEL: config->i_subpel_refine = SendDlgItemMessage(hTabs[3], IDC_SUBPEL, CB_GETCURSEL, 0, 0); EnableWindow( GetDlgItem( hTabs[3], IDC_CHROMAME ), config->i_subpel_refine >= 4 ); break; case IDC_ME_METHOD: config->i_me_method = SendDlgItemMessage(hTabs[3], IDC_ME_METHOD, CB_GETCURSEL, 0, 0); EnableWindow( GetDlgItem( hTabs[3], IDC_MERANGE ), config->i_me_method > 1 ); break; case IDC_LOG: config->i_log_level = SendDlgItemMessage(hTabs[3], IDC_LOG, CB_GETCURSEL, 0, 0); break; case IDC_BITRATEMODE: switch(SendDlgItemMessage(hTabs[0], IDC_BITRATEMODE, CB_GETCURSEL, 0, 0)) { case 0: config->i_encoding_type = 0; break; case 1: config->i_encoding_type = 1; break; case 2: config->i_encoding_type = 2; config->i_pass = 1; config->b_fast1pass = FALSE; break; case 3: config->i_encoding_type = 2; config->i_pass = 1; config->b_fast1pass = TRUE; break; case 4: config->i_encoding_type = 2; config->i_pass = 2; break; } tabs_enable_items( hDlg, config ); tabs_update_items( hDlg, config ); break; } break; case EN_KILLFOCUS : switch( LOWORD( wParam ) ) { case IDC_MERANGE : config->i_me_range = GetDlgItemInt( hTabs[3], IDC_MERANGE, FALSE, FALSE ); if( config->i_me_range < 4 ) { config->i_me_range = 4; SetDlgItemInt( hTabs[3], IDC_MERANGE, config->i_me_range, FALSE ); } break; } break; } break; case WM_HSCROLL : if( (HWND) lParam == GetDlgItem( hTabs[0], IDC_BITRATESLIDER ) ) { switch (config->i_encoding_type) { case 0: config->bitrate = SendDlgItemMessage( hTabs[0], IDC_BITRATESLIDER, TBM_GETPOS, 0, 0 ); SetDlgItemInt( hTabs[0], IDC_BITRATEEDIT, config->bitrate, FALSE ); break; case 1: config->i_qp = SendDlgItemMessage( hTabs[0], IDC_BITRATESLIDER, TBM_GETPOS, 0, 0 ); SetDlgItemInt( hTabs[0], IDC_BITRATEEDIT, config->i_qp, FALSE ); break; case 2: config->i_2passbitrate = SendDlgItemMessage( hTabs[0], IDC_BITRATESLIDER, TBM_GETPOS, 0, 0 ); SetDlgItemInt( hTabs[0], IDC_BITRATEEDIT, config->i_2passbitrate, FALSE ); break; } break; } else if( (HWND) lParam == GetDlgItem( hTabs[3], IDC_INLOOP_A ) ) { config->i_inloop_a = SendDlgItemMessage( hTabs[3], IDC_INLOOP_A, TBM_GETPOS, 0, 0 ); set_dlgitem_int( hTabs[3], IDC_LOOPA_TXT, config->i_inloop_a); } else if( (HWND) lParam == GetDlgItem( hTabs[3], IDC_INLOOP_B ) ) { config->i_inloop_b = SendDlgItemMessage( hTabs[3], IDC_INLOOP_B, TBM_GETPOS, 0, 0 ); set_dlgitem_int( hTabs[3], IDC_LOOPB_TXT, config->i_inloop_b); } else if( (HWND) lParam == GetDlgItem( hTabs[2], IDC_BBIASSLIDER ) ) { config->i_bframe_bias = SendDlgItemMessage( hTabs[2], IDC_BBIASSLIDER, TBM_GETPOS, 0, 0 ); set_dlgitem_int( hTabs[2], IDC_BBIAS, config->i_bframe_bias); } break; default : return 0; } return 1;}/* About box */BOOL CALLBACK callback_about( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ){ switch( uMsg ) { case WM_INITDIALOG : { char temp[1024]; sprintf( temp, "Core %d%s, build %s %s", X264_BUILD, X264_VERSION, __DATE__, __TIME__ ); SetDlgItemText( hDlg, IDC_BUILD, temp ); break; } case WM_COMMAND: if (LOWORD(wParam) == IDC_HOMEPAGE && HIWORD(wParam) == STN_CLICKED) ShellExecute( hDlg, "open", X264_WEBSITE, NULL, NULL, SW_SHOWNORMAL ); else if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) EndDialog( hDlg, LOWORD(wParam) ); break; default : return 0; } return 1;}/* Error console */BOOL CALLBACK callback_err_console( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ){ switch( uMsg ) { case WM_INITDIALOG : break; case WM_DESTROY : break; case WM_COMMAND : if( HIWORD( wParam ) == BN_CLICKED ) { switch( LOWORD( wParam ) ) { case IDOK : DestroyWindow( hWnd ); break; case IDC_COPYCLIP : if( OpenClipboard( hWnd ) ) { int i; int num_lines = SendDlgItemMessage( hWnd, IDC_CONSOLE, LB_GETCOUNT, 0, 0 ); int text_size; char *buffer; HGLOBAL clipbuffer; if( num_lines <= 0 ) break; /* calculate text size */ for( i = 0, text_size = 0; i < num_lines; i++ ) text_size += SendDlgItemMessage( hWnd, IDC_CONSOLE, LB_GETTEXTLEN, ( WPARAM )i, 0 ); /* CR-LF for each line + terminating NULL */ text_size += 2 * num_lines + 1; EmptyClipboard( ); clipbuffer = GlobalAlloc( GMEM_MOVEABLE | GMEM_DDESHARE, text_size ); buffer = (char *)GlobalLock( clipbuffer ); /* concatenate lines of text in the global buffer */ for( i = 0; i < num_lines; i++ ) { char msg_buf[1024]; SendDlgItemMessage( hWnd, IDC_CONSOLE, LB_GETTEXT, ( WPARAM )i, ( LPARAM )msg_buf ); strcat( msg_buf, "\r\n" ); memcpy( buffer, msg_buf, strlen( msg_buf ) ); buffer += strlen( msg_buf ); } *buffer = 0; /* null-terminate the buffer */ GlobalUnlock( clipbuffer ); SetClipboardData( CF_TEXT, clipbuffer ); CloseClipboard( ); } break; default : return 0; } break; } break; default : return DefWindowProc( hWnd, uMsg, wParam, lParam ); } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -