comparison avformat.h @ 708:d79164865a7c libavformat

more fine grained discarding of packets
author michael
date Thu, 17 Mar 2005 01:25:01 +0000
parents 829c5c8e5cf2
children e214703e4b76
comparison
equal deleted inserted replaced
707:cc612862d461 708:d79164865a7c
3 3
4 #ifdef __cplusplus 4 #ifdef __cplusplus
5 extern "C" { 5 extern "C" {
6 #endif 6 #endif
7 7
8 #define LIBAVFORMAT_BUILD 4622 8 #define LIBAVFORMAT_BUILD 4623
9 9
10 #define LIBAVFORMAT_VERSION_INT FFMPEG_VERSION_INT 10 #define LIBAVFORMAT_VERSION_INT FFMPEG_VERSION_INT
11 #define LIBAVFORMAT_VERSION FFMPEG_VERSION 11 #define LIBAVFORMAT_VERSION FFMPEG_VERSION
12 #define LIBAVFORMAT_IDENT "FFmpeg" FFMPEG_VERSION "b" AV_STRINGIFY(LIBAVFORMAT_BUILD) 12 #define LIBAVFORMAT_IDENT "FFmpeg" FFMPEG_VERSION "b" AV_STRINGIFY(LIBAVFORMAT_BUILD)
13 13
209 /* the following 2 flags indicate that the next/prev keyframe is known, and scaning for it isnt needed */ 209 /* the following 2 flags indicate that the next/prev keyframe is known, and scaning for it isnt needed */
210 int flags; 210 int flags;
211 int min_distance; /* min distance between this and the previous keyframe, used to avoid unneeded searching */ 211 int min_distance; /* min distance between this and the previous keyframe, used to avoid unneeded searching */
212 } AVIndexEntry; 212 } AVIndexEntry;
213 213
214 enum AVDiscard{
215 //we leave some space between them for extensions (drop some keyframes for intra only or drop just some bidir frames)
216 AVDISCARD_NONE =-16, ///< discard nothing
217 AVDISCARD_DEFAULT= 0, ///< discard useless packets like 0 size packets in avi
218 AVDISCARD_BIDIR = 16, ///< discard all bidirectional frames
219 AVDISCARD_NONKEY = 32, ///< discard all frames except keyframes
220 AVDISCARD_ALL = 48, ///< discard all
221 };
222
214 typedef struct AVStream { 223 typedef struct AVStream {
215 int index; /* stream index in AVFormatContext */ 224 int index; /* stream index in AVFormatContext */
216 int id; /* format specific stream id */ 225 int id; /* format specific stream id */
217 AVCodecContext codec; /* codec context */ 226 AVCodecContext codec; /* codec context */
218 int r_frame_rate; /* real frame rate of the stream */ 227 int r_frame_rate; /* real frame rate of the stream */
225 AVFrac pts; 234 AVFrac pts;
226 AVRational time_base; 235 AVRational time_base;
227 int pts_wrap_bits; /* number of bits in pts (used for wrapping control) */ 236 int pts_wrap_bits; /* number of bits in pts (used for wrapping control) */
228 /* ffmpeg.c private use */ 237 /* ffmpeg.c private use */
229 int stream_copy; /* if TRUE, just copy stream */ 238 int stream_copy; /* if TRUE, just copy stream */
230 int discard; ///< if 1, packets can be discarded at will and dont need to be demuxed 239 enum AVDiscard discard; ///< selects which packets can be discarded at will and dont need to be demuxed
231 //FIXME move stuff to a flags field? 240 //FIXME move stuff to a flags field?
232 /* quality, as it has been removed from AVCodecContext and put in AVVideoFrame 241 /* quality, as it has been removed from AVCodecContext and put in AVVideoFrame
233 * MN:dunno if thats the right place, for it */ 242 * MN:dunno if thats the right place, for it */
234 float quality; 243 float quality;
235 /* decoding: position of the first frame of the component, in 244 /* decoding: position of the first frame of the component, in
678 #ifdef __cplusplus 687 #ifdef __cplusplus
679 } 688 }
680 #endif 689 #endif
681 690
682 #endif /* AVFORMAT_H */ 691 #endif /* AVFORMAT_H */
692