A profile in a video codec is a defined subset of coding tools that an encoder may use and a decoder must support. It's how the standard accommodates devices with very different capabilities: a low-power IP camera doesn't need the full feature set, while a premium TV does. Each profile bundles a set of tools together — basic intra/inter prediction, the option of B-frames, the choice of entropy coder (CABAC vs CAVLC), specific colour formats and bit depths — into a labelled package that vendors can implement against.

H.264's classic profiles. Baseline is the simplest: I and P frames only, simpler entropy coder (CAVLC), no B-frames. Designed for video calls, screen recordings, real-time applications where decoding speed and low latency dominate. Main adds B-frames and CABAC for better compression. High adds 8×8 transforms and per-macroblock quantization tuning, gaining another 5–10 %. High 10 adds 10-bit support, the HEVC sister profile being Main 10. High 4:4:4 Predictive and similar profiles handle professional production formats.

For a product team in 2026, the practical rule is: use High profile for H.264 delivery, Main 10 for HEVC delivery, basic AV1 profile for AV1 delivery — and don't worry much about the rest unless you have specific compatibility constraints. Every device made since ~2012 supports H.264 High; there's almost never a reason to use Baseline or Main anymore. The exception is real-time WebRTC video calls, where Baseline survives because its encoding is faster and it doesn't depend on B-frames (which add latency).