summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2009-12-23 13:04:57 +0000
committerKostya Shishkov <kostya.shishkov@gmail.com>2009-12-23 13:04:57 +0000
commit588f8cd8dfc370117d452b7f2a67f71c91613fdf (patch)
treefa2cceda6a4b892743f020ccbb230401a1b08c8d /libavcodec
parentc58791069665877047849aa554fea10070b5af23 (diff)
Add Auravision Aura decoding support
Originally committed as revision 20914 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/Makefile1
-rw-r--r--libavcodec/allcodecs.c1
-rw-r--r--libavcodec/avcodec.h2
-rw-r--r--libavcodec/cyuv.c23
4 files changed, 25 insertions, 2 deletions
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 64d365d29c..de00580743 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -60,6 +60,7 @@ OBJS-$(CONFIG_ASV2_DECODER) += asv1.o mpeg12data.o
OBJS-$(CONFIG_ASV2_ENCODER) += asv1.o mpeg12data.o
OBJS-$(CONFIG_ATRAC1_DECODER) += atrac1.o atrac.o
OBJS-$(CONFIG_ATRAC3_DECODER) += atrac3.o atrac.o
+OBJS-$(CONFIG_AURA_DECODER) += cyuv.o
OBJS-$(CONFIG_AVS_DECODER) += avs.o
OBJS-$(CONFIG_BETHSOFTVID_DECODER) += bethsoftvideo.o
OBJS-$(CONFIG_BFI_DECODER) += bfi.o
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index 702297b2b4..44517419eb 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -65,6 +65,7 @@ void avcodec_register_all(void)
REGISTER_DECODER (AMV, amv);
REGISTER_ENCDEC (ASV1, asv1);
REGISTER_ENCDEC (ASV2, asv2);
+ REGISTER_DECODER (AURA, aura);
REGISTER_DECODER (AVS, avs);
REGISTER_DECODER (BETHSOFTVID, bethsoftvid);
REGISTER_DECODER (BFI, bfi);
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index be0d522b6d..933af7c23b 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -30,7 +30,7 @@
#include "libavutil/avutil.h"
#define LIBAVCODEC_VERSION_MAJOR 52
-#define LIBAVCODEC_VERSION_MINOR 43
+#define LIBAVCODEC_VERSION_MINOR 44
#define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
diff --git a/libavcodec/cyuv.c b/libavcodec/cyuv.c
index a44fb17a36..14eee3e0bd 100644
--- a/libavcodec/cyuv.c
+++ b/libavcodec/cyuv.c
@@ -82,6 +82,10 @@ static int cyuv_decode_frame(AVCodecContext *avctx,
unsigned char cur_byte;
int pixel_groups;
+ if (avctx->codec_id == CODEC_ID_AURA) {
+ y_table = u_table;
+ u_table = v_table;
+ }
/* sanity check the buffer size: A buffer has 3x16-bytes tables
* followed by (height) lines each with 3 bytes to represent groups
* of 4 pixels. Thus, the total size of the buffer ought to be:
@@ -163,6 +167,23 @@ static int cyuv_decode_frame(AVCodecContext *avctx,
return buf_size;
}
+#if CONFIG_AURA_DECODER
+AVCodec aura_decoder = {
+ "aura",
+ CODEC_TYPE_VIDEO,
+ CODEC_ID_AURA,
+ sizeof(CyuvDecodeContext),
+ cyuv_decode_init,
+ NULL,
+ NULL,
+ cyuv_decode_frame,
+ CODEC_CAP_DR1,
+ NULL,
+ .long_name = NULL_IF_CONFIG_SMALL("Auravision AURA"),
+};
+#endif
+
+#if CONFIG_CYUV_DECODER
AVCodec cyuv_decoder = {
"cyuv",
CODEC_TYPE_VIDEO,
@@ -176,4 +197,4 @@ AVCodec cyuv_decoder = {
NULL,
.long_name = NULL_IF_CONFIG_SMALL("Creative YUV (CYUV)"),
};
-
+#endif