[FFmpeg-devel] [RFC] avfilter/image2: Add source file path and basename to each packet side data.
Alexandre Heitor Schmidt
alexandre.schmidt at gmail.com
Sun Dec 29 21:41:16 EET 2019
On 26/12/2019 14:01, Alexandre Heitor Schmidt wrote:
> > you may have to only activate this (or at least the full path
metadata) feature
> > if the user explicitly requests it. Probably the best way to do
that is to
> > introduce a new option of the image2 demuxer, probably with an
AV_OPT_TYPE_FLAGS
> > type.
>
> Do you mean image2 should, for example, have another option like
'enable_path_metadata' which would make the demuxer export the metadata
only when set to "1"?
Can I add a new parameter to VideoDemuxData in img2.h, named
export_path_metadata, which, when explicitly set to 1, will allow
exporting input path as the special metadata parameters
(lavf.image2dec.source_path and lavf.image2dec.source_basename)? The
default will be not to export them, so it won't compromise security, as
discussed previously in this thread.
Something like this:
In img2.h:
typedef struct VideoDemuxData {
const AVClass *class; /**< Class for private options. */
int img_first;
int img_last;
int img_number;
int64_t pts;
int img_count;
int is_pipe;
int split_planes; /**< use independent file for each Y, U, V
plane */
char path[1024];
char *pixel_format; /**< Set by a private option. */
int width, height; /**< Set by a private option. */
AVRational framerate; /**< Set by a private option. */
int loop;
int pattern_type; /**< PatternType */
int use_glob;
#if HAVE_GLOB
glob_t globstate;
#endif
int start_number;
int start_number_range;
int frame_size;
int ts_from_file;
int export_path_metadata; /**< enabled when set to 1. */
} VideoDemuxData;
In img2dec.c:
#define COMMON_OPTIONS \
{ "framerate", "set the video framerate", OFFSET(framerate),
AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0, INT_MAX, DEC }, \
{ "pixel_format", "set video pixel format", OFFSET(pixel_format),
AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, DEC }, \
{ "video_size", "set video size", OFFSET(width),
AV_OPT_TYPE_IMAGE_SIZE, {.str = NULL}, 0, 0, DEC }, \
{ "loop", "force loop over input file sequence",
OFFSET(loop), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, DEC }, \
{ "export_path_metadata", "enable metadata containing input path
information", OFFSET(export_path_metadata), AV_OPT_TYPE_BOOL, {.i64 =
0 }, 0, 1, DEC }, \
{ NULL },
Alex.
More information about the ffmpeg-devel
mailing list