Mercurial > libavformat.hg
comparison avformat.h @ 4576:df7cc2eac54f libavformat
spelling/wording/grammar cosmetics
author | diego |
---|---|
date | Wed, 25 Feb 2009 19:10:39 +0000 |
parents | 852e796a3604 |
children | af7b24671b7d |
comparison
equal
deleted
inserted
replaced
4575:852e796a3604 | 4576:df7cc2eac54f |
---|---|
77 }AVMetadataTag; | 77 }AVMetadataTag; |
78 | 78 |
79 typedef struct AVMetadata AVMetadata; | 79 typedef struct AVMetadata AVMetadata; |
80 | 80 |
81 /** | 81 /** |
82 * gets a metadata element with matching key. | 82 * Gets a metadata element with matching key. |
83 * @param prev set to the previous matching element to find the next. | 83 * @param prev Set to the previous matching element to find the next. |
84 * @param flags allows case as well as suffix insensitive comparisons. | 84 * @param flags Allows case as well as suffix-insensitive comparisons. |
85 * @return found tag or NULL, changing key or value leads to undefined behavior. | 85 * @return Found tag or NULL, changing key or value leads to undefined behavior. |
86 */ | 86 */ |
87 AVMetadataTag * | 87 AVMetadataTag * |
88 av_metadata_get(AVMetadata *m, const char *key, const AVMetadataTag *prev, int flags); | 88 av_metadata_get(AVMetadata *m, const char *key, const AVMetadataTag *prev, int flags); |
89 | 89 |
90 /** | 90 /** |
91 * sets the given tag in m, overwriting an existing tag. | 91 * Sets the given tag in m, overwriting an existing tag. |
92 * @param key tag key to add to m (will be av_strduped). | 92 * @param key tag key to add to m (will be av_strduped) |
93 * @param value tag value to add to m (will be av_strduped). | 93 * @param value tag value to add to m (will be av_strduped) |
94 * @return >= 0 if success otherwise error code that is <0. | 94 * @return >= 0 on success otherwise an error code <0 |
95 */ | 95 */ |
96 int av_metadata_set(AVMetadata **pm, const char *key, const char *value); | 96 int av_metadata_set(AVMetadata **pm, const char *key, const char *value); |
97 | 97 |
98 /** | 98 /** |
99 * Free all the memory allocated for an AVMetadata struct. | 99 * Frees all the memory allocated for an AVMetadata struct. |
100 */ | 100 */ |
101 void av_metadata_free(AVMetadata **m); | 101 void av_metadata_free(AVMetadata **m); |
102 | 102 |
103 | 103 |
104 /* packet functions */ | 104 /* packet functions */ |
105 | 105 |
106 typedef struct AVPacket { | 106 typedef struct AVPacket { |
107 /** | 107 /** |
108 * Presentation timestamp in time_base units. | 108 * Presentation timestamp in time_base units; the time at which the |
109 * This is the time at which the decompressed packet will be presented | 109 * decompressed packet will be presented to the user. |
110 * to the user. | |
111 * Can be AV_NOPTS_VALUE if it is not stored in the file. | 110 * Can be AV_NOPTS_VALUE if it is not stored in the file. |
112 * pts MUST be larger or equal to dts as presentation cannot happen before | 111 * pts MUST be larger or equal to dts as presentation cannot happen before |
113 * decompression, unless one wants to view hex dumps. Some formats misuse | 112 * decompression, unless one wants to view hex dumps. Some formats misuse |
114 * the terms dts and pts/cts to mean something different, these timestamps | 113 * the terms dts and pts/cts to mean something different. Such timestamps |
115 * must be converted to true pts/dts before they are stored in AVPacket. | 114 * must be converted to true pts/dts before they are stored in AVPacket. |
116 */ | 115 */ |
117 int64_t pts; | 116 int64_t pts; |
118 /** | 117 /** |
119 * Decompression timestamp in time_base units. | 118 * Decompression timestamp in time_base units; the time at which the |
120 * This is the time at which the packet is decompressed. | 119 * packet is decompressed. |
121 * Can be AV_NOPTS_VALUE if it is not stored in the file. | 120 * Can be AV_NOPTS_VALUE if it is not stored in the file. |
122 */ | 121 */ |
123 int64_t dts; | 122 int64_t dts; |
124 uint8_t *data; | 123 uint8_t *data; |
125 int size; | 124 int size; |
228 const char *filename; | 227 const char *filename; |
229 unsigned char *buf; | 228 unsigned char *buf; |
230 int buf_size; | 229 int buf_size; |
231 } AVProbeData; | 230 } AVProbeData; |
232 | 231 |
233 #define AVPROBE_SCORE_MAX 100 ///< Maximum score, half of that is used for file-extension-based detection. | 232 #define AVPROBE_SCORE_MAX 100 ///< maximum score, half of that is used for file-extension-based detection |
234 #define AVPROBE_PADDING_SIZE 32 ///< extra allocated bytes at the end of the probe buffer | 233 #define AVPROBE_PADDING_SIZE 32 ///< extra allocated bytes at the end of the probe buffer |
235 | 234 |
236 typedef struct AVFormatParameters { | 235 typedef struct AVFormatParameters { |
237 AVRational time_base; | 236 AVRational time_base; |
238 int sample_rate; | 237 int sample_rate; |
275 * to define it. | 274 * to define it. |
276 */ | 275 */ |
277 const char *long_name; | 276 const char *long_name; |
278 const char *mime_type; | 277 const char *mime_type; |
279 const char *extensions; /**< comma-separated filename extensions */ | 278 const char *extensions; /**< comma-separated filename extensions */ |
280 /** Size of private data so that it can be allocated in the wrapper. */ | 279 /** size of private data so that it can be allocated in the wrapper */ |
281 int priv_data_size; | 280 int priv_data_size; |
282 /* output support */ | 281 /* output support */ |
283 enum CodecID audio_codec; /**< default audio codec */ | 282 enum CodecID audio_codec; /**< default audio codec */ |
284 enum CodecID video_codec; /**< default video codec */ | 283 enum CodecID video_codec; /**< default video codec */ |
285 int (*write_header)(struct AVFormatContext *); | 284 int (*write_header)(struct AVFormatContext *); |
292 int (*interleave_packet)(struct AVFormatContext *, AVPacket *out, | 291 int (*interleave_packet)(struct AVFormatContext *, AVPacket *out, |
293 AVPacket *in, int flush); | 292 AVPacket *in, int flush); |
294 | 293 |
295 /** | 294 /** |
296 * List of supported codec_id-codec_tag pairs, ordered by "better | 295 * List of supported codec_id-codec_tag pairs, ordered by "better |
297 * choice first". The arrays are all CODEC_ID_NONE terminated. | 296 * choice first". The arrays are all terminated by CODEC_ID_NONE. |
298 */ | 297 */ |
299 const struct AVCodecTag * const *codec_tag; | 298 const struct AVCodecTag * const *codec_tag; |
300 | 299 |
301 enum CodecID subtitle_codec; /**< default subtitle codec */ | 300 enum CodecID subtitle_codec; /**< default subtitle codec */ |
302 | 301 |
313 */ | 312 */ |
314 const char *long_name; | 313 const char *long_name; |
315 /** Size of private data so that it can be allocated in the wrapper. */ | 314 /** Size of private data so that it can be allocated in the wrapper. */ |
316 int priv_data_size; | 315 int priv_data_size; |
317 /** | 316 /** |
318 * Tell if a given file has a chance of being parsed by this format. | 317 * Tell if a given file has a chance of being parsed as this format. |
319 * The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes | 318 * The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes |
320 * big so you do not have to check for that unless you need more. | 319 * big so you do not have to check for that unless you need more. |
321 */ | 320 */ |
322 int (*read_probe)(AVProbeData *); | 321 int (*read_probe)(AVProbeData *); |
323 /** Read the format header and initialize the AVFormatContext | 322 /** Read the format header and initialize the AVFormatContext |
336 | 335 |
337 #if LIBAVFORMAT_VERSION_MAJOR < 53 | 336 #if LIBAVFORMAT_VERSION_MAJOR < 53 |
338 /** | 337 /** |
339 * Seek to a given timestamp relative to the frames in | 338 * Seek to a given timestamp relative to the frames in |
340 * stream component stream_index. | 339 * stream component stream_index. |
341 * @param stream_index must not be -1 | 340 * @param stream_index Must not be -1. |
342 * @param flags selects which direction should be preferred if no exact | 341 * @param flags Selects which direction should be preferred if no exact |
343 * match is available | 342 * match is available. |
344 * @return >= 0 on success (but not necessarily the new offset) | 343 * @return >= 0 on success (but not necessarily the new offset) |
345 */ | 344 */ |
346 int (*read_seek)(struct AVFormatContext *, | 345 int (*read_seek)(struct AVFormatContext *, |
347 int stream_index, int64_t timestamp, int flags); | 346 int stream_index, int64_t timestamp, int flags); |
348 #endif | 347 #endif |
416 typedef struct AVStream { | 415 typedef struct AVStream { |
417 int index; /**< stream index in AVFormatContext */ | 416 int index; /**< stream index in AVFormatContext */ |
418 int id; /**< format-specific stream ID */ | 417 int id; /**< format-specific stream ID */ |
419 AVCodecContext *codec; /**< codec context */ | 418 AVCodecContext *codec; /**< codec context */ |
420 /** | 419 /** |
421 * Real base frame rate of the stream. | 420 * Real base framerate of the stream. |
422 * This is the lowest frame rate with which all timestamps can be | 421 * This is the lowest framerate with which all timestamps can be |
423 * represented accurately (it is the least common multiple of all | 422 * represented accurately (it is the least common multiple of all |
424 * frame rates in the stream). Note, this value is just a guess! | 423 * framerates in the stream). Note, this value is just a guess! |
425 * For example if the time base is 1/90000 and all frames have either | 424 * For example, if the time base is 1/90000 and all frames have either |
426 * approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1. | 425 * approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1. |
427 */ | 426 */ |
428 AVRational r_frame_rate; | 427 AVRational r_frame_rate; |
429 void *priv_data; | 428 void *priv_data; |
430 | 429 |
434 struct AVFrac pts; | 433 struct AVFrac pts; |
435 | 434 |
436 /** | 435 /** |
437 * This is the fundamental unit of time (in seconds) in terms | 436 * This is the fundamental unit of time (in seconds) in terms |
438 * of which frame timestamps are represented. For fixed-fps content, | 437 * of which frame timestamps are represented. For fixed-fps content, |
439 * time base should be 1/frame rate and timestamp increments should be 1. | 438 * time base should be 1/framerate and timestamp increments should be 1. |
440 */ | 439 */ |
441 AVRational time_base; | 440 AVRational time_base; |
442 int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */ | 441 int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */ |
443 /* ffmpeg.c private use */ | 442 /* ffmpeg.c private use */ |
444 int stream_copy; /**< If set, just copy stream. */ | 443 int stream_copy; /**< If set, just copy stream. */ |
594 int64_t duration; | 593 int64_t duration; |
595 /** decoding: total file size, 0 if unknown */ | 594 /** decoding: total file size, 0 if unknown */ |
596 int64_t file_size; | 595 int64_t file_size; |
597 /** Decoding: total stream bitrate in bit/s, 0 if not | 596 /** Decoding: total stream bitrate in bit/s, 0 if not |
598 available. Never set it directly if the file_size and the | 597 available. Never set it directly if the file_size and the |
599 duration are known as ffmpeg can compute it automatically. */ | 598 duration are known as FFmpeg can compute it automatically. */ |
600 int bit_rate; | 599 int bit_rate; |
601 | 600 |
602 /* av_read_frame() support */ | 601 /* av_read_frame() support */ |
603 AVStream *cur_st; | 602 AVStream *cur_st; |
604 #if LIBAVFORMAT_VERSION_INT < (53<<16) | 603 #if LIBAVFORMAT_VERSION_INT < (53<<16) |
620 #define AVFMT_INFINITEOUTPUTLOOP 0 | 619 #define AVFMT_INFINITEOUTPUTLOOP 0 |
621 /** number of times to loop output in formats that support it */ | 620 /** number of times to loop output in formats that support it */ |
622 int loop_output; | 621 int loop_output; |
623 | 622 |
624 int flags; | 623 int flags; |
625 #define AVFMT_FLAG_GENPTS 0x0001 ///< Generate pts if missing even if it requires parsing future frames. | 624 #define AVFMT_FLAG_GENPTS 0x0001 ///< Generate missing pts even if it requires parsing future frames. |
626 #define AVFMT_FLAG_IGNIDX 0x0002 ///< Ignore index. | 625 #define AVFMT_FLAG_IGNIDX 0x0002 ///< Ignore index. |
627 #define AVFMT_FLAG_NONBLOCK 0x0004 ///< Do not block when reading packets from input. | 626 #define AVFMT_FLAG_NONBLOCK 0x0004 ///< Do not block when reading packets from input. |
628 | 627 |
629 int loop_input; | 628 int loop_input; |
630 /** Decoding: size of data to probe; encoding: unused. */ | 629 /** decoding: size of data to probe; encoding: unused. */ |
631 unsigned int probesize; | 630 unsigned int probesize; |
632 | 631 |
633 /** | 632 /** |
634 * Maximum time (in AV_TIME_BASE units) during which the input should | 633 * Maximum time (in AV_TIME_BASE units) during which the input should |
635 * be analyzed in av_find_stream_info(). | 634 * be analyzed in av_find_stream_info(). |
657 * Demuxing: Set by user. | 656 * Demuxing: Set by user. |
658 */ | 657 */ |
659 enum CodecID subtitle_codec_id; | 658 enum CodecID subtitle_codec_id; |
660 | 659 |
661 /** | 660 /** |
662 * Maximum amount of memory in bytes to use per stream for the index. | 661 * Maximum amount of memory in bytes to use for the index of each stream. |
663 * If the needed index exceeds this size, entries will be discarded as | 662 * If the index exceeds this size, entries will be discarded as |
664 * needed to maintain a smaller size. This can lead to slower or less | 663 * needed to maintain a smaller size. This can lead to slower or less |
665 * accurate seeking (depends on demuxer). | 664 * accurate seeking (depends on demuxer). |
666 * Demuxers for which a full in-memory index is mandatory will ignore | 665 * Demuxers for which a full in-memory index is mandatory will ignore |
667 * this. | 666 * this. |
668 * muxing : unused | 667 * muxing : unused |
709 extern AVOutputFormat *first_oformat; | 708 extern AVOutputFormat *first_oformat; |
710 #endif | 709 #endif |
711 | 710 |
712 /** | 711 /** |
713 * If f is NULL, returns the first registered input format, | 712 * If f is NULL, returns the first registered input format, |
714 * if f is non-NULL, returns the next registered input format after f, | 713 * if f is non-NULL, returns the next registered input format after f |
715 * or NULL if f is the last one. | 714 * or NULL if f is the last one. |
716 */ | 715 */ |
717 AVInputFormat *av_iformat_next(AVInputFormat *f); | 716 AVInputFormat *av_iformat_next(AVInputFormat *f); |
718 | 717 |
719 /** | 718 /** |
720 * If f is NULL, returns the first registered output format, | 719 * If f is NULL, returns the first registered output format, |
721 * if f is non-NULL, returns the next registered output format after f, | 720 * if f is non-NULL, returns the next registered output format after f |
722 * or NULL if f is the last one. | 721 * or NULL if f is the last one. |
723 */ | 722 */ |
724 AVOutputFormat *av_oformat_next(AVOutputFormat *f); | 723 AVOutputFormat *av_oformat_next(AVOutputFormat *f); |
725 | 724 |
726 enum CodecID av_guess_image2_codec(const char *filename); | 725 enum CodecID av_guess_image2_codec(const char *filename); |
727 | 726 |
728 /* XXX: use automatic init with either ELF sections or C file parser */ | 727 /* XXX: Use automatic init with either ELF sections or C file parser */ |
729 /* modules */ | 728 /* modules. */ |
730 | 729 |
731 /* utils.c */ | 730 /* utils.c */ |
732 void av_register_input_format(AVInputFormat *format); | 731 void av_register_input_format(AVInputFormat *format); |
733 void av_register_output_format(AVOutputFormat *format); | 732 void av_register_output_format(AVOutputFormat *format); |
734 AVOutputFormat *guess_stream_format(const char *short_name, | 733 AVOutputFormat *guess_stream_format(const char *short_name, |
861 AVFormatContext *avformat_alloc_context(void); | 860 AVFormatContext *avformat_alloc_context(void); |
862 | 861 |
863 /** | 862 /** |
864 * Read packets of a media file to get stream information. This | 863 * Read packets of a media file to get stream information. This |
865 * is useful for file formats with no headers such as MPEG. This | 864 * is useful for file formats with no headers such as MPEG. This |
866 * function also computes the real frame rate in case of MPEG-2 repeat | 865 * function also computes the real framerate in case of MPEG-2 repeat |
867 * frame mode. | 866 * frame mode. |
868 * The logical file position is not changed by this function; | 867 * The logical file position is not changed by this function; |
869 * examined packets may be buffered for later processing. | 868 * examined packets may be buffered for later processing. |
870 * | 869 * |
871 * @param ic media file handle | 870 * @param ic media file handle |
897 * frames if each frame has a known fixed size (e.g. PCM or ADPCM | 896 * frames if each frame has a known fixed size (e.g. PCM or ADPCM |
898 * data). If the audio frames have a variable size (e.g. MPEG audio), | 897 * data). If the audio frames have a variable size (e.g. MPEG audio), |
899 * then it contains one frame. | 898 * then it contains one frame. |
900 * | 899 * |
901 * pkt->pts, pkt->dts and pkt->duration are always set to correct | 900 * pkt->pts, pkt->dts and pkt->duration are always set to correct |
902 * values in AVStream.timebase units (and guessed if the format cannot | 901 * values in AVStream.time_base units (and guessed if the format cannot |
903 * provide them). pkt->pts can be AV_NOPTS_VALUE if the video format | 902 * provide them). pkt->pts can be AV_NOPTS_VALUE if the video format |
904 * has B-frames, so it is better to rely on pkt->dts if you do not | 903 * has B-frames, so it is better to rely on pkt->dts if you do not |
905 * decompress the payload. | 904 * decompress the payload. |
906 * | 905 * |
907 * @return 0 if OK, < 0 on error or end of file | 906 * @return 0 if OK, < 0 on error or end of file |
908 */ | 907 */ |
909 int av_read_frame(AVFormatContext *s, AVPacket *pkt); | 908 int av_read_frame(AVFormatContext *s, AVPacket *pkt); |
910 | 909 |
911 /** | 910 /** |
912 * Seek to the key frame at timestamp. | 911 * Seek to the keyframe at timestamp. |
913 * 'timestamp' in 'stream_index'. | 912 * 'timestamp' in 'stream_index'. |
914 * @param stream_index If stream_index is (-1), a default | 913 * @param stream_index If stream_index is (-1), a default |
915 * stream is selected, and timestamp is automatically converted | 914 * stream is selected, and timestamp is automatically converted |
916 * from AV_TIME_BASE units to the stream specific time_base. | 915 * from AV_TIME_BASE units to the stream specific time_base. |
917 * @param timestamp Timestamp in AVStream.time_base units | 916 * @param timestamp Timestamp in AVStream.time_base units |
926 * Seek to timestamp ts. | 925 * Seek to timestamp ts. |
927 * Seeking will be done so that the point from which all active streams | 926 * Seeking will be done so that the point from which all active streams |
928 * can be presented successfully will be closest to ts and within min/max_ts. | 927 * can be presented successfully will be closest to ts and within min/max_ts. |
929 * Active streams are all streams that have AVStream.discard < AVDISCARD_ALL. | 928 * Active streams are all streams that have AVStream.discard < AVDISCARD_ALL. |
930 * | 929 * |
931 * if flags contain AVSEEK_FLAG_BYTE then all timestamps are in byte and | 930 * If flags contain AVSEEK_FLAG_BYTE, then all timestamps are in bytes and |
932 * are the file position (this may not be supported by all demuxers). | 931 * are the file position (this may not be supported by all demuxers). |
933 * if flags contain AVSEEK_FLAG_FRAME then all timestamps are in frames | 932 * If flags contain AVSEEK_FLAG_FRAME, then all timestamps are in frames |
934 * in the stream with stream_index (this may not be supported by all demuxers). | 933 * in the stream with stream_index (this may not be supported by all demuxers). |
935 * else all timestamps are in units of the stream selected by stream_index or | 934 * Otherwise all timestamps are in units of the stream selected by stream_index |
936 * if stream_index is -1, AV_TIME_BASE units. | 935 * or if stream_index is -1, in AV_TIME_BASE units. |
937 * if flags contain AVSEEK_FLAG_ANY then non keyframes are treated as | 936 * If flags contain AVSEEK_FLAG_ANY, then non-keyframes are treated as |
938 * keyframes (this may not be supported by all demuxers). | 937 * keyframes (this may not be supported by all demuxers). |
939 * | 938 * |
940 * @param stream_index index of the stream which is used as timebase reference. | 939 * @param stream_index index of the stream which is used as time base reference |
941 * @param min_ts smallest acceptable timestamp | 940 * @param min_ts smallest acceptable timestamp |
942 * @param ts target timestamp | 941 * @param ts target timestamp |
943 * @param max_ts largest acceptable timestamp | 942 * @param max_ts largest acceptable timestamp |
944 * @param flags flags | 943 * @param flags flags |
945 * @returns >=0 on success, error code otherwise | 944 * @returns >=0 on success, error code otherwise |
946 * | 945 * |
947 * @NOTE this is part of the new seek API which is still under construction | 946 * @NOTE This is part of the new seek API which is still under construction. |
948 * thus do not use this yet it may change any time, dont expect ABI | 947 * Thus do not use this yet. It may change at any time, do not expect |
949 * compatibility yet! | 948 * ABI compatibility yet! |
950 */ | 949 */ |
951 int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags); | 950 int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags); |
952 | 951 |
953 /** | 952 /** |
954 * Start playing a network based stream (e.g. RTSP stream) at the | 953 * Start playing a network-based stream (e.g. RTSP stream) at the |
955 * current position. | 954 * current position. |
956 */ | 955 */ |
957 int av_read_play(AVFormatContext *s); | 956 int av_read_play(AVFormatContext *s); |
958 | 957 |
959 /** | 958 /** |
960 * Pause a network based stream (e.g. RTSP stream). | 959 * Pause a network-based stream (e.g. RTSP stream). |
961 * | 960 * |
962 * Use av_read_play() to resume it. | 961 * Use av_read_play() to resume it. |
963 */ | 962 */ |
964 int av_read_pause(AVFormatContext *s); | 963 int av_read_pause(AVFormatContext *s); |
965 | 964 |
1033 */ | 1032 */ |
1034 int av_index_search_timestamp(AVStream *st, int64_t timestamp, int flags); | 1033 int av_index_search_timestamp(AVStream *st, int64_t timestamp, int flags); |
1035 | 1034 |
1036 /** | 1035 /** |
1037 * Ensures the index uses less memory than the maximum specified in | 1036 * Ensures the index uses less memory than the maximum specified in |
1038 * AVFormatContext.max_index_size, by discarding entries if it grows | 1037 * AVFormatContext.max_index_size by discarding entries if it grows |
1039 * too large. | 1038 * too large. |
1040 * This function is not part of the public API and should only be called | 1039 * This function is not part of the public API and should only be called |
1041 * by demuxers. | 1040 * by demuxers. |
1042 */ | 1041 */ |
1043 void ff_reduce_index(AVFormatContext *s, int stream_index); | 1042 void ff_reduce_index(AVFormatContext *s, int stream_index); |
1114 | 1113 |
1115 /** | 1114 /** |
1116 * Writes a packet to an output media file ensuring correct interleaving. | 1115 * Writes a packet to an output media file ensuring correct interleaving. |
1117 * | 1116 * |
1118 * The packet must contain one audio or video frame. | 1117 * The packet must contain one audio or video frame. |
1119 * If the packets are already correctly interleaved the application should | 1118 * If the packets are already correctly interleaved, the application should |
1120 * call av_write_frame() instead as it is slightly faster. It is also important | 1119 * call av_write_frame() instead as it is slightly faster. It is also important |
1121 * to keep in mind that completely non-interleaved input will need huge amounts | 1120 * to keep in mind that completely non-interleaved input will need huge amounts |
1122 * of memory to interleave with this, so it is preferable to interleave at the | 1121 * of memory to interleave with this, so it is preferable to interleave at the |
1123 * demuxer level. | 1122 * demuxer level. |
1124 * | 1123 * |
1131 | 1130 |
1132 /** | 1131 /** |
1133 * Interleave a packet per dts in an output media file. | 1132 * Interleave a packet per dts in an output media file. |
1134 * | 1133 * |
1135 * Packets with pkt->destruct == av_destruct_packet will be freed inside this | 1134 * Packets with pkt->destruct == av_destruct_packet will be freed inside this |
1136 * function, so they cannot be used after it, note calling av_free_packet() | 1135 * function, so they cannot be used after it. Note that calling av_free_packet() |
1137 * on them is still safe. | 1136 * on them is still safe. |
1138 * | 1137 * |
1139 * @param s media file handle | 1138 * @param s media file handle |
1140 * @param out the interleaved packet will be output here | 1139 * @param out the interleaved packet will be output here |
1141 * @param in the input packet | 1140 * @param in the input packet |
1170 */ | 1169 */ |
1171 attribute_deprecated int parse_image_size(int *width_ptr, int *height_ptr, | 1170 attribute_deprecated int parse_image_size(int *width_ptr, int *height_ptr, |
1172 const char *str); | 1171 const char *str); |
1173 | 1172 |
1174 /** | 1173 /** |
1175 * Converts frame rate from string to a fraction. | 1174 * Converts framerate from a string to a fraction. |
1176 * @deprecated Use av_parse_video_frame_rate instead. | 1175 * @deprecated Use av_parse_video_frame_rate instead. |
1177 */ | 1176 */ |
1178 attribute_deprecated int parse_frame_rate(int *frame_rate, int *frame_rate_base, | 1177 attribute_deprecated int parse_frame_rate(int *frame_rate, int *frame_rate_base, |
1179 const char *arg); | 1178 const char *arg); |
1180 #endif | 1179 #endif |
1223 * Return 1 if found. | 1222 * Return 1 if found. |
1224 */ | 1223 */ |
1225 int find_info_tag(char *arg, int arg_size, const char *tag1, const char *info); | 1224 int find_info_tag(char *arg, int arg_size, const char *tag1, const char *info); |
1226 | 1225 |
1227 /** | 1226 /** |
1228 * Returns in 'buf' the path with '%d' replaced by number. | 1227 * Returns in 'buf' the path with '%d' replaced by a number. |
1229 * | 1228 * |
1230 * Also handles the '%0nd' format where 'n' is the total number | 1229 * Also handles the '%0nd' format where 'n' is the total number |
1231 * of digits and '%%'. | 1230 * of digits and '%%'. |
1232 * | 1231 * |
1233 * @param buf destination buffer | 1232 * @param buf destination buffer |