avcodec/exr: add fast path for case when powf() isn't needed

pull/371/head
Paul B Mahol 4 years ago
parent f01d522cf3
commit 4cb989e836
  1. 7
      libavcodec/exr.c

@ -1130,13 +1130,18 @@ static int decode_block(AVCodecContext *avctx, void *tdata,
t.f = trc_func(t.f);
*ptr_x++ = t;
}
} else {
} else if (one_gamma != 1.f) {
for (x = 0; x < xsize; x++) {
t.i = bytestream_get_le32(&src);
if (t.f > 0.0f && c < 3) /* avoid negative values */
t.f = powf(t.f, one_gamma);
*ptr_x++ = t;
}
} else {
for (x = 0; x < xsize; x++) {
t.i = bytestream_get_le32(&src);
*ptr_x++ = t;
}
}
} else if (s->pixel_type == EXR_HALF) {
// 16-bit

Loading…
Cancel
Save