avfilter/palettegen: rename local variable box_weight to weight

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.
pull/388/head
Clément Bœsch 2 years ago
parent 61d334d8c3
commit 67ce6ad9a2
  1. 16
      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);

Loading…
Cancel
Save