[FFmpeg-devel] [PATCH] avfilter/w3fdif: do not write to line before start line

Paul B Mahol onemda at gmail.com
Sat Jul 22 16:49:42 EEST 2017


On 7/22/17, Muhammad Faiz <mfcc64 at gmail.com> wrote:
> That line has been written by previous job.
> Fix tsan warning.
>
> Signed-off-by: Muhammad Faiz <mfcc64 at gmail.com>
> ---
>  libavfilter/vf_w3fdif.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavfilter/vf_w3fdif.c b/libavfilter/vf_w3fdif.c
> index b7872db341..c6a6550778 100644
> --- a/libavfilter/vf_w3fdif.c
> +++ b/libavfilter/vf_w3fdif.c
> @@ -366,7 +366,7 @@ static int deinterlace_slice(AVFilterContext *ctx, void
> *arg, int jobnr, int nb_
>      int j, y_in, y_out;
>
>      /* 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);
>      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 */
> -    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);
>
> --
> 2.13.2
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>

Should be ok.


More information about the ffmpeg-devel mailing list