summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/ffmpeg/libavfilter/af_volume.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/ffmpeg/libavfilter/af_volume.h')
-rw-r--r--chromium/third_party/ffmpeg/libavfilter/af_volume.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/chromium/third_party/ffmpeg/libavfilter/af_volume.h b/chromium/third_party/ffmpeg/libavfilter/af_volume.h
index bd7932e4d40..e78e042d09e 100644
--- a/chromium/third_party/ffmpeg/libavfilter/af_volume.h
+++ b/chromium/third_party/ffmpeg/libavfilter/af_volume.h
@@ -25,6 +25,7 @@
#define AVFILTER_AF_VOLUME_H
#include "libavutil/common.h"
+#include "libavutil/eval.h"
#include "libavutil/float_dsp.h"
#include "libavutil/opt.h"
#include "libavutil/samplefmt.h"
@@ -35,10 +36,47 @@ enum PrecisionType {
PRECISION_DOUBLE,
};
+enum EvalMode {
+ EVAL_MODE_ONCE,
+ EVAL_MODE_FRAME,
+ EVAL_MODE_NB
+};
+
+enum VolumeVarName {
+ VAR_N,
+ VAR_NB_CHANNELS,
+ VAR_NB_CONSUMED_SAMPLES,
+ VAR_NB_SAMPLES,
+ VAR_POS,
+ VAR_PTS,
+ VAR_SAMPLE_RATE,
+ VAR_STARTPTS,
+ VAR_STARTT,
+ VAR_T,
+ VAR_TB,
+ VAR_VOLUME,
+ VAR_VARS_NB
+};
+
+enum ReplayGainType {
+ REPLAYGAIN_DROP,
+ REPLAYGAIN_IGNORE,
+ REPLAYGAIN_TRACK,
+ REPLAYGAIN_ALBUM,
+};
+
typedef struct VolumeContext {
const AVClass *class;
AVFloatDSPContext fdsp;
enum PrecisionType precision;
+ enum EvalMode eval_mode;
+ const char *volume_expr;
+ AVExpr *volume_pexpr;
+ double var_values[VAR_VARS_NB];
+
+ enum ReplayGainType replaygain;
+ double replaygain_preamp;
+ int replaygain_noclip;
double volume;
int volume_i;
int channels;