diff --git a/libavformat/adtsenc.c b/libavformat/adtsenc.c
index 5194e75a5fbcda64a38a9dae80661a98b26edae6..55d7510557fca7bb08ffc29c210e3c2325db38a2 100644
--- a/libavformat/adtsenc.c
+++ b/libavformat/adtsenc.c
@@ -28,7 +28,7 @@
 
 #define ADTS_HEADER_SIZE 7
 
-typedef struct {
+typedef struct ADTSContext {
     int write_adts;
     int objecttype;
     int sample_rate_index;
diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
index 6243bcb30fade8f06d2a54bd5802bfd54e42c4c0..add843b267c8d47451f39326014baa7b7f711f17 100644
--- a/libavformat/aiffdec.c
+++ b/libavformat/aiffdec.c
@@ -29,7 +29,7 @@
 #define AIFF                    0
 #define AIFF_C_VERSION1         0xA2805140
 
-typedef struct {
+typedef struct AIFFInputContext {
     int64_t data_end;
     int block_duration;
 } AIFFInputContext;
diff --git a/libavformat/aiffenc.c b/libavformat/aiffenc.c
index d4bffb394e3f9703b8cbc2ae4d5fde5167456d8d..aa6810836825a70d97dc29c3ad4689a0b906fe58 100644
--- a/libavformat/aiffenc.c
+++ b/libavformat/aiffenc.c
@@ -27,7 +27,7 @@
 #include "aiff.h"
 #include "avio_internal.h"
 
-typedef struct {
+typedef struct AIFFOutputContext {
     int64_t form;
     int64_t frames;
     int64_t ssnd;
diff --git a/libavformat/anm.c b/libavformat/anm.c
index f78149285b7f0aeb1ecb19f0aec2ec0181d5cc51..6b8e3066f3268e201e8438625005d5dc82fbb3a4 100644
--- a/libavformat/anm.c
+++ b/libavformat/anm.c
@@ -28,13 +28,13 @@
 #include "avformat.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct Page {
     int base_record;
     unsigned int nb_records;
     int size;
 } Page;
 
-typedef struct {
+typedef struct AnmDemuxContext {
     unsigned int nb_pages;    /**< total pages in file */
     unsigned int nb_records;  /**< total records in file */
     int page_table_offset;
diff --git a/libavformat/ape.c b/libavformat/ape.c
index d967a5d660e0a8a724822969bfb66edc40dfa9f5..09a756da609a2f2258f26389b0a968a90a09544b 100644
--- a/libavformat/ape.c
+++ b/libavformat/ape.c
@@ -42,7 +42,7 @@
 
 #define APE_EXTRADATA_SIZE 6
 
-typedef struct {
+typedef struct APEFrame {
     int64_t pos;
     int nblocks;
     int size;
@@ -50,7 +50,7 @@ typedef struct {
     int64_t pts;
 } APEFrame;
 
-typedef struct {
+typedef struct APEContext {
     /* Derived fields */
     uint32_t junklength;
     uint32_t firstframe;
diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
index 5c23170c05286f5adfc9f5601237abf70a243115..8522ce4555d66ebcfb46c274e573238849638572 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
@@ -39,7 +39,7 @@
 #include "asf.h"
 #include "asfcrypt.h"
 
-typedef struct {
+typedef struct ASFContext {
     const AVClass *class;
     int asfid2avid[128];                 ///< conversion table from asf ID 2 AVStream ID
     ASFStream streams[128];              ///< it's max number and it's not that big
diff --git a/libavformat/asfenc.c b/libavformat/asfenc.c
index 79b44a74e00b37c294660297b69efcb0f4230192..beacd73459fe77959ed95dc1e36db8d18a3cd96d 100644
--- a/libavformat/asfenc.c
+++ b/libavformat/asfenc.c
@@ -185,7 +185,7 @@
 
 #define DATA_HEADER_SIZE 50
 
-typedef struct {
+typedef struct ASFContext {
     uint32_t seqno;
     int is_streamed;
     ASFStream streams[128];              ///< it's max number and it's not that big
diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 439d39d1b793698d10cf4ae9d0dfa9d563cd4859..20dc6e15254a84d374f814966678c2ebb1da8906 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -61,7 +61,7 @@ typedef struct AVIStream {
     uint8_t *sub_buffer;
 } AVIStream;
 
-typedef struct {
+typedef struct AVIContext {
     int64_t riff_end;
     int64_t movi_end;
     int64_t fsize;
diff --git a/libavformat/avienc.c b/libavformat/avienc.c
index 417a8e99d2ef97bce762685d52be62f71e682456..9c2936af604e55a1d90a43d6318c634380a72f4f 100644
--- a/libavformat/avienc.c
+++ b/libavformat/avienc.c
@@ -44,13 +44,13 @@ typedef struct AVIIndex {
     AVIIentry** cluster;
 } AVIIndex;
 
-typedef struct {
+typedef struct AVIContext {
     int64_t riff_start, movi_list, odml_list;
     int64_t frames_hdr_all;
     int riff_id;
 } AVIContext;
 
-typedef struct  {
+typedef struct AVIStream {
     int64_t frames_hdr_strm;
     int audio_strm_length;
     int packet_count;
diff --git a/libavformat/bink.c b/libavformat/bink.c
index 4d2a735a389b478bda25b29bbb53259ee6cc9fbc..32247904854541e1bb10109e93798e3777e28868 100644
--- a/libavformat/bink.c
+++ b/libavformat/bink.c
@@ -46,7 +46,7 @@ enum BinkAudFlags {
 #define BINK_MAX_WIDTH          7680
 #define BINK_MAX_HEIGHT         4800
 
-typedef struct {
+typedef struct BinkDemuxContext {
     uint32_t file_size;
 
     uint32_t num_audio_tracks;
diff --git a/libavformat/c93.c b/libavformat/c93.c
index 3f2a98fcc4e8ad0211bd4a65fa2cc6463555e97d..fdb7a87a2a1116117313b914b69db317ecefe919 100644
--- a/libavformat/c93.c
+++ b/libavformat/c93.c
@@ -24,13 +24,13 @@
 #include "voc.h"
 #include "libavutil/intreadwrite.h"
 
-typedef struct {
+typedef struct C93BlockRecord {
     uint16_t index;
     uint8_t length;
     uint8_t frames;
 } C93BlockRecord;
 
-typedef struct {
+typedef struct C93DemuxContext {
     VocDecContext voc;
 
     C93BlockRecord block_records[512];
diff --git a/libavformat/cafdec.c b/libavformat/cafdec.c
index 4489eb26b2c982331664fa38a7a598a2f168c6d0..a37ceaaebd682799ff5d40e6e3ad0d4070f2c296 100644
--- a/libavformat/cafdec.c
+++ b/libavformat/cafdec.c
@@ -36,7 +36,7 @@
 #include "libavutil/dict.h"
 #include "caf.h"
 
-typedef struct {
+typedef struct CafContext {
     int bytes_per_packet;           ///< bytes in a packet, or 0 if variable
     int frames_per_packet;          ///< frames in a packet, or 0 if variable
     int64_t num_bytes;              ///< total number of bytes in stream
diff --git a/libavformat/crypto.c b/libavformat/crypto.c
index 3bc33f2bb9dd980d5b976431f724a475f46b2d70..6b19b5ee233ae83497b86e74af6f13b5caea0602 100644
--- a/libavformat/crypto.c
+++ b/libavformat/crypto.c
@@ -29,7 +29,7 @@
 #define MAX_BUFFER_BLOCKS 150
 #define BLOCKSIZE 16
 
-typedef struct {
+typedef struct CryptoContext {
     const AVClass *class;
     URLContext *hd;
     uint8_t inbuffer [BLOCKSIZE*MAX_BUFFER_BLOCKS],
diff --git a/libavformat/dxa.c b/libavformat/dxa.c
index 78e7290837e1c1cfe75936591fd3ca7dab138a0c..4a4d7c2cb0577aa10460180acfcb261c291fd8f1 100644
--- a/libavformat/dxa.c
+++ b/libavformat/dxa.c
@@ -28,7 +28,7 @@
 
 #define DXA_EXTRA_SIZE  9
 
-typedef struct{
+typedef struct DXAContext {
     int frames;
     int has_sound;
     int bpc;
diff --git a/libavformat/eacdata.c b/libavformat/eacdata.c
index b56ba1c90cd24600f71389562f9564d5c027c567..c81dec847d4c3fda7e9fef3e0195246d75ebd4be 100644
--- a/libavformat/eacdata.c
+++ b/libavformat/eacdata.c
@@ -31,7 +31,7 @@
 #include "avformat.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct CdataDemuxContext {
   unsigned int channels;
   unsigned int audio_pts;
 } CdataDemuxContext;
diff --git a/libavformat/filmstripdec.c b/libavformat/filmstripdec.c
index e4dee115cedf534be66e5986196cb35faf60b0ab..c82656e72f98b43835021817a4ea8edb9d270f40 100644
--- a/libavformat/filmstripdec.c
+++ b/libavformat/filmstripdec.c
@@ -30,7 +30,7 @@
 
 #define RAND_TAG MKBETAG('R','a','n','d')
 
-typedef struct {
+typedef struct FilmstripDemuxContext {
     int leading;
 } FilmstripDemuxContext;
 
diff --git a/libavformat/filmstripenc.c b/libavformat/filmstripenc.c
index 8d1d2d83657162d2c03243a5bb69cd34fc92cb20..0794b18c507901ed43c37ceeca5cad87e0d10917 100644
--- a/libavformat/filmstripenc.c
+++ b/libavformat/filmstripenc.c
@@ -29,7 +29,7 @@
 
 #define RAND_TAG MKBETAG('R','a','n','d')
 
-typedef struct {
+typedef struct FilmstripMuxContext {
     int nb_frames;
 } FilmstripMuxContext;
 
diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 0167d17c701db9a2e1b2bd39b3a94b77ba9308b2..ff8637202b98f97179ef1673d8a2f8a43b2b998b 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -43,7 +43,7 @@
 
 #define VALIDATE_INDEX_TS_THRESH 2500
 
-typedef struct {
+typedef struct FLVContext {
     const AVClass *class; ///< Class for private options.
     int trust_metadata;   ///< configure streams according onMetaData
     int wrong_dts;        ///< wrong dts due to negative cts
diff --git a/libavformat/gif.c b/libavformat/gif.c
index 085c2e03fc8a2f81cdc676df72551b25af583d80..ddec778d829cf6642592adf7958b32c40737917d 100644
--- a/libavformat/gif.c
+++ b/libavformat/gif.c
@@ -58,7 +58,7 @@
  * (byte 19) in the app_header */
 #define GIF_ADD_APP_HEADER // required to enable looping of animated gif
 
-typedef struct {
+typedef struct rgb_triplet {
     unsigned char r;
     unsigned char g;
     unsigned char b;
@@ -253,7 +253,7 @@ static int gif_image_write_image(AVIOContext *pb,
     return 0;
 }
 
-typedef struct {
+typedef struct GIFContext {
     AVClass *class;         /** Class for private options. */
     int64_t time, file_time;
     uint8_t buffer[100]; /* data chunks */
diff --git a/libavformat/gopher.c b/libavformat/gopher.c
index a149f7fd6b8999455db826b64ece1261b11880ce..962fce798ccb5b1d3dafc010117a3341f3b5c1da 100644
--- a/libavformat/gopher.c
+++ b/libavformat/gopher.c
@@ -28,7 +28,7 @@
 #include "network.h"
 #include "url.h"
 
-typedef struct {
+typedef struct GopherContext {
     URLContext *hd;
 } GopherContext;
 
diff --git a/libavformat/gsmdec.c b/libavformat/gsmdec.c
index f9ecbafcda8cebc743fb2a8e4df22a1d7a29cb47..e73aa0ddab10d7f67ce663d961d03eff5453eeed 100644
--- a/libavformat/gsmdec.c
+++ b/libavformat/gsmdec.c
@@ -29,7 +29,7 @@
 #define GSM_BLOCK_SAMPLES 160
 #define GSM_SAMPLE_RATE   8000
 
-typedef struct {
+typedef struct GSMDemuxerContext {
     AVClass *class;
     int sample_rate;
 } GSMDemuxerContext;
diff --git a/libavformat/http.c b/libavformat/http.c
index f82002cb86e0be5449c1059dbb959870d20b4611..23df1b712e764450b7ffc556ea231e0669b0cd06 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -45,7 +45,7 @@
 #define BUFFER_SIZE   MAX_URL_SIZE
 #define MAX_REDIRECTS 8
 
-typedef struct {
+typedef struct HTTPContext {
     const AVClass *class;
     URLContext *hd;
     unsigned char buffer[BUFFER_SIZE], *buf_ptr, *buf_end;
diff --git a/libavformat/iff.c b/libavformat/iff.c
index 6be0fb72eece744c3fa22dfa8390015ec2288487..bf092152bd6003fec69142e9bb2a64d4088eb243 100644
--- a/libavformat/iff.c
+++ b/libavformat/iff.c
@@ -74,7 +74,7 @@ typedef enum {
     BITMAP_BYTERUN1
 } bitmap_compression_type;
 
-typedef struct {
+typedef struct IffDemuxContext {
     uint64_t  body_pos;
     uint32_t  body_size;
     uint32_t  sent_bytes;
diff --git a/libavformat/img2.c b/libavformat/img2.c
index 847c6139298aafec8d1821c8802b2d22041a8082..2128b2ecdfae55e39f3576d4d8445bfe87cf425b 100644
--- a/libavformat/img2.c
+++ b/libavformat/img2.c
@@ -23,7 +23,7 @@
 #include "libavutil/avstring.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct IdStrMap {
     enum AVCodecID id;
     const char *str;
 } IdStrMap;
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index b73554e096dbf1c870f7a5281a0087108ab5cd8e..fc6da1b7fe80dc80f4fa72b611415d22b82dacd7 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -28,7 +28,7 @@
 #include "avformat.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct VideoDemuxData {
     const AVClass *class;  /**< Class for private options. */
     int img_first;
     int img_last;
diff --git a/libavformat/img2enc.c b/libavformat/img2enc.c
index 13e68286a3597a624645e632c715d04e446bfab7..eeb19c0e253309f25519f0608cf10b2c85462ff7 100644
--- a/libavformat/img2enc.c
+++ b/libavformat/img2enc.c
@@ -28,7 +28,7 @@
 #include "internal.h"
 #include "libavutil/opt.h"
 
-typedef struct {
+typedef struct VideoMuxData {
     const AVClass *class;  /**< Class for private options. */
     int img_number;
     int is_pipe;
diff --git a/libavformat/iss.c b/libavformat/iss.c
index 3f7f4feff2102950f7837e2a9e4831716e0e7620..c86b4250c83dbbe1a8c099eaf06354e002d28da6 100644
--- a/libavformat/iss.c
+++ b/libavformat/iss.c
@@ -35,7 +35,7 @@
 #define ISS_SIG_LEN 15
 #define MAX_TOKEN_SIZE 20
 
-typedef struct {
+typedef struct IssDemuxContext {
     int packet_size;
     int sample_start_pos;
 } IssDemuxContext;
diff --git a/libavformat/jvdec.c b/libavformat/jvdec.c
index 84d55daad1c63a38c59c0622b5551214b603175c..8aebbf4de8e05420a74d9884289792c84fc8829f 100644
--- a/libavformat/jvdec.c
+++ b/libavformat/jvdec.c
@@ -33,14 +33,14 @@
 
 #define JV_PREAMBLE_SIZE 5
 
-typedef struct {
+typedef struct JVFrame {
     int audio_size;    /** audio packet size (bytes) */
     int video_size;    /** video packet size (bytes) */
     int palette_size;  /** palette size (bytes) */
     int video_type;    /** per-frame video compression type */
 } JVFrame;
 
-typedef struct {
+typedef struct JVDemuxContext {
     JVFrame *frames;
     enum {
         JV_AUDIO = 0,
diff --git a/libavformat/latmenc.c b/libavformat/latmenc.c
index e5e2f87a88dc821f1e6546380c2ab7e3552a5537..5190ac7b20c31442210630715ef27200661d1b7e 100644
--- a/libavformat/latmenc.c
+++ b/libavformat/latmenc.c
@@ -26,7 +26,7 @@
 #include "libavutil/opt.h"
 #include "avformat.h"
 
-typedef struct {
+typedef struct LATMContext {
     AVClass *av_class;
     int off;
     int channel_conf;
diff --git a/libavformat/lxfdec.c b/libavformat/lxfdec.c
index 192d4b057c164f12e26daf6f6c44c1ca8e6a8c18..e25f82e0af33742bf5583da18adb442f37b5191e 100644
--- a/libavformat/lxfdec.c
+++ b/libavformat/lxfdec.c
@@ -46,7 +46,7 @@ static const AVCodecTag lxf_tags[] = {
     { AV_CODEC_ID_NONE,        0 },
 };
 
-typedef struct {
+typedef struct LXFDemuxContext {
     int channels;                       ///< number of audio channels. zero means no audio
     int frame_number;                   ///< current video frame
     uint32_t video_format, packet_type, extended_size;
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 50585a37108b5c9f88afd5834a70d2db81a39759..697e14c30c1643fcd6519501ad86372579ca60a4 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -86,18 +86,18 @@ typedef const struct EbmlSyntax {
     } def;
 } EbmlSyntax;
 
-typedef struct {
+typedef struct EbmlList {
     int nb_elem;
     void *elem;
 } EbmlList;
 
-typedef struct {
+typedef struct EbmlBin {
     int      size;
     uint8_t *data;
     int64_t  pos;
 } EbmlBin;
 
-typedef struct {
+typedef struct Ebml {
     uint64_t version;
     uint64_t max_size;
     uint64_t id_length;
@@ -105,18 +105,18 @@ typedef struct {
     uint64_t doctype_version;
 } Ebml;
 
-typedef struct {
+typedef struct MatroskaTrackCompression {
     uint64_t algo;
     EbmlBin  settings;
 } MatroskaTrackCompression;
 
-typedef struct {
+typedef struct MatroskaTrackEncoding {
     uint64_t scope;
     uint64_t type;
     MatroskaTrackCompression compression;
 } MatroskaTrackEncoding;
 
-typedef struct {
+typedef struct MatroskaTrackVideo {
     double   frame_rate;
     uint64_t display_width;
     uint64_t display_height;
@@ -126,7 +126,7 @@ typedef struct {
     uint64_t stereo_mode;
 } MatroskaTrackVideo;
 
-typedef struct {
+typedef struct MatroskaTrackAudio {
     double   samplerate;
     double   out_samplerate;
     uint64_t bitdepth;
@@ -143,7 +143,7 @@ typedef struct {
     uint8_t *buf;
 } MatroskaTrackAudio;
 
-typedef struct {
+typedef struct MatroskaTrack {
     uint64_t num;
     uint64_t uid;
     uint64_t type;
@@ -165,7 +165,7 @@ typedef struct {
     int ms_compat;
 } MatroskaTrack;
 
-typedef struct {
+typedef struct MatroskaAttachment {
     uint64_t uid;
     char *filename;
     char *mime;
@@ -174,7 +174,7 @@ typedef struct {
     AVStream *stream;
 } MatroskaAttachment;
 
-typedef struct {
+typedef struct MatroskaChapter {
     uint64_t start;
     uint64_t end;
     uint64_t uid;
@@ -183,17 +183,17 @@ typedef struct {
     AVChapter *chapter;
 } MatroskaChapter;
 
-typedef struct {
+typedef struct MatroskaIndexPos {
     uint64_t track;
     uint64_t pos;
 } MatroskaIndexPos;
 
-typedef struct {
+typedef struct MatroskaIndex {
     uint64_t time;
     EbmlList pos;
 } MatroskaIndex;
 
-typedef struct {
+typedef struct MatroskaTag {
     char *name;
     char *string;
     char *lang;
@@ -201,7 +201,7 @@ typedef struct {
     EbmlList sub;
 } MatroskaTag;
 
-typedef struct {
+typedef struct MatroskaTagTarget {
     char    *type;
     uint64_t typevalue;
     uint64_t trackuid;
@@ -209,27 +209,27 @@ typedef struct {
     uint64_t attachuid;
 } MatroskaTagTarget;
 
-typedef struct {
+typedef struct MatroskaTags {
     MatroskaTagTarget target;
     EbmlList tag;
 } MatroskaTags;
 
-typedef struct {
+typedef struct MatroskaSeekhead {
     uint64_t id;
     uint64_t pos;
 } MatroskaSeekhead;
 
-typedef struct {
+typedef struct MatroskaLevel {
     uint64_t start;
     uint64_t length;
 } MatroskaLevel;
 
-typedef struct {
+typedef struct MatroskaCluster {
     uint64_t timecode;
     EbmlList blocks;
 } MatroskaCluster;
 
-typedef struct {
+typedef struct MatroskaDemuxContext {
     AVFormatContext *ctx;
 
     /* EBML stuff */
@@ -273,7 +273,7 @@ typedef struct {
     int contains_ssa;
 } MatroskaDemuxContext;
 
-typedef struct {
+typedef struct MatroskaBlock {
     uint64_t duration;
     int64_t  reference;
     uint64_t non_simple;
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 3427c5987f3abb72792c1f979165e27b5197cef5..458a5f6cf7118f23e674443818e9e10fdd75f223 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -67,19 +67,19 @@ typedef struct mkv_seekhead {
     int                     num_entries;
 } mkv_seekhead;
 
-typedef struct {
+typedef struct mkv_cuepoint {
     uint64_t        pts;
     int             tracknum;
     int64_t         cluster_pos;        ///< file offset of the cluster containing the block
 } mkv_cuepoint;
 
-typedef struct {
+typedef struct mkv_cues {
     int64_t         segment_offset;
     mkv_cuepoint    *entries;
     int             num_entries;
 } mkv_cues;
 
-typedef struct {
+typedef struct mkv_track {
     int             write_dts;
     int64_t         ts_offset;
 } mkv_track;
diff --git a/libavformat/mm.c b/libavformat/mm.c
index 8c9cbd79d2d254997fed18aaf4d0113bcaa605b5..cdf1010dc6347bab8fdd5b277ae2a6e178d1c391 100644
--- a/libavformat/mm.c
+++ b/libavformat/mm.c
@@ -54,7 +54,7 @@
 #define MM_PALETTE_COUNT    128
 #define MM_PALETTE_SIZE     (MM_PALETTE_COUNT*3)
 
-typedef struct {
+typedef struct MmDemuxContext {
   unsigned int audio_pts, video_pts;
 } MmDemuxContext;
 
diff --git a/libavformat/mmf.c b/libavformat/mmf.c
index 61f1d7adf429ed88194ea29a40da2a2873c2ac18..6fb63bf9ab4595c0759e62454a3d00553e702cc9 100644
--- a/libavformat/mmf.c
+++ b/libavformat/mmf.c
@@ -26,7 +26,7 @@
 #include "pcm.h"
 #include "riff.h"
 
-typedef struct {
+typedef struct MMFContext {
     int64_t atrpos, atsqpos, awapos;
     int64_t data_size;
 } MMFContext;
diff --git a/libavformat/mmsh.c b/libavformat/mmsh.c
index 5e9d0bc1345eb07274ce5afb200487fe07aaf00b..f8803a551c7f62a22b02f1e598a36de11220c45d 100644
--- a/libavformat/mmsh.c
+++ b/libavformat/mmsh.c
@@ -54,7 +54,7 @@ typedef enum {
     CHUNK_TYPE_STREAM_CHANGE = 0x4324,
 } ChunkType;
 
-typedef struct {
+typedef struct MMSHContext {
     MMSContext mms;
     int request_seq;  ///< request packet sequence
     int chunk_seq;    ///< data packet sequence
diff --git a/libavformat/mmst.c b/libavformat/mmst.c
index 4f896e0c4a130f777423386418050642f7f3fe8d..d45f7ba83bc5f2227a775897fb9670e639108518 100644
--- a/libavformat/mmst.c
+++ b/libavformat/mmst.c
@@ -85,7 +85,7 @@ typedef enum {
     /*@}*/
 } MMSSCPacketType;
 
-typedef struct {
+typedef struct MMSTContext {
     MMSContext  mms;
     int outgoing_packet_seq;             ///< Outgoing packet sequence number.
     char path[256];                      ///< Path of the resource being asked for.
diff --git a/libavformat/mpc.c b/libavformat/mpc.c
index 5e771ae4aa476ff9209831d9662700d828b65120..1c8a295863ec1c886ee4281ee713ec5db44384ef 100644
--- a/libavformat/mpc.c
+++ b/libavformat/mpc.c
@@ -31,12 +31,12 @@
 #define DELAY_FRAMES   32
 
 static const int mpc_rate[4] = { 44100, 48000, 37800, 32000 };
-typedef struct {
+typedef struct MPCFrame {
     int64_t pos;
     int size, skip;
 }MPCFrame;
 
-typedef struct {
+typedef struct MPCContext {
     int ver;
     uint32_t curframe, lastframe;
     uint32_t fcount;
diff --git a/libavformat/mpc8.c b/libavformat/mpc8.c
index 3564e81c3231855db2c5abc0f58631301e42714c..07f12d291c73ffc946b9be7d1ce22310ab17e957 100644
--- a/libavformat/mpc8.c
+++ b/libavformat/mpc8.c
@@ -47,7 +47,7 @@ enum MPCPacketTags{
 
 static const int mpc8_rate[8] = { 44100, 48000, 37800, 32000, -1, -1, -1, -1 };
 
-typedef struct {
+typedef struct MPCContext {
     int ver;
     int64_t header_pos;
     int64_t samples;
diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c
index 1c68a8fc1ea0b4d9e16b50472e63ff46d2230768..fd3bbec413e2ebd8bb1e16cdb59ad896de5dfe09 100644
--- a/libavformat/mpegenc.c
+++ b/libavformat/mpegenc.c
@@ -46,7 +46,7 @@ typedef struct PacketDesc {
     struct PacketDesc *next;
 } PacketDesc;
 
-typedef struct {
+typedef struct StreamInfo {
     AVFifoBuffer *fifo;
     uint8_t id;
     int max_buffer_size; /* in bytes */
@@ -62,7 +62,7 @@ typedef struct {
     int64_t vobu_start_pts;
 } StreamInfo;
 
-typedef struct {
+typedef struct MpegMuxContext {
     const AVClass *class;
     int packet_size; /* required packet size */
     int packet_number;
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 2f1d9d91ef4b2b8b3674b69af56ba6f45c3d474f..39eb74a766b8d5abe5bd3b5b59cc7bd9cd169b5f 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -565,7 +565,7 @@ static int parse_section_header(SectionHeader *h,
     return 0;
 }
 
-typedef struct {
+typedef struct StreamType {
     uint32_t stream_type;
     enum AVMediaType codec_type;
     enum AVCodecID codec_id;
@@ -1026,7 +1026,7 @@ static PESContext *add_pes_stream(MpegTSContext *ts, int pid, int pcr_pid)
 }
 
 #define MAX_LEVEL 4
-typedef struct {
+typedef struct MP4DescrParseContext {
     AVFormatContext *s;
     AVIOContext pb;
     Mp4Descr *descr;
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index b71c80f14be1691508e4318f049a1f62a4de8858..2b8bd8978aabe9e0ff732ecef03079bb64eaaf36 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -72,7 +72,7 @@ typedef enum {
     OPSonyOpt,  /* FATE sample, violates the spec in places */
 } MXFOP;
 
-typedef struct {
+typedef struct MXFPartition {
     int closed;
     int complete;
     MXFPartitionType type;
@@ -88,13 +88,13 @@ typedef struct {
     int pack_length;
 } MXFPartition;
 
-typedef struct {
+typedef struct MXFCryptoContext {
     UID uid;
     enum MXFMetadataSetType type;
     UID source_container_ul;
 } MXFCryptoContext;
 
-typedef struct {
+typedef struct MXFStructuralComponent {
     UID uid;
     enum MXFMetadataSetType type;
     UID source_package_uid;
@@ -104,7 +104,7 @@ typedef struct {
     int source_track_id;
 } MXFStructuralComponent;
 
-typedef struct {
+typedef struct MXFSequence {
     UID uid;
     enum MXFMetadataSetType type;
     UID data_definition_ul;
@@ -114,7 +114,7 @@ typedef struct {
     uint8_t origin;
 } MXFSequence;
 
-typedef struct {
+typedef struct MXFTrack {
     UID uid;
     enum MXFMetadataSetType type;
     MXFSequence *sequence; /* mandatory, and only one */
@@ -127,7 +127,7 @@ typedef struct {
     int64_t original_duration; /* st->duration in SampleRate/EditRate units */
 } MXFTrack;
 
-typedef struct {
+typedef struct MXFDescriptor {
     UID uid;
     enum MXFMetadataSetType type;
     UID essence_container_ul;
@@ -153,7 +153,7 @@ typedef struct {
     enum AVPixelFormat pix_fmt;
 } MXFDescriptor;
 
-typedef struct {
+typedef struct MXFIndexTableSegment {
     UID uid;
     enum MXFMetadataSetType type;
     int edit_unit_byte_count;
@@ -168,7 +168,7 @@ typedef struct {
     int nb_index_entries;
 } MXFIndexTableSegment;
 
-typedef struct {
+typedef struct MXFPackage {
     UID uid;
     enum MXFMetadataSetType type;
     UID package_uid;
@@ -178,13 +178,13 @@ typedef struct {
     UID descriptor_ref;
 } MXFPackage;
 
-typedef struct {
+typedef struct MXFMetadataSet {
     UID uid;
     enum MXFMetadataSetType type;
 } MXFMetadataSet;
 
 /* decoded index table */
-typedef struct {
+typedef struct MXFIndexTable {
     int index_sid;
     int body_sid;
     int nb_ptses;               /* number of PTSes or total duration of index */
@@ -195,7 +195,7 @@ typedef struct {
     AVIndexEntry *fake_index;   /* used for calling ff_index_search_timestamp() */
 } MXFIndexTable;
 
-typedef struct {
+typedef struct MXFContext {
     MXFPartition *partitions;
     unsigned partitions_count;
     MXFOP op;
@@ -230,7 +230,7 @@ enum MXFWrappingScheme {
 /* NOTE: klv_offset is not set (-1) for local keys */
 typedef int MXFMetadataReadFunc(void *arg, AVIOContext *pb, int tag, int size, UID uid, int64_t klv_offset);
 
-typedef struct {
+typedef struct MXFMetadataReadTableEntry {
     const UID key;
     MXFMetadataReadFunc *read;
     int ctx_size;
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index ab6236f9ec7111812eeb47d2edf1cd0e88f44679..69c0dd8c19a7c70f162f3ba920a4b97ac0140292 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -50,19 +50,19 @@ extern AVOutputFormat ff_mxf_d10_muxer;
 #define EDIT_UNITS_PER_BODY 250
 #define KAG_SIZE 512
 
-typedef struct {
+typedef struct MXFLocalTagPair {
     int local_tag;
     UID uid;
 } MXFLocalTagPair;
 
-typedef struct {
+typedef struct MXFIndexEntry {
     uint8_t flags;
     uint64_t offset;
     unsigned slice_offset; ///< offset of audio slice
     uint16_t temporal_ref;
 } MXFIndexEntry;
 
-typedef struct {
+typedef struct MXFStreamContext {
     AudioInterleaveContext aic;
     UID track_essence_element_key;
     int index;               ///< index in mxf_essence_container_uls table
@@ -74,7 +74,7 @@ typedef struct {
     int closed_gop;          ///< gop is closed, used in mpeg-2 frame parsing
 } MXFStreamContext;
 
-typedef struct {
+typedef struct MXFContainerEssenceEntry {
     UID container_ul;
     UID element_ul;
     UID codec_ul;
diff --git a/libavformat/nsvdec.c b/libavformat/nsvdec.c
index 5662279f79bacdd71e33d287d948d41c2b73b3d5..c8ac74c033163023e6cd4b2e9e0c94b04812e73b 100644
--- a/libavformat/nsvdec.c
+++ b/libavformat/nsvdec.c
@@ -165,7 +165,7 @@ typedef struct NSVStream {
     int cum_len; /* temporary storage (used during seek) */
 } NSVStream;
 
-typedef struct {
+typedef struct NSVContext {
     int  base_offset;
     int  NSVf_end;
     uint32_t *nsvs_file_offset;
diff --git a/libavformat/nuv.c b/libavformat/nuv.c
index 586aec65f640bc32af4f4d8eb610667964c933ad..c9fa38aa5b96e5ee9b5ed2cb302ba76984c5ef93 100644
--- a/libavformat/nuv.c
+++ b/libavformat/nuv.c
@@ -33,7 +33,7 @@ static const AVCodecTag nuv_audio_tags[] = {
     { AV_CODEC_ID_NONE,      0 },
 };
 
-typedef struct {
+typedef struct NUVContext {
     int v_id;
     int a_id;
     int rtjpg_video;
diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c
index 1b2644d5e5279331ce841da92ddb86c8db0a553b..70c7817fa8205258cbef4e57b561b1542c2263c3 100644
--- a/libavformat/oggenc.c
+++ b/libavformat/oggenc.c
@@ -35,7 +35,7 @@
 
 #define MAX_PAGE_SIZE 65025
 
-typedef struct {
+typedef struct OGGPage {
     int64_t start_granule;
     int64_t granule;
     int stream_index;
@@ -46,7 +46,7 @@ typedef struct {
     uint16_t size;
 } OGGPage;
 
-typedef struct {
+typedef struct OGGStreamContext {
     unsigned page_counter;
     uint8_t *header[3];
     int header_len[3];
@@ -66,7 +66,7 @@ typedef struct OGGPageList {
     struct OGGPageList *next;
 } OGGPageList;
 
-typedef struct {
+typedef struct OGGContext {
     const AVClass *class;
     OGGPageList *page_list;
     int pref_size; ///< preferred page size (0 => fill all segments)
diff --git a/libavformat/paf.c b/libavformat/paf.c
index 18bf353c4bf4452c32373db3273a4dde05d8a1e6..9ee4cd8cb620a3d77ba9ce128187764fa0c69712 100644
--- a/libavformat/paf.c
+++ b/libavformat/paf.c
@@ -28,7 +28,7 @@
 #define PAF_SOUND_SAMPLES     2205
 #define PAF_SOUND_FRAME_SIZE  ((256 + PAF_SOUND_SAMPLES) * 2)
 
-typedef struct {
+typedef struct PAFDemuxContext {
     uint32_t buffer_size;
     uint32_t frame_blks;
     uint32_t nb_frames;
diff --git a/libavformat/pva.c b/libavformat/pva.c
index 3abfc18508bbf3d485ff46b7a8dd00c297cc4d35..2c485d6dcfde777f05187d00f042afd17e502ecd 100644
--- a/libavformat/pva.c
+++ b/libavformat/pva.c
@@ -28,7 +28,7 @@
 #define PVA_AUDIO_PAYLOAD       0x02
 #define PVA_MAGIC               (('A' << 8) + 'V')
 
-typedef struct {
+typedef struct PVAContext {
     int continue_pes;
 } PVAContext;
 
diff --git a/libavformat/qcp.c b/libavformat/qcp.c
index 30d362f9384162c457057670deb8962b5ac688a7..be06e2f4ec68b1b117d0298727510882a6242478 100644
--- a/libavformat/qcp.c
+++ b/libavformat/qcp.c
@@ -31,7 +31,7 @@
 #include "libavutil/intreadwrite.h"
 #include "avformat.h"
 
-typedef struct {
+typedef struct QCPContext {
     uint32_t data_size;                     ///< size of data chunk
 
 #define QCP_MAX_MODE 4
diff --git a/libavformat/r3d.c b/libavformat/r3d.c
index 607cd3d9f57b01c18b4f1c492cf5f146569f0534..bcea4623061934c2f759dde4eee79781b50bb37d 100644
--- a/libavformat/r3d.c
+++ b/libavformat/r3d.c
@@ -25,13 +25,13 @@
 #include "avformat.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct R3DContext {
     unsigned video_offsets_count;
     unsigned *video_offsets;
     unsigned rdvo_offset;
 } R3DContext;
 
-typedef struct {
+typedef struct Atom {
     unsigned size;
     uint32_t tag;
     uint64_t offset;
diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c
index 9173dde901735564d188a13b879d7f141a72173f..cae89a9c5a6b70614cab01b814018ceb2b0ad817 100644
--- a/libavformat/rmdec.c
+++ b/libavformat/rmdec.c
@@ -54,7 +54,7 @@ struct RMStream {
     int32_t deint_id;  ///< deinterleaver used in audio stream
 };
 
-typedef struct {
+typedef struct RMDemuxContext {
     int nb_packets;
     int old_format;
     int current_stream;
diff --git a/libavformat/rmenc.c b/libavformat/rmenc.c
index 9ff9f318a5e924d9b83b047da9a1fb4b9d4075bb..6d8fa434671e1f99a10a3954a9545e275cfdd20a 100644
--- a/libavformat/rmenc.c
+++ b/libavformat/rmenc.c
@@ -23,7 +23,7 @@
 #include "rm.h"
 #include "libavutil/dict.h"
 
-typedef struct {
+typedef struct StreamInfo {
     int nb_packets;
     int packet_total_size;
     int packet_max_size;
@@ -36,7 +36,7 @@ typedef struct {
     AVCodecContext *enc;
 } StreamInfo;
 
-typedef struct {
+typedef struct RMMuxContext {
     StreamInfo streams[2];
     StreamInfo *audio_stream, *video_stream;
     int data_pos; /* position of the data after the header */
diff --git a/libavformat/rtpdec_mpeg4.c b/libavformat/rtpdec_mpeg4.c
index 4aedeea6bed0336daf9ea71e16cd3882fc33c9f9..0c0d336fb1cb73cf464647dab73a8f97b2d8151a 100644
--- a/libavformat/rtpdec_mpeg4.c
+++ b/libavformat/rtpdec_mpeg4.c
@@ -63,7 +63,7 @@ struct PayloadContext {
     int buf_pos, buf_size;
 };
 
-typedef struct {
+typedef struct AttrNameMap {
     const char *str;
     uint16_t    type;
     uint32_t    offset;
diff --git a/libavformat/rtpdec_qcelp.c b/libavformat/rtpdec_qcelp.c
index 45a89ae4f773da1b89959f395a1179262c623e6f..9c48314846219c42dd1923e9f394753a3350ba04 100644
--- a/libavformat/rtpdec_qcelp.c
+++ b/libavformat/rtpdec_qcelp.c
@@ -25,7 +25,7 @@ static const uint8_t frame_sizes[] = {
     1, 4, 8, 17, 35
 };
 
-typedef struct {
+typedef struct InterleavePacket {
     int pos;
     int size;
     /* The largest frame is 35 bytes, only 10 frames are allowed per
diff --git a/libavformat/segafilm.c b/libavformat/segafilm.c
index 53e206625eb7d1d7f362c9289a2a71017187bef6..04b817789dc79bfd8ce1b33d6ec383280dc15b4a 100644
--- a/libavformat/segafilm.c
+++ b/libavformat/segafilm.c
@@ -37,7 +37,7 @@
 #define CVID_TAG MKBETAG('c', 'v', 'i', 'd')
 #define RAW_TAG  MKBETAG('r', 'a', 'w', ' ')
 
-typedef struct {
+typedef struct film_sample {
   int stream;
   int64_t sample_offset;
   unsigned int sample_size;
diff --git a/libavformat/segment.c b/libavformat/segment.c
index 824bbf7d5b6379f1d6927fd63412b1cc57d63e1e..55ba6569f2a4199cc383b92820b675e64cbbbd03 100644
--- a/libavformat/segment.c
+++ b/libavformat/segment.c
@@ -30,7 +30,7 @@
 #include "libavutil/parseutils.h"
 #include "libavutil/mathematics.h"
 
-typedef struct {
+typedef struct SegmentContext {
     const AVClass *class;  /**< Class for private options. */
     int number;
     AVOutputFormat *oformat;
diff --git a/libavformat/sierravmd.c b/libavformat/sierravmd.c
index 831638890b4c00d04dd4f3b9b08ae2a91611b613..279633fe99cd8e6a4f73228c64f0d9a32f69316c 100644
--- a/libavformat/sierravmd.c
+++ b/libavformat/sierravmd.c
@@ -35,7 +35,7 @@
 #define VMD_HEADER_SIZE 0x0330
 #define BYTES_PER_FRAME_RECORD 16
 
-typedef struct {
+typedef struct vmd_frame {
   int stream_index;
   int64_t frame_offset;
   unsigned int frame_size;
diff --git a/libavformat/smoothstreamingenc.c b/libavformat/smoothstreamingenc.c
index 1db2dba24f8ab080b62180e410d8c5cd45e385b0..6af8b3991c85f1bfe71d95300bd262eb7f1a1fb3 100644
--- a/libavformat/smoothstreamingenc.c
+++ b/libavformat/smoothstreamingenc.c
@@ -38,7 +38,7 @@
 #include "libavutil/mathematics.h"
 #include "libavutil/intreadwrite.h"
 
-typedef struct {
+typedef struct Fragment {
     char file[1024];
     char infofile[1024];
     int64_t start_time, duration;
@@ -46,7 +46,7 @@ typedef struct {
     int64_t start_pos, size;
 } Fragment;
 
-typedef struct {
+typedef struct OutputStream {
     AVFormatContext *ctx;
     int ctx_inited;
     char dirname[1024];
@@ -66,7 +66,7 @@ typedef struct {
     int audio_tag;
 } OutputStream;
 
-typedef struct {
+typedef struct SmoothStreamingContext {
     const AVClass *class;  /* Class for private options. */
     int window_size;
     int extra_window_size;
diff --git a/libavformat/soxenc.c b/libavformat/soxenc.c
index 4b8955c280a2eaa74c2c20b9b9dabe4151dec491..17de1789a1c117c98df5caccfacce527a1867c6d 100644
--- a/libavformat/soxenc.c
+++ b/libavformat/soxenc.c
@@ -36,7 +36,7 @@
 #include "avio_internal.h"
 #include "sox.h"
 
-typedef struct {
+typedef struct SoXContext {
     int64_t header_size;
 } SoXContext;
 
diff --git a/libavformat/tls.c b/libavformat/tls.c
index 817aedc239a6bbbb89d67ca1ff5c820147ace8a1..1832f2b3aac6e5ab396df5fab2bef368a57523d5 100644
--- a/libavformat/tls.c
+++ b/libavformat/tls.c
@@ -57,7 +57,7 @@
 #include <poll.h>
 #endif
 
-typedef struct {
+typedef struct TLSContext {
     const AVClass *class;
     URLContext *tcp;
 #if CONFIG_GNUTLS
diff --git a/libavformat/tta.c b/libavformat/tta.c
index b7efe18b3cd577a0869d8630dfa7f573dded62fd..bc86a777b32a385a6a08295af746d3b00abf6d4a 100644
--- a/libavformat/tta.c
+++ b/libavformat/tta.c
@@ -25,7 +25,7 @@
 #include "id3v1.h"
 #include "libavutil/dict.h"
 
-typedef struct {
+typedef struct TTAContext {
     int totalframes, currentframe;
     int frame_size;
     int last_frame_size;
diff --git a/libavformat/tty.c b/libavformat/tty.c
index 0ae1510491774577587b43c91607320a2bf80cbe..3a34dd865a4344c6c7706b001fb1d5500bc7131d 100644
--- a/libavformat/tty.c
+++ b/libavformat/tty.c
@@ -34,7 +34,7 @@
 #include "internal.h"
 #include "sauce.h"
 
-typedef struct {
+typedef struct TtyDemuxContext {
     AVClass *class;
     int chars_per_frame;
     uint64_t fsize;  /**< file size less metadata buffer */
diff --git a/libavformat/udp.c b/libavformat/udp.c
index bfa8cf25e8455f1e9b9e39339f69b7d22e6fc755..939d2c121458ee6b2cf6fde75b73265603dde9bc 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -40,7 +40,7 @@
 #define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP
 #endif
 
-typedef struct {
+typedef struct UDPContext {
     int udp_fd;
     int ttl;
     int buffer_size;
diff --git a/libavformat/wtv.c b/libavformat/wtv.c
index 5080d299eda3b1593af6e85b87d743aa2d1a4b8d..7fe737ed53ac3aaf9deafe18e6e244480f2dd0c2 100644
--- a/libavformat/wtv.c
+++ b/libavformat/wtv.c
@@ -57,7 +57,7 @@
 
 #define SHIFT_SECTOR_BITS(a) ((int64_t)(a) << WTV_SECTOR_BITS)
 
-typedef struct {
+typedef struct WtvFile {
     AVIOContext *pb_filesystem;  /** file system (AVFormatContext->pb) */
 
     int sector_bits;     /** sector shift bits; used to convert sector number into pb_filesystem offset */
@@ -324,11 +324,11 @@ static void wtvfile_close(AVIOContext *pb)
  *
  */
 
-typedef struct {
+typedef struct WtvStream {
     int seen_data;
 } WtvStream;
 
-typedef struct {
+typedef struct WtvContext {
     AVIOContext *pb;       /** timeline file */
     int64_t epoch;
     int64_t pts;             /** pts for next data chunk */
diff --git a/libavformat/wvdec.c b/libavformat/wvdec.c
index 1a2a722cb721818d628c545beeff8e8be0f92928..75eddd2f50a3695759d7af41372c427f8f9e2406 100644
--- a/libavformat/wvdec.c
+++ b/libavformat/wvdec.c
@@ -47,7 +47,7 @@ static const int wv_rates[16] = {
     32000, 44100, 48000, 64000, 88200, 96000, 192000,    -1
 };
 
-typedef struct {
+typedef struct WVContext {
     uint8_t block_header[WV_HEADER_SIZE];
     WvHeader header;
     int rate, chan, bpp;
diff --git a/libavformat/xwma.c b/libavformat/xwma.c
index af916ad16998ae6a242396f8792c1fb14b35b4c2..4a30001f765473f3148264b59fa28e4a2a4dbe16 100644
--- a/libavformat/xwma.c
+++ b/libavformat/xwma.c
@@ -30,7 +30,7 @@
  * Demuxer for xWMA, a Microsoft audio container used by XAudio 2.
  */
 
-typedef struct {
+typedef struct XWMAContext {
     int64_t data_end;
 } XWMAContext;