static int decode_header(EXRContext *s)
{
int current_channel_offset = 0;
- int magic_number, version, flags, i;
+ int magic_number, version, flags, i, sar = 0;
s->xmin = ~0;
s->xmax = ~0;
current_pixel_type = bytestream2_get_le32(&ch_gb);
if (current_pixel_type >= EXR_UNKNOWN) {
- avpriv_report_missing_feature(s->avctx,
- "Pixel type %d.\n",
+ avpriv_report_missing_feature(s->avctx, "Pixel type %d",
current_pixel_type);
return AVERROR_PATCHWELCOME;
}
if (!var_size)
return AVERROR_INVALIDDATA;
- ff_set_sar(s->avctx,
- av_d2q(av_int2float(bytestream2_get_le32(&s->gb)), 255));
+ sar = bytestream2_get_le32(&s->gb);
continue;
} else if ((var_size = check_header_variable(s, "compression",
bytestream2_skip(&s->gb, bytestream2_get_le32(&s->gb));
}
+ ff_set_sar(s->avctx, av_d2q(av_int2float(sar), 255));
+
if (s->compression == EXR_UNKN) {
av_log(s->avctx, AV_LOG_ERROR, "Missing compression attribute.\n");
return AVERROR_INVALIDDATA;