[FFmpeg-cvslog] img2dec: seeking support
Paul B Mahol
git at videolan.org
Tue Jan 8 15:46:23 CET 2013
ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Tue Jan 8 11:43:07 2013 +0000| [55d32eed8f2d32611de127a9aa93f9845e465919] | committer: Paul B Mahol
img2dec: seeking support
Signed-off-by: Paul B Mahol <onemda at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=55d32eed8f2d32611de127a9aa93f9845e465919
---
libavformat/img2dec.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index f492bba..ff9c3fd 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -393,6 +393,7 @@ static int img_read_packet(AVFormatContext *s1, AVPacket *pkt)
return AVERROR(ENOMEM);
pkt->stream_index = 0;
pkt->flags |= AV_PKT_FLAG_KEY;
+ pkt->pts = s->img_number - s->img_first;
pkt->size = 0;
for (i = 0; i < 3; i++) {
@@ -426,6 +427,16 @@ static int img_read_close(struct AVFormatContext* s1)
return 0;
}
+static int img_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
+{
+ VideoDemuxData *s1 = s->priv_data;
+
+ if (timestamp < 0 || timestamp > s1->img_last - s1->img_first)
+ return -1;
+ s1->img_number = timestamp + s1->img_first;
+ return 0;
+}
+
#define OFFSET(x) offsetof(VideoDemuxData, x)
#define DEC AV_OPT_FLAG_DECODING_PARAM
static const AVOption options[] = {
@@ -460,6 +471,7 @@ AVInputFormat ff_image2_demuxer = {
.read_header = img_read_header,
.read_packet = img_read_packet,
.read_close = img_read_close,
+ .read_seek = img_read_seek,
.flags = AVFMT_NOFILE,
.priv_class = &img2_class,
};
More information about the ffmpeg-cvslog
mailing list