x264 param t引數註解

2021-05-23 02:57:20 字數 3859 閱讀 2918

原始**不詳

typedef struct x264_param_t

/* cpu 標誌位 */

unsigned 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; /* level值的設定*/

int         i_frame_total; /* 編碼幀的總數, 預設 0 */

struct

/* they will be reduced to be 0 < x <= 65535 and prime */

int         i_sar_height;

int         i_sar_width; /* 設定長寬比 */

int         i_overscan;    /* 0=undef, 1=no overscan, 2=overscan 過掃瞄線,預設"undef"(不設定),可選項:show(**)/crop(去除)*/

/*見以下的值h264附件e */

int       b_fullrange; /*specify full range samples setting,預設"off",可選項:off/on*/

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;    /* both top & bottom色度樣本指定,範圍0~5,預設0 */

} vui;

int         i_fps_num;

int         i_fps_den;

/*這兩個引數是由fps幀率確定的,賦值的過程見下:

*/int          b_psnr;    /* 計算和列印psnr資訊 */

int          b_ssim;    /*計算和列印ssim資訊*/

} analyse;

/* 位元速率控制引數 */

struct

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;  /*設定平均位元速率 */

float       f_rf_constant;  /* 1pass vbr, nominal qp */

float       f_rate_tolerance;

int         i_vbv_max_bitrate; /*平均位元速率模式下,最大瞬時位元速率,預設0(與-b設定相同) */

int         i_vbv_buffer_size; /*位元速率控制緩衝區的大小,單位kbit,預設0 */

float       f_vbv_buffer_init; /* <=1: fraction of buffer_size. >1: kbit位元速率控制緩衝區資料保留的最大資料量與緩衝區大小之比,範圍0~1.0,預設0.9*/

float       f_ip_factor;

float       f_pb_factor;

int         i_aq_mode;      /* psy adaptive qp. (x264_aq_*) */

float       f_aq_strength;

int         b_mb_tree;      /* macroblock-tree ratecontrol. */

int         i_lookahead;

/* 2pass 多次壓縮位元速率控制 */

int         b_stat_write;   /* enable stat writing in psz_stat_out */

char        *psz_stat_out;

int         b_stat_read;    /* read stat from psz_stat_in and use it */

char        *psz_stat_in;

/* 2pass params (same as ffmpeg ones) */

float       f_qcompress;    /* 0.0 => cbr, 1.0 => constant qp */

float       f_qblur;        /*時間上模糊量化 */

float       f_complexity_blur; /* 時間上模糊複雜性 */

x264_zone_t *zones;         /* 位元速率控制覆蓋 */

int         i_zones;        /* number of zone_t's */

char        *psz_zones;     /*指定區的另一種方法*/

} rc;

/* muxing parameters */

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;       /* 每幀的像條數目: 設定矩形像條. */

/* optional callback for freeing this x264_param_t when it is done being used.

* only used when the x264_param_t sits in memory for an indefinite period of time,

* i.e. when an x264_param_t is passed to x264_t in an x264_picture_t or in zones.

* not used when x264_encoder_reconfig is called directly. */

void (*param_free)( void* );

} x264_param_t;

x264 param t引數註解

typedef struct x264 param t vui int i fps num int i fps den 這兩個引數是由fps幀率確定的,賦值的過程見下 else b error 1 value的值就是fps。流引數int i frame reference 參考幀最大數目 int i...

x264引數設定

引數名稱 對應x264引數 引數說明 預設值引數範圍 最大idr幀間隔 i keyint max 250最小idr幀間隔 i keyint min 該引數設定過小可能導致錯誤地插入idr幀,引數限制了插入idr幀的最小距離。建議設定等於幀速率。25最 幀數 i frame reference 表示p...

X264的引數設定

原始 不詳 i keyint 整數 最大idr幀間距,預設250 i min keyint 整數 最小idr幀間距,預設25 scenecut 整數 畫面動態變化限,當超出此值時插入i幀,預設40 pre scenecut 更快,但低精度的畫面動態檢測,需要多執行緒,並且在啟用多執行緒時自動開啟。b...