/*
- * AVISynth support for ffmpeg system
+ * AVISynth support
* Copyright (c) 2006 DivX, Inc.
*
* This file is part of Libav.
*/
#include "avformat.h"
+#include "internal.h"
#include "riff.h"
#include <windows.h>
int next_stream;
} AVISynthContext;
-static int avisynth_read_header(AVFormatContext *s, AVFormatParameters *ap)
+static int avisynth_read_header(AVFormatContext *s)
{
AVISynthContext *avs = s->priv_data;
HRESULT res;
if (AVIStreamReadFormat(stream->handle, 0, &wvfmt, &struct_size) != S_OK)
continue;
- st = av_new_stream(s, id);
+ st = avformat_new_stream(s, NULL);
+ st->id = id;
st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
st->codec->block_align = wvfmt.nBlockAlign;
if (AVIStreamReadFormat(stream->handle, 0, &imgfmt, &struct_size) != S_OK)
continue;
- st = av_new_stream(s, id);
+ st = avformat_new_stream(s, NULL);
+ st->id = id;
st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
st->r_frame_rate.num = stream->info.dwRate;
st->r_frame_rate.den = stream->info.dwScale;
st->codec->stream_codec_tag = stream->info.fccHandler;
- av_set_pts_info(st, 64, info.dwScale, info.dwRate);
+ avpriv_set_pts_info(st, 64, info.dwScale, info.dwRate);
st->start_time = stream->info.dwStart;
}
}
}
AVInputFormat ff_avisynth_demuxer = {
- "avs",
- NULL_IF_CONFIG_SMALL("AVISynth"),
- sizeof(AVISynthContext),
- NULL,
- avisynth_read_header,
- avisynth_read_packet,
- avisynth_read_close,
- avisynth_read_seek,
- NULL,
- 0,
- "avs",
+ .name = "avs",
+ .long_name = NULL_IF_CONFIG_SMALL("AVISynth"),
+ .priv_data_size = sizeof(AVISynthContext),
+ .read_header = avisynth_read_header,
+ .read_packet = avisynth_read_packet,
+ .read_close = avisynth_read_close,
+ .read_seek = avisynth_read_seek,
+ .extensions = "avs",
};