Originally committed as revision 16067 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.5
@@ -25,35 +25,35 @@ | |||
typedef struct { | |||
AVFrame picture; | |||
} avs_context_t; | |||
} AvsContext; | |||
typedef enum { | |||
AVS_VIDEO = 0x01, | |||
AVS_AUDIO = 0x02, | |||
AVS_PALETTE = 0x03, | |||
AVS_GAME_DATA = 0x04, | |||
} avs_block_type_t; | |||
} AvsBlockType; | |||
typedef enum { | |||
AVS_I_FRAME = 0x00, | |||
AVS_P_FRAME_3X3 = 0x01, | |||
AVS_P_FRAME_2X2 = 0x02, | |||
AVS_P_FRAME_2X3 = 0x03, | |||
} avs_video_sub_type_t; | |||
} AvsVideoSubType; | |||
static int | |||
avs_decode_frame(AVCodecContext * avctx, | |||
void *data, int *data_size, const uint8_t * buf, int buf_size) | |||
{ | |||
avs_context_t *const avs = avctx->priv_data; | |||
AvsContext *const avs = avctx->priv_data; | |||
AVFrame *picture = data; | |||
AVFrame *const p = (AVFrame *) & avs->picture; | |||
const uint8_t *table, *vect; | |||
uint8_t *out; | |||
int i, j, x, y, stride, vect_w = 3, vect_h = 3; | |||
int sub_type; | |||
avs_block_type_t type; | |||
AvsVideoSubType sub_type; | |||
AvsBlockType type; | |||
GetBitContext change_map; | |||
if (avctx->reget_buffer(avctx, p)) { | |||
@@ -152,7 +152,7 @@ AVCodec avs_decoder = { | |||
"avs", | |||
CODEC_TYPE_VIDEO, | |||
CODEC_ID_AVS, | |||
sizeof(avs_context_t), | |||
sizeof(AvsContext), | |||
avs_decode_init, | |||
NULL, | |||
NULL, | |||
@@ -24,7 +24,7 @@ | |||
typedef struct avs_format { | |||
voc_dec_context_t voc; | |||
VocDecContext voc; | |||
AVStream *st_video; | |||
AVStream *st_audio; | |||
int width; | |||
@@ -34,7 +34,7 @@ typedef struct avs_format { | |||
int nb_frames; | |||
int remaining_frame_size; | |||
int remaining_audio_size; | |||
} avs_format_t; | |||
} AvsFormat; | |||
typedef enum avs_block_type { | |||
AVS_NONE = 0x00, | |||
@@ -42,7 +42,7 @@ typedef enum avs_block_type { | |||
AVS_AUDIO = 0x02, | |||
AVS_PALETTE = 0x03, | |||
AVS_GAME_DATA = 0x04, | |||
} avs_block_type_t; | |||
} AvsBlockType; | |||
static int avs_probe(AVProbeData * p) | |||
{ | |||
@@ -57,7 +57,7 @@ static int avs_probe(AVProbeData * p) | |||
static int avs_read_header(AVFormatContext * s, AVFormatParameters * ap) | |||
{ | |||
avs_format_t *avs = s->priv_data; | |||
AvsFormat *avs = s->priv_data; | |||
s->ctx_flags |= AVFMTCTX_NOHEADER; | |||
@@ -82,10 +82,10 @@ static int avs_read_header(AVFormatContext * s, AVFormatParameters * ap) | |||
static int | |||
avs_read_video_packet(AVFormatContext * s, AVPacket * pkt, | |||
avs_block_type_t type, int sub_type, int size, | |||
AvsBlockType type, int sub_type, int size, | |||
uint8_t * palette, int palette_size) | |||
{ | |||
avs_format_t *avs = s->priv_data; | |||
AvsFormat *avs = s->priv_data; | |||
int ret; | |||
ret = av_new_packet(pkt, size + palette_size); | |||
@@ -120,7 +120,7 @@ avs_read_video_packet(AVFormatContext * s, AVPacket * pkt, | |||
static int avs_read_audio_packet(AVFormatContext * s, AVPacket * pkt) | |||
{ | |||
avs_format_t *avs = s->priv_data; | |||
AvsFormat *avs = s->priv_data; | |||
int ret, size; | |||
size = url_ftell(s->pb); | |||
@@ -141,9 +141,9 @@ static int avs_read_audio_packet(AVFormatContext * s, AVPacket * pkt) | |||
static int avs_read_packet(AVFormatContext * s, AVPacket * pkt) | |||
{ | |||
avs_format_t *avs = s->priv_data; | |||
AvsFormat *avs = s->priv_data; | |||
int sub_type = 0, size = 0; | |||
avs_block_type_t type = AVS_NONE; | |||
AvsBlockType type = AVS_NONE; | |||
int palette_size = 0; | |||
uint8_t palette[4 + 3 * 256]; | |||
int ret; | |||
@@ -218,7 +218,7 @@ static int avs_read_close(AVFormatContext * s) | |||
AVInputFormat avs_demuxer = { | |||
"avs", | |||
NULL_IF_CONFIG_SMALL("AVS format"), | |||
sizeof(avs_format_t), | |||
sizeof(AvsFormat), | |||
avs_probe, | |||
avs_read_header, | |||
avs_read_packet, | |||
@@ -29,7 +29,7 @@ typedef struct { | |||
} C93BlockRecord; | |||
typedef struct { | |||
voc_dec_context_t voc; | |||
VocDecContext voc; | |||
C93BlockRecord block_records[512]; | |||
int current_block; | |||
@@ -27,7 +27,7 @@ | |||
typedef struct voc_dec_context { | |||
int remaining_size; | |||
} voc_dec_context_t; | |||
} VocDecContext; | |||
typedef enum voc_type { | |||
VOC_TYPE_EOF = 0x00, | |||
@@ -40,7 +40,7 @@ typedef enum voc_type { | |||
VOC_TYPE_REPETITION_END = 0x07, | |||
VOC_TYPE_EXTENDED = 0x08, | |||
VOC_TYPE_NEW_VOICE_DATA = 0x09, | |||
} voc_type_t; | |||
} VocType; | |||
extern const unsigned char ff_voc_magic[21]; | |||
extern const AVCodecTag ff_voc_codec_tags[]; | |||
@@ -38,7 +38,7 @@ static int voc_probe(AVProbeData *p) | |||
static int voc_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||
{ | |||
voc_dec_context_t *voc = s->priv_data; | |||
VocDecContext *voc = s->priv_data; | |||
ByteIOContext *pb = s->pb; | |||
int header_size; | |||
AVStream *st; | |||
@@ -62,10 +62,10 @@ static int voc_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||
int | |||
voc_get_packet(AVFormatContext *s, AVPacket *pkt, AVStream *st, int max_size) | |||
{ | |||
voc_dec_context_t *voc = s->priv_data; | |||
VocDecContext *voc = s->priv_data; | |||
AVCodecContext *dec = st->codec; | |||
ByteIOContext *pb = s->pb; | |||
voc_type_t type; | |||
VocType type; | |||
int size; | |||
int sample_rate = 0; | |||
int channels = 1; | |||
@@ -137,7 +137,7 @@ static int voc_read_packet(AVFormatContext *s, AVPacket *pkt) | |||
AVInputFormat voc_demuxer = { | |||
"voc", | |||
NULL_IF_CONFIG_SMALL("Creative Voice file format"), | |||
sizeof(voc_dec_context_t), | |||
sizeof(VocDecContext), | |||
voc_probe, | |||
voc_read_header, | |||
voc_read_packet, | |||
@@ -24,7 +24,7 @@ | |||
typedef struct voc_enc_context { | |||
int param_written; | |||
} voc_enc_context_t; | |||
} VocEncContext; | |||
static int voc_write_header(AVFormatContext *s) | |||
{ | |||
@@ -46,7 +46,7 @@ static int voc_write_header(AVFormatContext *s) | |||
static int voc_write_packet(AVFormatContext *s, AVPacket *pkt) | |||
{ | |||
voc_enc_context_t *voc = s->priv_data; | |||
VocEncContext *voc = s->priv_data; | |||
AVCodecContext *enc = s->streams[0]->codec; | |||
ByteIOContext *pb = s->pb; | |||
@@ -93,7 +93,7 @@ AVOutputFormat voc_muxer = { | |||
NULL_IF_CONFIG_SMALL("Creative Voice file format"), | |||
"audio/x-voc", | |||
"voc", | |||
sizeof(voc_enc_context_t), | |||
sizeof(VocEncContext), | |||
CODEC_ID_PCM_U8, | |||
CODEC_ID_NONE, | |||
voc_write_header, | |||