Re: [FFmpeg-devel] [PATCH]lavf: Add pcx auto-detection

2016-02-29 Thread Carl Eugen Hoyos
Michael Niedermayer  niedermayer.cc> writes:

> On Mon, Feb 29, 2016 at 12:01:35PM +, Carl Eugen Hoyos wrote:
> > Carl Eugen Hoyos  ag.or.at> writes:
> > 
> > > +|| b[1] > 6
> > 
> > Locally fixed to "> 5"
> 
> patch probably ok

Pushed.

Thank you, Carl Eugen

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH]lavf: Add pcx auto-detection

2016-02-29 Thread Michael Niedermayer
On Mon, Feb 29, 2016 at 12:01:35PM +, Carl Eugen Hoyos wrote:
> Carl Eugen Hoyos  ag.or.at> writes:
> 
> > +|| b[1] > 6
> 
> Locally fixed to "> 5"

patch probably ok

thx

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

He who knows, does not speak. He who speaks, does not know. -- Lao Tsu


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH]lavf: Add pcx auto-detection

2016-02-29 Thread Carl Eugen Hoyos
Carl Eugen Hoyos  ag.or.at> writes:

> +|| b[1] > 6

Locally fixed to "> 5"

Carl Eugen

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH]lavf: Add pcx auto-detection

2016-02-29 Thread Carl Eugen Hoyos
Hi!

Attached patch adds auto-detection for pcx images.

Please comment, Carl Eugen
diff --git a/libavformat/Makefile b/libavformat/Makefile
index 782908e..edfa695 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -218,6 +218,7 @@ OBJS-$(CONFIG_IMAGE_EXR_PIPE_DEMUXER) += img2dec.o 
img2.o
 OBJS-$(CONFIG_IMAGE_J2K_PIPE_DEMUXER) += img2dec.o img2.o
 OBJS-$(CONFIG_IMAGE_JPEG_PIPE_DEMUXER)+= img2dec.o img2.o
 OBJS-$(CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER)  += img2dec.o img2.o
+OBJS-$(CONFIG_IMAGE_PCX_PIPE_DEMUXER) += img2dec.o img2.o
 OBJS-$(CONFIG_IMAGE_PICTOR_PIPE_DEMUXER)  += img2dec.o img2.o
 OBJS-$(CONFIG_IMAGE_PNG_PIPE_DEMUXER) += img2dec.o img2.o
 OBJS-$(CONFIG_IMAGE_QDRAW_PIPE_DEMUXER)   += img2dec.o img2.o
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index 9662941..fc87900 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -358,6 +358,7 @@ void av_register_all(void)
 REGISTER_DEMUXER (IMAGE_J2K_PIPE,image_j2k_pipe);
 REGISTER_DEMUXER (IMAGE_JPEG_PIPE,   image_jpeg_pipe);
 REGISTER_DEMUXER (IMAGE_JPEGLS_PIPE, image_jpegls_pipe);
+REGISTER_DEMUXER (IMAGE_PCX_PIPE,image_pcx_pipe);
 REGISTER_DEMUXER (IMAGE_PICTOR_PIPE, image_pictor_pipe);
 REGISTER_DEMUXER (IMAGE_PNG_PIPE,image_png_pipe);
 REGISTER_DEMUXER (IMAGE_QDRAW_PIPE,  image_qdraw_pipe);
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index 94cce93..b2a0ee5 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -764,6 +764,27 @@ static int jpegls_probe(AVProbeData *p)
 return 0;
 }
 
+static int pcx_probe(AVProbeData *p)
+{
+const uint8_t *b = p->buf;
+
+if (   p->buf_size < 128
+|| b[0] != 10
+|| b[1] > 6
+|| b[2] != 1
+|| av_popcount(b[3]) != 1 || b[3] > 8
+|| AV_RL16([4]) > AV_RL16([8])
+|| AV_RL16([6]) > AV_RL16([10])
+|| b[64])
+return 0;
+b += 73;
+while (++b < p->buf + 128)
+if (*b)
+return AVPROBE_SCORE_EXTENSION / 4;
+
+return AVPROBE_SCORE_EXTENSION + 1;
+}
+
 static int qdraw_probe(AVProbeData *p)
 {
 const uint8_t *b = p->buf;
@@ -865,6 +886,7 @@ IMAGEAUTO_DEMUXER(exr, AV_CODEC_ID_EXR)
 IMAGEAUTO_DEMUXER(j2k, AV_CODEC_ID_JPEG2000)
 IMAGEAUTO_DEMUXER(jpeg,AV_CODEC_ID_MJPEG)
 IMAGEAUTO_DEMUXER(jpegls,  AV_CODEC_ID_JPEGLS)
+IMAGEAUTO_DEMUXER(pcx, AV_CODEC_ID_PCX)
 IMAGEAUTO_DEMUXER(pictor,  AV_CODEC_ID_PICTOR)
 IMAGEAUTO_DEMUXER(png, AV_CODEC_ID_PNG)
 IMAGEAUTO_DEMUXER(qdraw,   AV_CODEC_ID_QDRAW)
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel