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