# HG changeset patch # User kostya # Date 1261573497 0 # Node ID 29d5a7712fb96df575c1d5db2220cbc43ad06b14 # Parent 126c0fef91677ef8770e2ec2d5032a5856efd150 Add Auravision Aura decoding support diff -r 126c0fef9167 -r 29d5a7712fb9 Makefile --- a/Makefile Wed Dec 23 09:10:40 2009 +0000 +++ b/Makefile Wed Dec 23 13:04:57 2009 +0000 @@ -60,6 +60,7 @@ 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 -r 126c0fef9167 -r 29d5a7712fb9 allcodecs.c --- a/allcodecs.c Wed Dec 23 09:10:40 2009 +0000 +++ b/allcodecs.c Wed Dec 23 13:04:57 2009 +0000 @@ -65,6 +65,7 @@ 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 -r 126c0fef9167 -r 29d5a7712fb9 avcodec.h --- a/avcodec.h Wed Dec 23 09:10:40 2009 +0000 +++ b/avcodec.h Wed Dec 23 13:04:57 2009 +0000 @@ -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 -r 126c0fef9167 -r 29d5a7712fb9 cyuv.c --- a/cyuv.c Wed Dec 23 09:10:40 2009 +0000 +++ b/cyuv.c Wed Dec 23 13:04:57 2009 +0000 @@ -82,6 +82,10 @@ 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 @@ 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 @@ NULL, .long_name = NULL_IF_CONFIG_SMALL("Creative YUV (CYUV)"), }; - +#endif