On Wed, Dec 14, 2011 at 4:24 AM, Kostya Shishkov <[email protected]> wrote: > On Sun, Dec 11, 2011 at 05:12:28PM -0700, John Brooks wrote: >> This logic, meant to detect any negative or too high value, fails >> if the second parameter may also be negative, such as when video >> dimensions are <= the size of one macroblock > > So in this case we will have edge emulation used in every case which is not > that bad for such video, thus the patchset is not needed.
Paraphrasing myself from IRC: The problem is that when (v_edge_pos - (motion_y&1) - h) < 0, we're doing ((unsigned)mv > -1), which will be false (because comparisons with unsigned are always unsigned). As a result, for any large value of mv, it will *not* do edge emulation. So, the patchset is needed. Since edge emulation isn't risky, I like the idea of roughly checking the second parameter instead of using FFMAX. I'll do that in the next few days. Thanks. _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
