typedef struct avs_format {
- voc_dec_context_t voc;
+ VocDecContext voc;
AVStream *st_video;
AVStream *st_audio;
int width;
int nb_frames;
int remaining_frame_size;
int remaining_audio_size;
-} avs_format_t;
+} AvsFormat;
typedef enum avs_block_type {
+ AVS_NONE = 0x00,
AVS_VIDEO = 0x01,
AVS_AUDIO = 0x02,
AVS_PALETTE = 0x03,
AVS_GAME_DATA = 0x04,
-} avs_block_type_t;
+} AvsBlockType;
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;
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);
pkt->size = ret + palette_size;
pkt->stream_index = avs->st_video->index;
if (sub_type == 0)
- pkt->flags |= PKT_FLAG_KEY;
+ pkt->flags |= AV_PKT_FLAG_KEY;
return 0;
}
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);
return ret;
pkt->stream_index = avs->st_audio->index;
- pkt->flags |= PKT_FLAG_KEY;
+ pkt->flags |= AV_PKT_FLAG_KEY;
return size;
}
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 = 0;
+ AvsBlockType type = AVS_NONE;
int palette_size = 0;
uint8_t palette[4 + 3 * 256];
int ret;
avs->st_video = av_new_stream(s, AVS_VIDEO);
if (avs->st_video == NULL)
return AVERROR(ENOMEM);
- avs->st_video->codec->codec_type = CODEC_TYPE_VIDEO;
+ avs->st_video->codec->codec_type = AVMEDIA_TYPE_VIDEO;
avs->st_video->codec->codec_id = CODEC_ID_AVS;
avs->st_video->codec->width = avs->width;
avs->st_video->codec->height = avs->height;
- avs->st_video->codec->bits_per_sample=avs->bits_per_sample;
+ avs->st_video->codec->bits_per_coded_sample=avs->bits_per_sample;
avs->st_video->nb_frames = avs->nb_frames;
avs->st_video->codec->time_base = (AVRational) {
1, avs->fps};
avs->st_audio = av_new_stream(s, AVS_AUDIO);
if (avs->st_audio == NULL)
return AVERROR(ENOMEM);
- avs->st_audio->codec->codec_type = CODEC_TYPE_AUDIO;
+ avs->st_audio->codec->codec_type = AVMEDIA_TYPE_AUDIO;
}
avs->remaining_audio_size = size - 4;
size = avs_read_audio_packet(s, pkt);
AVInputFormat avs_demuxer = {
"avs",
- "avs format",
- sizeof(avs_format_t),
+ NULL_IF_CONFIG_SMALL("AVS format"),
+ sizeof(AvsFormat),
avs_probe,
avs_read_header,
avs_read_packet,