From 8cf71eadd2db209076012f2f4e7809900f317c44 Mon Sep 17 00:00:00 2001
From: Roine Gustafsson <roine@users.sourceforge.net>
Date: Tue, 26 Apr 2005 09:06:39 +0000
Subject: [PATCH] Adds read probe to y4m, and changes the extension to .y4m
 patch by (Roine Gustafsson <roine users sourceforge net)

Originally committed as revision 4164 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/yuv4mpeg.c     | 17 ++++++++++++++---
 tests/libav.regression.ref |  4 ++--
 tests/regression.sh        |  2 +-
 3 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/libavformat/yuv4mpeg.c b/libavformat/yuv4mpeg.c
index 3152c87176f..01f841c7bd3 100644
--- a/libavformat/yuv4mpeg.c
+++ b/libavformat/yuv4mpeg.c
@@ -170,7 +170,7 @@ AVOutputFormat yuv4mpegpipe_oformat = {
     "yuv4mpegpipe",
     "YUV4MPEG pipe format",
     "",
-    "yuv4mpeg",
+    "y4m",
     sizeof(int),
     CODEC_ID_NONE,
     CODEC_ID_RAWVIDEO,
@@ -375,15 +375,26 @@ static int yuv4_read_close(AVFormatContext *s)
     return 0;
 }
 
+static int yuv4_probe(AVProbeData *pd)
+{
+    /* check file header */
+    if (pd->buf_size <= sizeof(Y4M_MAGIC))
+        return 0;
+    if (strncmp(pd->buf, Y4M_MAGIC, sizeof(Y4M_MAGIC)-1)==0)
+        return AVPROBE_SCORE_MAX;
+    else
+        return 0;
+}
+
 AVInputFormat yuv4mpegpipe_iformat = {
     "yuv4mpegpipe",
     "YUV4MPEG pipe format",
     0,
-    NULL,
+    yuv4_probe,
     yuv4_read_header,
     yuv4_read_packet,
     yuv4_read_close,
-    .extensions = "yuv4mpeg"
+    .extensions = "y4m"
 };
 
 int yuv4mpeg_init(void)
diff --git a/tests/libav.regression.ref b/tests/libav.regression.ref
index 878f8440a7a..34346abf250 100644
--- a/tests/libav.regression.ref
+++ b/tests/libav.regression.ref
@@ -39,8 +39,8 @@ f34e560f8f0f2c603cf0cb3e7eeb031b *./data/b-libav.nut
 ./data/b-libav.ppm CRC=b2bb8e92
 88a98269295fbfce7816558ad84e1259 *./data/b-libav.gif
 2906382 ./data/b-libav.gif
-b977a4fedff90a79baf70c8e02986820 *./data/b-libav.yuv4mpeg
-3801810 ./data/b-libav.yuv4mpeg
+b977a4fedff90a79baf70c8e02986820 *./data/b-libav.y4m
+3801810 ./data/b-libav.y4m
 ./data/b-libav%d.pgm CRC=84c09106
 ./data/b-libav%d.ppm CRC=25c06ecf
 ./data/b-libav%d.jpg CRC=62328baa
diff --git a/tests/regression.sh b/tests/regression.sh
index e624b68d260..5e478cd0673 100755
--- a/tests/regression.sh
+++ b/tests/regression.sh
@@ -608,7 +608,7 @@ do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file
 #do_ffmpeg_crc $file -i $file
 
 # yuv4mpeg
-file=${outfile}libav.yuv4mpeg
+file=${outfile}libav.y4m
 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file
 #do_ffmpeg_crc $file -i $file
 
-- 
GitLab