History

lavc/vvc: Fix derivation of LmcsMaxBinIdx

Per H.266 (V3) section 7.4.3.19, LmcsMaxBinIdx is set equal to 15 - lmcs_delta_max_bin_idx. The previous code instead had it equal to 15 - lmcs_min_bin_idx. This could cause decoder mismatches.

Frank Plowman committed 1 year ago

Commit 499896c1 parent 69932251 file · +1 −1Browse files

Unified · Split

libavcodec/vvc/ps.c+1−1
@@ -742,7 +742,7 @@ static int lmcs_derive_lut(VVCLMCS *lmcs, const H266RawAPS *rlmcs, const H266Raw · 741 unmodified lines
742742 return AVERROR_INVALIDDATA;
743743
744744 lmcs->min_bin_idx = rlmcs->lmcs_min_bin_idx;
745− lmcs->max_bin_idx = LMCS_MAX_BIN_SIZE - 1 - rlmcs->lmcs_min_bin_idx;
745+ lmcs->max_bin_idx = LMCS_MAX_BIN_SIZE - 1 - rlmcs->lmcs_delta_max_bin_idx;
746746
747747 memset(cw, 0, sizeof(cw));
748748 for (int i = lmcs->min_bin_idx; i <= lmcs->max_bin_idx; i++)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t