Commit 5c018ee1 authored by Vittorio Giovara's avatar Vittorio Giovara

DirectDraw Surface image decoder

Signed-off-by: 's avatarVittorio Giovara <vittorio.giovara@gmail.com>
parent 7ca3e520
......@@ -35,6 +35,7 @@ version <next>:
- Multipart JPEG demuxer
- Support the extended vp9 profiles in the libvpx wrapper
- Hap decoder and encoder
- DirectDraw Surface image/texture decoder
version 11:
......
......@@ -1823,6 +1823,7 @@ cook_decoder_select="audiodsp mdct sinewin"
cscd_decoder_select="lzo"
cscd_decoder_suggest="zlib"
dca_decoder_select="fmtconvert mdct"
dds_decoder_select="texturedsp"
dnxhd_decoder_select="blockdsp idctdsp"
dnxhd_encoder_select="aandcttables blockdsp fdctdsp idctdsp mpegvideoenc pixblockdsp"
dvvideo_decoder_select="dvprofile idctdsp"
......
......@@ -245,6 +245,7 @@ library:
@item Deluxe Paint Animation @tab @tab X
@item DFA @tab @tab X
@tab This format is used in Chronomaster game
@item DirectDraw Surface @tab @tab X
@item DV video @tab X @tab X
@item DXA @tab @tab X
@tab This format is used in the non-Windows version of the Feeble Files
......
......@@ -171,6 +171,7 @@ OBJS-$(CONFIG_CYUV_DECODER) += cyuv.o
OBJS-$(CONFIG_DCA_DECODER) += dcadec.o dca.o dcadsp.o \
dcadata.o dca_exss.o \
dca_xll.o synth_filter.o
OBJS-$(CONFIG_DDS_DECODER) += dds.o
OBJS-$(CONFIG_DFA_DECODER) += dfa.o
OBJS-$(CONFIG_DNXHD_DECODER) += dnxhddec.o dnxhddata.o
OBJS-$(CONFIG_DNXHD_ENCODER) += dnxhdenc.o dnxhddata.o
......
......@@ -132,6 +132,7 @@ void avcodec_register_all(void)
REGISTER_ENCDEC (COMFORTNOISE, comfortnoise);
REGISTER_DECODER(CSCD, cscd);
REGISTER_DECODER(CYUV, cyuv);
REGISTER_DECODER(DDS, dds);
REGISTER_DECODER(DFA, dfa);
REGISTER_ENCDEC (DNXHD, dnxhd);
REGISTER_ENCDEC (DPX, dpx);
......
......@@ -297,6 +297,7 @@ enum AVCodecID {
AV_CODEC_ID_TDSC,
AV_CODEC_ID_HQ_HQA,
AV_CODEC_ID_HAP,
AV_CODEC_ID_DDS,
/* various PCM "codecs" */
AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
......
......@@ -1178,6 +1178,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("BRender PIX image"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
},
{
.id = AV_CODEC_ID_DDS,
.type = AVMEDIA_TYPE_VIDEO,
.name = "dds",
.long_name = NULL_IF_CONFIG_SMALL("DirectDraw Surface image decoder"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
AV_CODEC_PROP_LOSSLESS,
},
{
.id = AV_CODEC_ID_DPX,
.type = AVMEDIA_TYPE_VIDEO,
......
This diff is collapsed.
......@@ -29,7 +29,7 @@
#include "libavutil/version.h"
#define LIBAVCODEC_VERSION_MAJOR 56
#define LIBAVCODEC_VERSION_MINOR 27
#define LIBAVCODEC_VERSION_MINOR 28
#define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
......
......@@ -44,6 +44,7 @@ static const IdStrMap img_tags[] = {
{ AV_CODEC_ID_PBM, "pbm" },
{ AV_CODEC_ID_PAM, "pam" },
{ AV_CODEC_ID_ALIAS_PIX, "pix" },
{ AV_CODEC_ID_DDS, "dds" },
{ AV_CODEC_ID_MPEG1VIDEO, "mpg1-img" },
{ AV_CODEC_ID_MPEG2VIDEO, "mpg2-img" },
{ AV_CODEC_ID_MPEG4, "mpg4-img" },
......
......@@ -30,6 +30,18 @@ fate-brenderpix: $(FATE_BRENDERPIX-yes)
FATE_SAMPLES_AVCONV-$(call PARSERDEMDEC, BMP, IMAGE2PIPE, BMP) += fate-bmpparser
fate-bmpparser: CMD = framecrc -f image2pipe -i $(TARGET_SAMPLES)/bmp/libav_4x_concat.bmp -pix_fmt rgb24
define FATE_IMGSUITE_DDS
FATE_DDS += fate-dds-$(1)
fate-dds-$(1): CMD = framecrc -i $(TARGET_SAMPLES)/dds/libav_$(1).dds -sws_flags +accurate_rnd+bitexact -pix_fmt rgba
endef
DDS_FMT = argb argb-aexp dx10-bc1 dx10-bc1a dx10-bc2 dx10-bc3 dx10-bc4 dx10-bc5 dxt1 dxt1a dxt1-normalmap dxt2 dxt3 dxt4 dxt5 dxt5-aexp dxt5-normalmap dxt5-normalmap-ati dxt5-rbxg dxt5-rgxb dxt5-rxbg dxt5-rxgb dxt5-xgbr dxt5-xgxr dxt5-xrbg dxt5-ycocg dxt5-ycocg-scaled pal pal-ati rgb16 rgb24 rgtc1s rgtc1u rgtc2s rgtc2u rgtc2u-xy uyvy xbgr xrgb y ya ycocg yuyv
$(foreach FMT,$(DDS_FMT),$(eval $(call FATE_IMGSUITE_DDS,$(FMT))))
FATE_DDS-$(call DEMDEC, IMAGE2, DDS) += $(FATE_DDS)
FATE_SAMPLES_AVCONV += $(FATE_DDS-yes)
fate-dds: $(FATE_DDS-yes)
FATE_SAMPLES_AVCONV-$(call DEMDEC, IMAGE2, DPX) += fate-dpx
fate-dpx: CMD = framecrc -i $(TARGET_SAMPLES)/dpx/lighthouse_rgb48.dpx
......
#tb 0: 1/25
0, 0, 0, 1, 56320, 0xfcaa920b
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xfdd37c43
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xed2f850f
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x473b484b
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x2bce3baa
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xb91d3c62
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xfdfd1751
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x79bd207e
#tb 0: 1/25
0, 0, 0, 1, 32768, 0xf52adc80
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x2b411855
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xcabb50ea
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x11cebeb0
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x729b74ba
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x31aaacd6
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xfd3166aa
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x3c987914
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xd29b1ea1
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x54cb212f
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x37588d12
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xfb6b91cf
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xc6cb8cbe
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xb67d936a
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xb0e69293
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xa93de1ad
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xf20d8b69
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x0d0c8d20
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x5a089973
#tb 0: 1/25
0, 0, 0, 1, 65536, 0xbffee5cd
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x23068060
#tb 0: 1/25
0, 0, 0, 1, 32768, 0x7991785d
#tb 0: 1/25
0, 0, 0, 1, 32768, 0xcf0f7833
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xcda652a4
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x629a1b44
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xa0135ca8
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x38cb221a
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x79bd207e
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xd579a59e
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x702f6a28
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x702f6a28
#tb 0: 1/25
0, 0, 0, 1, 32768, 0xc51add1c
#tb 0: 1/25
0, 0, 0, 1, 56320, 0xca81315f
#tb 0: 1/25
0, 0, 0, 1, 16384, 0x4cb08d0a
#tb 0: 1/25
0, 0, 0, 1, 16384, 0xd579a59e
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment