Commit 067a9dde authored by Mark Thompson's avatar Mark Thompson

cbs_h265: Fix ranges of prediction weight offsets

The bracketing was wrong - '-' binds before '<<'.  This would
previously incorrectly reject the streams in the WP_A and WP_B
conformance tests.
parent f7634893
...@@ -1133,7 +1133,7 @@ static int FUNC(pred_weight_table)(CodedBitstreamContext *ctx, RWContext *rw, ...@@ -1133,7 +1133,7 @@ static int FUNC(pred_weight_table)(CodedBitstreamContext *ctx, RWContext *rw,
se(delta_luma_weight_l0[i], -128, +127); se(delta_luma_weight_l0[i], -128, +127);
se(luma_offset_l0[i], se(luma_offset_l0[i],
-(1 << (sps->bit_depth_luma_minus8 + 8 - 1)), -(1 << (sps->bit_depth_luma_minus8 + 8 - 1)),
+(1 << (sps->bit_depth_luma_minus8 + 8 - 1) - 1)); ((1 << (sps->bit_depth_luma_minus8 + 8 - 1)) - 1));
} else { } else {
infer(delta_luma_weight_l0[i], 0); infer(delta_luma_weight_l0[i], 0);
infer(luma_offset_l0[i], 0); infer(luma_offset_l0[i], 0);
...@@ -1143,7 +1143,7 @@ static int FUNC(pred_weight_table)(CodedBitstreamContext *ctx, RWContext *rw, ...@@ -1143,7 +1143,7 @@ static int FUNC(pred_weight_table)(CodedBitstreamContext *ctx, RWContext *rw,
se(delta_chroma_weight_l0[i][j], -128, +127); se(delta_chroma_weight_l0[i][j], -128, +127);
se(chroma_offset_l0[i][j], se(chroma_offset_l0[i][j],
-(4 << (sps->bit_depth_chroma_minus8 + 8 - 1)), -(4 << (sps->bit_depth_chroma_minus8 + 8 - 1)),
+(4 << (sps->bit_depth_chroma_minus8 + 8 - 1) - 1)); ((4 << (sps->bit_depth_chroma_minus8 + 8 - 1)) - 1));
} }
} else { } else {
for (j = 0; j < 2; j++) { for (j = 0; j < 2; j++) {
...@@ -1173,8 +1173,8 @@ static int FUNC(pred_weight_table)(CodedBitstreamContext *ctx, RWContext *rw, ...@@ -1173,8 +1173,8 @@ static int FUNC(pred_weight_table)(CodedBitstreamContext *ctx, RWContext *rw,
if (current->luma_weight_l1_flag[i]) { if (current->luma_weight_l1_flag[i]) {
se(delta_luma_weight_l1[i], -128, +127); se(delta_luma_weight_l1[i], -128, +127);
se(luma_offset_l1[i], se(luma_offset_l1[i],
- 1 << (sps->bit_depth_luma_minus8 + 8 - 1), -(1 << (sps->bit_depth_luma_minus8 + 8 - 1)),
+ 1 << (sps->bit_depth_luma_minus8 + 8 - 1) - 1); ((1 << (sps->bit_depth_luma_minus8 + 8 - 1)) - 1));
} else { } else {
infer(delta_luma_weight_l1[i], 0); infer(delta_luma_weight_l1[i], 0);
infer(luma_offset_l1[i], 0); infer(luma_offset_l1[i], 0);
...@@ -1183,8 +1183,8 @@ static int FUNC(pred_weight_table)(CodedBitstreamContext *ctx, RWContext *rw, ...@@ -1183,8 +1183,8 @@ static int FUNC(pred_weight_table)(CodedBitstreamContext *ctx, RWContext *rw,
for (j = 0; j < 2; j++) { for (j = 0; j < 2; j++) {
se(delta_chroma_weight_l1[i][j], -128, +127); se(delta_chroma_weight_l1[i][j], -128, +127);
se(chroma_offset_l1[i][j], se(chroma_offset_l1[i][j],
- 4 << (sps->bit_depth_chroma_minus8 + 8 - 1), -(4 << (sps->bit_depth_chroma_minus8 + 8 - 1)),
+ 4 << (sps->bit_depth_chroma_minus8 + 8 - 1) - 1); ((4 << (sps->bit_depth_chroma_minus8 + 8 - 1)) - 1));
} }
} else { } else {
for (j = 0; j < 2; j++) { for (j = 0; j < 2; j++) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment