From fdd867534a8f53ddb3f2845fc1dd48d13e734125 Mon Sep 17 00:00:00 2001 From: Gregory Maxwell Date: Wed, 13 Apr 2011 17:08:22 -0400 Subject: [PATCH] Stop adjusting the VBR drift during silent frames, this prevents overshoot after silent spans. This also results in undershoot on files with lots of silence, but this is desirable in terms of increasing quality consistency. It will be even better if we later include some open-loop correction of the targets. --- libcelt/celt.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/libcelt/celt.c b/libcelt/celt.c index 6331553f..d6c2b4dc 100644 --- a/libcelt/celt.c +++ b/libcelt/celt.c @@ -1425,17 +1425,23 @@ int celt_encode_with_ec_float(CELTEncoder * restrict st, const celt_sig * pcm, i nbAvailableBytes = IMAX(min_allowed,nbAvailableBytes); nbAvailableBytes = IMIN(nbCompressedBytes,nbAvailableBytes+nbFilledBytes) - nbFilledBytes; - if(silence) - { - nbAvailableBytes = 2; - target = 2*8<vbr_count < 970) { st->vbr_count++;