1
mirror of https://github.com/mpv-player/mpv synced 2024-11-03 03:19:24 +01:00

sync to x264 r503 (dct_decimate)

patch by Guillaume Poirier.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18208 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
lorenm 2006-04-22 19:30:57 +00:00
parent 63c70fadf2
commit 94b93ccc69
3 changed files with 14 additions and 1 deletions

View File

@ -9086,6 +9086,15 @@ This usually improves speed at no cost, but it can sometimes produce
artifacts in areas with no details, like sky. artifacts in areas with no details, like sky.
. .
.TP .TP
.B (no)dct_decimate
Eliminate dct blocks in P-frames containing only a small single coefficient
(default: enabled).
This will remove some details, so it will save bits that can be spent
again on other frames, hopefully raising overall subjective quality.
If you are compressing non-anime content with a high target bitrate, you
may want to disable this to preserve as much detail as possible.
.
.TP
.B nr=<0\-100000> .B nr=<0\-100000>
Noise reduction, 0 means disabled. Noise reduction, 0 means disabled.
100\-1000 is a useful range for typical content, but you may want to turn it 100\-1000 is a useful range for typical content, but you may want to turn it

2
configure vendored
View File

@ -6358,7 +6358,7 @@ echocheck "x264"
cat > $TMPC << EOF cat > $TMPC << EOF
#include <inttypes.h> #include <inttypes.h>
#include <x264.h> #include <x264.h>
#if X264_BUILD < 45 #if X264_BUILD < 46
#error We do not support old versions of x264. Get the latest from SVN. #error We do not support old versions of x264. Get the latest from SVN.
#endif #endif
int main(void) { x264_encoder_open((void*)0); return 0; } int main(void) { x264_encoder_open((void*)0); return 0; }

View File

@ -104,6 +104,7 @@ static int me_method = 2;
static int me_range = 16; static int me_range = 16;
static int trellis = 1; static int trellis = 1;
static int fast_pskip = 1; static int fast_pskip = 1;
static int dct_decimate = 1;
static int noise_reduction = 0; static int noise_reduction = 0;
static int threads = 1; static int threads = 1;
static int level_idc = 51; static int level_idc = 51;
@ -192,6 +193,8 @@ m_option_t x264encopts_conf[] = {
{"trellis", &trellis, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL}, {"trellis", &trellis, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL},
{"fast_pskip", &fast_pskip, CONF_TYPE_FLAG, 0, 0, 1, NULL}, {"fast_pskip", &fast_pskip, CONF_TYPE_FLAG, 0, 0, 1, NULL},
{"nofast_pskip", &fast_pskip, CONF_TYPE_FLAG, 0, 0, 0, NULL}, {"nofast_pskip", &fast_pskip, CONF_TYPE_FLAG, 0, 0, 0, NULL},
{"dct_decimate", &dct_decimate, CONF_TYPE_FLAG, 0, 0, 1, NULL},
{"nodct_decimate", &dct_decimate, CONF_TYPE_FLAG, 0, 0, 0, NULL},
{"nr", &noise_reduction, CONF_TYPE_INT, CONF_RANGE, 0, 100000, NULL}, {"nr", &noise_reduction, CONF_TYPE_INT, CONF_RANGE, 0, 100000, NULL},
{"level_idc", &level_idc, CONF_TYPE_INT, CONF_RANGE, 10, 51, NULL}, {"level_idc", &level_idc, CONF_TYPE_INT, CONF_RANGE, 10, 51, NULL},
{"threads", &threads, CONF_TYPE_INT, CONF_RANGE, 1, 4, NULL}, {"threads", &threads, CONF_TYPE_INT, CONF_RANGE, 1, 4, NULL},
@ -303,6 +306,7 @@ static int config(struct vf_instance_s* vf, int width, int height, int d_width,
mod->param.analyse.b_mixed_references = mixed_references; mod->param.analyse.b_mixed_references = mixed_references;
mod->param.analyse.i_trellis = trellis; mod->param.analyse.i_trellis = trellis;
mod->param.analyse.b_fast_pskip = fast_pskip; mod->param.analyse.b_fast_pskip = fast_pskip;
mod->param.analyse.b_dct_decimate = dct_decimate;
mod->param.analyse.i_noise_reduction = noise_reduction; mod->param.analyse.i_noise_reduction = noise_reduction;
mod->param.analyse.b_bframe_rdo = bframe_rdo; mod->param.analyse.b_bframe_rdo = bframe_rdo;