⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 config.c.svn-base

📁 现在关于h.264的源码很多
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
                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 + -