구조체 x264_param_t 

    / * CPU 플래그 * / 

    서명 int CPU; 

    INT i_threads; / * 병렬 인코딩을 여러 프레임 * / 

    INT b_deterministic; / * 허용 여부를 비 결정적 최적화 실 * / 

    INT i_sync_lookahead; / * 스레드 앞서 버퍼 * / 


    / * 비디오 속성 * / 

    INT i_width; / * 폭 * / 

    INT i_height; / * 높이 * / 

    INT i_csp; / * CSP 인코딩 된 비트 스트림만을 I420을 지원 * / 색 공간을 설정할 

    INT i_level_idc; / * 수준의 값은 * / 설정 

    INT i_frame_total; / * 코딩 프레임의 총 수, 기본 0 * / 

/ * VUI 파라미터 세트 비디오 가용성 정보 비디오 표준 옵션 * / 

    구조체 

    { 

        / * 그들은 0 <X <= 65535 및 총리로 감소 될 것이다 * / 

        INT i_sar_height; 

        INT i_sar_width; / * / 화면비 


        INT i_overscan; / * 0 = undef를, 1 = 더 오버 스캔, 2 = 오버 스캔 오버 스캔 라인 기본 "UNDEF"(설정되지 않음), 옵션 : 쇼 (손목 시계) / 자르기 (제거) * / 


        / * 다음과 같은 값을 참조 H264 부속서 E의 * / 

        이자의 i_vidformat ;/ * 비디오 포맷, 기본값은 "undef를"구성 요소 / PAL / NTSC / SECAM / MAC / undef를 * / 

        INT b_fullrange, / * 기본 "OFF"옵션 설정을 전체 범위의 샘플 지정 해제 / * 온 / 

        INT i_colorprim; / * 원래의 크로마 포맷, 기본 "UNDEF"옵션 : undef/bt709/bt470m/bt470bg, smpte170m/smpte240m/film의 * / 

        INT i_transfer; / * 변환 모드, 기본 "UNDEF"옵션 : undef/bt709/bt470m/bt470bg/linear, log100/log316/smpte170m/smpte240m * / 

        INT i_colmatrix; / * 채도 매트릭스 설정, 기본 "UNDEF", undef/bt709/fcc/bt470bg, smpte170m/smpte240m/GBR/YCgCo * / 

        INT i_chroma_loc; / * 0 ~ 5의 상하 크로마 샘플 모두 지정된 범위, 기본 0 * / 

    } VUI; 


    INT i_fps_num; 

    INT i_fps_den; 

/ *이 두 가지 매개 변수는 FPS의 프레임 속도에 의해 결정됩니다, 아래의 할당 과정 : 

{FPS 플로트; 

경우 (sscanf를 (값, "% D / % D", & P -> i_fps_num, & P -> i_fps_den) == 2) 

            ; 

        다른 사람 (sscanf에서 (값, "% f를", & FPS)) 

        { 

            P-> i_fps_num = (INT) (FPS * 1000 + .5) 

            P-> i_fps_den = 1000; 

        } 

        그렇지 않으면 

            b_error = 1; 

    } 

값 값은 FPS입니다. * / 


    / * 스트림 매개 변수 * / 

    / * 참조 프레임의 최대 수 * /; INT i_frame_reference 

    INT i_keyint_max; / *이 간격에서 IDR 키 프레임 * / 

    INT i_keyint_min, 인코딩 비트 I가 아니라 IDR보다 * /의 값보다 / * 장면 전환 시간 이하이다. 

    INT i_scenecut_threshold; / * 방법을 적극적으로 여분의 I-프레임을 삽입하는 방법 * / 

    / * P는 프레임 관련된 두 이미지 사이의 번호 * /; INT i_bframe 

    INT i_bframe_adaptive; / * 적응 B-프레임 결정 * / 

    INT i_bframe_bias; / * 삽입 B-프레임 제어는 +100의 범위 -100, B 프레임의 높은 락 삽입 기본적 0 * /를 결정 

    INT b_bframe_pyramid; / * 참조 프레임 *로 부 B를 허용 / 

