CAVLC — Context-Adaptive Variable-Length Coding — is the simpler entropy coder in H.264, used in the Baseline profile (the one originally targeted at video calls, screen recordings, and low-power devices) and as the only option in early H.264 implementations. It's the predecessor to cabac, and you'll mostly encounter it in legacy WebRTC video and older mobile streams.
Mechanically, CAVLC uses tables of pre-built variable-length codes — short codes for common symbols, longer codes for rare ones — and switches between several tables based on what it's already seen in the current frame. That's the "context-adaptive" part: the same coefficient value might use a short code in one part of the frame and a longer one in another, depending on the local statistics. It's faster to decode than CABAC and easier to implement in hardware, but typically produces files 10–15 % larger.
For a product team, CAVLC is legacy you might still encounter on the input side. If you receive H.264 video from old WebRTC stacks, video conferencing systems, or low-end IP cameras, it may be Baseline profile CAVLC. There's no harm in this — the video plays everywhere — but you can usually re-encode to High profile CABAC for your own delivery ladder and save the 10–15 % at no visible cost. Practical rule: shoot, ingest and store H.264 in whatever profile you receive; deliver in High profile with CABAC for all modern devices.

