Commit afb6ff905c for aom
commit afb6ff905c44e4576bd7b0683fcafa4c5705c25b
Author: Frank Galligan <fgalligan@google.com>
Date: Mon Nov 9 15:11:36 2026 -0800
av1: Clean up avg_cdf_symbol and dequant nits
Address post-review nits from CL 219186:
- Remove unused <stdlib.h> include in encodeframe_utils.c.
- Document the a, b < CDF_PROB_TOP (32768) uint16_t non-wrap
precondition on avg_cdf_symbol and assert(ctx_left != ctx_tr) at
av1_avg_cdf_symbols entry.
- Add assert(ci > 0) in update_coeff_simple before reading dequant[1].
TAG=agy
CONV=b929a630-a6cd-45a0-979c-1767c30178ee
Change-Id: Ifc2785dc5d91b9813562f7d6cdb6bada751ff9af
diff --git a/av1/encoder/encodeframe_utils.c b/av1/encoder/encodeframe_utils.c
index 58cb0ea067..8e3f387bba 100644
--- a/av1/encoder/encodeframe_utils.c
+++ b/av1/encoder/encodeframe_utils.c
@@ -11,7 +11,6 @@
#include "aom/aom_codec.h"
#include "aom/internal/aom_codec_internal.h"
-#include <stdlib.h>
#include "av1/common/common_data.h"
#include "av1/common/quant_common.h"
@@ -1093,6 +1092,10 @@ static void avg_cdf_symbol_general(aom_cdf_prob *cdf_ptr_left,
}
}
+// Precondition for the 3:1 fast path: a, b < CDF_PROB_TOP (32768), so
+// (uint16_t)(a + b) <= 65534 never wraps uint16_t. Kept as a comment rather
+// than an inner-loop assert so !NDEBUG builds preserve SIMD
+// auto-vectorization (vpavgw/pavgw).
static inline void avg_cdf_symbol(aom_cdf_prob *restrict cdf_ptr_left,
const aom_cdf_prob *restrict cdf_ptr_tr,
int num_cdfs, int cdf_stride, int nsymbs,
@@ -1164,6 +1167,7 @@ static void avg_nmv(nmv_context *nmv_left, nmv_context *nmv_tr, int wt_left,
// of CDF and used only when row-mt is enabled in encoder.
void av1_avg_cdf_symbols(FRAME_CONTEXT *ctx_left, FRAME_CONTEXT *ctx_tr,
int wt_left, int wt_tr) {
+ assert(ctx_left != ctx_tr);
AVERAGE_CDF(ctx_left->txb_skip_cdf, ctx_tr->txb_skip_cdf, 2);
AVERAGE_CDF(ctx_left->eob_extra_cdf, ctx_tr->eob_extra_cdf, 2);
AVERAGE_CDF(ctx_left->dc_sign_cdf, ctx_tr->dc_sign_cdf, 2);
diff --git a/av1/encoder/txb_rdopt.c b/av1/encoder/txb_rdopt.c
index 4b09adea62..2a866cb844 100644
--- a/av1/encoder/txb_rdopt.c
+++ b/av1/encoder/txb_rdopt.c
@@ -98,6 +98,7 @@ static AOM_FORCE_INLINE int update_coeff_simple(
assert(si != eob - 1);
assert(si > 0);
const int ci = scan[si];
+ assert(ci > 0);
const tran_low_t qc = qcoeff[ci];
const int coeff_ctx =
get_lower_levels_ctx(levels, ci, bhl, tx_size, tx_class);