Browse Source

avformat: add gif pipe demuxer

tags/n4.2
Paul B Mahol 7 years ago
parent
commit
eade85bbbd
4 changed files with 19 additions and 2 deletions
  1. +1
    -0
      libavformat/Makefile
  2. +1
    -0
      libavformat/allformats.c
  3. +15
    -0
      libavformat/img2dec.c
  4. +2
    -2
      libavformat/version.h

+ 1
- 0
libavformat/Makefile View File

@@ -242,6 +242,7 @@ OBJS-$(CONFIG_IMAGE_BMP_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_DDS_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_DPX_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_EXR_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_GIF_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


+ 1
- 0
libavformat/allformats.c View File

@@ -463,6 +463,7 @@ extern AVInputFormat ff_image_bmp_pipe_demuxer;
extern AVInputFormat ff_image_dds_pipe_demuxer;
extern AVInputFormat ff_image_dpx_pipe_demuxer;
extern AVInputFormat ff_image_exr_pipe_demuxer;
extern AVInputFormat ff_image_gif_pipe_demuxer;
extern AVInputFormat ff_image_j2k_pipe_demuxer;
extern AVInputFormat ff_image_jpeg_pipe_demuxer;
extern AVInputFormat ff_image_jpegls_pipe_demuxer;


+ 15
- 0
libavformat/img2dec.c View File

@@ -29,6 +29,7 @@
#include "libavutil/pixdesc.h"
#include "libavutil/parseutils.h"
#include "libavutil/intreadwrite.h"
#include "libavcodec/gif.h"
#include "avformat.h"
#include "avio_internal.h"
#include "internal.h"
@@ -1005,6 +1006,19 @@ static int xwd_probe(AVProbeData *p)
return AVPROBE_SCORE_MAX / 2 + 1;
}

static int gif_probe(AVProbeData *p)
{
/* check magick */
if (memcmp(p->buf, gif87a_sig, 6) && memcmp(p->buf, gif89a_sig, 6))
return 0;

/* width or height contains zero? */
if (!AV_RL16(&p->buf[6]) || !AV_RL16(&p->buf[8]))
return 0;

return AVPROBE_SCORE_MAX - 1;
}

#define IMAGEAUTO_DEMUXER(imgname, codecid)\
static const AVClass imgname ## _class = {\
.class_name = AV_STRINGIFY(imgname) " demuxer",\
@@ -1028,6 +1042,7 @@ IMAGEAUTO_DEMUXER(bmp, AV_CODEC_ID_BMP)
IMAGEAUTO_DEMUXER(dds, AV_CODEC_ID_DDS)
IMAGEAUTO_DEMUXER(dpx, AV_CODEC_ID_DPX)
IMAGEAUTO_DEMUXER(exr, AV_CODEC_ID_EXR)
IMAGEAUTO_DEMUXER(gif, AV_CODEC_ID_GIF)
IMAGEAUTO_DEMUXER(j2k, AV_CODEC_ID_JPEG2000)
IMAGEAUTO_DEMUXER(jpeg, AV_CODEC_ID_MJPEG)
IMAGEAUTO_DEMUXER(jpegls, AV_CODEC_ID_JPEGLS)


+ 2
- 2
libavformat/version.h View File

@@ -32,8 +32,8 @@
// Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
// Also please add any ticket numbers that you believe might be affected here
#define LIBAVFORMAT_VERSION_MAJOR 58
#define LIBAVFORMAT_VERSION_MINOR 23
#define LIBAVFORMAT_VERSION_MICRO 102
#define LIBAVFORMAT_VERSION_MINOR 24
#define LIBAVFORMAT_VERSION_MICRO 100

#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \


Loading…
Cancel
Save