VideoHelp Forum
+ Reply to Thread
Results 1 to 4 of 4
Thread
  1. I have a whole season of a show that, for whatever reason, was interlaced. That's usually not a big deal, but for this season, I cannot un-DVD the frame rate without messing up the motion. On the seasons before it, the simple -r 23.976 command works perfectly.

    Looking through sections of the videos frame by frame, it looks like it has the typical duplicate frame every fifth frame. I don't know what's going on with it.

    If I were to pretend like the duplicate frames were irregular, would I be able to get the results I want? My plan of attack is this:
    decimate=cycle=15:dupthresh=0.8,decimate=cycle=15: dupthresh=0.8,decimate=cycle=15:dupthresh=0.8
    I might be wrong, but I think this should remove 1 duplicate in 15 frames, then another, then another, no matter how unevenly spaced they might be. I suppose I'm relying on the decimate filters running one after another.

    After trying that out, it didn't work. What am I doing wrong or missing?
    Quote Quote  
  2. Some more context, and I might have figured it out. Typical.

    I'm using bwdif to deinterlace and I have bob set to true. So I'm doubling the frame rate:
    Code:
    -filter_complex setsar=1,bwdif=mode=1:parity=-1:deint=0,decimate=cycle=15:dupthresh=0.8,decimate=cycle=15: dupthresh=0.8,decimate=cycle=15:dupthresh=0.8.
    That one didn't work.
    I just tried this next one with better results, but the sound became off:
    Code:
    -filter_complex setsar=1,bwdif=mode=1:parity=-1:deint=0,decimate=cycle=2,decimate=cycle=5
    Quote Quote  
  3. Haven't used ffmpegs decimate for ages, but here are my 2cents about it:
    dupthresh
    Set the threshold for duplicate detection. If the difference metric for a frame is less than or equal to this value, then it is declared as duplicate. Default is 1.1
    (source: https://ffmpeg.org/ffmpeg-all.html#decimate-1)
    But do make values below 1 even sense? (seeing that the default is 1.1, I'm not sure whether values <= 1 do make any sense)
    Couldn't find how 'the difference metric' of 'decimate' works.
    If the difference metric for a frame is less than or equal to this value, then it is declared as duplicate.
    So unless there are still frames that differ less than 'dupthresh=0.8' (whatever that actually means), applying 'decimate=cycle=15:dupthresh=0.8' wouldn't do a thing,...

    Maybe try mpdecimate instead, at least there seems to be some more details on how it works.
    For mpdecimate:
    hi
    lo
    frac

    Set the dropping threshold values.

    Values for hi and lo are for 8x8 pixel blocks and represent actual pixel value differences, so a threshold of 64 corresponds to 1 unit of difference for each pixel, or the same spread out differently over the block.

    A frame is a candidate for dropping if no 8x8 blocks differ by more than a threshold of hi, and if no more than frac blocks (1 meaning the whole image) differ by more than a threshold of lo.

    Default value for hi is 64*12, default value for lo is 64*5, and default value for frac is 0.33.
    I just tried this next one with better results, but the sound became off:
    especially inconsistently dropping frames without adjusting the audio might cause a/v sync issues,...


    Cu Selur
    Last edited by Selur; 10th May 2024 at 15:08.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  4. Thanks for the suggestion. I cannot figure out how to make mpdecimate work in a cyclical pattern though.
    I think the sound issues are from something else I'm doing with the video.
    Code:
    decimate=cycle=2,decimate=cycle=5
    Seems to be the solution.
    I had tried
    Code:
    shuffleframes=0|-1,decimate=cycle=5
    and it didn't work. I thought decimate=cycle=2 was the same.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!