+ if (avctx->pix_fmt == AV_PIX_FMT_GBRPF32 || avctx->pix_fmt == AV_PIX_FMT_GRAYF32) {
+ pnm_get(s, buf1, sizeof(buf1));
+ if (av_sscanf(buf1, "%f", &s->scale) != 1 || s->scale == 0.0 || !isfinite(s->scale)) {
+ av_log(avctx, AV_LOG_ERROR, "Invalid scale.\n");
+ return AVERROR_INVALIDDATA;
+ }
+ s->endian = s->scale < 0.f;
+ s->scale = fabsf(s->scale);
+ s->maxval = (1ULL << 32) - 1;
+ } else if (avctx->pix_fmt != AV_PIX_FMT_MONOWHITE && avctx->pix_fmt != AV_PIX_FMT_MONOBLACK) {