Browse Source

yadif: fix slice sizes

This more evenly distributes the load between threads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.0
Michael Niedermayer 12 years ago
parent
commit
1d08e4b584
1 changed files with 2 additions and 3 deletions
  1. +2
    -3
      libavfilter/vf_yadif.c

+ 2
- 3
libavfilter/vf_yadif.c View File

@@ -190,9 +190,8 @@ static int filter_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
int refs = s->cur->linesize[td->plane];
int df = (s->csp->comp[td->plane].depth_minus1 + 8) / 8;
int pix_3 = 3 * df;
int slice_h = td->h / nb_jobs;
int slice_start = jobnr * slice_h;
int slice_end = (jobnr == nb_jobs - 1) ? td->h : (jobnr + 1) * slice_h;
int slice_start = (td->h * jobnr ) / nb_jobs;
int slice_end = (td->h * (jobnr+1)) / nb_jobs;
int y;

/* filtering reads 3 pixels to the left/right; to avoid invalid reads,


Loading…
Cancel
Save