2014-10-27, 08:06
Yeah - early adaptors :-)
(2014-10-26, 17:53)fritsch Wrote: Read some pages back - I described howto do it.
Kernel you can use 3.17.1 from ubuntu mainline. This is the version I am currently running.
(2014-10-26, 22:56)fritsch Wrote: If the CPU is fast enough, you can use Yadif deinterlacing (Deinterlace) on the CPU while still decoding on the GPU with VAAPI. Only the "gpu internal" deinterlacers won't work, cause of non working implementation on the intel driver side. Here HSW or newer is needed.
sudo apt-add-repository ppa:wsnipex/vaapi
sudo apt-add-repository ppa:wsnipex/xbmc-fernetmenta-master
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install kodi kodi-bin libva-intel-vaapi-driver i965-va-driver i965-va-driver
(2014-10-27, 21:17)fritsch Wrote: The howto is provided _as_is_
but you can easily just install Ubuntu Desktop (14.04 LTS 64 bit) - if you prefer that and do the following two things:
Code:sudo apt-add-repository ppa:wsnipex/vaapi
sudo apt-add-repository ppa:wsnipex/xbmc-fernetmenta-master
Code:sudo apt-get update
sudo apt-get dist-upgrade
Code:sudo apt-get install kodi kodi-bin libva-intel-vaapi-driver i965-va-driver i965-va-driver
Next do the xbmc settings written in the first post - done.
From 21d7b338e2d4be914896d698354fe4785b880ea0 Mon Sep 17 00:00:00 2001
From: fritsch <[email protected]>
Date: Mon, 27 Oct 2014 21:54:19 +0100
Subject: [PATCH] i965pp: Don't assert
---
src/i965_post_processing.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/i965_post_processing.c b/src/i965_post_processing.c
index ddb553e..480dbaf 100755
--- a/src/i965_post_processing.c
+++ b/src/i965_post_processing.c
@@ -3813,11 +3813,16 @@ gen7_pp_nv12_dndi_initialize(VADriverContextP ctx, struct i965_post_processing_c
/* Copy previously generated field */
if (dndi_ctx->copy_out_previous) {
obj_surface = dndi_ctx->frame_store[DNDI_FRAME_OUT_PREVIOUS].obj_surface;
- assert(obj_surface && obj_surface != dst_obj_surface);
- assert(obj_surface->base.id != dst_obj_surface->base.id);
- status = vpp_surface_convert(ctx, obj_surface, dst_obj_surface);
- if (status == VA_STATUS_SUCCESS)
+ if ((obj_surface && obj_surface != dst_obj_surface) &&
+ (obj_surface->base.id != dst_obj_surface->base.id))
+ {
+ status = vpp_surface_convert(ctx, obj_surface, dst_obj_surface);
+ if (status == VA_STATUS_SUCCESS)
status = VA_STATUS_SUCCESS_1;
+ }
+ else
+ status = VA_STATUS_ERROR_INVALID_SURFACE;
+
return status;
}
--
1.9.1