diff --git a/libavfilter/aeval.c b/libavfilter/aeval.c
index 42970f4..faf4835 100644
--- a/libavfilter/aeval.c
+++ b/libavfilter/aeval.c
@@ -53,7 +53,7 @@ enum var_name {
     VAR_VARS_NB
 };
 
-typedef struct {
+typedef struct EvalContext {
     const AVClass *class;
     char *sample_rate_str;
     int sample_rate;
diff --git a/libavfilter/af_afade.c b/libavfilter/af_afade.c
index 3a6266f..ba7a2ab 100644
--- a/libavfilter/af_afade.c
+++ b/libavfilter/af_afade.c
@@ -29,7 +29,7 @@
 #include "avfilter.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct AudioFadeContext {
     const AVClass *class;
     int type;
     int curve, curve2;
diff --git a/libavfilter/af_amerge.c b/libavfilter/af_amerge.c
index 3cf36b3..cc974cd 100644
--- a/libavfilter/af_amerge.c
+++ b/libavfilter/af_amerge.c
@@ -37,7 +37,7 @@
 
 #define SWR_CH_MAX 64
 
-typedef struct {
+typedef struct AMergeContext {
     const AVClass *class;
     int nb_inputs;
     int route[SWR_CH_MAX]; /**< channels routing, see copy_samples */
diff --git a/libavfilter/af_apad.c b/libavfilter/af_apad.c
index 8171f2a..f7a4199 100644
--- a/libavfilter/af_apad.c
+++ b/libavfilter/af_apad.c
@@ -34,7 +34,7 @@
 #include "audio.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct APadContext {
     const AVClass *class;
     int64_t next_pts;
 
diff --git a/libavfilter/af_aresample.c b/libavfilter/af_aresample.c
index 2b55d70..0216432 100644
--- a/libavfilter/af_aresample.c
+++ b/libavfilter/af_aresample.c
@@ -34,7 +34,7 @@
 #include "audio.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct AResampleContext {
     const AVClass *class;
     int sample_rate_arg;
     double ratio;
diff --git a/libavfilter/af_asetnsamples.c b/libavfilter/af_asetnsamples.c
index b5aa193..3c2f66b 100644
--- a/libavfilter/af_asetnsamples.c
+++ b/libavfilter/af_asetnsamples.c
@@ -33,7 +33,7 @@
 #include "internal.h"
 #include "formats.h"
 
-typedef struct {
+typedef struct ASNSContext {
     const AVClass *class;
     int nb_out_samples;  ///< how many samples to output
     AVAudioFifo *fifo;   ///< samples are queued here
diff --git a/libavfilter/af_asetrate.c b/libavfilter/af_asetrate.c
index 66febd7..50a5f43 100644
--- a/libavfilter/af_asetrate.c
+++ b/libavfilter/af_asetrate.c
@@ -22,7 +22,7 @@
 #include "avfilter.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct ASetRateContext {
     const AVClass *class;
     int sample_rate;
     int rescale_pts;
diff --git a/libavfilter/af_astats.c b/libavfilter/af_astats.c
index 51fc2cc..182532f 100644
--- a/libavfilter/af_astats.c
+++ b/libavfilter/af_astats.c
@@ -42,7 +42,7 @@ typedef struct ChannelStats {
     uint64_t nb_samples;
 } ChannelStats;
 
-typedef struct {
+typedef struct AudioStatsContext {
     const AVClass *class;
     ChannelStats *chstats;
     int nb_channels;
diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c
index eb62656..d909105 100644
--- a/libavfilter/af_atempo.c
+++ b/libavfilter/af_atempo.c
@@ -53,7 +53,7 @@
 /**
  * A fragment of audio waveform
  */
-typedef struct {
+typedef struct AudioFragment {
     // index of the first sample of this fragment in the overall waveform;
     // 0: input sample position
     // 1: output sample position
@@ -84,7 +84,7 @@ typedef enum {
 /**
  * Filter state machine
  */
-typedef struct {
+typedef struct ATempoContext {
     const AVClass *class;
 
     // ring-buffer of input samples, necessary because some times
diff --git a/libavfilter/af_earwax.c b/libavfilter/af_earwax.c
index b0ba4cf..7b880c8 100644
--- a/libavfilter/af_earwax.c
+++ b/libavfilter/af_earwax.c
@@ -71,7 +71,7 @@ static const int8_t filt[NUMTAPS] = {
     0,   -5,
     4,    0};
 
-typedef struct {
+typedef struct EarwaxContext {
     int16_t taps[NUMTAPS * 2];
 } EarwaxContext;
 
diff --git a/libavfilter/af_firequalizer.c b/libavfilter/af_firequalizer.c
index 4243d66..7741057 100644
--- a/libavfilter/af_firequalizer.c
+++ b/libavfilter/af_firequalizer.c
@@ -52,17 +52,17 @@ enum Scale {
 };
 
 #define NB_GAIN_ENTRY_MAX 4096
-typedef struct {
+typedef struct GainEntry {
     double  freq;
     double  gain;
 } GainEntry;
 
-typedef struct {
+typedef struct OverlapIndex {
     int buf_idx;
     int overlap_idx;
 } OverlapIndex;
 
-typedef struct {
+typedef struct FIREqualizerContext {
     const AVClass *class;
 
     RDFTContext   *analysis_rdft;
diff --git a/libavfilter/af_hdcd.c b/libavfilter/af_hdcd.c
index 2800ed9..fd17646 100644
--- a/libavfilter/af_hdcd.c
+++ b/libavfilter/af_hdcd.c
@@ -837,7 +837,7 @@ static const int32_t gaintab[] = {
 /** tone generator: sample_number, frequency, sample_rate, amplitude */
 #define TONEGEN16(sn, f, sr, a) (int16_t)(sin((6.28318530718 * (sn) * (f)) /(sr)) * (a) * 0x7fff)
 
-typedef struct {
+typedef struct hdcd_state {
     uint64_t window;
     unsigned char readahead;
 
@@ -904,7 +904,7 @@ static const char * const pf_str[] = {
     "?", "A", "B", "A+B"
 };
 
-typedef struct {
+typedef struct hdcd_detection_data {
     hdcd_dv hdcd_detected;
     hdcd_pf packet_type;
     int total_packets;         /**< valid packets */
diff --git a/libavfilter/af_volumedetect.c b/libavfilter/af_volumedetect.c
index c7d58e8..43c1ebf 100644
--- a/libavfilter/af_volumedetect.c
+++ b/libavfilter/af_volumedetect.c
@@ -24,7 +24,7 @@
 #include "avfilter.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct VolDetectContext {
     /**
      * Number of samples at each PCM value.
      * histogram[0x8000 + i] is the number of samples at value i.
diff --git a/libavfilter/asrc_anoisesrc.c b/libavfilter/asrc_anoisesrc.c
index 709224c..be0d5ab 100644
--- a/libavfilter/asrc_anoisesrc.c
+++ b/libavfilter/asrc_anoisesrc.c
@@ -25,7 +25,7 @@
 #include "libavutil/lfg.h"
 #include "libavutil/random_seed.h"
 
-typedef struct {
+typedef struct ANoiseSrcContext {
     const AVClass *class;
     int sample_rate;
     double amplitude;
diff --git a/libavfilter/asrc_anullsrc.c b/libavfilter/asrc_anullsrc.c
index 94bd0ca..cb67694 100644
--- a/libavfilter/asrc_anullsrc.c
+++ b/libavfilter/asrc_anullsrc.c
@@ -34,7 +34,7 @@
 #include "avfilter.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct ANullContext {
     const AVClass *class;
     char   *channel_layout_str;
     uint64_t channel_layout;
diff --git a/libavfilter/asrc_flite.c b/libavfilter/asrc_flite.c
index d13a4a3..c9619eb 100644
--- a/libavfilter/asrc_flite.c
+++ b/libavfilter/asrc_flite.c
@@ -32,7 +32,7 @@
 #include "formats.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct FliteContext {
     const AVClass *class;
     char *voice_str;
     char *textfile;
diff --git a/libavfilter/asrc_sine.c b/libavfilter/asrc_sine.c
index ff77526..3a87210 100644
--- a/libavfilter/asrc_sine.c
+++ b/libavfilter/asrc_sine.c
@@ -28,7 +28,7 @@
 #include "avfilter.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct SineContext {
     const AVClass *class;
     double frequency;
     double beep_factor;
diff --git a/libavfilter/avf_concat.c b/libavfilter/avf_concat.c
index 56e4179..4c49368 100644
--- a/libavfilter/avf_concat.c
+++ b/libavfilter/avf_concat.c
@@ -36,7 +36,7 @@
 
 #define TYPE_ALL 2
 
-typedef struct {
+typedef struct ConcatContext {
     const AVClass *class;
     unsigned nb_streams[TYPE_ALL]; /**< number of out streams of each type */
     unsigned nb_segments;
diff --git a/libavfilter/avf_showcqt.h b/libavfilter/avf_showcqt.h
index 010f85c..0cef5a2 100644
--- a/libavfilter/avf_showcqt.h
+++ b/libavfilter/avf_showcqt.h
@@ -25,16 +25,16 @@
 #include "avfilter.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct Coeffs {
     FFTSample *val;
     int start, len;
 } Coeffs;
 
-typedef struct {
+typedef struct RGBFloat {
     float r, g, b;
 } RGBFloat;
 
-typedef struct {
+typedef struct YUVFloat {
     float y, u, v;
 } YUVFloat;
 
@@ -43,7 +43,7 @@ typedef union {
     YUVFloat yuv;
 } ColorFloat;
 
-typedef struct {
+typedef struct ShowCQTContext {
     const AVClass       *class;
     AVFilterContext     *ctx;
     AVFrame             *axis_frame;
diff --git a/libavfilter/avf_showspectrum.c b/libavfilter/avf_showspectrum.c
index 4dd52a2..bf0c244 100644
--- a/libavfilter/avf_showspectrum.c
+++ b/libavfilter/avf_showspectrum.c
@@ -48,7 +48,7 @@ enum ColorMode    { CHANNEL, INTENSITY, RAINBOW, MORELAND, NEBULAE, FIRE, FIERY,
 enum SlideMode    { REPLACE, SCROLL, FULLFRAME, RSCROLL, NB_SLIDES };
 enum Orientation  { VERTICAL, HORIZONTAL, NB_ORIENTATIONS };
 
-typedef struct {
+typedef struct ShowSpectrumContext {
     const AVClass *class;
     int w, h;
     AVFrame *outpicref;
diff --git a/libavfilter/avf_showwaves.c b/libavfilter/avf_showwaves.c
index aadc5c1..0866967 100644
--- a/libavfilter/avf_showwaves.c
+++ b/libavfilter/avf_showwaves.c
@@ -55,7 +55,7 @@ struct frame_node {
     struct frame_node *next;
 };
 
-typedef struct {
+typedef struct ShowWavesContext {
     const AVClass *class;
     int w, h;
     AVRational rate;
diff --git a/libavfilter/bbox.h b/libavfilter/bbox.h
index eb73154..cf026b8 100644
--- a/libavfilter/bbox.h
+++ b/libavfilter/bbox.h
@@ -23,7 +23,7 @@
 
 #include <stdint.h>
 
-typedef struct {
+typedef struct FFBoundingBox {
     int x1, x2, y1, y2;
 } FFBoundingBox;
 
diff --git a/libavfilter/buffersink.h b/libavfilter/buffersink.h
index f51fa7c..21d6bb5 100644
--- a/libavfilter/buffersink.h
+++ b/libavfilter/buffersink.h
@@ -62,7 +62,7 @@ int av_buffersink_get_frame_flags(AVFilterContext *ctx, AVFrame *frame, int flag
 /**
  * Struct to use for initializing a buffersink context.
  */
-typedef struct {
+typedef struct AVBufferSinkParams {
     const enum AVPixelFormat *pixel_fmts; ///< list of allowed pixel formats, terminated by AV_PIX_FMT_NONE
 } AVBufferSinkParams;
 
@@ -76,7 +76,7 @@ AVBufferSinkParams *av_buffersink_params_alloc(void);
 /**
  * Struct to use for initializing an abuffersink context.
  */
-typedef struct {
+typedef struct AVABufferSinkParams {
     const enum AVSampleFormat *sample_fmts; ///< list of allowed sample formats, terminated by AV_SAMPLE_FMT_NONE
     const int64_t *channel_layouts;         ///< list of allowed channel layouts, terminated by -1
     const int *channel_counts;              ///< list of allowed channel counts, terminated by -1
diff --git a/libavfilter/deshake.h b/libavfilter/deshake.h
index becd6c2..5e25bb3 100644
--- a/libavfilter/deshake.h
+++ b/libavfilter/deshake.h
@@ -37,17 +37,17 @@ enum SearchMethod {
     SEARCH_COUNT
 };
 
-typedef struct {
+typedef struct IntMotionVector {
     int x;             ///< Horizontal shift
     int y;             ///< Vertical shift
 } IntMotionVector;
 
-typedef struct {
+typedef struct MotionVector {
     double x;             ///< Horizontal shift
     double y;             ///< Vertical shift
 } MotionVector;
 
-typedef struct {
+typedef struct Transform {
     MotionVector vec;     ///< Motion vector
     double angle;         ///< Angle of rotation
     double zoom;          ///< Zoom percentage
@@ -55,7 +55,7 @@ typedef struct {
 
 #if CONFIG_OPENCL
 
-typedef struct {
+typedef struct DeshakeOpenclContext {
     cl_command_queue command_queue;
     cl_program program;
     cl_kernel kernel_luma;
@@ -73,7 +73,7 @@ typedef struct {
 
 #define MAX_R 64
 
-typedef struct {
+typedef struct DeshakeContext {
     const AVClass *class;
     int counts[2*MAX_R+1][2*MAX_R+1]; /// < Scratch buffer for motion search
     double *angles;            ///< Scratch buffer for block angles
diff --git a/libavfilter/deshake_opencl.h b/libavfilter/deshake_opencl.h
index 5b0a241..f3d96dc 100644
--- a/libavfilter/deshake_opencl.h
+++ b/libavfilter/deshake_opencl.h
@@ -23,7 +23,7 @@
 
 #include "deshake.h"
 
-typedef struct {
+typedef struct float4 {
     float x;
     float y;
     float z;
diff --git a/libavfilter/dualinput.h b/libavfilter/dualinput.h
index 707b10c..fcde0d6 100644
--- a/libavfilter/dualinput.h
+++ b/libavfilter/dualinput.h
@@ -29,7 +29,7 @@
 #include "framesync.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct FFDualInputContext {
     FFFrameSync fs;
 
     AVFrame *(*process)(AVFilterContext *ctx, AVFrame *main, const AVFrame *second);
diff --git a/libavfilter/ebur128.h b/libavfilter/ebur128.h
index b94cd24..7436754 100644
--- a/libavfilter/ebur128.h
+++ b/libavfilter/ebur128.h
@@ -100,7 +100,7 @@ struct FFEBUR128StateInternal;
  *
  *  You should not need to modify this struct directly.
  */
-typedef struct {
+typedef struct FFEBUR128State {
     int mode;                         /**< The current mode. */
     unsigned int channels;            /**< The number of channels. */
     unsigned long samplerate;         /**< The sample rate. */
diff --git a/libavfilter/f_bench.c b/libavfilter/f_bench.c
index b7b1792..f9e1006 100644
--- a/libavfilter/f_bench.c
+++ b/libavfilter/f_bench.c
@@ -28,7 +28,7 @@ enum BenchAction {
     NB_ACTION
 };
 
-typedef struct {
+typedef struct BenchContext {
     const AVClass *class;
     int action;
     int64_t max, min;
diff --git a/libavfilter/f_ebur128.c b/libavfilter/f_ebur128.c
index 1fd85bb..daeb9f9 100644
--- a/libavfilter/f_ebur128.c
+++ b/libavfilter/f_ebur128.c
@@ -90,7 +90,7 @@ struct integrator {
 
 struct rect { int x, y, w, h; };
 
-typedef struct {
+typedef struct EBUR128Context {
     const AVClass *class;           ///< AVClass context for log and options purpose
 
     /* peak metering */
diff --git a/libavfilter/f_interleave.c b/libavfilter/f_interleave.c
index b9192e9..a988900 100644
--- a/libavfilter/f_interleave.c
+++ b/libavfilter/f_interleave.c
@@ -37,7 +37,7 @@
 #include "audio.h"
 #include "video.h"
 
-typedef struct {
+typedef struct InterleaveContext {
     const AVClass *class;
     int nb_inputs;
     struct FFBufQueue *queues;
diff --git a/libavfilter/f_perms.c b/libavfilter/f_perms.c
index da11d50..dc6ecbb 100644
--- a/libavfilter/f_perms.c
+++ b/libavfilter/f_perms.c
@@ -33,7 +33,7 @@ enum mode {
     NB_MODES
 };
 
-typedef struct {
+typedef struct PermsContext {
     const AVClass *class;
     AVLFG lfg;
     int64_t random_seed;
diff --git a/libavfilter/f_sendcmd.c b/libavfilter/f_sendcmd.c
index 522d6ad..1e53465 100644
--- a/libavfilter/f_sendcmd.c
+++ b/libavfilter/f_sendcmd.c
@@ -55,13 +55,13 @@ static inline char *make_command_flags_str(AVBPrint *pbuf, int flags)
     return pbuf->str;
 }
 
-typedef struct {
+typedef struct Command {
     int flags;
     char *target, *command, *arg;
     int index;
 } Command;
 
-typedef struct {
+typedef struct Interval {
     int64_t start_ts;          ///< start timestamp expressed as microseconds units
     int64_t end_ts;            ///< end   timestamp expressed as microseconds units
     int index;                 ///< unique index for these interval commands
@@ -70,7 +70,7 @@ typedef struct {
     int enabled;               ///< current time detected inside this interval
 } Interval;
 
-typedef struct {
+typedef struct SendCmdContext {
     const AVClass *class;
     Interval *intervals;
     int   nb_intervals;
diff --git a/libavfilter/f_zmq.c b/libavfilter/f_zmq.c
index d6c3c65..2666016 100644
--- a/libavfilter/f_zmq.c
+++ b/libavfilter/f_zmq.c
@@ -33,7 +33,7 @@
 #include "audio.h"
 #include "video.h"
 
-typedef struct {
+typedef struct ZMQContext {
     const AVClass *class;
     void *zmq;
     void *responder;
@@ -86,7 +86,7 @@ static void av_cold uninit(AVFilterContext *ctx)
     zmq_ctx_destroy(zmq->zmq);
 }
 
-typedef struct {
+typedef struct Command {
     char *target, *command, *arg;
 } Command;
 
diff --git a/libavfilter/signature.h b/libavfilter/signature.h
index 2659c87..cc198db 100644
--- a/libavfilter/signature.h
+++ b/libavfilter/signature.h
@@ -51,17 +51,17 @@ enum formats {
     NB_FORMATS
 };
 
-typedef struct {
+typedef struct Point {
     uint8_t x;
     uint8_t y;
 } Point;
 
-typedef struct {
+typedef struct Block {
     Point up;
     Point to;
 } Block;
 
-typedef struct {
+typedef struct ElemCat {
     int av_elem; /* average element category */
     short left_count; /* count of blocks that will be added together */
     short block_count; /* count of blocks per element */
@@ -99,7 +99,7 @@ typedef struct MatchingInfo {
     struct MatchingInfo* next;
 } MatchingInfo;
 
-typedef struct {
+typedef struct StreamContext {
     AVRational time_base;
     /* needed for xml_export */
     int w; /* height */
@@ -124,7 +124,7 @@ typedef struct {
     int exported; /* boolean whether stream already exported */
 } StreamContext;
 
-typedef struct {
+typedef struct SignatureContext {
     const AVClass *class;
     /* input parameters */
     int mode;
diff --git a/libavfilter/signature_lookup.c b/libavfilter/signature_lookup.c
index 871a10c..272c717 100644
--- a/libavfilter/signature_lookup.c
+++ b/libavfilter/signature_lookup.c
@@ -187,7 +187,7 @@ static MatchingInfo* get_matching_parameters(AVFilterContext *ctx, SignatureCont
         FineSignature *b[COARSE_SIZE];
     } pairs[COARSE_SIZE];
 
-    typedef struct {
+    typedef struct hspace_elem {
         int dist;
         size_t score;
         FineSignature *a;
diff --git a/libavfilter/tinterlace.h b/libavfilter/tinterlace.h
index e01050c..7f50d3c 100644
--- a/libavfilter/tinterlace.h
+++ b/libavfilter/tinterlace.h
@@ -46,7 +46,7 @@ enum TInterlaceMode {
     MODE_NB,
 };
 
-typedef struct {
+typedef struct TInterlaceContext {
     const AVClass *class;
     int mode;                   ///< TInterlaceMode, interlace mode selected
     AVRational preout_time_base;
diff --git a/libavfilter/unsharp.h b/libavfilter/unsharp.h
index fc651c0..340a6a0 100644
--- a/libavfilter/unsharp.h
+++ b/libavfilter/unsharp.h
@@ -33,7 +33,7 @@
 
 #if CONFIG_OPENCL
 
-typedef struct {
+typedef struct UnsharpOpenclContext {
     cl_command_queue command_queue;
     cl_program program;
     cl_kernel kernel_default;
diff --git a/libavfilter/vf_alphamerge.c b/libavfilter/vf_alphamerge.c
index d0a2639..45fa340 100644
--- a/libavfilter/vf_alphamerge.c
+++ b/libavfilter/vf_alphamerge.c
@@ -36,7 +36,7 @@
 
 enum { Y, U, V, A };
 
-typedef struct {
+typedef struct AlphaMergeContext {
     int is_packed_rgb;
     uint8_t rgba_map[4];
     struct FFBufQueue queue_main;
diff --git a/libavfilter/vf_bbox.c b/libavfilter/vf_bbox.c
index 7d50553..4ac2980 100644
--- a/libavfilter/vf_bbox.c
+++ b/libavfilter/vf_bbox.c
@@ -30,7 +30,7 @@
 #include "bbox.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct BBoxContext {
     const AVClass *class;
     int min_val;
 } BBoxContext;
diff --git a/libavfilter/vf_blackdetect.c b/libavfilter/vf_blackdetect.c
index 28fdb48..06ef998 100644
--- a/libavfilter/vf_blackdetect.c
+++ b/libavfilter/vf_blackdetect.c
@@ -30,7 +30,7 @@
 #include "avfilter.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct BlackDetectContext {
     const AVClass *class;
     double  black_min_duration_time; ///< minimum duration of detected black, in seconds
     int64_t black_min_duration;      ///< minimum duration of detected black, expressed in timebase units
diff --git a/libavfilter/vf_codecview.c b/libavfilter/vf_codecview.c
index dc33973..331bfba 100644
--- a/libavfilter/vf_codecview.c
+++ b/libavfilter/vf_codecview.c
@@ -44,7 +44,7 @@
 #define FRAME_TYPE_P (1<<1)
 #define FRAME_TYPE_B (1<<2)
 
-typedef struct {
+typedef struct CodecViewContext {
     const AVClass *class;
     unsigned mv;
     unsigned frame_type;
diff --git a/libavfilter/vf_colorbalance.c b/libavfilter/vf_colorbalance.c
index e37f199..f996524 100644
--- a/libavfilter/vf_colorbalance.c
+++ b/libavfilter/vf_colorbalance.c
@@ -31,13 +31,13 @@
 #define B 2
 #define A 3
 
-typedef struct {
+typedef struct Range {
     double shadows;
     double midtones;
     double highlights;
 } Range;
 
-typedef struct {
+typedef struct ColorBalanceContext {
     const AVClass *class;
     Range cyan_red;
     Range magenta_green;
diff --git a/libavfilter/vf_colorchannelmixer.c b/libavfilter/vf_colorchannelmixer.c
index cda972d..2e068fa 100644
--- a/libavfilter/vf_colorchannelmixer.c
+++ b/libavfilter/vf_colorchannelmixer.c
@@ -30,7 +30,7 @@
 #define B 2
 #define A 3
 
-typedef struct {
+typedef struct ColorChannelMixerContext {
     const AVClass *class;
     double rr, rg, rb, ra;
     double gr, gg, gb, ga;
diff --git a/libavfilter/vf_colorlevels.c b/libavfilter/vf_colorlevels.c
index dedbe30..5385a5e 100644
--- a/libavfilter/vf_colorlevels.c
+++ b/libavfilter/vf_colorlevels.c
@@ -32,12 +32,12 @@
 #define B 2
 #define A 3
 
-typedef struct {
+typedef struct Range {
     double in_min, in_max;
     double out_min, out_max;
 } Range;
 
-typedef struct {
+typedef struct ColorLevelsContext {
     const AVClass *class;
     Range range[4];
     int nb_comp;
diff --git a/libavfilter/vf_colormatrix.c b/libavfilter/vf_colormatrix.c
index 8ddec4f..3a02e2b 100644
--- a/libavfilter/vf_colormatrix.c
+++ b/libavfilter/vf_colormatrix.c
@@ -58,7 +58,7 @@ enum ColorMode {
     COLOR_MODE_COUNT
 };
 
-typedef struct {
+typedef struct ColorMatrixContext {
     const AVClass *class;
     int yuv_convert[25][3][3];
     int interlaced;
diff --git a/libavfilter/vf_curves.c b/libavfilter/vf_curves.c
index 69ec108..19ab789 100644
--- a/libavfilter/vf_curves.c
+++ b/libavfilter/vf_curves.c
@@ -58,7 +58,7 @@ enum preset {
     NB_PRESETS,
 };
 
-typedef struct {
+typedef struct CurvesContext {
     const AVClass *class;
     int preset;
     char *comp_points_str[NB_COMP + 1];
diff --git a/libavfilter/vf_decimate.c b/libavfilter/vf_decimate.c
index 1fb242a..f9a40f2 100644
--- a/libavfilter/vf_decimate.c
+++ b/libavfilter/vf_decimate.c
@@ -34,7 +34,7 @@ struct qitem {
     int64_t totdiff;
 };
 
-typedef struct {
+typedef struct DecimateContext {
     const AVClass *class;
     struct qitem *queue;    ///< window of cycle frames and the associated data diff
     int fid;                ///< current frame id in the queue
diff --git a/libavfilter/vf_dejudder.c b/libavfilter/vf_dejudder.c
index c4d7b6b..4705cb6 100644
--- a/libavfilter/vf_dejudder.c
+++ b/libavfilter/vf_dejudder.c
@@ -55,7 +55,7 @@
 #include "internal.h"
 #include "video.h"
 
-typedef struct {
+typedef struct DejudderContext {
     const AVClass *class;
     int64_t *ringbuff;
     int i1, i2, i3, i4;
diff --git a/libavfilter/vf_detelecine.c b/libavfilter/vf_detelecine.c
index 0d5f88d..0d1e2f2 100644
--- a/libavfilter/vf_detelecine.c
+++ b/libavfilter/vf_detelecine.c
@@ -32,7 +32,7 @@
 #include "internal.h"
 #include "video.h"
 
-typedef struct {
+typedef struct DetelecineContext {
     const AVClass *class;
     int first_field;
     char *pattern;
diff --git a/libavfilter/vf_edgedetect.c b/libavfilter/vf_edgedetect.c
index ac88e02..173f9fe 100644
--- a/libavfilter/vf_edgedetect.c
+++ b/libavfilter/vf_edgedetect.c
@@ -44,7 +44,7 @@ struct plane_info {
     char     *directions;
 };
 
-typedef struct {
+typedef struct EdgeDetectContext {
     const AVClass *class;
     struct plane_info planes[3];
     int nb_planes;
diff --git a/libavfilter/vf_eq.h b/libavfilter/vf_eq.h
index 8525048..fa49d46 100644
--- a/libavfilter/vf_eq.h
+++ b/libavfilter/vf_eq.h
@@ -55,7 +55,7 @@ typedef struct EQParameters {
 
 } EQParameters;
 
-typedef struct {
+typedef struct EQContext {
     const AVClass *class;
 
     EQParameters param[3];
diff --git a/libavfilter/vf_extractplanes.c b/libavfilter/vf_extractplanes.c
index 65bba33..d3a9046 100644
--- a/libavfilter/vf_extractplanes.c
+++ b/libavfilter/vf_extractplanes.c
@@ -38,7 +38,7 @@
 #define PLANE_U 0x20
 #define PLANE_V 0x40
 
-typedef struct {
+typedef struct ExtractPlanesContext {
     const AVClass *class;
     int requested_planes;
     int map[4];
diff --git a/libavfilter/vf_fftfilt.c b/libavfilter/vf_fftfilt.c
index 307b41a..c0c5eb4 100644
--- a/libavfilter/vf_fftfilt.c
+++ b/libavfilter/vf_fftfilt.c
@@ -33,7 +33,7 @@
 
 #define MAX_PLANES 4
 
-typedef struct {
+typedef struct FFTFILTContext {
     const AVClass *class;
 
     RDFTContext *rdft;
diff --git a/libavfilter/vf_field.c b/libavfilter/vf_field.c
index 72cabdb..2f4eb67 100644
--- a/libavfilter/vf_field.c
+++ b/libavfilter/vf_field.c
@@ -31,7 +31,7 @@
 
 enum FieldType { FIELD_TYPE_TOP = 0, FIELD_TYPE_BOTTOM };
 
-typedef struct {
+typedef struct FieldContext {
     const AVClass *class;
     int type;                   ///< FieldType
     int nb_planes;              ///< number of planes of the current format
diff --git a/libavfilter/vf_fieldmatch.c b/libavfilter/vf_fieldmatch.c
index 54a2c7a..1740215 100644
--- a/libavfilter/vf_fieldmatch.c
+++ b/libavfilter/vf_fieldmatch.c
@@ -72,7 +72,7 @@ enum comb_dbg {
     NB_COMBDBG
 };
 
-typedef struct {
+typedef struct FieldMatchContext {
     const AVClass *class;
 
     AVFrame *prv,  *src,  *nxt;     ///< main sliding window of 3 frames
diff --git a/libavfilter/vf_geq.c b/libavfilter/vf_geq.c
index 9d26f54..b2a7bc0 100644
--- a/libavfilter/vf_geq.c
+++ b/libavfilter/vf_geq.c
@@ -33,7 +33,7 @@
 #include "libavutil/pixdesc.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct GEQContext {
     const AVClass *class;
     AVExpr *e[4];               ///< expressions for each plane
     char *expr_str[4+3];        ///< expression strings for each plane
diff --git a/libavfilter/vf_histeq.c b/libavfilter/vf_histeq.c
index b3d2545..2449e10 100644
--- a/libavfilter/vf_histeq.c
+++ b/libavfilter/vf_histeq.c
@@ -54,7 +54,7 @@ enum HisteqAntibanding {
     HISTEQ_ANTIBANDING_NB,
 };
 
-typedef struct {
+typedef struct HisteqContext {
     const AVClass *class;
     float strength;
     float intensity;
diff --git a/libavfilter/vf_hqx.c b/libavfilter/vf_hqx.c
index 5f63b2a..16a1be7 100644
--- a/libavfilter/vf_hqx.c
+++ b/libavfilter/vf_hqx.c
@@ -34,7 +34,7 @@
 
 typedef int (*hqxfunc_t)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs);
 
-typedef struct {
+typedef struct HQXContext {
     const AVClass *class;
     int n;
     hqxfunc_t func;
diff --git a/libavfilter/vf_hue.c b/libavfilter/vf_hue.c
index 0d2862f..45a5a1a 100644
--- a/libavfilter/vf_hue.c
+++ b/libavfilter/vf_hue.c
@@ -57,7 +57,7 @@ enum var_name {
     VAR_NB
 };
 
-typedef struct {
+typedef struct HueContext {
     const    AVClass *class;
     float    hue_deg; /* hue expressed in degrees */
     float    hue; /* hue expressed in radians */
diff --git a/libavfilter/vf_idet.h b/libavfilter/vf_idet.h
index 47e3d9c..afd8947 100644
--- a/libavfilter/vf_idet.h
+++ b/libavfilter/vf_idet.h
@@ -39,7 +39,7 @@ typedef enum {
     REPEAT_BOTTOM,
 } RepeatedField;
 
-typedef struct {
+typedef struct IDETContext {
     const AVClass *class;
     float interlace_threshold;
     float progressive_threshold;
diff --git a/libavfilter/vf_il.c b/libavfilter/vf_il.c
index e0bf8d5..ae0cc19 100644
--- a/libavfilter/vf_il.c
+++ b/libavfilter/vf_il.c
@@ -36,7 +36,7 @@ enum FilterMode {
     MODE_DEINTERLEAVE
 };
 
-typedef struct {
+typedef struct IlContext {
     const AVClass *class;
     int luma_mode, chroma_mode, alpha_mode; ///<FilterMode
     int luma_swap, chroma_swap, alpha_swap;
diff --git a/libavfilter/vf_kerndeint.c b/libavfilter/vf_kerndeint.c
index 4825ed5..057d15f 100644
--- a/libavfilter/vf_kerndeint.c
+++ b/libavfilter/vf_kerndeint.c
@@ -35,7 +35,7 @@
 #include "formats.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct KerndeintContext {
     const AVClass *class;
     int           frame; ///< frame count, starting from 0
     int           thresh, map, order, sharp, twoway;
diff --git a/libavfilter/vf_mcdeint.c b/libavfilter/vf_mcdeint.c
index d4f718c..26387b8 100644
--- a/libavfilter/vf_mcdeint.c
+++ b/libavfilter/vf_mcdeint.c
@@ -69,7 +69,7 @@ enum MCDeintParity {
     PARITY_BFF  =  1, ///< bottom field first
 };
 
-typedef struct {
+typedef struct MCDeintContext {
     const AVClass *class;
     int mode;           ///< MCDeintMode
     int parity;         ///< MCDeintParity
diff --git a/libavfilter/vf_mpdecimate.c b/libavfilter/vf_mpdecimate.c
index dc34511..c9a9cb3 100644
--- a/libavfilter/vf_mpdecimate.c
+++ b/libavfilter/vf_mpdecimate.c
@@ -33,7 +33,7 @@
 #include "formats.h"
 #include "video.h"
 
-typedef struct {
+typedef struct DecimateContext {
     const AVClass *class;
     int lo, hi;                    ///< lower and higher threshold number of differences
                                    ///< values for 8x8 blocks
diff --git a/libavfilter/vf_nlmeans.c b/libavfilter/vf_nlmeans.c
index 2487813..e4952e1 100644
--- a/libavfilter/vf_nlmeans.c
+++ b/libavfilter/vf_nlmeans.c
@@ -47,7 +47,7 @@ struct weighted_avg {
 #define WEIGHT_LUT_NBITS 9
 #define WEIGHT_LUT_SIZE  (1<<WEIGHT_LUT_NBITS)
 
-typedef struct {
+typedef struct NLMeansContext {
     const AVClass *class;
     int nb_planes;
     int chroma_w, chroma_h;
diff --git a/libavfilter/vf_noise.h b/libavfilter/vf_noise.h
index 2207ed9..92998e5 100644
--- a/libavfilter/vf_noise.h
+++ b/libavfilter/vf_noise.h
@@ -34,7 +34,7 @@
 #define NOISE_AVERAGED 8
 #define NOISE_PATTERN  16
 
-typedef struct {
+typedef struct FilterParams {
     int strength;
     unsigned flags;
     AVLFG lfg;
@@ -45,7 +45,7 @@ typedef struct {
     int rand_shift_init;
 } FilterParams;
 
-typedef struct {
+typedef struct NoiseContext {
     const AVClass *class;
     int nb_planes;
     int bytewidth[4];
diff --git a/libavfilter/vf_owdenoise.c b/libavfilter/vf_owdenoise.c
index e0a953f..6d6c2a3 100644
--- a/libavfilter/vf_owdenoise.c
+++ b/libavfilter/vf_owdenoise.c
@@ -34,7 +34,7 @@
 #include "avfilter.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct OWDenoiseContext {
     const AVClass *class;
     double luma_strength;
     double chroma_strength;
diff --git a/libavfilter/vf_palettegen.c b/libavfilter/vf_palettegen.c
index b470079..03de317 100644
--- a/libavfilter/vf_palettegen.c
+++ b/libavfilter/vf_palettegen.c
@@ -60,7 +60,7 @@ enum {
 #define NBITS 5
 #define HIST_SIZE (1<<(3*NBITS))
 
-typedef struct {
+typedef struct PaletteGenContext {
     const AVClass *class;
 
     int max_colors;
diff --git a/libavfilter/vf_pp.c b/libavfilter/vf_pp.c
index bac1d53..524ef1b 100644
--- a/libavfilter/vf_pp.c
+++ b/libavfilter/vf_pp.c
@@ -30,7 +30,7 @@
 
 #include "libpostproc/postprocess.h"
 
-typedef struct {
+typedef struct PPFilterContext {
     const AVClass *class;
     char *subfilters;
     int mode_id;
diff --git a/libavfilter/vf_removelogo.c b/libavfilter/vf_removelogo.c
index 94b92a5..aff2d12 100644
--- a/libavfilter/vf_removelogo.c
+++ b/libavfilter/vf_removelogo.c
@@ -79,7 +79,7 @@
 #include "lavfutils.h"
 #include "lswsutils.h"
 
-typedef struct {
+typedef struct RemovelogoContext {
     const AVClass *class;
     char *filename;
     /* Stores our collection of masks. The first is for an array of
diff --git a/libavfilter/vf_sab.c b/libavfilter/vf_sab.c
index 3f0951f..6f63654 100644
--- a/libavfilter/vf_sab.c
+++ b/libavfilter/vf_sab.c
@@ -31,7 +31,7 @@
 #include "formats.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct FilterParam {
     float radius;
     float pre_filter_radius;
     float strength;
@@ -46,7 +46,7 @@ typedef struct {
     int color_diff_coeff[COLOR_DIFF_COEFF_SIZE];
 } FilterParam;
 
-typedef struct {
+typedef struct SabContext {
     const AVClass *class;
     FilterParam  luma;
     FilterParam  chroma;
diff --git a/libavfilter/vf_selectivecolor.c b/libavfilter/vf_selectivecolor.c
index 748b67b..c4d51bb 100644
--- a/libavfilter/vf_selectivecolor.c
+++ b/libavfilter/vf_selectivecolor.c
@@ -77,7 +77,7 @@ typedef struct ThreadData {
     AVFrame *in, *out;
 } ThreadData;
 
-typedef struct {
+typedef struct SelectiveColorContext {
     const AVClass *class;
     int correction_method;
     char *opt_cmyk_adjust[NB_RANGES];
diff --git a/libavfilter/vf_separatefields.c b/libavfilter/vf_separatefields.c
index 3ea5eb6..69653c9 100644
--- a/libavfilter/vf_separatefields.c
+++ b/libavfilter/vf_separatefields.c
@@ -22,7 +22,7 @@
 #include "avfilter.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct SeparateFieldsContext {
     int nb_planes;
     AVFrame *second;
 } SeparateFieldsContext;
diff --git a/libavfilter/vf_setfield.c b/libavfilter/vf_setfield.c
index 96e9d18..f4dc33d 100644
--- a/libavfilter/vf_setfield.c
+++ b/libavfilter/vf_setfield.c
@@ -35,7 +35,7 @@ enum SetFieldMode {
     MODE_PROG,
 };
 
-typedef struct {
+typedef struct SetFieldContext {
     const AVClass *class;
     int mode;                   ///< SetFieldMode
 } SetFieldContext;
diff --git a/libavfilter/vf_showpalette.c b/libavfilter/vf_showpalette.c
index f1627ba..d886ab8 100644
--- a/libavfilter/vf_showpalette.c
+++ b/libavfilter/vf_showpalette.c
@@ -28,7 +28,7 @@
 #include "internal.h"
 #include "video.h"
 
-typedef struct {
+typedef struct ShowPaletteContext {
     const AVClass *class;
     int size;
 } ShowPaletteContext;
diff --git a/libavfilter/vf_signalstats.c b/libavfilter/vf_signalstats.c
index 22a1db1..298881b 100644
--- a/libavfilter/vf_signalstats.c
+++ b/libavfilter/vf_signalstats.c
@@ -33,7 +33,7 @@ enum FilterMode {
     FILT_NUMB
 };
 
-typedef struct {
+typedef struct SignalstatsContext {
     const AVClass *class;
     int chromah;    // height of chroma plane
     int chromaw;    // width of chroma plane
diff --git a/libavfilter/vf_smartblur.c b/libavfilter/vf_smartblur.c
index 117e0ec..1955ac4 100644
--- a/libavfilter/vf_smartblur.c
+++ b/libavfilter/vf_smartblur.c
@@ -42,7 +42,7 @@
 #define THRESHOLD_MIN -30
 #define THRESHOLD_MAX 30
 
-typedef struct {
+typedef struct FilterParam {
     float              radius;
     float              strength;
     int                threshold;
@@ -50,7 +50,7 @@ typedef struct {
     struct SwsContext *filter_context;
 } FilterParam;
 
-typedef struct {
+typedef struct SmartblurContext {
     const AVClass *class;
     FilterParam  luma;
     FilterParam  chroma;
diff --git a/libavfilter/vf_spp.h b/libavfilter/vf_spp.h
index 6b70a91..c03073a 100644
--- a/libavfilter/vf_spp.h
+++ b/libavfilter/vf_spp.h
@@ -28,7 +28,7 @@
 
 #define MAX_LEVEL 6 /* quality levels */
 
-typedef struct {
+typedef struct SPPContext {
     const AVClass *av_class;
 
     int log2_count;
diff --git a/libavfilter/vf_subtitles.c b/libavfilter/vf_subtitles.c
index 0f22644..805ee2d 100644
--- a/libavfilter/vf_subtitles.c
+++ b/libavfilter/vf_subtitles.c
@@ -44,7 +44,7 @@
 #include "formats.h"
 #include "video.h"
 
-typedef struct {
+typedef struct AssContext {
     const AVClass *class;
     ASS_Library  *library;
     ASS_Renderer *renderer;
diff --git a/libavfilter/vf_super2xsai.c b/libavfilter/vf_super2xsai.c
index cbb3f62..87eec04 100644
--- a/libavfilter/vf_super2xsai.c
+++ b/libavfilter/vf_super2xsai.c
@@ -33,7 +33,7 @@
 #include "internal.h"
 #include "video.h"
 
-typedef struct {
+typedef struct Super2xSaIContext {
     /* masks used for two pixels interpolation */
     uint32_t hi_pixel_mask;
     uint32_t lo_pixel_mask;
diff --git a/libavfilter/vf_telecine.c b/libavfilter/vf_telecine.c
index 35f382e..62599a7 100644
--- a/libavfilter/vf_telecine.c
+++ b/libavfilter/vf_telecine.c
@@ -33,7 +33,7 @@
 #include "internal.h"
 #include "video.h"
 
-typedef struct {
+typedef struct TelecineContext {
     const AVClass *class;
     int first_field;
     char *pattern;
diff --git a/libavfilter/vf_thumbnail.c b/libavfilter/vf_thumbnail.c
index 417ccd5..0effdc9 100644
--- a/libavfilter/vf_thumbnail.c
+++ b/libavfilter/vf_thumbnail.c
@@ -38,7 +38,7 @@ struct thumb_frame {
     int histogram[HIST_SIZE];   ///< RGB color distribution histogram of the frame
 };
 
-typedef struct {
+typedef struct ThumbContext {
     const AVClass *class;
     int n;                      ///< current frame
     int n_frames;               ///< number of frames for analysis
diff --git a/libavfilter/vf_tile.c b/libavfilter/vf_tile.c
index 9af00bd..87e0b94 100644
--- a/libavfilter/vf_tile.c
+++ b/libavfilter/vf_tile.c
@@ -31,7 +31,7 @@
 #include "video.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct TileContext {
     const AVClass *class;
     unsigned w, h;
     unsigned margin;
diff --git a/libavfilter/vf_uspp.c b/libavfilter/vf_uspp.c
index 66035cd..da4029f 100644
--- a/libavfilter/vf_uspp.c
+++ b/libavfilter/vf_uspp.c
@@ -37,7 +37,7 @@
 #define MAX_LEVEL 8 /* quality levels */
 #define BLOCK 16
 
-typedef struct {
+typedef struct USPPContext {
     const AVClass *av_class;
     int log2_count;
     int hsub, vsub;
diff --git a/libavfilter/vf_vidstabdetect.c b/libavfilter/vf_vidstabdetect.c
index 4742949..63a178a 100644
--- a/libavfilter/vf_vidstabdetect.c
+++ b/libavfilter/vf_vidstabdetect.c
@@ -30,7 +30,7 @@
 
 #include "vidstabutils.h"
 
-typedef struct {
+typedef struct StabData {
     const AVClass *class;
 
     VSMotionDetect md;
diff --git a/libavfilter/vf_vidstabtransform.c b/libavfilter/vf_vidstabtransform.c
index dac0a2d..11a0e3d 100644
--- a/libavfilter/vf_vidstabtransform.c
+++ b/libavfilter/vf_vidstabtransform.c
@@ -30,7 +30,7 @@
 
 #include "vidstabutils.h"
 
-typedef struct {
+typedef struct TransformContext {
     const AVClass *class;
 
     VSTransformData td;
diff --git a/libavfilter/vf_vignette.c b/libavfilter/vf_vignette.c
index 94b6c6f..47b59e5 100644
--- a/libavfilter/vf_vignette.c
+++ b/libavfilter/vf_vignette.c
@@ -57,7 +57,7 @@ enum EvalMode {
     EVAL_MODE_NB
 };
 
-typedef struct {
+typedef struct VignetteContext {
     const AVClass *class;
     const AVPixFmtDescriptor *desc;
     int backward;
diff --git a/libavfilter/vf_xbr.c b/libavfilter/vf_xbr.c
index d0d5104..78094e0 100644
--- a/libavfilter/vf_xbr.c
+++ b/libavfilter/vf_xbr.c
@@ -43,7 +43,7 @@
 
 typedef int (*xbrfunc_t)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs);
 
-typedef struct {
+typedef struct XBRContext {
     const AVClass *class;
     int n;
     xbrfunc_t func;
diff --git a/libavfilter/vidstabutils.c b/libavfilter/vidstabutils.c
index 13544cf..1199dbd 100644
--- a/libavfilter/vidstabutils.c
+++ b/libavfilter/vidstabutils.c
@@ -42,7 +42,7 @@ VSPixelFormat ff_av2vs_pixfmt(AVFilterContext *ctx, enum AVPixelFormat pf)
 }
 
 /** struct to hold a valid context for logging from within vid.stab lib */
-typedef struct {
+typedef struct VS2AVLogCtx {
     const AVClass *class;
 } VS2AVLogCtx;
 
diff --git a/libavfilter/vsrc_cellauto.c b/libavfilter/vsrc_cellauto.c
index afdceff..7a6d965 100644
--- a/libavfilter/vsrc_cellauto.c
+++ b/libavfilter/vsrc_cellauto.c
@@ -37,7 +37,7 @@
 #include "formats.h"
 #include "video.h"
 
-typedef struct {
+typedef struct CellAutoContext {
     const AVClass *class;
     int w, h;
     char *filename;
diff --git a/libavfilter/vsrc_life.c b/libavfilter/vsrc_life.c
index afe805a..a87ceef 100644
--- a/libavfilter/vsrc_life.c
+++ b/libavfilter/vsrc_life.c
@@ -38,7 +38,7 @@
 #include "formats.h"
 #include "video.h"
 
-typedef struct {
+typedef struct LifeContext {
     const AVClass *class;
     int w, h;
     char *filename;
diff --git a/libavfilter/vsrc_mandelbrot.c b/libavfilter/vsrc_mandelbrot.c
index 2f6944f..6ad1081 100644
--- a/libavfilter/vsrc_mandelbrot.c
+++ b/libavfilter/vsrc_mandelbrot.c
@@ -57,7 +57,7 @@ typedef struct Point {
     uint32_t val;
 } Point;
 
-typedef struct {
+typedef struct MBContext {
     const AVClass *class;
     int w, h;
     AVRational frame_rate;
