[FFmpeg-devel] [PATCH v1] Bug #8027 - Wrong result for FFSIGN(0)

Ulf Zibis Ulf.Zibis at CoSoCo.de
Wed Jul 17 09:30:54 EEST 2019


Hi,

I have a patch for bug #8027 <https://trac.ffmpeg.org/ticket/8027> (see
attachment).

But there is still a problem with -0.0, but FFABS(-0.0) works fine.

Testcode:
   av_log(NULL, AV_LOG_ERROR, "FFSIGN(0): %d\n", FFSIGN(0));
    av_log(NULL, AV_LOG_ERROR, "FFSIGN(-0): %d\n", FFSIGN(-0));
    av_log(NULL, AV_LOG_ERROR, "FFSIGN(0.0D): %d\n", FFSIGN(0.0D));
    av_log(NULL, AV_LOG_ERROR, "FFSIGN(-0.0D): %d\n", FFSIGN(-0.0D));
    av_log(NULL, AV_LOG_ERROR, "FFSIGN(-0.0F): %d\n", FFSIGN(-0.0F));
    av_log(NULL, AV_LOG_ERROR, "FFSIGN(-0.0): %d\n", FFSIGN(-0.0));

    av_log(NULL, AV_LOG_ERROR, "FFABS(0): %d\n", FFABS(0));
    av_log(NULL, AV_LOG_ERROR, "FFABS(-0): %d\n", FFABS(-0));
    av_log(NULL, AV_LOG_ERROR, "FFABS(0.0D): %f\n", FFABS(0.0D));
    av_log(NULL, AV_LOG_ERROR, "FFABS(-0.0D): %f\n", FFABS(-0.0D));
    av_log(NULL, AV_LOG_ERROR, "FFABS(-0.0F): %f\n", FFABS(-0.0F));
    av_log(NULL, AV_LOG_ERROR, "FFABS(-0.0): %f\n", FFABS(-0.0));

Results:
FFSIGN(0): 1
FFSIGN(-0): 1
FFSIGN(0.0D): 1
FFSIGN(-0.0D): 1
FFSIGN(-0.0F): 1
FFSIGN(-0.0): 1
FFABS(0): 0
FFABS(-0): 0
FFABS(0.0D): 0.000000
FFABS(-0.0D): -0.000000
FFABS(-0.0F): -0.000000
FFABS(-0.0): -0.000000

-Ulf



More information about the ffmpeg-devel mailing list