Fix #121935: VSE text outline artifacts while tweaking parameters

Code was wrongly using non-initialized arrays of JFA intermediate
steps. Make sure to initialize them to invalid JFA coordinate.
This commit is contained in:
Aras Pranckevicius
2024-05-18 18:00:58 +03:00
parent 861cb8622d
commit e7801e0d07

View File

@@ -2991,11 +2991,12 @@ static void draw_text_outline(const SeqRenderData *context,
});
/* Do jump flooding calculations. */
Array<JFACoord> initial_flooded_result(pixel_count, NoInitialization());
JFACoord invalid_coord{JFA_INVALID, JFA_INVALID};
Array<JFACoord> initial_flooded_result(pixel_count, invalid_coord);
jump_flooding_pass(boundary, initial_flooded_result, size, rect_x_range, rect_y_range, 1);
Array<JFACoord> *result_to_flood = &initial_flooded_result;
Array<JFACoord> intermediate_result(pixel_count, NoInitialization());
Array<JFACoord> intermediate_result(pixel_count, invalid_coord);
Array<JFACoord> *result_after_flooding = &intermediate_result;
int step_size = power_of_2_max_i(outline_width) / 2;