[FFmpeg-user] DOWN CONVERSION ISSUE: From MXF (1080i AVC Intra) - MBAFF "interlacing" to DVCPRO

Tim Nicholson nichot20 at yahoo.com
Mon Mar 26 17:06:12 CEST 2012


On 26/03/12 15:29, Iban Garcia wrote:
> Exact!!
> 
> But the issue *has been solved* using next:
>  -vf "scale=720:576:interl=1,fieldorder=tff" -vcodec dvvideo
> 

Ahh, the difference between scale=720:576:1 and scale=720:576:interl=1 !!

I think the documentation is unclear on the fact that for width and height you
just specify an expression, but for interlace you need to specify the parameter
as well.

*But* your command, as above is setting the output field order to tff when DV is
bff so you will get motion judder. I really think you should use:-

...vf "setfield=1, scale=720:576:interl=1, fieldorder=bff"...

or:-

-vf "setfield=0, scale=720:576:interl=1"...
if your source is already bottom field first (unlikely).


> I think ffmpeg should "detect" the interlaced without "interl=1" option.
> 

That option has nothing to do with detection, its how the scaling filter should
work.

ffmpeg *can* detect interlace for which you set interl=-1 to let the filter
decide automatically how to behave, however by default I believe it is set to 0,
i.e off.

*However* as I mentioned previously. MXF material seems to be always detected as
progressive even when it is not. It is not just ffmpeg that makes this mistake.
The way you detect interlace in MXF seems to be different to most other formats.
Hence the forcing of the interlace flag by setfield, followed by telling the
scaler to use interlaced scaling.


> Many thanks, Tim!!!
> 
> 
> 2012/3/26 Tim Nicholson <nichot20 at yahoo.com>
> 
>> On 26/03/12 11:34, Iban Garcia wrote:
>>> Umm... it does not work for me. The output.dv is still "progressive"
>>> (de-interlaced): both fields of output.dv file are equal. The interlacing
>>> has been lost...
>>>
>>
>> OK so something is not working as it should. I have had a look at some of
>> my
>> H264 10bit interlaced material and that is also behaving as you describe.
>> The
>> source is definitely interlaced, as can be seen from the interlace
>> artifacts in
>> a resized ffplay window. But the output is a blend of the two fields.
>>
>> I will try and get some more details and then raise a bug report.
>>
>>> I have download and installed "ffmbc". I am doing some test now with it.
>>> But, by the moment, all of the tests has the same "de-interlaced"
>> output...
>>> :-(((
>>>
>>>
>>> 2012/3/26 Tim Nicholson <nichot20 at yahoo.com>
>>>
>>>> On 25/03/12 15:43, Iban Garcia wrote:
>>>>> Hi,
>>>>>
>>>>> I have taken from git the last version of ffmpeg. And I have made next
>>>>> test. The output.dv fields are not interlaced. The interlaced
>> information
>>>>> has been lost in the process.
>>>>>
>>>>> # ffmpeg -y -threads 8 -i input.mxf -s 720x576 -pix_fmt yuv411p -aspect
>>>>> 16:9 -an -r 25 -vf "setfield=1, fieldorder=bff" output.dv
>>>>
>>>>> [..]
>>>>
>>>>> sws_param:
>>>>> [fieldorder @ 0x646e80] output field order: bff
>>>>> [scale @ 0x6283a0] w:1920 h:1080 fmt:yuv422p10le sar:1/1 -> w:720 h:576
>>>>> fmt:yuv411p sar:64/45 flags:0x4
>>>>>
>>>>
>>>> As your source is HD and you wish to output SD, you should really scale
>> the
>>>> material properly using the "scale" filter with interlacing turned on.
>>>>
>>>> Something like:-
>>>>
>>>> ffmpeg -y -threads 8 -i input.mxf \
>>>> -vf "setfield=1, scale=720:576:1, fieldorder=bff" \
>>>> -pix_fmt yuv411p -aspect 16:9 -an -r 25 output.dv
>>>>
>>>> --
>>>> Tim
>>>> _______________________________________________
>>
>> --
>> Tim
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> 


-- 
Tim


More information about the ffmpeg-user mailing list