Libav is almost regularly structure.
All directories starting with lib will generate a library with the same name.
The file are named after the multimedia format implemented or external library wrapped
External library support files start with lib as well, e.g. libx264.c
If the format requires multiple files they are commonly structured to keep the common code in the file named as is, structurally specific components (e.g. dsp routines, prediction routines) would have their stand-alone files with appropriate suffix.
the decoder/demuxer/capture would have a dec suffix.
the encoder/muxer/playback would have a enc suffix.
template files use the _template suffix.
An example for all of it: libfdk_aacenc.c and libfdk_aacdec.c.