FFmpeg
Loading...
Searching...
No Matches
avf_showcqt.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2015 Muhammad Faiz <mfcc64@gmail.com>
3 *
4 * This file is part of FFmpeg.
5 *
6 * FFmpeg is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21#ifndef AVFILTER_SHOWCQT_H
22#define AVFILTER_SHOWCQT_H
23
24#include "libavutil/tx.h"
25#include "avfilter.h"
26
27typedef struct Coeffs {
28 float *val;
29 int start, len;
30} Coeffs;
31
32typedef struct RGBFloat {
33 float r, g, b;
34} RGBFloat;
35
36typedef struct YUVFloat {
37 float y, u, v;
38} YUVFloat;
39
40typedef union {
44
45typedef struct ShowCQTContext {
46 const AVClass *class;
53 int step;
59 double *freq;
73 float *h_buf;
74 float *rcp_h_buf;
75 float *sono_v_buf;
76 float *bar_v_buf;
77 float cmatrix[3][3];
78 float cscheme_v[6];
79 /* callback */
81 int len, int fft_len);
82 void (*permute_coeffs)(float *v, int len);
83 void (*draw_bar)(AVFrame *out, const float *h, const float *rcp_h,
84 const ColorFloat *c, int bar_h, float bar_t);
85 void (*draw_axis)(AVFrame *out, AVFrame *axis, const ColorFloat *c, int off);
86 void (*draw_sono)(AVFrame *out, AVFrame *sono, int off, int idx);
87 void (*update_sono)(AVFrame *sono, const ColorFloat *c, int idx);
88 /* performance debugging */
97 /* option */
100 int bar_h;
103 int fullhd; /* deprecated */
104 char *sono_v;
105 char *bar_v;
106 float sono_g;
107 float bar_g;
108 float bar_t;
109 double timeclamp;
110 double attack;
111 double basefreq;
112 double endfreq;
113 float coeffclamp; /* deprecated - ignored */
114 char *tlength;
115 int count;
117 char *fontfile;
118 char *font;
120 char *axisfile;
121 int axis;
122 int csp;
123 char *cscheme;
125
127
128#endif
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition dsp.h:87
static FILE * out
void ff_showcqt_init_x86(ShowCQTContext *s)
Main libavfilter public API header.
#define s(width, name)
Definition cbs_vp9.c:198
long long int64_t
Definition coverity.c:34
AVPixelFormat
Pixel format.
Definition pixfmt.h:71
Describe the class of an AVClass context structure.
Definition log.h:76
An instance of a filter.
Definition avfilter.h:273
This structure describes decoded (raw) audio or video data.
Definition frame.h:472
Rational number (pair of numerator and denominator).
Definition rational.h:58
int start
Definition avf_showcqt.h:29
int len
Definition avf_showcqt.h:29
float * val
Definition avf_showcqt.h:28
float r
Definition avf_showcqt.h:33
float g
Definition avf_showcqt.h:33
float b
Definition avf_showcqt.h:33
double * freq
Definition avf_showcqt.h:59
ColorFloat * c_buf
Definition avf_showcqt.h:72
AVFrame * sono_frame
Definition avf_showcqt.h:49
AVTXContext * fft_ctx
Definition avf_showcqt.h:60
enum AVPixelFormat format
Definition avf_showcqt.h:50
AVRational step_frac
Definition avf_showcqt.h:54
float cmatrix[3][3]
Definition avf_showcqt.h:77
AVComplexFloat * fft_input
Definition avf_showcqt.h:64
void(* cqt_calc)(AVComplexFloat *dst, const AVComplexFloat *src, const Coeffs *coeffs, int len, int fft_len)
Definition avf_showcqt.h:80
AVRational rate
Definition avf_showcqt.h:99
float * attack_data
Definition avf_showcqt.h:67
int64_t update_sono_time
Definition avf_showcqt.h:92
AVComplexFloat * cqt_result
Definition avf_showcqt.h:66
int64_t bar_time
Definition avf_showcqt.h:94
int64_t cqt_time
Definition avf_showcqt.h:90
Coeffs * coeffs
Definition avf_showcqt.h:62
int64_t next_pts
Definition avf_showcqt.h:58
int64_t process_cqt_time
Definition avf_showcqt.h:91
void(* draw_axis)(AVFrame *out, AVFrame *axis, const ColorFloat *c, int off)
Definition avf_showcqt.h:85
AVComplexFloat * fft_data
Definition avf_showcqt.h:63
void(* draw_sono)(AVFrame *out, AVFrame *sono, int off, int idx)
Definition avf_showcqt.h:86
float * sono_v_buf
Definition avf_showcqt.h:75
int64_t fft_time
Definition avf_showcqt.h:89
int64_t sono_time
Definition avf_showcqt.h:96
float * bar_v_buf
Definition avf_showcqt.h:76
float cscheme_v[6]
Definition avf_showcqt.h:78
int64_t axis_time
Definition avf_showcqt.h:95
float * rcp_h_buf
Definition avf_showcqt.h:74
void(* update_sono)(AVFrame *sono, const ColorFloat *c, int idx)
Definition avf_showcqt.h:87
void(* draw_bar)(AVFrame *out, const float *h, const float *rcp_h, const ColorFloat *c, int bar_h, float bar_t)
Definition avf_showcqt.h:83
av_tx_fn tx_fn
Definition avf_showcqt.h:61
AVComplexFloat * fft_result
Definition avf_showcqt.h:65
void(* permute_coeffs)(float *v, int len)
Definition avf_showcqt.h:82
AVFrame * axis_frame
Definition avf_showcqt.h:48
int64_t alloc_time
Definition avf_showcqt.h:93
AVFilterContext * ctx
Definition avf_showcqt.h:47
float u
Definition avf_showcqt.h:37
float v
Definition avf_showcqt.h:37
float y
Definition avf_showcqt.h:37
#define src
Definition vp8dsp.c:248
void(* av_tx_fn)(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
Function pointer to a function to perform the transform.
Definition tx.h:151
RGBFloat rgb
Definition avf_showcqt.h:41
YUVFloat yuv
Definition avf_showcqt.h:42
int len
static double c[64]