45     ext = strrchr(filename, 
'.');
 
   52                                 const char *mime_type)
 
   60 #if CONFIG_IMAGE2_MUXER 
   61     if (!short_name && filename &&
 
   79         if (score > score_max) {
 
   88                               const char *filename, 
const char *mime_type,
 
  100 #if CONFIG_IMAGE2_MUXER 
  101         if (!strcmp(fmt->
name, 
"image2") || !strcmp(fmt->
name, 
"image2pipe")) {
 
  134     int score, score_max = 0;
 
  139         ID3_ALMOST_GREATER_PROBE,
 
  141         ID3_GREATER_MAX_PROBE,
 
  145         lpd.
buf = (
unsigned char *) zerobuffer;
 
  151                 nodat = ID3_ALMOST_GREATER_PROBE;
 
  155             nodat = ID3_GREATER_MAX_PROBE;
 
  157             nodat = ID3_GREATER_PROBE;
 
  171                     score = 
FFMAX(score, 1);
 
  173                 case ID3_GREATER_PROBE:
 
  174                 case ID3_ALMOST_GREATER_PROBE:
 
  177                 case ID3_GREATER_MAX_PROBE:
 
  192         if (score > score_max) {
 
  195         } 
else if (score == score_max)
 
  198     if (nodat == ID3_GREATER_PROBE)
 
  200     *score_ret = score_max;
 
  209     if (score_ret > *score_max) {
 
  210         *score_max = score_ret;
 
  223                           const char *filename, 
void *logctx,
 
  224                           unsigned int offset, 
unsigned int max_probe_size)
 
  228     int ret = 0, probe_size, buf_offset = 0;
 
  236                "Specified probe size value %u cannot be < %u\n", max_probe_size, 
PROBE_BUF_MIN);
 
  240     if (offset >= max_probe_size)
 
  247         pd.
mime_type = (
const char *)mime_type_opt;
 
  255          probe_size = 
FFMIN(probe_size << 1,
 
  256                             FFMAX(max_probe_size, probe_size + 1))) {
 
  262         if ((ret = 
avio_read(pb, buf + buf_offset,
 
  263                              probe_size - buf_offset)) < 0) {
 
  272         if (buf_offset < offset)
 
  285                        "Format %s detected only with low score of %d, " 
  286                        "misdetection possible!\n", (*fmt)->name, score);
 
  289                        "Format %s probed with size=%d and score=%d\n",
 
  290                        (*fmt)->name, probe_size, score);
 
  292             FILE *
f = fopen(
"probestat.tmp", 
"ab");
 
  293             fprintf(f, 
"probe_size:%d format:%s score:%d filename:%s\n", probe_size, (*fmt)->name, score, filename);
 
  309     return ret < 0 ? ret : score;
 
  313                           const char *filename, 
void *logctx,
 
  314                           unsigned int offset, 
unsigned int max_probe_size)
 
  317     return ret < 0 ? ret : 0;
 
#define AVERROR_INVALIDDATA
Invalid data found when processing input. 
#define AV_LOG_WARNING
Something somehow does not look correct. 
int ffio_rewind_with_probe_data(AVIOContext *s, unsigned char **buf, int buf_size)
Rewind the AVIOContext using the specified buffer containing the first buf_size bytes of the file...
#define ID3v2_DEFAULT_MAGIC
Default magic bytes for ID3v2 header: "ID3". 
AVInputFormat * av_probe_input_format3(AVProbeData *pd, int is_opened, int *score_ret)
Guess the file format. 
Opaque data information usually continuous. 
#define AV_LOG_TRACE
Extremely verbose debugging, useful for libav* development. 
const AVClass * av_class
A class for private options. 
#define AVERROR_EOF
End of file. 
int av_match_ext(const char *filename, const char *extensions)
Return a positive value if the given filename has one of the given extensions, 0 otherwise. 
int av_probe_input_buffer2(AVIOContext *pb, AVInputFormat **fmt, const char *filename, void *logctx, unsigned int offset, unsigned int max_probe_size)
Probe a bytestream to determine the input format. 
int avio_read(AVIOContext *s, unsigned char *buf, int size)
Read size bytes from AVIOContext into buf. 
const AVOutputFormat * av_muxer_iterate(void **opaque)
Iterate over all registered muxers. 
int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, const char *filename, void *logctx, unsigned int offset, unsigned int max_probe_size)
Like av_probe_input_buffer2() but returns 0 on success. 
AVCodecID
Identify the syntax and semantics of the bitstream. 
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered. 
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers. 
int av_match_name(const char *name, const char *names)
Match instances of a name in a comma-separated list of names. 
static const uint8_t offset[127][2]
AVInputFormat * av_probe_input_format2(AVProbeData *pd, int is_opened, int *score_max)
Guess the file format. 
const char * mime_type
mime_type, when known. 
int buf_size
Size of buf except extra allocated bytes. 
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero. 
AVInputFormat * av_find_input_format(const char *short_name)
Find AVInputFormat based on the short name of the input format. 
#define AV_OPT_SEARCH_CHILDREN
Search in possible children of the given object first. 
enum AVCodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name, const char *filename, const char *mime_type, enum AVMediaType type)
Guess the codec ID based upon muxer and filename. 
AVOutputFormat * av_guess_format(const char *short_name, const char *filename, const char *mime_type)
Return the output format in the list of registered output formats which best matches the provided par...
const AVInputFormat * av_demuxer_iterate(void **opaque)
Iterate over all registered demuxers. 
int av_reallocp(void *ptr, size_t size)
Allocate, reallocate, or free a block of memory through a pointer to a pointer. 
int av_filename_number_test(const char *filename)
Check whether filename actually is a numbered sequence generator. 
This structure contains the data a format has to probe a file. 
int ff_id3v2_match(const uint8_t *buf, const char *magic)
Detect ID3v2 Header. 
enum AVCodecID ff_guess_image2_codec(const char *filename)
int av_opt_get(void *obj, const char *name, int search_flags, uint8_t **out_val)
int ff_id3v2_tag_len(const uint8_t *buf)
Get the length of an ID3v2 tag. 
AVInputFormat * av_probe_input_format(AVProbeData *pd, int is_opened)
Guess the file format.