This variable is used only for the running weight (used to reach the target median). The places where we actually need the box weight are changed to use box->weight. --- libavfilter/vf_palettegen.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/libavfilter/vf_palettegen.c b/libavfilter/vf_palettegen.c index ad21882df3..b8db234fef 100644 --- a/libavfilter/vf_palettegen.c +++ b/libavfilter/vf_palettegen.c @@ -314,12 +314,10 @@ static AVFrame *get_palette_frame(AVFilterContext *ctx) while (box && box->len > 1) { int i; - uint64_t median, box_weight; - - box_weight = box->weight; + uint64_t median, weight; ff_dlog(ctx, "box #%02X [%6d..%-6d] (%6d) w:%-6"PRIu64" sort by %c (already sorted:%c) ", - box_id, box->start, box->start + box->len - 1, box->len, box_weight, + box_id, box->start, box->start + box->len - 1, box->len, box->weight, "rgb"[box->major_axis], box->sorted_by == box->major_axis ? 'y':'n'); /* sort the range by its major axis if it's not already sorted */ @@ -330,16 +328,16 @@ static AVFrame *get_palette_frame(AVFilterContext *ctx) } /* locate the median where to split */ - median = (box_weight + 1) >> 1; - box_weight = 0; + median = (box->weight + 1) >> 1; + weight = 0; /* if you have 2 boxes, the maximum is actually #0: you must have at * least 1 color on each side of the split, hence the -2 */ for (i = box->start; i < box->start + box->len - 2; i++) { - box_weight += s->refs[i]->count; - if (box_weight > median) + weight += s->refs[i]->count; + if (weight > median) break; } - ff_dlog(ctx, "split @ i=%-6d with w=%-6"PRIu64" (target=%6"PRIu64")\n", i, box_weight, median); + ff_dlog(ctx, "split @ i=%-6d with w=%-6"PRIu64" (target=%6"PRIu64")\n", i, weight, median); split_box(s, box, i); box_id = get_next_box_id_to_split(s); -- 2.39.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".