Compute AC3 frame CRC for stronger raw AC3 format probing.

Closes issue64.

Originally committed as revision 12920 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Andreas Öman 17 years ago
parent 66824f990b
commit c675ef7025
  1. 4
      libavformat/raw.c

@ -22,6 +22,7 @@
#include "avformat.h" #include "avformat.h"
#include "ac3_parser.h" #include "ac3_parser.h"
#include "raw.h" #include "raw.h"
#include "crc.h"
#ifdef CONFIG_MUXERS #ifdef CONFIG_MUXERS
/* simple formats */ /* simple formats */
@ -429,6 +430,9 @@ static int ac3_probe(AVProbeData *p)
for(frames = 0; buf2 < end; frames++) { for(frames = 0; buf2 < end; frames++) {
if(ff_ac3_parse_header(buf2, &hdr) < 0) if(ff_ac3_parse_header(buf2, &hdr) < 0)
break; break;
if(buf2 + hdr.frame_size > end ||
av_crc(av_crc_get_table(AV_CRC_16_ANSI), 0, buf2 + 2, hdr.frame_size - 2))
break;
buf2 += hdr.frame_size; buf2 += hdr.frame_size;
} }
max_frames = FFMAX(max_frames, frames); max_frames = FFMAX(max_frames, frames);

Loading…
Cancel
Save