Commit 588f8cd8 authored by Kostya Shishkov's avatar Kostya Shishkov

Add Auravision Aura decoding support

Originally committed as revision 20914 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent c5879106
...@@ -46,6 +46,7 @@ version <next>: ...@@ -46,6 +46,7 @@ version <next>:
- IV8 demuxer - IV8 demuxer
- CDG demuxer and decoder - CDG demuxer and decoder
- R210 decoder - R210 decoder
- Auravision Aura decoder
......
...@@ -317,6 +317,7 @@ following image formats are supported: ...@@ -317,6 +317,7 @@ following image formats are supported:
@tab fourcc: VCR1 @tab fourcc: VCR1
@item ATI VCR2 @tab @tab X @item ATI VCR2 @tab @tab X
@tab fourcc: VCR2 @tab fourcc: VCR2
@item Auravision Aura @tab @tab X
@item Autodesk Animator Flic video @tab @tab X @item Autodesk Animator Flic video @tab @tab X
@item Autodesk RLE @tab @tab X @item Autodesk RLE @tab @tab X
@tab fourcc: AASC @tab fourcc: AASC
......
...@@ -60,6 +60,7 @@ OBJS-$(CONFIG_ASV2_DECODER) += asv1.o mpeg12data.o ...@@ -60,6 +60,7 @@ OBJS-$(CONFIG_ASV2_DECODER) += asv1.o mpeg12data.o
OBJS-$(CONFIG_ASV2_ENCODER) += asv1.o mpeg12data.o OBJS-$(CONFIG_ASV2_ENCODER) += asv1.o mpeg12data.o
OBJS-$(CONFIG_ATRAC1_DECODER) += atrac1.o atrac.o OBJS-$(CONFIG_ATRAC1_DECODER) += atrac1.o atrac.o
OBJS-$(CONFIG_ATRAC3_DECODER) += atrac3.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_AVS_DECODER) += avs.o
OBJS-$(CONFIG_BETHSOFTVID_DECODER) += bethsoftvideo.o OBJS-$(CONFIG_BETHSOFTVID_DECODER) += bethsoftvideo.o
OBJS-$(CONFIG_BFI_DECODER) += bfi.o OBJS-$(CONFIG_BFI_DECODER) += bfi.o
......
...@@ -65,6 +65,7 @@ void avcodec_register_all(void) ...@@ -65,6 +65,7 @@ void avcodec_register_all(void)
REGISTER_DECODER (AMV, amv); REGISTER_DECODER (AMV, amv);
REGISTER_ENCDEC (ASV1, asv1); REGISTER_ENCDEC (ASV1, asv1);
REGISTER_ENCDEC (ASV2, asv2); REGISTER_ENCDEC (ASV2, asv2);
REGISTER_DECODER (AURA, aura);
REGISTER_DECODER (AVS, avs); REGISTER_DECODER (AVS, avs);
REGISTER_DECODER (BETHSOFTVID, bethsoftvid); REGISTER_DECODER (BETHSOFTVID, bethsoftvid);
REGISTER_DECODER (BFI, bfi); REGISTER_DECODER (BFI, bfi);
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#include "libavutil/avutil.h" #include "libavutil/avutil.h"
#define LIBAVCODEC_VERSION_MAJOR 52 #define LIBAVCODEC_VERSION_MAJOR 52
#define LIBAVCODEC_VERSION_MINOR 43 #define LIBAVCODEC_VERSION_MINOR 44
#define LIBAVCODEC_VERSION_MICRO 0 #define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
......
...@@ -82,6 +82,10 @@ static int cyuv_decode_frame(AVCodecContext *avctx, ...@@ -82,6 +82,10 @@ static int cyuv_decode_frame(AVCodecContext *avctx,
unsigned char cur_byte; unsigned char cur_byte;
int pixel_groups; 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 /* sanity check the buffer size: A buffer has 3x16-bytes tables
* followed by (height) lines each with 3 bytes to represent groups * followed by (height) lines each with 3 bytes to represent groups
* of 4 pixels. Thus, the total size of the buffer ought to be: * of 4 pixels. Thus, the total size of the buffer ought to be:
...@@ -163,6 +167,23 @@ static int cyuv_decode_frame(AVCodecContext *avctx, ...@@ -163,6 +167,23 @@ static int cyuv_decode_frame(AVCodecContext *avctx,
return buf_size; 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 = { AVCodec cyuv_decoder = {
"cyuv", "cyuv",
CODEC_TYPE_VIDEO, CODEC_TYPE_VIDEO,
...@@ -176,4 +197,4 @@ AVCodec cyuv_decoder = { ...@@ -176,4 +197,4 @@ AVCodec cyuv_decoder = {
NULL, NULL,
.long_name = NULL_IF_CONFIG_SMALL("Creative YUV (CYUV)"), .long_name = NULL_IF_CONFIG_SMALL("Creative YUV (CYUV)"),
}; };
#endif
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