avfilter/w3fdif: do not write to line before start line
That line has been written by previous job. Fix tsan warning. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
This commit is contained in:
@@ -366,7 +366,7 @@ static int deinterlace_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_
|
|||||||
int j, y_in, y_out;
|
int j, y_in, y_out;
|
||||||
|
|
||||||
/* copy unchanged the lines of the field */
|
/* copy unchanged the lines of the field */
|
||||||
y_out = start + (s->field == cur->top_field_first) - (start & 1);
|
y_out = start + ((s->field == cur->top_field_first) ^ (start & 1));
|
||||||
|
|
||||||
in_line = cur_data + (y_out * cur_line_stride);
|
in_line = cur_data + (y_out * cur_line_stride);
|
||||||
out_line = dst_data + (y_out * dst_line_stride);
|
out_line = dst_data + (y_out * dst_line_stride);
|
||||||
@@ -379,7 +379,7 @@ static int deinterlace_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* interpolate other lines of the field */
|
/* interpolate other lines of the field */
|
||||||
y_out = start + (s->field != cur->top_field_first) - (start & 1);
|
y_out = start + ((s->field != cur->top_field_first) ^ (start & 1));
|
||||||
|
|
||||||
out_line = dst_data + (y_out * dst_line_stride);
|
out_line = dst_data + (y_out * dst_line_stride);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user