>
>> +
>>              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

Reply via email to