mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-29 22:00:58 +02:00
Add Auravision Aura decoding support
Originally committed as revision 20914 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
c587910696
commit
588f8cd8df
@ -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:
|
|||||||
@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
|
|||||||
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)
|
|||||||
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 @@
|
|||||||
#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,
|
|||||||
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,
|
|||||||
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 = {
|
|||||||
NULL,
|
NULL,
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("Creative YUV (CYUV)"),
|
.long_name = NULL_IF_CONFIG_SMALL("Creative YUV (CYUV)"),
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user