diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2009-09-29 10:23:47 +0000 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2009-09-29 10:23:47 +0000 |
commit | 4b4ac5c7a8b4c90c359ad7150ac71e542973abc8 (patch) | |
tree | 3ecf6382f1fa07a74ef01458001825536e00c21e | |
parent | f6765f3f04518bd0c2172733139422be49c1c82c (diff) | |
download | ffmpeg-4b4ac5c7a8b4c90c359ad7150ac71e542973abc8.tar.gz |
Sync AC3 probe values with MP3 probe values, they have to avoid similar issues.
This fixes ffmpeg-generated files with -acodec ac3 being detected as raw ac3
instead of MPEG.
Originally committed as revision 20075 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/mp3.c | 2 | ||||
-rw-r--r-- | libavformat/raw.c | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/libavformat/mp3.c b/libavformat/mp3.c index 42ca42fa08..01248742e0 100644 --- a/libavformat/mp3.c +++ b/libavformat/mp3.c @@ -63,6 +63,8 @@ static int mp3_read_probe(AVProbeData *p) if(buf == buf0) first_frames= frames; } + // keep this in sync with ac3 probe, both need to avoid + // issues with MPEG-files! if (first_frames>=4) return AVPROBE_SCORE_MAX/2+1; else if(max_frames>500)return AVPROBE_SCORE_MAX/2; else if(max_frames>=4) return AVPROBE_SCORE_MAX/4; diff --git a/libavformat/raw.c b/libavformat/raw.c index f807a96f31..e7cfd7c1d0 100644 --- a/libavformat/raw.c +++ b/libavformat/raw.c @@ -628,8 +628,11 @@ static int ac3_eac3_probe(AVProbeData *p, enum CodecID expected_codec_id) first_frames = frames; } if(codec_id != expected_codec_id) return 0; - if (first_frames>=3) return AVPROBE_SCORE_MAX * 3 / 4; - else if(max_frames>=3) return AVPROBE_SCORE_MAX / 2; + // keep this in sync with mp3 probe, both need to avoid + // issues with MPEG-files! + if (first_frames>=4) return AVPROBE_SCORE_MAX/2+1; + else if(max_frames>500)return AVPROBE_SCORE_MAX/2; + else if(max_frames>=4) return AVPROBE_SCORE_MAX/4; else if(max_frames>=1) return 1; else return 0; } |