CABAC (ang. Context-Adaptive Binary Arithmetic Coding) – kodowanie entropijne użyte w kodeku obrazu AVC jako opcjonalne względem CAVLC (Context-Adaptive Variable Length Coding). W wyniku zastosowania CABAC można uzyskać nawet do 20% mniejszy strumień binarny względem kodowania CAVLC.
Jednym z głównych twórców CABAC-a jest Detlev Marpe z Instytutu Fraunhofera z siedzibą w Berlinie.
CABAC opiera się na adaptacyjnym kodowaniu kontekstowym ciągu symboli binarnych. Dane wyjściowe kodera obrazu (dane sterujące, współczynniki transformaty błędu predykcji, wektory ruchu) poddawane są procesowi binaryzacji za pomocą zdefiniowanych w standardzie książek kodowych, zależnie od kontekstu (poprzednich symboli) w jakim wystąpiły. Następnie takie dane binarne podawane są na koder arytmetyczny ze zdefiniowanym progiem renormalizacji oraz modelem prawdopodobieństwa wystąpienia danego symbolu binarnego. Wynikowe symbole kodera arytmetycznego zapisywane są w końcu do strumienia binarnego.