1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

avcodec: add BitJazz SheerVideo decoder

Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
Paul B Mahol 2016-05-30 19:33:31 +02:00
parent c36fc857b5
commit fdf832a986
9 changed files with 1905 additions and 2 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1549,6 +1549,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("MagicYUV Lossless Video"), .long_name = NULL_IF_CONFIG_SMALL("MagicYUV Lossless Video"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .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" */ /* various PCM "codecs" */
{ {

1882
libavcodec/sheervideo.c Normal file

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -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', '4') },
{ AV_CODEC_ID_MAGICYUV, MKTAG('M', '8', 'Y', 'A') }, { 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 }, { AV_CODEC_ID_NONE, 0 },
}; };