]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/avformat.h
no read loop tcp/http and http CRLF fix by (Leon van Stuivenberg <l dot vanstuivenber...
[ffmpeg] / libavformat / avformat.h
index b098247ab310e814561b5123c5abd4b1c4febba1..7b64e0bbd869dec7d4466ad86ccd489a1f630918 100644 (file)
@@ -27,9 +27,6 @@ extern "C" {
 #define MININT64 int64_t_C(0x8000000000000000)
 #endif
 
-#define AV_NOPTS_VALUE MININT64
-#define AV_TIME_BASE 1000000
-
 typedef struct AVPacket {
     int64_t pts; /* presentation time stamp in AV_TIME_BASE units (or
                     pts_den units in muxers or demuxers) */
@@ -196,9 +193,8 @@ typedef struct AVIndexEntry {
     int64_t timestamp;
 #define AVINDEX_KEYFRAME 0x0001
 /* the following 2 flags indicate that the next/prev keyframe is known, and scaning for it isnt needed */
-#define AVINDEX_NEXT_KNOWN 0x0002
-#define AVINDEX_PREV_KNOWN 0x0004
     int flags;
+    int min_distance;         /* min distance between this and the previous keyframe, used to avoid unneeded searching */
 } AVIndexEntry;
 
 typedef struct AVStream {
@@ -245,6 +241,7 @@ typedef struct AVStream {
 
 /* format I/O context */
 typedef struct AVFormatContext {
+    AVClass *av_class; /* set by av_alloc_format_context */
     /* can only be iformat or oformat, not both at the same time */
     struct AVInputFormat *iformat;
     struct AVOutputFormat *oformat;
@@ -369,6 +366,7 @@ extern AVImageFormat png_image_format;
 #endif
 extern AVImageFormat jpeg_image_format;
 extern AVImageFormat gif_image_format;
+extern AVImageFormat sgi_image_format;
 
 /* XXX: use automatic init with either ELF sections or C file parser */
 /* modules */
@@ -427,7 +425,7 @@ int au_init(void);
 int amr_init(void);
 
 /* wav.c */
-int wav_init(void);
+int ff_wav_init(void);
 
 /* raw.c */
 int pcm_read_seek(AVFormatContext *s, 
@@ -444,7 +442,7 @@ int yuv4mpeg_init(void);
 int ogg_init(void);
 
 /* dv.c */
-int dv_init(void);
+int ff_dv_init(void);
 
 /* ffm.c */
 int ffm_init(void);
@@ -486,6 +484,9 @@ int flic_init(void);
 /* sierravmd.c */
 int vmd_init(void);
 
+/* matroska.c */
+int matroska_init(void);
+
 #include "rtp.h"
 
 #include "rtsp.h"
@@ -527,6 +528,8 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
                        AVInputFormat *fmt,
                        int buf_size,
                        AVFormatParameters *ap);
+/* no av_open for output, so applications will need this: */
+AVFormatContext *av_alloc_format_context(void);
 
 #define AVERROR_UNKNOWN     (-1)  /* unknown error */
 #define AVERROR_IO          (-2)  /* i/o error */
@@ -549,8 +552,8 @@ void av_set_pts_info(AVFormatContext *s, int pts_wrap_bits,
 
 int av_find_default_stream_index(AVFormatContext *s);
 int av_index_search_timestamp(AVStream *st, int timestamp);
-void av_add_index_entry(AVStream *st,
-                            int64_t pos, int64_t timestamp, int flags);
+int av_add_index_entry(AVStream *st,
+                       int64_t pos, int64_t timestamp, int distance, int flags);
 
 /* media file output */
 int av_set_parameters(AVFormatContext *s, AVFormatParameters *ap);