avcodec: add BitJazz SheerVideo decoder

Signed-off-by: Paul B Mahol <onemda@gmail.com>
pull/180/merge
Paul B Mahol 9 years ago
parent c36fc857b5
commit fdf832a986
  1. 1
      Changelog
  2. 1
      doc/general.texi
  3. 1
      libavcodec/Makefile
  4. 1
      libavcodec/allcodecs.c
  5. 1
      libavcodec/avcodec.h
  6. 7
      libavcodec/codec_desc.c
  7. 1882
      libavcodec/sheervideo.c
  8. 4
      libavcodec/version.h
  9. 9
      libavformat/isom.c

@ -39,6 +39,7 @@ version <next>:
- MTAF demuxer and decoder
- MagicYUV decoder
- OpenExr improvements (tile data and B44/B44A support)
- BitJazz SheerVideo decoder
version 3.0:
- Common Encryption (CENC) MP4 encoding and decoding support

@ -644,6 +644,7 @@ following image formats are supported:
@item Bethesda VID video @tab @tab X
@tab Used in some games from Bethesda Softworks.
@item Bink Video @tab @tab X
@item BitJazz SheerVideo @tab @tab X
@item Bitmap Brothers JV video @tab @tab X
@item y41p Brooktree uncompressed 4:1:1 12-bit @tab X @tab X
@item Brute Force & Ignorance @tab @tab X

@ -474,6 +474,7 @@ OBJS-$(CONFIG_SDX2_DPCM_DECODER) += dpcm.o
OBJS-$(CONFIG_SGI_DECODER) += sgidec.o
OBJS-$(CONFIG_SGI_ENCODER) += sgienc.o rle.o
OBJS-$(CONFIG_SGIRLE_DECODER) += sgirledec.o
OBJS-$(CONFIG_SHEERVIDEO_DECODER) += sheervideo.o
OBJS-$(CONFIG_SHORTEN_DECODER) += shorten.o
OBJS-$(CONFIG_SIPR_DECODER) += sipr.o acelp_pitch_delay.o \
celp_math.o acelp_vectors.o \

@ -294,6 +294,7 @@ void avcodec_register_all(void)
REGISTER_DECODER(SDX2_DPCM, sdx2_dpcm);
REGISTER_ENCDEC (SGI, sgi);
REGISTER_DECODER(SGIRLE, sgirle);
REGISTER_DECODER(SHEERVIDEO, sheervideo);
REGISTER_DECODER(SMACKER, smacker);
REGISTER_DECODER(SMC, smc);
REGISTER_DECODER(SMVJPEG, smvjpeg);

@ -407,6 +407,7 @@ enum AVCodecID {
AV_CODEC_ID_TRUEMOTION2RT,
AV_CODEC_ID_M101,
AV_CODEC_ID_MAGICYUV,
AV_CODEC_ID_SHEERVIDEO,
/* various PCM "codecs" */
AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs

@ -1549,6 +1549,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("MagicYUV Lossless Video"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
},
{
.id = AV_CODEC_ID_SHEERVIDEO,
.type = AVMEDIA_TYPE_VIDEO,
.name = "sheervideo",
.long_name = NULL_IF_CONFIG_SMALL("BitJazz SheerVideo"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
},
/* various PCM "codecs" */
{

File diff suppressed because it is too large Load Diff

@ -28,8 +28,8 @@
#include "libavutil/version.h"
#define LIBAVCODEC_VERSION_MAJOR 57
#define LIBAVCODEC_VERSION_MINOR 44
#define LIBAVCODEC_VERSION_MICRO 101
#define LIBAVCODEC_VERSION_MINOR 45
#define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \

@ -277,6 +277,15 @@ const AVCodecTag ff_codec_movvideo_tags[] = {
{ AV_CODEC_ID_MAGICYUV, MKTAG('M', '8', 'Y', '4') },
{ AV_CODEC_ID_MAGICYUV, MKTAG('M', '8', 'Y', 'A') },
{ AV_CODEC_ID_SHEERVIDEO, MKTAG('S', 'h', 'r', '0') },
{ AV_CODEC_ID_SHEERVIDEO, MKTAG('S', 'h', 'r', '1') },
{ AV_CODEC_ID_SHEERVIDEO, MKTAG('S', 'h', 'r', '2') },
{ AV_CODEC_ID_SHEERVIDEO, MKTAG('S', 'h', 'r', '3') },
{ AV_CODEC_ID_SHEERVIDEO, MKTAG('S', 'h', 'r', '4') },
{ AV_CODEC_ID_SHEERVIDEO, MKTAG('S', 'h', 'r', '5') },
{ AV_CODEC_ID_SHEERVIDEO, MKTAG('S', 'h', 'r', '6') },
{ AV_CODEC_ID_SHEERVIDEO, MKTAG('S', 'h', 'r', '7') },
{ AV_CODEC_ID_NONE, 0 },
};

Loading…
Cancel
Save