[FFmpeg-devel] [PATCHv2] vf_scale: Use correct chroma position in YUV420P interlaced conversions
Kieran Kunhya
kierank at obe.tv
Wed Dec 24 17:08:19 CET 2014
>
>> +
>> 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.
More information about the ffmpeg-devel
mailing list