diff options
author | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2003-09-30 20:10:05 +0000 |
---|---|---|
committer | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2003-09-30 20:10:05 +0000 |
commit | 9dc3493220ea70da13f4d0b762a66d6ec70b2ece (patch) | |
tree | 54dd89048638008aa75e96e6c6c1a75d4e54ad82 /ext/divx/gstdivxenc.c | |
parent | c2b6b06e2cb33ba7966c6f16154788fc1d7ce6eb (diff) | |
download | gst-plugins-bad-9dc3493220ea70da13f4d0b762a66d6ec70b2ece.tar.gz gst-plugins-bad-9dc3493220ea70da13f4d0b762a66d6ec70b2ece.tar.bz2 gst-plugins-bad-9dc3493220ea70da13f4d0b762a66d6ec70b2ece.zip |
Improve quality of encoding and decoding quite a bit
Original commit message from CVS:
Improve quality of encoding and decoding quite a bit
Diffstat (limited to 'ext/divx/gstdivxenc.c')
-rw-r--r-- | ext/divx/gstdivxenc.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/ext/divx/gstdivxenc.c b/ext/divx/gstdivxenc.c index bd7547a1..718b226d 100644 --- a/ext/divx/gstdivxenc.c +++ b/ext/divx/gstdivxenc.c @@ -272,17 +272,16 @@ gst_divxenc_setup (GstDivxEnc *divxenc) input.biCompression = divxenc->csp; memset(&output, 0, sizeof(SETTINGS)); - output.vbr_mode = 0; + output.vbr_mode = RCMODE_VBV_1PASS; output.bitrate = divxenc->bitrate; output.quantizer = 0; - output.use_bidirect = 0; + output.use_bidirect = 1; output.input_clock = 0; output.input_frame_period = 1000000; output.internal_timescale = divxenc->fps * 1000000; output.max_key_interval = (divxenc->max_key_interval == -1) ? - (2 * divxenc->fps) : - divxenc->max_key_interval; - output.key_frame_threshold = 0; + 150 : divxenc->max_key_interval; + output.key_frame_threshold = 50; output.vbv_bitrate = 0; output.vbv_size = 0; output.vbv_occupancy = 0; @@ -290,16 +289,18 @@ gst_divxenc_setup (GstDivxEnc *divxenc) output.deinterlace = 0; output.quality = divxenc->quality; output.data_partitioning = 0; - output.quarter_pel = 0; - output.use_gmc = 0; + output.quarter_pel = 1; + output.use_gmc = 1; output.psychovisual = 0; output.pv_strength_frame = 0; output.pv_strength_MB = 0; output.interlace_mode = 0; output.enable_crop = 0; output.enable_resize = 0; - output.temporal_enable = 0; - output.spatial_passes = 0; + output.temporal_enable = 1; + output.spatial_passes = 3; + output.spatial_level = 1.0; + output.temporal_level = 1.0; if ((ret = encore(&handle, ENC_OPT_INIT, &input, &output))) { gst_element_error(GST_ELEMENT(divxenc), |