Good Code Design From Linux/Kernel
Linux and FFmpeg software design principles prioritize extensibility, polymorphism, and good code organization. This approach involves abstracting common operations and data structures, allowing for easy addition of new codecs or formats without modifying existing code. The Linux kernel's "everything is a file" concept provides a powerful abstraction for handling various resources in a uniform way. FFmpeg's architecture also relies on abstract concepts like AVCodec, making it easier to integrate new codecs and formats.