Am 20.11.2011 14:53, schrieb Michal Fapso:
> Hi Hannes, I am really confused now. I tried to isolate the problem,
> Here is the full output of the compiled test:
> 
> blur: frame=2 p.vert=1 n.vert=1 p.hori=1 n.hori=1 psc=0.971831 nsc=0.028169
> prev_frame=0 next_frame=71
> intp_vert=1.00000000000000000000000000000000000000000000000000e+00
> (int)intp_vert=1
> (prev.vertical * prev_scale + next.vertical * next_scale) > 0
> (prev.vertical * prev_scale + next.vertical * next_scale) > 1
> intp_vert_double > 0
> intp_vert_double == 1
> next_scale_prev_scale   =
> 2.7375520730013886555598290328816801775246858596801757812500000000000000000000000000000000000000000000e-02
> next_scale * prev_scale =
> 2.7375520730013886555598290328816801775246858596801757812500000000000000000000000000000000000000000000e-02
> next_scale_prev_scale < next_scale * prev_scale
> typeid(next_scale_prev_scale) = d
> typeid(next_scale * prev_scale) = d
> 
> 
> blur: frame=3 p.vert=1 n.vert=1 p.hori=1 n.hori=1 psc=0.957746 nsc=0.0422535
> prev_frame=0 next_frame=71
> intp_vert=1.00000000000000000000000000000000000000000000000000e+00
> (int)intp_vert=0
> (prev.vertical * prev_scale + next.vertical * next_scale) > 0
> (prev.vertical * prev_scale + next.vertical * next_scale) < 1

I see. The problem is that this sum is sometimes slightly smaller than 1
due to floatingpoint rounding when the exact result should be 1.

So, your suggested fix to just copy the prev.vertical and
prev.horizontal is the right thing to do.

-- Hannes

_______________________________________________
Cinelerra mailing list
Cinelerra@skolelinux.no
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra

Reply via email to