YADIFContext *s = ctx->priv;
ThreadData *td = arg;
int refs = s->cur->linesize[td->plane];
- int df = (s->csp->comp[td->plane].depth_minus1 + 8) / 8;
+ int df = (s->csp->comp[td->plane].depth + 7) / 8;
int pix_3 = 3 * df;
int slice_h = td->h / nb_jobs;
int slice_start = jobnr * slice_h;
if (val <= 0)
return val;
- //FIXME change API to not requre this red tape
+ //FIXME change API to not require this red tape
if (val == 1 && !yadif->next) {
if ((ret = ff_request_frame(link->src->inputs[0])) < 0)
return ret;
link->w = link->src->inputs[0]->w;
link->h = link->src->inputs[0]->h;
+ if (s->mode & 1)
+ link->frame_rate = av_mul_q(link->src->inputs[0]->frame_rate,
+ (AVRational){2, 1});
+
s->csp = av_pix_fmt_desc_get(link->format);
- if (s->csp->comp[0].depth_minus1 / 8 == 1) {
+ if (s->csp->comp[0].depth > 8) {
s->filter_line = filter_line_c_16bit;
s->filter_edges = filter_edges_16bit;
} else {