> >> + >> av_opt_set_int(*s, "src_h_chr_pos", scale->in_h_chr_pos, 0); >> av_opt_set_int(*s, "src_v_chr_pos", scale->in_v_chr_pos, 0); >> av_opt_set_int(*s, "dst_h_chr_pos", scale->out_h_chr_pos, 0); >> @@ -520,8 +527,8 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) >> INT_MAX); >> >> if(scale->interlaced>0 || (scale->interlaced<0 && >> in->interlaced_frame)){ >> - scale_slice(link, out, in, scale->isws[0], 0, (link->h+1)/2, 2, 0); >> - scale_slice(link, out, in, scale->isws[1], 0, link->h /2, 2, 1); >> + scale_slice(link, out, in, scale->isws[!in->top_field_first], 0, >> (link->h+1)/2, 2, 0); >> + scale_slice(link, out, in, scale->isws[in->top_field_first], 0, >> link->h /2, 2, 1); >> }else{ > > are you sure this is correct ? > maybe i misunderstand but it looks a bit odd > i think the upper field(s) should be treated the same no matter if > its temporally first or second
If the lower field is the first line, then the lower field has a different chroma position. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel