mirror of
https://github.com/mpv-player/mpv
synced 2024-12-15 11:25:10 +00:00
Sync to x264 r134: weighted prediction for B-frames.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14760 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
66b1d8c94b
commit
1db1d5ea38
@ -7463,6 +7463,15 @@ but temporal often looks better.
|
||||
direct_pred=0 is usually both slower and lower quality.
|
||||
.
|
||||
.TP
|
||||
.B (no)weight_b
|
||||
Use weighted prediction in B-frames.
|
||||
Without this option, bidirectionally predicted macroblocks give
|
||||
equal weight to each reference frame.
|
||||
With this option, the weights are determined by the temporal position
|
||||
of the B-frame relative to the references.
|
||||
Requires bframes > 1.
|
||||
.
|
||||
.TP
|
||||
.B (no)b8x8mv
|
||||
Use additional macroblock types b16x8, b8x16, b8x8 (default: enabled).
|
||||
Without this option, B-frames will use only types
|
||||
|
2
configure
vendored
2
configure
vendored
@ -5906,7 +5906,7 @@ cat > $TMPC << EOF
|
||||
#include <stdint.h>
|
||||
#include <stdarg.h>
|
||||
#include <x264.h>
|
||||
#if X264_BUILD < 0x0011
|
||||
#if X264_BUILD < 0x0012
|
||||
#error We do not support old versions of x264. Get the latest from SVN.
|
||||
#endif
|
||||
int main(void) { x264_encoder_open((void*)0); return 0; }
|
||||
|
@ -74,6 +74,7 @@ static int p4x4mv = 0;
|
||||
static int p8x8mv = 1;
|
||||
static int b8x8mv = 1;
|
||||
static int direct_pred = X264_DIRECT_PRED_TEMPORAL;
|
||||
static int weight_b = 0;
|
||||
static float ip_factor = 1.4;
|
||||
static float pb_factor = 1.3;
|
||||
static int rc_buffer_size = -1;
|
||||
@ -114,6 +115,8 @@ m_option_t x264encopts_conf[] = {
|
||||
{"b8x8mv", &b8x8mv, CONF_TYPE_FLAG, 0, 0, 1, NULL},
|
||||
{"nob8x8mv", &b8x8mv, CONF_TYPE_FLAG, 0, 1, 0, NULL},
|
||||
{"direct_pred", &direct_pred, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL},
|
||||
{"weight_b", &weight_b, CONF_TYPE_FLAG, 0, 0, 1, NULL},
|
||||
{"noweight_b", &weight_b, CONF_TYPE_FLAG, 0, 1, 0, NULL},
|
||||
{"ip_factor", &ip_factor, CONF_TYPE_FLOAT, CONF_RANGE, -10.0, 10.0, NULL},
|
||||
{"pb_factor", &pb_factor, CONF_TYPE_FLOAT, CONF_RANGE, -10.0, 10.0, NULL},
|
||||
{"rc_buffer_size", &rc_buffer_size, CONF_TYPE_INT, CONF_RANGE, 0, 24000000, NULL},
|
||||
@ -215,6 +218,7 @@ static int config(struct vf_instance_s* vf, int width, int height, int d_width,
|
||||
if(b8x8mv)
|
||||
mod->param.analyse.inter |= X264_ANALYSE_BSUB16x16;
|
||||
mod->param.analyse.i_direct_mv_pred = direct_pred;
|
||||
mod->param.analyse.b_weighted_bipred = weight_b;
|
||||
|
||||
mod->param.i_width = width;
|
||||
mod->param.i_height = height;
|
||||
|
Loading…
Reference in New Issue
Block a user