avutil/common: add FFDIFFSIGN macro
authorGanesh Ajjanagadde <gajjanagadde@gmail.com>
Fri, 30 Oct 2015 18:21:15 +0000 (14:21 -0400)
committerGanesh Ajjanagadde <gajjanagadde@gmail.com>
Tue, 3 Nov 2015 21:28:12 +0000 (16:28 -0500)
commit265f83fd35977a80e93b3cc13ceb65f52f129a3c
tree201254e4c394e0f977d78b66be9e7cf16174c486
parent03f5bcd92123f632ef3f24f3acde050431423099
avutil/common: add FFDIFFSIGN macro

This is of use for defining comparator callbacks. Common approaches like
return x-y are not safe due to the risks of overflow.
Furthermore, the (x > y) - (x < y) trick is optimized to branchless
code.
This also documents this macro accordingly.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
libavutil/common.h