On 4/15/20, Mark Filipak <[email protected]> wrote: > On 04/15/2020 04:25 AM, Paul B Mahol wrote: >> On 4/15/20, Mark Filipak <[email protected]> wrote: >>> Request for bug confirmation is included. >>> >>> Correction: I had datascope in #2 just 1 time. I don't know how it got >>> into >>> the original post twice. >>> Sorry. - M. >>> >>> On 04/14/2020 10:24 AM, Paul B Mahol wrote: >>>> On 4/14/20, Mark Filipak <[email protected]> wrote: >>>>> In the command line below, >>>>> I will eventually insert a screen maker --+ >>>>> ¦ >>>>> separatefields,scale=height=2*in_h:sws_flags=neighbor,--HERE--,tblend=normal[D] >>>>> >>>>> but first, I need to persuade 'tblend' to accept the 2 frames made by >>>>> 'separatefields' (and scaled >>>>> by 'scale'). >>>>> But as you can see in the next section (extracted from the log), though >>>>> the >>>>> 'height=2*in_h' >>>>> directive works (i.e., the 1920x540 frames from 'separatefields' are >>>>> scaled >>>>> to 1920x1080), ffmpeg is >>>>> not happy. Is it because the SARs don't match? How can I overcome that? >>>>> Thanks! >>>> >>>> Insert setsar=1 after scale? >>> >>> Thank you, Paul. It works. I apologize for not finding that solution on >>> my >>> own ...how embarrassing. >>> >>> Next problem: 'tblend' appears to be malfunctioning. >>> >>> "The tblend (time blend) filter takes two consecutive frames from one >>> single >>> stream, and outputs the >>> result obtained by blending the new frame on top of the old frame." >>> >>> #1 - This works as expected: >>> ffmpeg -i IN -filter_complex "telecine=pattern=5, split[A][B], >>> [A]select='not(eq(mod(n+1\,5)\,3))'[C], [B]select='eq(mod(n+1\,5)\,3)', >>> datascope=size=1920x1080:x=45:y=340:mode=color2[D], [C][D]interleave" OUT >>> >>> #2 - This malfunctions: >>> ffmpeg -i IN -filter_complex "telecine=pattern=5, split[A][B], >>> [A]select='not(eq(mod(n+1\,5)\,3))'[C], [B]select='eq(mod(n+1\,5)\,3)', >>> separatefields, >>> scale=height=2*in_h:sws_flags=neighbor, setsar=1, tblend, >>> datascope=size=1920x1080:x=45:y=340:mode=color2, [C][D]interleave" OUT >>> >>> #1 brings up datascope in frames (n, zero-based): 2 7 12 17 etc., as >>> expected. >>> #2 brings up datascope in frames (n, zero-based): 4 7 10 13 etc. >>> >>> Another clue is: >>> #1 OUT has 598 frames. >>> #2 OUT has 716 frames. >>> >>> Would someone who has the latest nightly build kindly confirm this. I can >>> supply the test video -- >>> contact me off-list. >> >> You still can not read documentation? Why? >> >> interleave filter simply picks frames from several streams. >> This is obviously explained in documentation. >> tblend filter blend successive frames, this is obviously different >> from interlace filter as that will not drop any frame like interlace >> does. > > Look at my command lines again. Here, I'll give you filtergraphs: > > #1 > telecine -> split -> select (n+1%5!=3) ----------------------------> > interleave > -> select (n+1%5==3) ----------------------------> > 598 frames (correct) > > #2 > telecine -> split -> select (n+1%5!=3) ----------------------------> > interleave > -> select (n+1%5==3) -> separatefields...tblend -> > 716 frames (malfunction) > > 598*4/5 = 478 frames (upper 'select') > 598*1/5 = 119 frames (lower 'select') > 119*2 = 238 frames (output of 'separatefields') > 238/2 = 119 frames (what output of 'tblend' is supposed to be) > 238 frames (what output of 'tblend' actually is) > 478+238 = 716 frames (output of 'interleave' showing that 'tblend' > malfunctions) >
tblend works fine, you obviously do not know what you doing. Given frames: A B C D E F G: tblend gives this output: AB BC CD DE EF FG, so original number of frames in input minus one. _______________________________________________ ffmpeg-user mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
