mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-02 21:01:56 +00:00
yop_probe: check more fields to avoid detecting random data as yop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
60de761657
commit
76170f5373
@ -38,10 +38,15 @@ typedef struct yop_dec_context {
|
|||||||
static int yop_probe(AVProbeData *probe_packet)
|
static int yop_probe(AVProbeData *probe_packet)
|
||||||
{
|
{
|
||||||
if (AV_RB16(probe_packet->buf) == AV_RB16("YO") &&
|
if (AV_RB16(probe_packet->buf) == AV_RB16("YO") &&
|
||||||
|
probe_packet->buf[2]<10 &&
|
||||||
|
probe_packet->buf[3]<10 &&
|
||||||
probe_packet->buf[6] &&
|
probe_packet->buf[6] &&
|
||||||
probe_packet->buf[7] &&
|
probe_packet->buf[7] &&
|
||||||
!(probe_packet->buf[8] & 1) &&
|
!(probe_packet->buf[8] & 1) &&
|
||||||
!(probe_packet->buf[10] & 1))
|
!(probe_packet->buf[10] & 1) &&
|
||||||
|
AV_RL16(probe_packet->buf + 12 + 6) >= 920 &&
|
||||||
|
AV_RL16(probe_packet->buf + 12 + 6) < probe_packet->buf[12] * 3 + 4 + probe_packet->buf[7] * 2048
|
||||||
|
)
|
||||||
return AVPROBE_SCORE_MAX * 3 / 4;
|
return AVPROBE_SCORE_MAX * 3 / 4;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user