---
 libavcodec/vdpau.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/libavcodec/vdpau.c b/libavcodec/vdpau.c
index 5406874..468126e 100644
--- a/libavcodec/vdpau.c
+++ b/libavcodec/vdpau.c
@@ -38,6 +38,30 @@
  * @{
  */
 
+static int ff_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)
-- 
1.8.1.5

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to