Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-21 Thread Mark Filipak (ffmpeg)
There's another consideration: The telecine=pattern=5+pp=linblenddeint version is 30% smaller than 
the straight minterpolate version.

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-21 Thread Mark Filipak (ffmpeg)

OOPS, that was a typo...

You obviously see what I'm trying to do. Simply pp=linblenddeint'ing the combed frame works pretty 
damn well -- there's only 1 combed frame in a set of 6 frames.


should have been: "in a set of 5 frames."

a single, 1/60th-second combed frame every 1/12th second is almost imperceptible, even without any 
decombing.

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-21 Thread Mark Filipak (ffmpeg)

On 01/21/2021 09:04 AM, Paul B Mahol wrote:

On Thu, Jan 21, 2021 at 2:34 PM Mark Filipak (ffmpeg) 
wrote:


On 01/21/2021 07:54 AM, Paul B Mahol wrote:

On Thu, Jan 21, 2021 at 1:51 PM Mark Filipak (ffmpeg) <

markfili...@bog.us>

wrote:


On 01/21/2021 07:31 AM, Paul B Mahol wrote:

On Thu, Jan 21, 2021 at 12:51 PM Mark Filipak (ffmpeg) <

markfili...@bog.us>

wrote:


On 01/20/2021 04:50 PM, Paul B Mahol wrote:

On Wed, Jan 20, 2021 at 10:45 PM Mark Filipak (ffmpeg) <

markfili...@bog.us>

wrote:

On 01/20/2021 06:17 AM, Paul B Mahol wrote:

Motion compensation does not work that way.


Thank you, Paul. Yes, I knew that. I'm not seeking motion

compensation.

Kindly reread my filter
features and suggest what comes closest. What I seek simply works on
pixels. I'm relying on your
experience (and perhaps the experiences of others here).


Have you tried nnedi or estdif filters? Both are intra only

deinterlacers.

Thank you for the guidance. I'm trying estdif first because it seems
simpler, but it doesn't do the
good thing. It does decomb very effectively, but it does it by

aligning

(shifting) the edges in
field'2' to the edges in field'1' (which are not shifted). Aligning

with

