"%08x.\n", desc->objects[0].fd, va_fourcc);
for (i = 0; i < FF_ARRAY_ELEMS(vaapi_format_map); i++) {
- if (vaapi_format_map[i].fourcc == va_fourcc)
+ if (vaapi_format_map[i].fourcc == va_fourcc) {
va_rt_format = vaapi_format_map[i].rt_format;
+ break;
+ }
}
+ av_assert0(i < FF_ARRAY_ELEMS(vaapi_format_map));
+
buffer_handle = desc->objects[0].fd;
buffer_desc.pixel_format = va_fourcc;
buffer_desc.width = src_fc->width;
}
#endif
+#if VA_CHECK_VERSION(0, 36, 0)
typedef struct VAAPIDRMImageBufferMapping {
VAImage image;
VABufferInfo buffer_info;
av_freep(&mapping);
return err;
}
+#endif
static int vaapi_map_to_drm(AVHWFramesContext *hwfc, AVFrame *dst,
const AVFrame *src, int flags)
if (err != AVERROR(ENOSYS))
return err;
#endif
+#if VA_CHECK_VERSION(0, 36, 0)
return vaapi_map_to_drm_abh(hwfc, dst, src, flags);
+#endif
+ return AVERROR(ENOSYS);
}
#endif /* CONFIG_LIBDRM */