From 588f8cd8dfc370117d452b7f2a67f71c91613fdf Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Wed, 23 Dec 2009 13:04:57 +0000 Subject: Add Auravision Aura decoding support Originally committed as revision 20914 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/cyuv.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'libavcodec/cyuv.c') 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 -- cgit v1.2.3