/ * 필요한 디 블로킹 필터 파라미터 * / 

    INT b_deblocking_filter; 

    INT i_deblocking_filter_alphac0; / * [-6, 6] -6 광 필터, 6 강 * / 

    INT i_deblocking_filter_beta; / * [-6, 6] 같은 저자 * / 

   / * 엔트로피 부호화 * / 

    INT의 b_cabac; 

    INT i_cabac_init_idc; 


    INT b_interlaced; / * 인터레이스 * / 

    / * 정량화 * / 

    INT i_cqm_preset; / * 사용자 정의 양자화 행렬 (CQM), 평면의 양자화를 초기화 * / 

    문자 * psz_cqm_file; / * JM 형식이 다른 - CQM 옵션을 무시하고 자동으로, JM 외부 양자화 매트릭스 형식의 파일을 읽을 수 * / 

    uint8_t의 cqm_4iy [16]; / * 사용 만 i_cqm_preset == X264_CQM_CUSTOM * / IF 

    uint8_t cqm_4ic [16]; 

    uint8_t cqm_4py [16]; 

    uint8_t의 cqm_4pc [16]; 

    uint8_t의 cqm_8iy [64]; 

    uint8_t cqm_8py [64]; 


    / * 로그인 * / 

    무효 (* pf_log) (무효 *, INT의 i_level, const를 char *로 PSZ,의 va_list); 

    무효 * p_log_private; 

    INT i_log_level; 

    INT b_visualize; 

    / * 복원 된 프레임의 이름 * /, char *로 psz_dump_yuv 


    / * 코드 분석 파라미터 * / 

    구조체 

    { 

        서명 int 내, / * 파티션 간 * / 

        서명 int 간, / * 내부 파티션 * / 


        INT b_transform_8x8; / * 파티션 간 * / 

        INT b_weighted_bipred; / * B-프레임 암시 적 가중 * / 

        INT i_direct_mv_pred; / * 시간과 공간 팀 스포츠 예측 * / 

        INT i_chroma_qp_offset; / * 크로마 양자화 단계 오프셋 * / 


        INT i_me_method; / * 움직임 추정 알고리즘 (X264_ME_ *) * / 

        INT i_me_range; / * 정수 화소 움직임 추정 검색 범위 (예측 측정 값에서) * / 

        INT의 i_mv_range;. / * 모션 벡터의 최대 길이 (픽셀) -1 = 자동차, 수준 *에 따라 / 

        INT i_mv_range_thread;. / * 쓰레드의 수 * /에 따라 스레드 -1 = 자동차 사이의 최소 공간. 

        INT i_subpel_refine; / * 서브 화소 움직임 추정 품질 * / 

        INT b_chroma_me; / * 크로마 서브 - 픽셀 모션 추정 및 모델 선택 프레임의 P * / 

        INT b_mixed_references; / * 각 매크로 블록 파티션 P 프레임이 자신의 참조 번호가 허용 * / 

        1 : 오프; INT i_trellis / * 격자 양자화는 각 8 × 8 블록에 맞는 정량 값을 찾아, 당신은 CABAC, 기본 0 0으로해야하는 최종 인코딩 두를 사용 : 항상 사용 * / 

        INT b_fast_pskip; / * P 프레임 빠른 검색을 건너 뛰는 * / 

        INT b_dct_decimate; / * P-프레임 변환 파라미터의 필드 * / 

        INT i_noise_reduction; / * 적응 의사 블라인드 * / 

        떠 f_psy_rd; / * 싸이 RD 강도 * / 

        f_psy_trellis 플로트; / * 싸이 격자 강도 * / 

        INT b_psy; / * 토글 모든 심리 최적화 * / 


        / * 루마 양자화 잘못된 크기에 사용 * / 

        INT i_luma_deadzone [2] / * {간, 내 * /} 


        INT b_psnr; / * 계산 및 인쇄 PSNR 정보 * / 

        INT b_ssim; / * 계산 및 인쇄 SSIM 정보 * / 

    } 분석한다; 


    / * 속도 제어 매개 변수 * / 

    구조체 

    { 

        INT i_rc_method; / * X264_RC_ ** / 


        INT i_qp_constant; / * 0-51 * / 

        INT i_qp_min; / * 최소 허용 양자화 값 * / 

        INT i_qp_max; / * 최대 허용 양자화 값 * / 

        INT i_qp_step; / * 최대 양자화 스텝의 범위 * / 


        INT i_bitrate; / * 평균 속도를 설정 * / 

        f_rf_constant 플로트; / * 1pass VBR, 공칭 QP의 * / 

        f_rate_tolerance 플로트; 

        INT i_vbv_max_bitrate; / * 낮은 평균 속도 모드, 최대 순간 비트 레이트, (동일한 세트-B)와 기본 0 * / 

        INT i_vbv_buffer_size; / * 속도 제어 버퍼 크기, 단위 K 비트, 기본 0 * / 

        f_vbv_buffer_init 플로트; / * <. = 1 : BUFFER_SIZE 분획> 1 : 데이터 버퍼 크기 K 비트 레이트 제어 버퍼에 남아있는 데이터의 최대 양의 비율이, 0 ~ 1.0의 범위, 0.9 기본 * / 

        f_ip_factor 플로트; 

        f_pb_factor 플로트; 


        INT i_aq_mode; / * 심리 적응 QP (X264_AQ_ *) * /. 

        f_aq_strength 플로트; 

        INT b_mb_tree; / * 매크로 블록 트리 ratecontrol * /. 

        INT i_lookahead; 


        / * 2pass 여러 압축 속도 제어 * / 

        INT b_stat_write; / * psz_stat_out의 합계 기록을 사용 * / 

        문자 * psz_stat_out; 

        INT b_stat_read, / * 읽기 합계 psz_stat_in에서 그것을 사용 * / 

        문자 * psz_stat_in; 


        / * 2pass의 params가 (는 FFmpeg 사람과 동일) * / 

        f_qcompress 플로트; / * 0.0 => CBR, 1.0 => 일정 큐피 * / 

        f_qblur 플로트; / * 시간 퍼지 정량화 * / 

        f_complexity_blur 플로트; / * 퍼지 시간 복잡도 * / 

        x264_zone_t * 지역; / * 속도 제어 범위 * / 

        INT i_zones; / * zone_t의 * 수 / 

        / * 영역을 지정하는 또 다른 방법은 * /;는 char * psz_zones 

    } Rc는; 


    / * 멀티플렉싱 매개 변수 * / 

    INT b_aud; / * 액세스 단위 구분 기호를 생성 * / 

    INT b_repeat_headers; / * 장소 SPS / PPS 각 키 프레임 전에 * / 

    INT i_sps_id; / * SPS와 PPS ID 번호 * / 


    / * 슬라이스 (바 등) 매개 변수 * / 

    INT i_slice_max_size; / * NAL * /의 예상 비용을 포함하여 각 조각의 바이트의 최대 수입니다. 

    INT i_slice_max_mbs; / * 조각 당 매크로 블록의 최대 수, 재 작성 i_slice_count의 * / 

    INT i_slice_count; / * 조각 당 프레임 수 : 사각 바 * / 설정합니다. 


    / *이 사용 할 때이 x264_param_t 해제를 선택적 콜백. 

     * x264_param_t가 무기한 메모리에 앉아 경우에만 사용 

     * x264_param_t가 x264_picture_t 또는 영역에 x264_t에 전달된다 즉. 

     x264_encoder_reconfig 직접 호출 할 때 * 사용하지 않습니다. * / 

    무효 (* param_free) (무효 *); 

} X264_param_t;

+ Recent posts