$ show Nevcairiel/LAVFilters
LAVFilters is a mature Windows DirectShow filter suite for media playback. It consists of three COM-registered filters: LAV Splitter (a demuxer/source filter), LAV Audio Decoder, and LAV Video Decoder. The splitter wraps FFmpeg's libavformat to read virtually any container, while the decoders use FFmpeg's libavcodec plus hardware acceleration backends (DXVA2, D3D11VA, NVIDIA CUVID, Intel QuickSync) and expose property pages and programmatic COM settings interfaces. The code is predominantly C++ with heavy use of DirectShow base classes, COM plumbing, and low-level SIMD pixel-conversion routines.
The LLM identified 5 files worth highlighting for reuse:
Self-contained NAL unit parser for H.264/H.265 streams. It handles start-code scanning, NAL length decoding, and emulation-prevention removal, and can be extracted directly into any media parser or bitstream-processing project.
Generic lock-protected FIFO queue template used across the splitter and decoder pipelines. It is a clean producer-consumer utility with blocking/peek/pop operations and no dependency on DirectShow, making it directly reusable in any C++ threading context.
Converts length-prefixed H.264/HEVC access units into Annex-B byte streams and rewrites extradata for decoder compatibility. The core conversion logic is isolated and applicable to any FFmpeg-based encoder/decoder pipeline needing format normalization.
A compact bitstream reader built around FFmpeg's GetBitContext, offering bit reads, byte alignment, and Exp-Golomb parsing. It is a reusable low-level parsing utility for video/audio codec headers and other binary format work.
Defines clean COM interfaces (ISubRenderProvider, ISubRenderConsumer, ISubRenderFrame) for delivering premultiplied RGBA subtitle bitmaps from a provider to a consumer. This is a well-separated contract that could be reused by any subtitle rendering pipeline independent of LAV-specific internals.