From b5bce20cc395b1dfd0017dd3140fa39998cd0a02 Mon Sep 17 00:00:00 2001 From: Mashiat Sarker Shakkhar Date: Sat, 23 Jun 2012 09:53:43 +0600 Subject: image2: Add "start_number" private option to the muxer This adds the capability to start counting file number from an arbitrary integer. This includes a few lines of trivial code from FFmpeg codebase. Signed-off-by: Anton Khirnov --- libavformat/img2enc.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'libavformat/img2enc.c') diff --git a/libavformat/img2enc.c b/libavformat/img2enc.c index c825c2bf23..0f348576f5 100644 --- a/libavformat/img2enc.c +++ b/libavformat/img2enc.c @@ -26,8 +26,10 @@ #include "avformat.h" #include "avio_internal.h" #include "internal.h" +#include "libavutil/opt.h" typedef struct { + const AVClass *class; /**< Class for private options. */ int img_number; int is_pipe; char path[1024]; @@ -37,7 +39,6 @@ static int write_header(AVFormatContext *s) { VideoMuxData *img = s->priv_data; - img->img_number = 1; av_strlcpy(img->path, s->filename, sizeof(img->path)); /* find format */ @@ -124,7 +125,21 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt) return 0; } +#define OFFSET(x) offsetof(VideoMuxData, x) +#define ENC AV_OPT_FLAG_ENCODING_PARAM +static const AVOption muxoptions[] = { + { "start_number", "first number in the sequence", OFFSET(img_number), AV_OPT_TYPE_INT, {.dbl = 1}, 1, INT_MAX, ENC }, + { NULL }, +}; + #if CONFIG_IMAGE2_MUXER +static const AVClass img2mux_class = { + .class_name = "image2 muxer", + .item_name = av_default_item_name, + .option = muxoptions, + .version = LIBAVUTIL_VERSION_INT, +}; + AVOutputFormat ff_image2_muxer = { .name = "image2", .long_name = NULL_IF_CONFIG_SMALL("image2 sequence"), @@ -135,7 +150,8 @@ AVOutputFormat ff_image2_muxer = { .video_codec = CODEC_ID_MJPEG, .write_header = write_header, .write_packet = write_packet, - .flags = AVFMT_NOTIMESTAMPS | AVFMT_NODIMENSIONS | AVFMT_NOFILE + .flags = AVFMT_NOTIMESTAMPS | AVFMT_NODIMENSIONS | AVFMT_NOFILE, + .priv_class = &img2mux_class, }; #endif #if CONFIG_IMAGE2PIPE_MUXER -- cgit v1.2.3