flac: make FLAC_CHMODE_* constants consecutive

This commit is contained in:
Mans Rullgard 2012-06-17 11:45:10 +01:00
parent 93e7ef9a24
commit d155b60fc8
3 changed files with 9 additions and 15 deletions

View File

@ -55,8 +55,9 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb,
if (fi->ch_mode < FLAC_MAX_CHANNELS) { if (fi->ch_mode < FLAC_MAX_CHANNELS) {
fi->channels = fi->ch_mode + 1; fi->channels = fi->ch_mode + 1;
fi->ch_mode = FLAC_CHMODE_INDEPENDENT; fi->ch_mode = FLAC_CHMODE_INDEPENDENT;
} else if (fi->ch_mode <= FLAC_CHMODE_MID_SIDE) { } else if (fi->ch_mode < FLAC_MAX_CHANNELS + FLAC_CHMODE_MID_SIDE) {
fi->channels = 2; fi->channels = 2;
fi->ch_mode -= FLAC_MAX_CHANNELS - 1;
} else { } else {
av_log(avctx, AV_LOG_ERROR + log_level_offset, av_log(avctx, AV_LOG_ERROR + log_level_offset,
"invalid channel mode: %d\n", fi->ch_mode); "invalid channel mode: %d\n", fi->ch_mode);

View File

@ -37,10 +37,10 @@
#define FLAC_MIN_FRAME_SIZE 11 #define FLAC_MIN_FRAME_SIZE 11
enum { enum {
FLAC_CHMODE_INDEPENDENT = 0, FLAC_CHMODE_INDEPENDENT = 0,
FLAC_CHMODE_LEFT_SIDE = 8, FLAC_CHMODE_LEFT_SIDE = 1,
FLAC_CHMODE_RIGHT_SIDE = 9, FLAC_CHMODE_RIGHT_SIDE = 2,
FLAC_CHMODE_MID_SIDE = 10, FLAC_CHMODE_MID_SIDE = 3,
}; };
enum { enum {

View File

@ -1001,15 +1001,8 @@ static int estimate_stereo_mode(int32_t *left_ch, int32_t *right_ch, int n)
for (i = 1; i < 4; i++) for (i = 1; i < 4; i++)
if (score[i] < score[best]) if (score[i] < score[best])
best = i; best = i;
if (best == 0) {
return FLAC_CHMODE_INDEPENDENT; return best;
} else if (best == 1) {
return FLAC_CHMODE_LEFT_SIDE;
} else if (best == 2) {
return FLAC_CHMODE_RIGHT_SIDE;
} else {
return FLAC_CHMODE_MID_SIDE;
}
} }
@ -1081,7 +1074,7 @@ static void write_frame_header(FlacEncodeContext *s)
if (frame->ch_mode == FLAC_CHMODE_INDEPENDENT) if (frame->ch_mode == FLAC_CHMODE_INDEPENDENT)
put_bits(&s->pb, 4, s->channels-1); put_bits(&s->pb, 4, s->channels-1);
else else
put_bits(&s->pb, 4, frame->ch_mode); put_bits(&s->pb, 4, frame->ch_mode + FLAC_MAX_CHANNELS - 1);
put_bits(&s->pb, 3, 4); /* bits-per-sample code */ put_bits(&s->pb, 3, 4); /* bits-per-sample code */
put_bits(&s->pb, 1, 0); put_bits(&s->pb, 1, 0);