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.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to