summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/vdpau.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/libavcodec/vdpau.c b/libavcodec/vdpau.c
index 5406874b21..581eadae36 100644
--- a/libavcodec/vdpau.c
+++ b/libavcodec/vdpau.c
@@ -38,6 +38,30 @@
* @{
*/
+static int vdpau_error(VdpStatus status)
+{
+ switch (status) {
+ case VDP_STATUS_OK:
+ return 0;
+ case VDP_STATUS_NO_IMPLEMENTATION:
+ return AVERROR(ENOSYS);
+ case VDP_STATUS_DISPLAY_PREEMPTED:
+ return AVERROR(EIO);
+ case VDP_STATUS_INVALID_HANDLE:
+ return AVERROR(EBADF);
+ case VDP_STATUS_INVALID_POINTER:
+ return AVERROR(EFAULT);
+ case VDP_STATUS_RESOURCES:
+ return AVERROR(ENOBUFS);
+ case VDP_STATUS_HANDLE_DEVICE_MISMATCH:
+ return AVERROR(EXDEV);
+ case VDP_STATUS_ERROR:
+ return AVERROR(EIO);
+ default:
+ return AVERROR(EINVAL);
+ }
+}
+
int ff_vdpau_common_start_frame(struct vdpau_picture_context *pic_ctx,
av_unused const uint8_t *buffer,
av_unused uint32_t size)