FFmpeg
Loading...
Searching...
No Matches
chromaprint.c File Reference
#include "avformat.h"
#include "mux.h"
#include "libavutil/opt.h"
#include "libavutil/thread.h"
#include <chromaprint.h>

Go to the source code of this file.

Data Structures

struct  ChromaprintMuxContext
 

Macros

#define CPR_VERSION_INT
 
#define OFFSET(x)
 
#define FLAGS   AV_OPT_FLAG_ENCODING_PARAM
 

Enumerations

enum  FingerprintFormat { FINGERPRINT_RAW , FINGERPRINT_COMPRESSED , FINGERPRINT_BASE64 }
 

Functions

static void deinit (AVFormatContext *s)
 
static av_cold int init (AVFormatContext *s)
 
static int write_packet (AVFormatContext *s, AVPacket *pkt)
 
static int write_trailer (AVFormatContext *s)
 

Variables

static AVMutex chromaprint_mutex = AV_MUTEX_INITIALIZER
 
static const AVOption options []
 
static const AVClass chromaprint_class
 
const FFOutputFormat ff_chromaprint_muxer
 

Macro Definition Documentation

◆ CPR_VERSION_INT

#define CPR_VERSION_INT
Value:
AV_VERSION_INT(CHROMAPRINT_VERSION_MAJOR, \
CHROMAPRINT_VERSION_MINOR, \
CHROMAPRINT_VERSION_PATCH)
#define AV_VERSION_INT(a, b, c)
Definition version.h:56

Definition at line 28 of file chromaprint.c.

◆ OFFSET

#define OFFSET ( x)
Value:

Definition at line 159 of file chromaprint.c.

◆ FLAGS

#define FLAGS   AV_OPT_FLAG_ENCODING_PARAM

Definition at line 160 of file chromaprint.c.

Enumeration Type Documentation

◆ FingerprintFormat

Enumerator
FINGERPRINT_RAW 
FINGERPRINT_COMPRESSED 
FINGERPRINT_BASE64 

Definition at line 34 of file chromaprint.c.

Function Documentation

◆ deinit()

static void deinit ( AVFormatContext * s)
static

Definition at line 53 of file chromaprint.c.

◆ init()

static av_cold int init ( AVFormatContext * s)
static

Definition at line 64 of file chromaprint.c.

◆ write_packet()

static int write_packet ( AVFormatContext * s,
AVPacket * pkt )
static

Definition at line 111 of file chromaprint.c.

◆ write_trailer()

static int write_trailer ( AVFormatContext * s)
static

Definition at line 117 of file chromaprint.c.

Variable Documentation

◆ chromaprint_mutex

AVMutex chromaprint_mutex = AV_MUTEX_INITIALIZER
static

Definition at line 32 of file chromaprint.c.

Referenced by deinit(), and init().

◆ options

const AVOption options[]
static
Initial value:
= {
{ "silence_threshold", "threshold for detecting silence", OFFSET(silence_threshold), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 32767, FLAGS },
{ "algorithm", "version of the fingerprint algorithm", OFFSET(algorithm), AV_OPT_TYPE_INT, { .i64 = CHROMAPRINT_ALGORITHM_DEFAULT }, CHROMAPRINT_ALGORITHM_TEST1, INT_MAX, FLAGS },
{ "fp_format", "fingerprint format to write", OFFSET(fp_format), AV_OPT_TYPE_INT, { .i64 = FINGERPRINT_BASE64 }, FINGERPRINT_RAW, FINGERPRINT_BASE64, FLAGS, .unit = "fp_format" },
{ "raw", "binary raw fingerprint", 0, AV_OPT_TYPE_CONST, {.i64 = FINGERPRINT_RAW }, INT_MIN, INT_MAX, FLAGS, .unit = "fp_format"},
{ "compressed", "binary compressed fingerprint", 0, AV_OPT_TYPE_CONST, {.i64 = FINGERPRINT_COMPRESSED }, INT_MIN, INT_MAX, FLAGS, .unit = "fp_format"},
{ "base64", "Base64 compressed fingerprint", 0, AV_OPT_TYPE_CONST, {.i64 = FINGERPRINT_BASE64 }, INT_MIN, INT_MAX, FLAGS, .unit = "fp_format"},
{ NULL },
}
@ FINGERPRINT_COMPRESSED
Definition chromaprint.c:36
@ FINGERPRINT_BASE64
Definition chromaprint.c:37
@ FINGERPRINT_RAW
Definition chromaprint.c:35
#define FLAGS
Definition cmdutils.c:598
#define NULL
Definition coverity.c:32
#define OFFSET(x)
@ AV_OPT_TYPE_CONST
Special option type for declaring named constants.
Definition opt.h:298
@ AV_OPT_TYPE_INT
Underlying C type is int.
Definition opt.h:258

Definition at line 161 of file chromaprint.c.

◆ chromaprint_class

const AVClass chromaprint_class
static
Initial value:
= {
.class_name = "chromaprint muxer",
.item_name = av_default_item_name,
.option = options,
}
const char * av_default_item_name(void *ptr)
Return the context name.
Definition log.c:241
#define LIBAVUTIL_VERSION_INT
Definition version.h:85

Definition at line 171 of file chromaprint.c.

◆ ff_chromaprint_muxer

const FFOutputFormat ff_chromaprint_muxer
Initial value:
= {
.p.name = "chromaprint",
.p.long_name = NULL_IF_CONFIG_SMALL("Chromaprint"),
.priv_data_size = sizeof(ChromaprintMuxContext),
.p.video_codec = AV_CODEC_ID_NONE,
.p.subtitle_codec = AV_CODEC_ID_NONE,
.flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH |
.init = init,
.write_packet = write_packet,
.write_trailer = write_trailer,
.deinit = deinit,
.p.flags = AVFMT_NOTIMESTAMPS,
.p.priv_class = &chromaprint_class,
}
#define AVFMT_NOTIMESTAMPS
Format does not need / have any timestamps.
Definition avformat.h:498
static void deinit(AVFormatContext *s)
Definition chromaprint.c:53
static const AVClass chromaprint_class
int(* init)(AVBSFContext *ctx)
Definition dts2pts.c:608
static int write_packet(Muxer *mux, OutputStream *ost, AVPacket *pkt)
Definition ffmpeg_mux.c:204
@ AV_CODEC_ID_PCM_S16LE
Definition codec_id.h:330
@ AV_CODEC_ID_NONE
Definition codec_id.h:48
@ AV_CODEC_ID_PCM_S16BE
Definition codec_id.h:331
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition internal.h:88
#define AV_NE(be, le)
Definition macros.h:33
#define FF_OFMT_FLAG_MAX_ONE_OF_EACH
If this flag is set, it indicates that for each codec type whose corresponding default codec (i....
Definition mux.h:50
#define FF_OFMT_FLAG_ONLY_DEFAULT_CODECS
If this flag is set, then the only permitted audio/video/subtitle codec ids are AVOutputFormat....
Definition mux.h:59
static int write_trailer(AVFormatContext *s1)
Definition v4l2enc.c:101

Definition at line 178 of file chromaprint.c.