field'1' produces judder
(or in my case, doesn't eliminate judder). What I want it to do is

align

both field'1' edges and
field'2' edges to the median (i.e. half way between the input's

edges).

I

do realize that such a
method would introduce combing along the edges of the frame, but

that's

okay.

Here's the command I used to transcode 24FPS to 60FPS:
ffmpeg -i 24[1][2].mkv -map 0 -filter_complex "telecine=pattern=5,
split[1][2],
[1]select=not(eq(mod(n\,5)\,2))[3], [2]select=eq(mod(n\,5)\,2),
estdif=mode=frame[4],
[3][4]interleave" -codec:v libx265 -x265-params "crf=16:qcomp=0.60"
-codec:a copy -codec:s copy
24[1][2]-to-60[1][1][estdif=mode=frame(1~2)][2][2].mkv

I'll try nnedi. Perhaps I can figure it out.



Do not even try.
Mentioned filters work only with interlaced frames, while your use case

is

completely invalid and frowned upon.
I deeply regret replying to this thread.


I did get nnedi to work but with similar results to estdif.

Kindly educate me: What do you mean by "interlaced frames"? Aren't all
frames that come out of the
decoder and into the filter chain interlaced?

Why do you say that my use case is invalid? telecine=pattern=5 works

very

well -- there's no judder
at all! And if, for the combed frame, I use pp=linblenddeint, it's even
better, far better than what
either the NVIDIA GPU or the TV does when fed a 24FPS source and of

course

far, far better than
telecine=pattern=23.

Please educate me. Why are my stunning results invalid?



Because you are trying to interpolate new frames using telecine filter.


I am? I apologize for not being clear...

The source is 24FPS. 'telecine=pattern=5' makes a 60FPS target with frames
0 & 1 == source frame 0,
and frames 3 & 4 == source frame 1. Target frame 2 (i.e. the target frame
in the middle) is combed
of course. What I'm trying to do is decomb it. How is that interpolating
new frames? Educate me. And
if it is interpolating new frames, what's wrong with that? -- It looks
stunning on a 60Hz TV whereas
24FPS fed to a 60Hz TV has serious judder.



You want to decomb telecined frames. But telecine already used existing
frames to create combed frames.
So you actually seek frame that is between these two fields in combed
frame, you cant create it by some nonsense tricks.


I do understand, and I do respect your opinions. May I update?

Using only minterpolate was good, and I saw what it was doing, but it was twice as fuzzy as what I 
already did with the fancy split+select+modulo+interleave that you so dislike. So I tried a 
combination: split before {telecine pattern 5 and minterpolate in parallel} and use the 
select+modulo to pluck out only the middle minterpolate frame, to wit:


ffmpeg -i 24[1][2].mkv -map 0 -filter_complex "split[1][2], [1]telecine=pattern=5, 
select=not(eq(mod(n\,5)\,2))[3], [2]minterpolate=fps=6/1001:mi_mode=blend, 
select=eq(mod(n\,5)\,0)[4], [3][4]interleave" -codec:v libx265 -x265-params "crf=16:qcomp=0.60" 
-codec:a copy -codec:s copy 24[1][2]-to-60[1][1][minterpolate+select=0(1~2)][2][2].mkv


That worked for 2 or 3 sets of 5 frames, but the minterpolate-split soon fell behind. The longer the 
video, the more that the minterpolate-split fell behind, further and further behind. The sample 
video is only 24 seconds but by the end of it, the telecine-split and the minterpolate-split were so 
out of sync that it was actually painful to watch. I have no idea why the minterpolate-split was 
'running' slow. Do you?


You obviously see what I'm trying to do. Simply pp=linblenddeint'ing the combed frame works pretty 
damn well -- there's only 1 combed frame in a set of 6 frames. And apparently a pp blend is the best 
that can currently be done.


But how difficult would this:

BEFORE
 XXX
 

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-21 Thread Paul B Mahol
On Thu, Jan 21, 2021 at 2:34 PM Mark Filipak (ffmpeg) 
wrote:

> On 01/21/2021 07:54 AM, Paul B Mahol wrote:
> > On Thu, Jan 21, 2021 at 1:51 PM Mark Filipak (ffmpeg) <
> markfili...@bog.us>
> > wrote:
> >
> >> On 01/21/2021 07:31 AM, Paul B Mahol wrote:
> >>> On Thu, Jan 21, 2021 at 12:51 PM Mark Filipak (ffmpeg) <
> >> markfili...@bog.us>
> >>> wrote:
> >>>
>  On 01/20/2021 04:50 PM, Paul B Mahol wrote:
> > On Wed, Jan 20, 2021 at 10:45 PM Mark Filipak (ffmpeg) <
>  markfili...@bog.us>
> > wrote:
> >> On 01/20/2021 06:17 AM, Paul B Mahol wrote:
> >>> Motion compensation does not work that way.
> >>
> >> Thank you, Paul. Yes, I knew that. I'm not seeking motion
> >> compensation.
> >> Kindly reread my filter
> >> features and suggest what comes closest. What I seek simply works on
> >> pixels. I'm relying on your
> >> experience (and perhaps the experiences of others here).
> >
> > Have you tried nnedi or estdif filters? Both are intra only
>  deinterlacers.
> 
>  Thank you for the guidance. I'm trying estdif first because it seems
>  simpler, but it doesn't do the
>  good thing. It does decomb very effectively, but it does it by
> aligning
>  (shifting) the edges in
>  field'2' to the edges in field'1' (which are not shifted). Aligning
> with
>  field'1' produces judder
>  (or in my case, doesn't eliminate judder). What I want it to do is
> align
>  both field'1' edges and
>  field'2' edges to the median (i.e. half way between the input's
> edges).
> >> I
>  do realize that such a
>  method would introduce combing along the edges of the frame, but
> that's
>  okay.
> 
>  Here's the command I used to transcode 24FPS to 60FPS:
>  ffmpeg -i 24[1][2].mkv -map 0 -filter_complex "telecine=pattern=5,
>  split[1][2],
>  [1]select=not(eq(mod(n\,5)\,2))[3], [2]select=eq(mod(n\,5)\,2),
>  estdif=mode=frame[4],
>  [3][4]interleave" -codec:v libx265 -x265-params "crf=16:qcomp=0.60"
>  -codec:a copy -codec:s copy
>  24[1][2]-to-60[1][1][estdif=mode=frame(1~2)][2][2].mkv
> 
>  I'll try nnedi. Perhaps I can figure it out.
> 
> >>>
> >>> Do not even try.
> >>> Mentioned filters work only with interlaced frames, while your use case
> >> is
> >>> completely invalid and frowned upon.
> >>> I deeply regret replying to this thread.
> >>
> >> I did get nnedi to work but with similar results to estdif.
> >>
> >> Kindly educate me: What do you mean by "interlaced frames"? Aren't all
> >> frames that come out of the
> >> decoder and into the filter chain interlaced?
> >>
> >> Why do you say that my use case is invalid? telecine=pattern=5 works
> very
> >> well -- there's no judder
> >> at all! And if, for the combed frame, I use pp=linblenddeint, it's even
> >> better, far better than what
> >> either the NVIDIA GPU or the TV does when fed a 24FPS source and of
> course
> >> far, far better than
> >> telecine=pattern=23.
> >>
> >> Please educate me. Why are my stunning results invalid?
> >>
> >
> > Because you are trying to interpolate new frames using telecine filter.
>
> I am? I apologize for not being clear...
>
> The source is 24FPS. 'telecine=pattern=5' makes a 60FPS target with frames
> 0 & 1 == source frame 0,
> and frames 3 & 4 == source frame 1. Target frame 2 (i.e. the target frame
> in the middle) is combed
> of course. What I'm trying to do is decomb it. How is that interpolating
> new frames? Educate me. And
> if it is interpolating new frames, what's wrong with that? -- It looks
> stunning on a 60Hz TV whereas
> 24FPS fed to a 60Hz TV has serious judder.
>

You want to decomb telecined frames. But telecine already used existing
frames to create combed frames.
So you actually seek frame that is between these two fields in combed
frame, you cant create it by some nonsense tricks.


>
> >> Regards,
> >> Mark.
> >>
>  Thanks again,
>  Mark.
> 
> >> Regards,
> >> Mark.
> >>
> >>> On Wed, Jan 20, 2021 at 2:45 AM Mark Filipak (ffmpeg) <
> >> markfili...@bog.us>
> >>> wrote:
> >>>
>  Hello All,
> 
>  I seek a decomb filter that operates on H/2 number of line pairs:
>  lines
> >> i
>  & i+1 (where i=0..H/2-1),
>  by aligning edges in the two lines at x = delta-x(edge)/2 (i.e.
> the
>  median). The ideal filter would
>  differentiate overall motion due to panning versus local motion
> due
> >> to
>  local object motion.
> 
>  Pan-combing on the left & right edges is acceptable but it would
> be
> >> a
>  great bonus if the filter
>  performed blend on those edges with the blending radius equal to
> >> one-half
>  the pan-comb.
> 
>  Vertical, line-pair-to-line-pair processing is not needed or
> >> desired.
> 
>  Frame-to-frame processing is not needed or desired.
> 
> 

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-21 Thread Mark Filipak (ffmpeg)

On 01/21/2021 07:53 AM, Paul B Mahol wrote:

On Thu, Jan 21, 2021 at 1:31 PM Paul B Mahol  wrote:

On Thu, Jan 21, 2021 at 12:51 PM Mark Filipak (ffmpeg) 
wrote:

On 01/20/2021 04:50 PM, Paul B Mahol wrote:

On Wed, Jan 20, 2021 at 10:45 PM Mark Filipak (ffmpeg) <

markfili...@bog.us>

wrote:

On 01/20/2021 06:17 AM, Paul B Mahol wrote:

Motion compensation does not work that way.


Thank you, Paul. Yes, I knew that. I'm not seeking motion compensation.
Kindly reread my filter
features and suggest what comes closest. What I seek simply works on
pixels. I'm relying on your
experience (and perhaps the experiences of others here).


Have you tried nnedi or estdif filters? Both are intra only

deinterlacers.

Thank you for the guidance. I'm trying estdif first because it seems
simpler, but it doesn't do the
good thing. It does decomb very effectively, but it does it by aligning
(shifting) the edges in
field'2' to the edges in field'1' (which are not shifted). Aligning with
field'1' produces judder
(or in my case, doesn't eliminate judder). What I want it to do is align
both field'1' edges and
field'2' edges to the median (i.e. half way between the input's edges). I
do realize that such a
method would introduce combing along the edges of the frame, but that's
okay.

Here's the command I used to transcode 24FPS to 60FPS:
ffmpeg -i 24[1][2].mkv -map 0 -filter_complex "telecine=pattern=5,
split[1][2],
[1]select=not(eq(mod(n\,5)\,2))[3], [2]select=eq(mod(n\,5)\,2),
estdif=mode=frame[4],
[3][4]interleave" -codec:v libx265 -x265-params "crf=16:qcomp=0.60"
-codec:a copy -codec:s copy
24[1][2]-to-60[1][1][estdif=mode=frame(1~2)][2][2].mkv

I'll try nnedi. Perhaps I can figure it out.



Do not even try.
Mentioned filters work only with interlaced frames, while your use case is
completely invalid and frowned upon.
I deeply regret replying to this thread.



Also, the only way to "invent" new frames is to use either motion
interpolation via optical flow or via blocks interpolation like with
minterpolate filter.


There was some reason why I didn't try minterpolate but I can't recall what it was. I will give it a 
try. I assume I don't need to use '-filter_complex' or 'select'. Just something like '-vf 
minterpolate=fps=6/1001:mi_mode=blend' for the 1st try.


Do you have any insight about minterpolate you'd care to share?

Thanks,
Mark.


Thanks again,
Mark.


Regards,
Mark.


On Wed, Jan 20, 2021 at 2:45 AM Mark Filipak (ffmpeg) <

markfili...@bog.us>

wrote:


Hello All,

I seek a decomb filter that operates on H/2 number of line pairs:

lines

i

& i+1 (where i=0..H/2-1),
by aligning edges in the two lines at x = delta-x(edge)/2 (i.e. the
median). The ideal filter would
differentiate overall motion due to panning versus local motion due

to

local object motion.

Pan-combing on the left & right edges is acceptable but it would be a
great bonus if the filter
performed blend on those edges with the blending radius equal to

one-half

the pan-comb.

Vertical, line-pair-to-line-pair processing is not needed or desired.

Frame-to-frame processing is not needed or desired.

I have been trying a great number of filters based on their names and

what

is in the documentation.
The best I've found so far is pp=linblenddeint but it obviously

doesn't

align edges via the edge
median and it obviously isn't aware of pan-combing versus
object-motion-combing.

Any suggestions are very welcome. If I find this filter I will post a

link

to a 60FPS telecined
video that will amaze everyone -- better than anything that Cuda can

do.


-Mark.


___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-21 Thread Mark Filipak (ffmpeg)

On 01/21/2021 07:54 AM, Paul B Mahol wrote:

On Thu, Jan 21, 2021 at 1:51 PM Mark Filipak (ffmpeg) 
wrote:


On 01/21/2021 07:31 AM, Paul B Mahol wrote:

On Thu, Jan 21, 2021 at 12:51 PM Mark Filipak (ffmpeg) <

markfili...@bog.us>

wrote:


On 01/20/2021 04:50 PM, Paul B Mahol wrote:

On Wed, Jan 20, 2021 at 10:45 PM Mark Filipak (ffmpeg) <

markfili...@bog.us>

wrote:

On 01/20/2021 06:17 AM, Paul B Mahol wrote:

Motion compensation does not work that way.


Thank you, Paul. Yes, I knew that. I'm not seeking motion

compensation.

Kindly reread my filter
features and suggest what comes closest. What I seek simply works on
pixels. I'm relying on your
experience (and perhaps the experiences of others here).


Have you tried nnedi or estdif filters? Both are intra only

deinterlacers.

Thank you for the guidance. I'm trying estdif first because it seems
simpler, but it doesn't do the
good thing. It does decomb very effectively, but it does it by aligning
(shifting) the edges in
field'2' to the edges in field'1' (which are not shifted). Aligning with
field'1' produces judder
(or in my case, doesn't eliminate judder). What I want it to do is align
both field'1' edges and
field'2' edges to the median (i.e. half way between the input's edges).

I

do realize that such a
method would introduce combing along the edges of the frame, but that's
okay.

Here's the command I used to transcode 24FPS to 60FPS:
ffmpeg -i 24[1][2].mkv -map 0 -filter_complex "telecine=pattern=5,
split[1][2],
[1]select=not(eq(mod(n\,5)\,2))[3], [2]select=eq(mod(n\,5)\,2),
estdif=mode=frame[4],
[3][4]interleave" -codec:v libx265 -x265-params "crf=16:qcomp=0.60"
-codec:a copy -codec:s copy
24[1][2]-to-60[1][1][estdif=mode=frame(1~2)][2][2].mkv

I'll try nnedi. Perhaps I can figure it out.



Do not even try.
Mentioned filters work only with interlaced frames, while your use case

is

completely invalid and frowned upon.
I deeply regret replying to this thread.


I did get nnedi to work but with similar results to estdif.

Kindly educate me: What do you mean by "interlaced frames"? Aren't all
frames that come out of the
decoder and into the filter chain interlaced?

Why do you say that my use case is invalid? telecine=pattern=5 works very
well -- there's no judder
at all! And if, for the combed frame, I use pp=linblenddeint, it's even
better, far better than what
either the NVIDIA GPU or the TV does when fed a 24FPS source and of course
far, far better than
telecine=pattern=23.

Please educate me. Why are my stunning results invalid?



Because you are trying to interpolate new frames using telecine filter.


I am? I apologize for not being clear...

The source is 24FPS. 'telecine=pattern=5' makes a 60FPS target with frames 0 & 1 == source frame 0, 
and frames 3 & 4 == source frame 1. Target frame 2 (i.e. the target frame in the middle) is combed 
of course. What I'm trying to do is decomb it. How is that interpolating new frames? Educate me. And 
if it is interpolating new frames, what's wrong with that? -- It looks stunning on a 60Hz TV whereas 
24FPS fed to a 60Hz TV has serious judder.



Regards,
Mark.


Thanks again,
Mark.


Regards,
Mark.


On Wed, Jan 20, 2021 at 2:45 AM Mark Filipak (ffmpeg) <

markfili...@bog.us>

wrote:


Hello All,

I seek a decomb filter that operates on H/2 number of line pairs:

lines

i

& i+1 (where i=0..H/2-1),
by aligning edges in the two lines at x = delta-x(edge)/2 (i.e. the
median). The ideal filter would
differentiate overall motion due to panning versus local motion due

to

local object motion.

Pan-combing on the left & right edges is acceptable but it would be

a

great bonus if the filter
performed blend on those edges with the blending radius equal to

one-half

the pan-comb.

Vertical, line-pair-to-line-pair processing is not needed or

desired.


Frame-to-frame processing is not needed or desired.

I have been trying a great number of filters based on their names

and

what

is in the documentation.
The best I've found so far is pp=linblenddeint but it obviously

doesn't

align edges via the edge
median and it obviously isn't aware of pan-combing versus
object-motion-combing.

Any suggestions are very welcome. If I find this filter I will post

a

link

to a 60FPS telecined
video that will amaze everyone -- better than anything that Cuda can

do.


-Mark.


___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-21 Thread Paul B Mahol
On Thu, Jan 21, 2021 at 1:51 PM Mark Filipak (ffmpeg) 
wrote:

> On 01/21/2021 07:31 AM, Paul B Mahol wrote:
> > On Thu, Jan 21, 2021 at 12:51 PM Mark Filipak (ffmpeg) <
> markfili...@bog.us>
> > wrote:
> >
> >> On 01/20/2021 04:50 PM, Paul B Mahol wrote:
> >>> On Wed, Jan 20, 2021 at 10:45 PM Mark Filipak (ffmpeg) <
> >> markfili...@bog.us>
> >>> wrote:
>  On 01/20/2021 06:17 AM, Paul B Mahol wrote:
> > Motion compensation does not work that way.
> 
>  Thank you, Paul. Yes, I knew that. I'm not seeking motion
> compensation.
>  Kindly reread my filter
>  features and suggest what comes closest. What I seek simply works on
>  pixels. I'm relying on your
>  experience (and perhaps the experiences of others here).
> >>>
> >>> Have you tried nnedi or estdif filters? Both are intra only
> >> deinterlacers.
> >>
> >> Thank you for the guidance. I'm trying estdif first because it seems
> >> simpler, but it doesn't do the
> >> good thing. It does decomb very effectively, but it does it by aligning
> >> (shifting) the edges in
> >> field'2' to the edges in field'1' (which are not shifted). Aligning with
> >> field'1' produces judder
> >> (or in my case, doesn't eliminate judder). What I want it to do is align
> >> both field'1' edges and
> >> field'2' edges to the median (i.e. half way between the input's edges).
> I
> >> do realize that such a
> >> method would introduce combing along the edges of the frame, but that's
> >> okay.
> >>
> >> Here's the command I used to transcode 24FPS to 60FPS:
> >> ffmpeg -i 24[1][2].mkv -map 0 -filter_complex "telecine=pattern=5,
> >> split[1][2],
> >> [1]select=not(eq(mod(n\,5)\,2))[3], [2]select=eq(mod(n\,5)\,2),
> >> estdif=mode=frame[4],
> >> [3][4]interleave" -codec:v libx265 -x265-params "crf=16:qcomp=0.60"
> >> -codec:a copy -codec:s copy
> >> 24[1][2]-to-60[1][1][estdif=mode=frame(1~2)][2][2].mkv
> >>
> >> I'll try nnedi. Perhaps I can figure it out.
> >>
> >
> > Do not even try.
> > Mentioned filters work only with interlaced frames, while your use case
> is
> > completely invalid and frowned upon.
> > I deeply regret replying to this thread.
>
> I did get nnedi to work but with similar results to estdif.
>
> Kindly educate me: What do you mean by "interlaced frames"? Aren't all
> frames that come out of the
> decoder and into the filter chain interlaced?
>
> Why do you say that my use case is invalid? telecine=pattern=5 works very
> well -- there's no judder
> at all! And if, for the combed frame, I use pp=linblenddeint, it's even
> better, far better than what
> either the NVIDIA GPU or the TV does when fed a 24FPS source and of course
> far, far better than
> telecine=pattern=23.
>
> Please educate me. Why are my stunning results invalid?
>

Because you are trying to interpolate new frames using telecine filter.


>
> Regards,
> Mark.
>
> >> Thanks again,
> >> Mark.
> >>
>  Regards,
>  Mark.
> 
> > On Wed, Jan 20, 2021 at 2:45 AM Mark Filipak (ffmpeg) <
>  markfili...@bog.us>
> > wrote:
> >
> >> Hello All,
> >>
> >> I seek a decomb filter that operates on H/2 number of line pairs:
> >> lines
>  i
> >> & i+1 (where i=0..H/2-1),
> >> by aligning edges in the two lines at x = delta-x(edge)/2 (i.e. the
> >> median). The ideal filter would
> >> differentiate overall motion due to panning versus local motion due
> to
> >> local object motion.
> >>
> >> Pan-combing on the left & right edges is acceptable but it would be
> a
> >> great bonus if the filter
> >> performed blend on those edges with the blending radius equal to
>  one-half
> >> the pan-comb.
> >>
> >> Vertical, line-pair-to-line-pair processing is not needed or
> desired.
> >>
> >> Frame-to-frame processing is not needed or desired.
> >>
> >> I have been trying a great number of filters based on their names
> and
>  what
> >> is in the documentation.
> >> The best I've found so far is pp=linblenddeint but it obviously
> >> doesn't
> >> align edges via the edge
> >> median and it obviously isn't aware of pan-combing versus
> >> object-motion-combing.
> >>
> >> Any suggestions are very welcome. If I find this filter I will post
> a
>  link
> >> to a 60FPS telecined
> >> video that will amaze everyone -- better than anything that Cuda can
> >> do.
> >>
> >> -Mark.
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-21 Thread Paul B Mahol
On Thu, Jan 21, 2021 at 1:31 PM Paul B Mahol  wrote:

>
>
> On Thu, Jan 21, 2021 at 12:51 PM Mark Filipak (ffmpeg) 
> wrote:
>
>> On 01/20/2021 04:50 PM, Paul B Mahol wrote:
>> > On Wed, Jan 20, 2021 at 10:45 PM Mark Filipak (ffmpeg) <
>> markfili...@bog.us>
>> > wrote:
>> >> On 01/20/2021 06:17 AM, Paul B Mahol wrote:
>> >>> Motion compensation does not work that way.
>> >>
>> >> Thank you, Paul. Yes, I knew that. I'm not seeking motion compensation.
>> >> Kindly reread my filter
>> >> features and suggest what comes closest. What I seek simply works on
>> >> pixels. I'm relying on your
>> >> experience (and perhaps the experiences of others here).
>> >
>> > Have you tried nnedi or estdif filters? Both are intra only
>> deinterlacers.
>>
>> Thank you for the guidance. I'm trying estdif first because it seems
>> simpler, but it doesn't do the
>> good thing. It does decomb very effectively, but it does it by aligning
>> (shifting) the edges in
>> field'2' to the edges in field'1' (which are not shifted). Aligning with
>> field'1' produces judder
>> (or in my case, doesn't eliminate judder). What I want it to do is align
>> both field'1' edges and
>> field'2' edges to the median (i.e. half way between the input's edges). I
>> do realize that such a
>> method would introduce combing along the edges of the frame, but that's
>> okay.
>>
>> Here's the command I used to transcode 24FPS to 60FPS:
>> ffmpeg -i 24[1][2].mkv -map 0 -filter_complex "telecine=pattern=5,
>> split[1][2],
>> [1]select=not(eq(mod(n\,5)\,2))[3], [2]select=eq(mod(n\,5)\,2),
>> estdif=mode=frame[4],
>> [3][4]interleave" -codec:v libx265 -x265-params "crf=16:qcomp=0.60"
>> -codec:a copy -codec:s copy
>> 24[1][2]-to-60[1][1][estdif=mode=frame(1~2)][2][2].mkv
>>
>> I'll try nnedi. Perhaps I can figure it out.
>>
>
> Do not even try.
> Mentioned filters work only with interlaced frames, while your use case is
> completely invalid and frowned upon.
> I deeply regret replying to this thread.
>

Also, the only way to "invent" new frames is to use either motion
interpolation via optical flow or via blocks interpolation like with
minterpolate filter.


>
>
>>
>> Thanks again,
>> Mark.
>>
>> >> Regards,
>> >> Mark.
>> >>
>> >>> On Wed, Jan 20, 2021 at 2:45 AM Mark Filipak (ffmpeg) <
>> >> markfili...@bog.us>
>> >>> wrote:
>> >>>
>>  Hello All,
>> 
>>  I seek a decomb filter that operates on H/2 number of line pairs:
>> lines
>> >> i
>>  & i+1 (where i=0..H/2-1),
>>  by aligning edges in the two lines at x = delta-x(edge)/2 (i.e. the
>>  median). The ideal filter would
>>  differentiate overall motion due to panning versus local motion due
>> to
>>  local object motion.
>> 
>>  Pan-combing on the left & right edges is acceptable but it would be a
>>  great bonus if the filter
>>  performed blend on those edges with the blending radius equal to
>> >> one-half
>>  the pan-comb.
>> 
>>  Vertical, line-pair-to-line-pair processing is not needed or desired.
>> 
>>  Frame-to-frame processing is not needed or desired.
>> 
>>  I have been trying a great number of filters based on their names and
>> >> what
>>  is in the documentation.
>>  The best I've found so far is pp=linblenddeint but it obviously
>> doesn't
>>  align edges via the edge
>>  median and it obviously isn't aware of pan-combing versus
>>  object-motion-combing.
>> 
>>  Any suggestions are very welcome. If I find this filter I will post a
>> >> link
>>  to a 60FPS telecined
>>  video that will amaze everyone -- better than anything that Cuda can
>> do.
>> 
>>  -Mark.
>>
>> ___
>> ffmpeg-user mailing list
>> ffmpeg-user@ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
>
>
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-21 Thread Mark Filipak (ffmpeg)

On 01/21/2021 07:31 AM, Paul B Mahol wrote:

On Thu, Jan 21, 2021 at 12:51 PM Mark Filipak (ffmpeg) 
wrote:


On 01/20/2021 04:50 PM, Paul B Mahol wrote:

On Wed, Jan 20, 2021 at 10:45 PM Mark Filipak (ffmpeg) <

markfili...@bog.us>

wrote:

On 01/20/2021 06:17 AM, Paul B Mahol wrote:

Motion compensation does not work that way.


Thank you, Paul. Yes, I knew that. I'm not seeking motion compensation.
Kindly reread my filter
features and suggest what comes closest. What I seek simply works on
pixels. I'm relying on your
experience (and perhaps the experiences of others here).


Have you tried nnedi or estdif filters? Both are intra only

deinterlacers.

Thank you for the guidance. I'm trying estdif first because it seems
simpler, but it doesn't do the
good thing. It does decomb very effectively, but it does it by aligning
(shifting) the edges in
field'2' to the edges in field'1' (which are not shifted). Aligning with
field'1' produces judder
(or in my case, doesn't eliminate judder). What I want it to do is align
both field'1' edges and
field'2' edges to the median (i.e. half way between the input's edges). I
do realize that such a
method would introduce combing along the edges of the frame, but that's
okay.

Here's the command I used to transcode 24FPS to 60FPS:
ffmpeg -i 24[1][2].mkv -map 0 -filter_complex "telecine=pattern=5,
split[1][2],
[1]select=not(eq(mod(n\,5)\,2))[3], [2]select=eq(mod(n\,5)\,2),
estdif=mode=frame[4],
[3][4]interleave" -codec:v libx265 -x265-params "crf=16:qcomp=0.60"
-codec:a copy -codec:s copy
24[1][2]-to-60[1][1][estdif=mode=frame(1~2)][2][2].mkv

I'll try nnedi. Perhaps I can figure it out.



Do not even try.
Mentioned filters work only with interlaced frames, while your use case is
completely invalid and frowned upon.
I deeply regret replying to this thread.


I did get nnedi to work but with similar results to estdif.

Kindly educate me: What do you mean by "interlaced frames"? Aren't all frames that come out of the 
decoder and into the filter chain interlaced?


Why do you say that my use case is invalid? telecine=pattern=5 works very well -- there's no judder 
at all! And if, for the combed frame, I use pp=linblenddeint, it's even better, far better than what 
either the NVIDIA GPU or the TV does when fed a 24FPS source and of course far, far better than 
telecine=pattern=23.


Please educate me. Why are my stunning results invalid?

Regards,
Mark.


Thanks again,
Mark.


Regards,
Mark.


On Wed, Jan 20, 2021 at 2:45 AM Mark Filipak (ffmpeg) <

markfili...@bog.us>

wrote:


Hello All,

I seek a decomb filter that operates on H/2 number of line pairs:

lines

i

& i+1 (where i=0..H/2-1),
by aligning edges in the two lines at x = delta-x(edge)/2 (i.e. the
median). The ideal filter would
differentiate overall motion due to panning versus local motion due to
local object motion.

Pan-combing on the left & right edges is acceptable but it would be a
great bonus if the filter
performed blend on those edges with the blending radius equal to

one-half

the pan-comb.

Vertical, line-pair-to-line-pair processing is not needed or desired.

Frame-to-frame processing is not needed or desired.

I have been trying a great number of filters based on their names and

what

is in the documentation.
The best I've found so far is pp=linblenddeint but it obviously

doesn't

align edges via the edge
median and it obviously isn't aware of pan-combing versus
object-motion-combing.

Any suggestions are very welcome. If I find this filter I will post a

link

to a 60FPS telecined
video that will amaze everyone -- better than anything that Cuda can

do.


-Mark.

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-21 Thread Paul B Mahol
On Thu, Jan 21, 2021 at 12:51 PM Mark Filipak (ffmpeg) 
wrote:

> On 01/20/2021 04:50 PM, Paul B Mahol wrote:
> > On Wed, Jan 20, 2021 at 10:45 PM Mark Filipak (ffmpeg) <
> markfili...@bog.us>
> > wrote:
> >> On 01/20/2021 06:17 AM, Paul B Mahol wrote:
> >>> Motion compensation does not work that way.
> >>
> >> Thank you, Paul. Yes, I knew that. I'm not seeking motion compensation.
> >> Kindly reread my filter
> >> features and suggest what comes closest. What I seek simply works on
> >> pixels. I'm relying on your
> >> experience (and perhaps the experiences of others here).
> >
> > Have you tried nnedi or estdif filters? Both are intra only
> deinterlacers.
>
> Thank you for the guidance. I'm trying estdif first because it seems
> simpler, but it doesn't do the
> good thing. It does decomb very effectively, but it does it by aligning
> (shifting) the edges in
> field'2' to the edges in field'1' (which are not shifted). Aligning with
> field'1' produces judder
> (or in my case, doesn't eliminate judder). What I want it to do is align
> both field'1' edges and
> field'2' edges to the median (i.e. half way between the input's edges). I
> do realize that such a
> method would introduce combing along the edges of the frame, but that's
> okay.
>
> Here's the command I used to transcode 24FPS to 60FPS:
> ffmpeg -i 24[1][2].mkv -map 0 -filter_complex "telecine=pattern=5,
> split[1][2],
> [1]select=not(eq(mod(n\,5)\,2))[3], [2]select=eq(mod(n\,5)\,2),
> estdif=mode=frame[4],
> [3][4]interleave" -codec:v libx265 -x265-params "crf=16:qcomp=0.60"
> -codec:a copy -codec:s copy
> 24[1][2]-to-60[1][1][estdif=mode=frame(1~2)][2][2].mkv
>
> I'll try nnedi. Perhaps I can figure it out.
>

Do not even try.
Mentioned filters work only with interlaced frames, while your use case is
completely invalid and frowned upon.
I deeply regret replying to this thread.


>
> Thanks again,
> Mark.
>
> >> Regards,
> >> Mark.
> >>
> >>> On Wed, Jan 20, 2021 at 2:45 AM Mark Filipak (ffmpeg) <
> >> markfili...@bog.us>
> >>> wrote:
> >>>
>  Hello All,
> 
>  I seek a decomb filter that operates on H/2 number of line pairs:
> lines
> >> i
>  & i+1 (where i=0..H/2-1),
>  by aligning edges in the two lines at x = delta-x(edge)/2 (i.e. the
>  median). The ideal filter would
>  differentiate overall motion due to panning versus local motion due to
>  local object motion.
> 
>  Pan-combing on the left & right edges is acceptable but it would be a
>  great bonus if the filter
>  performed blend on those edges with the blending radius equal to
> >> one-half
>  the pan-comb.
> 
>  Vertical, line-pair-to-line-pair processing is not needed or desired.
> 
>  Frame-to-frame processing is not needed or desired.
> 
>  I have been trying a great number of filters based on their names and
> >> what
>  is in the documentation.
>  The best I've found so far is pp=linblenddeint but it obviously
> doesn't
>  align edges via the edge
>  median and it obviously isn't aware of pan-combing versus
>  object-motion-combing.
> 
>  Any suggestions are very welcome. If I find this filter I will post a
> >> link
>  to a 60FPS telecined
>  video that will amaze everyone -- better than anything that Cuda can
> do.
> 
>  -Mark.
>
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-21 Thread Mark Filipak (ffmpeg)

On 01/20/2021 04:50 PM, Paul B Mahol wrote:

On Wed, Jan 20, 2021 at 10:45 PM Mark Filipak (ffmpeg) 
wrote:

On 01/20/2021 06:17 AM, Paul B Mahol wrote:

Motion compensation does not work that way.


Thank you, Paul. Yes, I knew that. I'm not seeking motion compensation.
Kindly reread my filter
features and suggest what comes closest. What I seek simply works on
pixels. I'm relying on your
experience (and perhaps the experiences of others here).


Have you tried nnedi or estdif filters? Both are intra only deinterlacers.


Thank you for the guidance. I'm trying estdif first because it seems simpler, but it doesn't do the 
good thing. It does decomb very effectively, but it does it by aligning (shifting) the edges in 
field'2' to the edges in field'1' (which are not shifted). Aligning with field'1' produces judder 
(or in my case, doesn't eliminate judder). What I want it to do is align both field'1' edges and 
field'2' edges to the median (i.e. half way between the input's edges). I do realize that such a 
method would introduce combing along the edges of the frame, but that's okay.


Here's the command I used to transcode 24FPS to 60FPS:
ffmpeg -i 24[1][2].mkv -map 0 -filter_complex "telecine=pattern=5, split[1][2], 
[1]select=not(eq(mod(n\,5)\,2))[3], [2]select=eq(mod(n\,5)\,2), estdif=mode=frame[4], 
[3][4]interleave" -codec:v libx265 -x265-params "crf=16:qcomp=0.60" -codec:a copy -codec:s copy 
24[1][2]-to-60[1][1][estdif=mode=frame(1~2)][2][2].mkv


I'll try nnedi. Perhaps I can figure it out.

Thanks again,
Mark.


Regards,
Mark.


On Wed, Jan 20, 2021 at 2:45 AM Mark Filipak (ffmpeg) <

markfili...@bog.us>

wrote:


Hello All,

I seek a decomb filter that operates on H/2 number of line pairs: lines

i

& i+1 (where i=0..H/2-1),
by aligning edges in the two lines at x = delta-x(edge)/2 (i.e. the
median). The ideal filter would
differentiate overall motion due to panning versus local motion due to
local object motion.

Pan-combing on the left & right edges is acceptable but it would be a
great bonus if the filter
performed blend on those edges with the blending radius equal to

one-half

the pan-comb.

Vertical, line-pair-to-line-pair processing is not needed or desired.

Frame-to-frame processing is not needed or desired.

I have been trying a great number of filters based on their names and

what

is in the documentation.
The best I've found so far is pp=linblenddeint but it obviously doesn't
align edges via the edge
median and it obviously isn't aware of pan-combing versus
object-motion-combing.

Any suggestions are very welcome. If I find this filter I will post a

link

to a 60FPS telecined
video that will amaze everyone -- better than anything that Cuda can do.

-Mark.


___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-20 Thread Paul B Mahol
On Wed, Jan 20, 2021 at 10:45 PM Mark Filipak (ffmpeg) 
wrote:

> On 01/20/2021 06:17 AM, Paul B Mahol wrote:
> > Motion compensation does not work that way.
>
> Thank you, Paul. Yes, I knew that. I'm not seeking motion compensation.
> Kindly reread my filter
> features and suggest what comes closest. What I seek simply works on
> pixels. I'm relying on your
> experience (and perhaps the experiences of others here).
>

Have you tried nnedi or estdif filters? Both are intra only deinterlacers.


>
> Regards,
> Mark.
>
> > On Wed, Jan 20, 2021 at 2:45 AM Mark Filipak (ffmpeg) <
> markfili...@bog.us>
> > wrote:
> >
> >> Hello All,
> >>
> >> I seek a decomb filter that operates on H/2 number of line pairs: lines
> i
> >> & i+1 (where i=0..H/2-1),
> >> by aligning edges in the two lines at x = delta-x(edge)/2 (i.e. the
> >> median). The ideal filter would
> >> differentiate overall motion due to panning versus local motion due to
> >> local object motion.
> >>
> >> Pan-combing on the left & right edges is acceptable but it would be a
> >> great bonus if the filter
> >> performed blend on those edges with the blending radius equal to
> one-half
> >> the pan-comb.
> >>
> >> Vertical, line-pair-to-line-pair processing is not needed or desired.
> >>
> >> Frame-to-frame processing is not needed or desired.
> >>
> >> I have been trying a great number of filters based on their names and
> what
> >> is in the documentation.
> >> The best I've found so far is pp=linblenddeint but it obviously doesn't
> >> align edges via the edge
> >> median and it obviously isn't aware of pan-combing versus
> >> object-motion-combing.
> >>
> >> Any suggestions are very welcome. If I find this filter I will post a
> link
> >> to a 60FPS telecined
> >> video that will amaze everyone -- better than anything that Cuda can do.
> >>
> >> -Mark.
>
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-20 Thread Mark Filipak (ffmpeg)

On 01/20/2021 06:17 AM, Paul B Mahol wrote:

Motion compensation does not work that way.


Thank you, Paul. Yes, I knew that. I'm not seeking motion compensation. Kindly reread my filter 
features and suggest what comes closest. What I seek simply works on pixels. I'm relying on your 
experience (and perhaps the experiences of others here).


Regards,
Mark.


On Wed, Jan 20, 2021 at 2:45 AM Mark Filipak (ffmpeg) 
wrote:


Hello All,

I seek a decomb filter that operates on H/2 number of line pairs: lines i
& i+1 (where i=0..H/2-1),
by aligning edges in the two lines at x = delta-x(edge)/2 (i.e. the
median). The ideal filter would
differentiate overall motion due to panning versus local motion due to
local object motion.

Pan-combing on the left & right edges is acceptable but it would be a
great bonus if the filter
performed blend on those edges with the blending radius equal to one-half
the pan-comb.

Vertical, line-pair-to-line-pair processing is not needed or desired.

Frame-to-frame processing is not needed or desired.

I have been trying a great number of filters based on their names and what
is in the documentation.
The best I've found so far is pp=linblenddeint but it obviously doesn't
align edges via the edge
median and it obviously isn't aware of pan-combing versus
object-motion-combing.

Any suggestions are very welcome. If I find this filter I will post a link
to a 60FPS telecined
video that will amaze everyone -- better than anything that Cuda can do.

-Mark.


___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Seeking smart decomb filter

2021-01-20 Thread Paul B Mahol
Motion compensation does not work that way.

On Wed, Jan 20, 2021 at 2:45 AM Mark Filipak (ffmpeg) 
wrote:

> Hello All,
>
> I seek a decomb filter that operates on H/2 number of line pairs: lines i
> & i+1 (where i=0..H/2-1),
> by aligning edges in the two lines at x = delta-x(edge)/2 (i.e. the
> median). The ideal filter would
> differentiate overall motion due to panning versus local motion due to
> local object motion.
>
> Pan-combing on the left & right edges is acceptable but it would be a
> great bonus if the filter
> performed blend on those edges with the blending radius equal to one-half
> the pan-comb.
>
> Vertical, line-pair-to-line-pair processing is not needed or desired.
>
> Frame-to-frame processing is not needed or desired.
>
> I have been trying a great number of filters based on their names and what
> is in the documentation.
> The best I've found so far is pp=linblenddeint but it obviously doesn't
> align edges via the edge
> median and it obviously isn't aware of pan-combing versus
> object-motion-combing.
>
> Any suggestions are very welcome. If I find this filter I will post a link
> to a 60FPS telecined
> video that will amaze everyone -- better than anything that Cuda can do.
>
> -Mark.
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".