Pass FlacSubframe to output_subframe_* instead of channel number.
Originally committed as revision 24603 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
15f537ed53
commit
1f1c05b09f
@ -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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
|
|
||||||
/* 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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user