mirror of https://git.ffmpeg.org/ffmpeg.git
avfilter/avf_showvolume: make it possible to use current channel number in color expression
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
parent
c3a5702ebf
commit
e658b1036c
|
@ -12158,6 +12158,9 @@ The expression can use the following variables:
|
|||
@table @option
|
||||
@item VOLUME
|
||||
Current max volume of channel in dB.
|
||||
|
||||
@item CHANNEL
|
||||
Current channel number, starting from 0.
|
||||
@end table
|
||||
|
||||
@item t
|
||||
|
|
|
@ -59,8 +59,8 @@ static const AVOption showvolume_options[] = {
|
|||
|
||||
AVFILTER_DEFINE_CLASS(showvolume);
|
||||
|
||||
static const char *const var_names[] = { "VOLUME", NULL };
|
||||
enum { VAR_VOLUME, VAR_VARS_NB };
|
||||
static const char *const var_names[] = { "VOLUME", "CHANNEL", NULL };
|
||||
enum { VAR_VOLUME, VAR_CHANNEL, VAR_VARS_NB };
|
||||
|
||||
static av_cold int init(AVFilterContext *ctx)
|
||||
{
|
||||
|
@ -201,6 +201,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples)
|
|||
|
||||
max = av_clipf(max, 0, 1);
|
||||
values[VAR_VOLUME] = 20.0 * log(max) / M_LN10;
|
||||
values[VAR_CHANNEL] = c;
|
||||
color = av_expr_eval(s->c_expr, values, NULL);
|
||||
|
||||
for (j = 0; j < s->h; j++) {
|
||||
|
|
Loading…
Reference in New Issue