Combine and simplify output_subframe_constant() and output_subframe_verbatim().

Originally committed as revision 24604 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Justin Ruggles
2010-07-30 20:24:15 +00:00
parent 1f1c05b09f
commit 89912b5ff1

View File

@@ -1101,26 +1101,14 @@ static void output_frame_header(FlacEncodeContext *s)
} }
static void output_subframe_constant(FlacEncodeContext *s, FlacSubframe *sub)
{
int32_t res;
res = sub->residual[0];
put_sbits(&s->pb, sub->obits, res);
}
static void output_subframe_verbatim(FlacEncodeContext *s, FlacSubframe *sub) static void output_subframe_verbatim(FlacEncodeContext *s, FlacSubframe *sub)
{ {
put_sbits(&s->pb, sub->obits, sub->residual[0]);
if (sub->type == FLAC_SUBFRAME_VERBATIM) {
int i; int i;
FlacFrame *frame; for (i = 0; i < s->frame.blocksize; i++)
int32_t res; put_sbits(&s->pb, sub->obits, sub->residual[i]);
frame = &s->frame;
for (i = 0; i < frame->blocksize; i++) {
res = sub->residual[i];
put_sbits(&s->pb, sub->obits, res);
} }
} }
@@ -1212,14 +1200,12 @@ static void output_subframes(FlacEncodeContext *s)
put_bits(&s->pb, 1, 0); /* no wasted bits */ put_bits(&s->pb, 1, 0); /* no wasted bits */
/* subframe */ /* subframe */
if(sub->type == FLAC_SUBFRAME_CONSTANT) switch (sub->type) {
output_subframe_constant(s, sub); case FLAC_SUBFRAME_CONSTANT:
else if(sub->type == FLAC_SUBFRAME_VERBATIM) case FLAC_SUBFRAME_VERBATIM: output_subframe_verbatim(s, sub); break;
output_subframe_verbatim(s, sub); case FLAC_SUBFRAME_FIXED: output_subframe_fixed( s, sub); break;
else if(sub->type == FLAC_SUBFRAME_FIXED) case FLAC_SUBFRAME_LPC: output_subframe_lpc( s, sub); break;
output_subframe_fixed(s, sub); }
else if(sub->type == FLAC_SUBFRAME_LPC)
output_subframe_lpc(s, sub);
} }
} }