return -1;
}
-static int img_read_probe(AVProbeData *p)
+static int img_read_probe(const AVProbeData *p)
{
if (p->filename && ff_guess_image2_codec(p->filename)) {
if (av_filename_number_test(p->filename))
}
if (s1->flags & AVFMT_FLAG_CUSTOM_IO) {
avio_seek(s1->pb, 0, SEEK_SET);
+ av_freep(&probe_buffer);
} else
ffio_rewind_with_probe_data(s1->pb, &probe_buffer, probe_buffer_size);
}
if (par->codec_id == AV_CODEC_ID_NONE) {
AVProbeData pd = { 0 };
- AVInputFormat *ifmt;
+ const AVInputFormat *ifmt;
uint8_t header[PROBE_BUF_MIN + AVPROBE_PADDING_SIZE];
int ret;
int score = 0;
{ "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 }, \
{ NULL },
#if CONFIG_IMAGE2_DEMUXER
const AVOption ff_img_options[] = {
- { "loop", "force loop over input file sequence", OFFSET(loop), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, DEC },
{ "pattern_type", "set pattern type", OFFSET(pattern_type), AV_OPT_TYPE_INT, {.i64=PT_DEFAULT}, 0, INT_MAX, DEC, "pattern_type"},
{ "glob_sequence","select glob/sequence pattern type", 0, AV_OPT_TYPE_CONST, {.i64=PT_GLOB_SEQUENCE}, INT_MIN, INT_MAX, DEC, "pattern_type" },
{ "glob", "select glob pattern type", 0, AV_OPT_TYPE_CONST, {.i64=PT_GLOB }, INT_MIN, INT_MAX, DEC, "pattern_type" },
};
#endif
-static int bmp_probe(AVProbeData *p)
+static int bmp_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
int ihsize;
return AVPROBE_SCORE_EXTENSION / 4;
}
-static int dds_probe(AVProbeData *p)
+static int dds_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return 0;
}
-static int dpx_probe(AVProbeData *p)
+static int dpx_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
int w, h;
return 0;
}
-static int exr_probe(AVProbeData *p)
+static int exr_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return 0;
}
-static int j2k_probe(AVProbeData *p)
+static int j2k_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return 0;
}
-static int jpeg_probe(AVProbeData *p)
+static int jpeg_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
int i, state = SOI;
return AVPROBE_SCORE_EXTENSION / 8;
}
-static int jpegls_probe(AVProbeData *p)
+static int jpegls_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return 0;
}
-static int pcx_probe(AVProbeData *p)
+static int pcx_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return AVPROBE_SCORE_EXTENSION + 1;
}
-static int qdraw_probe(AVProbeData *p)
+static int qdraw_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return 0;
}
-static int pictor_probe(AVProbeData *p)
+static int pictor_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return 0;
}
-static int png_probe(AVProbeData *p)
+static int png_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return 0;
}
-static int psd_probe(AVProbeData *p)
+static int psd_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
int ret = 0;
return AVPROBE_SCORE_EXTENSION + ret;
}
-static int sgi_probe(AVProbeData *p)
+static int sgi_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return 0;
}
-static int sunrast_probe(AVProbeData *p)
+static int sunrast_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return 0;
}
-static int svg_probe(AVProbeData *p)
+static int svg_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
const uint8_t *end = p->buf + p->buf_size;
return 0;
}
-static int tiff_probe(AVProbeData *p)
+static int tiff_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return 0;
}
-static int webp_probe(AVProbeData *p)
+static int webp_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return 0;
}
-static int pbm_probe(AVProbeData *p)
+static int pbm_probe(const AVProbeData *p)
{
return pnm_magic_check(p, 1) || pnm_magic_check(p, 4) ? pnm_probe(p) : 0;
}
-static inline int pgmx_probe(AVProbeData *p)
+static inline int pgmx_probe(const AVProbeData *p)
{
return pnm_magic_check(p, 2) || pnm_magic_check(p, 5) ? pnm_probe(p) : 0;
}
-static int pgm_probe(AVProbeData *p)
+static int pgm_probe(const AVProbeData *p)
{
int ret = pgmx_probe(p);
return ret && !av_match_ext(p->filename, "pgmyuv") ? ret : 0;
}
-static int pgmyuv_probe(AVProbeData *p) // custom FFmpeg format recognized by file extension
+static int pgmyuv_probe(const AVProbeData *p) // custom FFmpeg format recognized by file extension
{
int ret = pgmx_probe(p);
return ret && av_match_ext(p->filename, "pgmyuv") ? ret : 0;
}
-static int ppm_probe(AVProbeData *p)
+static int ppm_probe(const AVProbeData *p)
{
return pnm_magic_check(p, 3) || pnm_magic_check(p, 6) ? pnm_probe(p) : 0;
}
-static int pam_probe(AVProbeData *p)
+static int pam_probe(const AVProbeData *p)
{
return pnm_magic_check(p, 7) ? pnm_probe(p) : 0;
}
-static int xpm_probe(AVProbeData *p)
+static int xpm_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
return 0;
}
-static int xwd_probe(AVProbeData *p)
+static int xwd_probe(const AVProbeData *p)
{
const uint8_t *b = p->buf;
unsigned width, bpp, bpad, lsize;
return AVPROBE_SCORE_MAX / 2 + 1;
}
-static int gif_probe(AVProbeData *p)
+static int gif_probe(const AVProbeData *p)
{
/* check magick */
if (memcmp(p->buf, gif87a_sig, 6) && memcmp(p->buf, gif89a_sig, 6))