Mercurial > libavformat.hg
diff avformat.h @ 3698:b7e347127897 libavformat
Maintain pointer to end of AVFormatContext.packet_buffer list
This changes add_to_pktbuf() to maintain a pointer to the last entry
in the list, avoiding a linear walk-through on each call. Before this
change, add_to_pktbuf() could take a significant amount of time (10%
of total decoding time), even with input files of several minutes.
After the change, the time spent in this function is barely measurable
with oprofile.
author | mru |
---|---|
date | Wed, 06 Aug 2008 22:17:38 +0000 |
parents | 74fbde8871c4 |
children | 5cf9918994ed |
line wrap: on
line diff
--- a/avformat.h Wed Aug 06 08:34:35 2008 +0000 +++ b/avformat.h Wed Aug 06 22:17:38 2008 +0000 @@ -22,7 +22,7 @@ #define FFMPEG_AVFORMAT_H #define LIBAVFORMAT_VERSION_MAJOR 52 -#define LIBAVFORMAT_VERSION_MINOR 18 +#define LIBAVFORMAT_VERSION_MINOR 19 #define LIBAVFORMAT_VERSION_MICRO 0 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ @@ -565,6 +565,9 @@ * codec. */ struct AVPacketList *raw_packet_buffer; + struct AVPacketList *raw_packet_buffer_end; + + struct AVPacketList *packet_buffer_end; } AVFormatContext; typedef struct AVPacketList {