Avidemux Forum

Avidemux => Main version 2.6 => Topic started by: blazini36 on November 13, 2022, 06:48:43 PM

Title: Unstack fields filter changes framerate
Post by: blazini36 on November 13, 2022, 06:48:43 PM
I run avidemux on Linux, not sure how the versions differ. I've found a trick that helps with intermediate processing of Interlaced DVD sources with Avidemux. It is to run the "Stack Fields" filter, then run the external processing, then stuff it back into AVIdemux and run "Unstack Fields" and maybe deinterlace or not.

I have trouble with "60FPS" Sources in Avidemux so I don't do any Deinterlacing on those with Avidemux. I believe these are referred to as 2:3 pulldown, and even the filters that reference that don't work right, they always stuff duplicate frames in odd order and make the de-interlaced video look choppy. I have found other programs that can handle these right though

That said the "unstack Fields" filter always changes the 60fps source to a choppy 30FPS. There are no configuration options for that filter and I'm not sure why it does that. The "Stack fields" filter does not alter the framerate, it's just unstack. Not sure if this is a bug or what but is there any way to run Unstack without it altering the framerate at all?
Title: Re: Unstack fields filter changes framerate
Post by: eumagga0x2a on November 14, 2022, 03:08:56 PM
Either the source is telecined or not. If it is, special algorithm needs to be used (which Avidemux doesn't offer in a proper all-in-one filter).

If it is not telecined but interlaced, the source needs to be deinterlaced (yadif with frame rate doubling or hardware accelerated filtering via VDPAU or VA-API).

"Stack/Unstack Fields" is a totally wrong tool for any of these purposes, IMHO.
Title: Re: Unstack fields filter changes framerate
Post by: blazini36 on November 24, 2022, 04:21:06 PM
De-interlacing is not my problem, and you're likely not understanding what I'm using it for. That's OK but my question is.....

Why does "unstack fields" change the framerate to 30fps? I can split the fields with "Stack fields" and maintain the 59.94fps framerate. Do something outside of Avidemux with that split video, still at 59.94fps. Unstack with no actual de-interlacing filter or framerate filter and "unstack fields" itself will change the framerate to 29.94fps.

This indicates a bug in that filter. I have no idea where these filters come from but I find those 2 filters useful for a purpose outside of AVIdemux but the framerate change on unstack kills it.
Title: Re: Unstack fields filter changes framerate
Post by: eumagga0x2a on November 24, 2022, 09:32:32 PM
Quote from: blazini36 on November 24, 2022, 04:21:06 PMyou're likely not understanding what I'm using it for.

I won't rule this out, but your description points exactly to the problem of missing proper all-in-one filter in Avidemux for inverse telecine of originally 24 (or 24000/1001) fps sources.

Quote from: blazini36 on November 24, 2022, 04:21:06 PMWhy does "unstack fields" change the framerate to 30fps?

The thing is that it doesn't. All the three related filters (stackField, hzstackfield and unstackField) don't even touch frame rate and work strictly in the manner picture in / picture out. However, an interlaced video, when deinterlaced properly, can or rather should be displayed at twice the frame rate = at the field rate for smooth movements. Additionally, an interlaced video can be encoded in a way that each field is a separate "frame" (unit of the compressed video stream, not the picture!).

To identify what is actually the case here, a sample, provided via WeTransfer, Mega, Dropbox or Google Drive might be helpful.