Commit 1f1c05b0 authored by Justin Ruggles's avatar Justin Ruggles

Pass FlacSubframe to output_subframe_* instead of channel number.

Originally committed as revision 24603 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 15f537ed
...@@ -1101,26 +1101,22 @@ static void output_frame_header(FlacEncodeContext *s) ...@@ -1101,26 +1101,22 @@ static void output_frame_header(FlacEncodeContext *s)
} }
static void output_subframe_constant(FlacEncodeContext *s, int ch) static void output_subframe_constant(FlacEncodeContext *s, FlacSubframe *sub)
{ {
FlacSubframe *sub;
int32_t res; int32_t res;
sub = &s->frame.subframes[ch];
res = sub->residual[0]; res = sub->residual[0];
put_sbits(&s->pb, sub->obits, res); put_sbits(&s->pb, sub->obits, res);
} }
static void output_subframe_verbatim(FlacEncodeContext *s, int ch) static void output_subframe_verbatim(FlacEncodeContext *s, FlacSubframe *sub)
{ {
int i; int i;
FlacFrame *frame; FlacFrame *frame;
FlacSubframe *sub;
int32_t res; int32_t res;
frame = &s->frame; frame = &s->frame;
sub = &frame->subframes[ch];
for (i = 0; i < frame->blocksize; i++) { for (i = 0; i < frame->blocksize; i++) {
res = sub->residual[i]; res = sub->residual[i];
...@@ -1129,16 +1125,14 @@ static void output_subframe_verbatim(FlacEncodeContext *s, int ch) ...@@ -1129,16 +1125,14 @@ static void output_subframe_verbatim(FlacEncodeContext *s, int ch)
} }
static void output_residual(FlacEncodeContext *s, int ch) static void output_residual(FlacEncodeContext *s, FlacSubframe *sub)
{ {
int i, j, p, n, parts; int i, j, p, n, parts;
int k, porder, psize, res_cnt; int k, porder, psize, res_cnt;
FlacFrame *frame; FlacFrame *frame;
FlacSubframe *sub;
int32_t *res; int32_t *res;
frame = &s->frame; frame = &s->frame;
sub = &frame->subframes[ch];
res = sub->residual; res = sub->residual;
n = frame->blocksize; n = frame->blocksize;
...@@ -1165,32 +1159,25 @@ static void output_residual(FlacEncodeContext *s, int ch) ...@@ -1165,32 +1159,25 @@ static void output_residual(FlacEncodeContext *s, int ch)
} }
static void output_subframe_fixed(FlacEncodeContext *s, int ch) static void output_subframe_fixed(FlacEncodeContext *s, FlacSubframe *sub)
{ {
int i; int i;
FlacFrame *frame;
FlacSubframe *sub;
frame = &s->frame;
sub = &frame->subframes[ch];
/* warm-up samples */ /* warm-up samples */
for (i = 0; i < sub->order; i++) for (i = 0; i < sub->order; i++)
put_sbits(&s->pb, sub->obits, sub->residual[i]); put_sbits(&s->pb, sub->obits, sub->residual[i]);
/* residual */ /* residual */
output_residual(s, ch); output_residual(s, sub);
} }
static void output_subframe_lpc(FlacEncodeContext *s, int ch) static void output_subframe_lpc(FlacEncodeContext *s, FlacSubframe *sub)
{ {
int i, cbits; int i, cbits;
FlacFrame *frame; FlacFrame *frame;
FlacSubframe *sub;
frame = &s->frame; frame = &s->frame;
sub = &frame->subframes[ch];
/* warm-up samples */ /* warm-up samples */
for (i = 0; i < sub->order; i++) for (i = 0; i < sub->order; i++)
...@@ -1204,7 +1191,7 @@ static void output_subframe_lpc(FlacEncodeContext *s, int ch) ...@@ -1204,7 +1191,7 @@ static void output_subframe_lpc(FlacEncodeContext *s, int ch)
put_sbits(&s->pb, cbits, sub->coefs[i]); put_sbits(&s->pb, cbits, sub->coefs[i]);
/* residual */ /* residual */
output_residual(s, ch); output_residual(s, sub);
} }
...@@ -1226,13 +1213,13 @@ static void output_subframes(FlacEncodeContext *s) ...@@ -1226,13 +1213,13 @@ static void output_subframes(FlacEncodeContext *s)
/* subframe */ /* subframe */
if(sub->type == FLAC_SUBFRAME_CONSTANT) if(sub->type == FLAC_SUBFRAME_CONSTANT)
output_subframe_constant(s, ch); output_subframe_constant(s, sub);
else if(sub->type == FLAC_SUBFRAME_VERBATIM) else if(sub->type == FLAC_SUBFRAME_VERBATIM)
output_subframe_verbatim(s, ch); output_subframe_verbatim(s, sub);
else if(sub->type == FLAC_SUBFRAME_FIXED) else if(sub->type == FLAC_SUBFRAME_FIXED)
output_subframe_fixed(s, ch); output_subframe_fixed(s, sub);
else if(sub->type == FLAC_SUBFRAME_LPC) else if(sub->type == FLAC_SUBFRAME_LPC)
output_subframe_lpc(s, ch); output_subframe_lpc(s, sub);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment