Browse Source

Combine and simplify output_subframe_fixed() and output_subframe_lpc().

Originally committed as revision 24605 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/n0.8
Justin Ruggles 15 years ago
parent
commit
175a57113f
1 changed files with 5 additions and 19 deletions
  1. +5
    -19
      libavcodec/flacenc.c

+ 5
- 19
libavcodec/flacenc.c View File

@@ -1147,36 +1147,22 @@ static void output_residual(FlacEncodeContext *s, FlacSubframe *sub)
}


static void output_subframe_fixed(FlacEncodeContext *s, FlacSubframe *sub)
{
int i;

/* warm-up samples */
for (i = 0; i < sub->order; i++)
put_sbits(&s->pb, sub->obits, sub->residual[i]);

/* residual */
output_residual(s, sub);
}


static void output_subframe_lpc(FlacEncodeContext *s, FlacSubframe *sub)
{
int i, cbits;
FlacFrame *frame;

frame = &s->frame;
int i;

/* warm-up samples */
for (i = 0; i < sub->order; i++)
put_sbits(&s->pb, sub->obits, sub->residual[i]);

/* LPC coefficients */
cbits = s->options.lpc_coeff_precision;
if (sub->type == FLAC_SUBFRAME_LPC) {
int cbits = s->options.lpc_coeff_precision;
put_bits( &s->pb, 4, cbits-1);
put_sbits(&s->pb, 5, sub->shift);
for (i = 0; i < sub->order; i++)
put_sbits(&s->pb, cbits, sub->coefs[i]);
}

/* residual */
output_residual(s, sub);
@@ -1203,7 +1189,7 @@ static void output_subframes(FlacEncodeContext *s)
switch (sub->type) {
case FLAC_SUBFRAME_CONSTANT:
case FLAC_SUBFRAME_VERBATIM: output_subframe_verbatim(s, sub); break;
case FLAC_SUBFRAME_FIXED: output_subframe_fixed( s, sub); break;
case FLAC_SUBFRAME_FIXED:
case FLAC_SUBFRAME_LPC: output_subframe_lpc( s, sub); break;
}
}


Loading…
Cancel
Save