Some more filters

  • Vouk

    Set the Label from Feature Request to Planned
  • Vouk

    Set the Label from 2.3 to 2.4
  • Can the decimate filter be added at all? Sometimes my video game footage is 30fps inside a 60fps container, but sometimes using decimate instead of just changing frame rate manually results in less frame judder, as it can account better for variations in frame pacing.


    I wasn't sure if filters that change the frame rate would be possible or not.

  • Good idea! In case you have a Project in 60fps with Clips of exact the 0,5-framerate you will have a better result by exporting the Project in 60fps and then drop every second Frame before Encoding to 30fps. Exactly that's what I'm doing when i would like to preserve a tv recording for future: Cinema stuff on TV will be in Europe converted to 50fps (NTSC-to-PAL-speedup + doubling Frames) and usually it Looks better converted back to native 25fps (1:1 Frame Transfer).


    (Sorry! Die saublöde teutonische Rechtschreibkontrolle kann leider kein Englisch!)

  • Good idea! In case you have a Project in 60fps with Clips of exact the 0,5-framerate you will have a better result by exporting the Project in 60fps and then drop every second Frame before Encoding to 30fps. Exactly that's what I'm doing when i would like to preserve a tv recording for future: Cinema stuff on TV will be in Europe converted to 50fps (NTSC-to-PAL-speedup + doubling Frames) and usually it Looks better converted back to native 25fps (1:1 Frame Transfer).


    (Sorry! Die saublöde teutonische Rechtschreibkontrolle kann leider kein Englisch!)

    Yeah, if it's exact and consistent, simply dropping the frame rate works perfectly (you can do this in premiere, either in export or sequence settings), but when there's some slight variance in the frame pacing, as there often is with games, decimate would typically give a better result.

  • Ok, crop and pad added.


    Not sure about decimate as it adjusts the output framerate.


    With a file of 25 fps "decimate=cycle=3" would generate a 16.66666 fps file. Wouldn't it make more sense to let the NLE handle all framerate stuff?

  • Ok, crop and pad added.


    Not sure about decimate as it adjusts the output framerate.


    On a clip with 25 fps "decimate=cycle=3" would generate a 16.66666 fps file. Wouldn't it make sense to put such file on the timeline and then let the NLE convert it to the desired framerate?

    If there is a consistent frame pacing in the source, then yes, letting the timeline do it (or the connector) is absolutely fine.


    However, if for example if you have a 24fps source that somehow got encoded as 30fps, then what you have is a 1, 1, 1, 2 pattern, meaning the fourth frame is duplicated. It would be very difficult to ensure the frame rate down conversion would exactly remove the duplicated frame, rather than one of the unique frames. When editing gets involved, it's even harder to guarantee that. If the wrong frame gets dropped, you get severe frame judder as a result.


    It's too bad the filter doesn't seem to support removing more than one frame per cycle, as removing two frames from a cycle of 5 would be particularly useful in extracting a 24fps video from a 60p source as well at the correct pacing. However this could probably be accomplished by setting frame rate in sequence/connector to 30fps and then using Decimate with a cycle of 5.


    My issue is specifically with video game footage. 30fps inside a 60fps container. Ideally, just dropping every other frame SHOULD be good enough, but with video games sometimes a frame is rendered early or late, so if you use decimate you're more likely to be able to detect which of the two frames in the cycle is a duplicate, to better improve the downconversion.

  • Well, I put a 30 fps file on a 60 fps project / sequence / timeline. That's not under voukoders control, it will be handled by premiere / the NLE. The NLE will send a 60fps frames stream to voukoder. These frames can be anything. Applying a decimate filter at this staged doesn't make any sense, right? Setting cycle to 3 would just output a 40fps file.. but... why?

  • Vouk

    Set the Label from Planned to Implementing
  • Well, I put a 30 fps file on a 60 fps project / sequence / timeline. That's not under voukoders control, it will be handled by premiere / the NLE. The NLE will send a 60fps frames stream to voukoder. These frames can be anything. Applying a decimate filter at this staged doesn't make any sense, right? Setting cycle to 3 would just output a 40fps file.. but... why?

    Well yeah that example wouldn't make any sense to do other than testing what happens with the filter. For practical purposes I'm talking about situations where your source recording has a higher frame rate than the underlying content. Such as tv with 24fps in a 60fps recording, or my example where the PS4 outputs 60hz so my capture device records a 60fps file no matter if the game itself is rendering at a lower rate.


    Basically, what you could test is import a 24fps video, set the timeline to 30fps,make some cuts (especially trimming out the start), and then export. Then, re-import that 30fps and try to get it back to 24fps. Using normal methods, it may or may not work. Either you'll get something smooth, or there will be a lot of judder. This may also change scene to scene depending on the cuts you made.


    Instead of using normal frame rate conversion methods, use decimate with a cycle of 5, and you will be able to fully reconstruct the original 24fps frame rate of the source. Decimate is about reconstructing an original frame rate that is embedded in a higher fps source, and doing so with precise results (no judder).

  • Vouk

    Set the Label from Implementing to Done
  • Vouk

    Set the Label from 2.4 to 3