mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-16 12:24:52 +00:00
mlpdec: Split sync word error and MLP sync word check.
The previous code would print the wrong error message for MLP streams with TrueHD noise type. Originally committed as revision 18762 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
aff42ee0ff
commit
e8d341ce19
@ -344,15 +344,20 @@ static int read_restart_header(MLPDecodeContext *m, GetBitContext *gbp,
|
||||
: MAX_MATRIX_CHANNEL_TRUEHD;
|
||||
|
||||
sync_word = get_bits(gbp, 13);
|
||||
s->noise_type = get_bits1(gbp);
|
||||
|
||||
if ((m->avctx->codec_id == CODEC_ID_MLP && s->noise_type) ||
|
||||
sync_word != 0x31ea >> 1) {
|
||||
if (sync_word != 0x31ea >> 1) {
|
||||
av_log(m->avctx, AV_LOG_ERROR,
|
||||
"restart header sync incorrect (got 0x%04x)\n", sync_word);
|
||||
return -1;
|
||||
}
|
||||
|
||||
s->noise_type = get_bits1(gbp);
|
||||
|
||||
if (m->avctx->codec_id == CODEC_ID_MLP && s->noise_type) {
|
||||
av_log(m->avctx, AV_LOG_ERROR, "MLP must have 0x31ea sync word.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
skip_bits(gbp, 16); /* Output timestamp */
|
||||
|
||||
s->min_channel = get_bits(gbp, 4);
|
||||
|
Loading…
Reference in New Issue
Block a user