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:
parent
c36fc857b5
commit
fdf832a986
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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 \
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
|
@ -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
1882
libavcodec/sheervideo.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -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, \
|
||||||
|
@ -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 },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user