mirror of https://git.ffmpeg.org/ffmpeg.git
avformat/m4vdec: Check for non startcode 00 00 00 sequences in probe
Fixes miss detection of PCM as m4v
Fixes Ticket 3928
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7c1835c52a
)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
7248e73559
commit
ced4e9fdbb
|
@ -33,13 +33,15 @@ static int mpeg4video_probe(AVProbeData *probe_packet)
|
||||||
|
|
||||||
for(i=0; i<probe_packet->buf_size; i++){
|
for(i=0; i<probe_packet->buf_size; i++){
|
||||||
temp_buffer = (temp_buffer<<8) + probe_packet->buf[i];
|
temp_buffer = (temp_buffer<<8) + probe_packet->buf[i];
|
||||||
if ((temp_buffer & 0xffffff00) != 0x100)
|
if (temp_buffer & 0xfffffe00)
|
||||||
|
continue;
|
||||||
|
if (temp_buffer < 2)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (temp_buffer == VOP_START_CODE) VOP++;
|
if (temp_buffer == VOP_START_CODE) VOP++;
|
||||||
else if (temp_buffer == VISUAL_OBJECT_START_CODE) VISO++;
|
else if (temp_buffer == VISUAL_OBJECT_START_CODE) VISO++;
|
||||||
else if (temp_buffer < 0x120) VO++;
|
else if (temp_buffer >= 0x100 && temp_buffer < 0x120) VO++;
|
||||||
else if (temp_buffer < 0x130) VOL++;
|
else if (temp_buffer >= 0x120 && temp_buffer < 0x130) VOL++;
|
||||||
else if ( !(0x1AF < temp_buffer && temp_buffer < 0x1B7)
|
else if ( !(0x1AF < temp_buffer && temp_buffer < 0x1B7)
|
||||||
&& !(0x1B9 < temp_buffer && temp_buffer < 0x1C4)) res++;
|
&& !(0x1B9 < temp_buffer && temp_buffer < 0x1C4)) res++;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue