Bug 770371

Summary: Review Request: libva-intel-driver - HW video decode support for Intel integrated graphics
Product: [Fedora] Fedora Reporter: Nicolas Chauvet (kwizart) <kwizart>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: dkbatson, mishu, notting, package-review, tcallawa
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-01-04 10:48:27 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 182235    

Description Nicolas Chauvet (kwizart) 2011-12-26 03:00:21 EST
Spec URL:
http://kwizart.fedorapeople.org/review/libva-intel-driver.spec
SRPM URL:
http://kwizart.fedorapeople.org/review/libva-intel-driver-1.0.15-1.fc14.src.rpm
Description: HW video decode support for Intel integrated graphics

rpmlint is clean on the package
Comment 1 Nicolas Chauvet (kwizart) 2011-12-26 03:04:41 EST
This package was previously rejected by Fe-Legal mainly because the code of the libva intel backend was "unreadable".
This package only bundles the backend as the wrapper is already accepted in Fedora, but I wonder if there is a need to revisit the Legal Review.
Comment 2 David Batson 2011-12-30 12:31:39 EST
/usr/lib64/dri/i965_drv_video.so is in previous versions of Libva, but not in the current version: libva-1.0.14-1.fc16.x86_64

http://rpm.pbone.net/index.php3/stat/4/idpl/17137879/dir/fedora_16/com/libva-1.0.13-6.fc16.x86_64.rpm.html

?
Comment 3 David Batson 2011-12-30 12:58:34 EST
I found a workaround.  Download the above file from the link and use rpm2cpio (must be installed) to extract it's contents.  Copy the extracted file ~/i965_drv_video.so to /usr/lib64/dri/i965_drv_video.so

You can also do the same with 32-bit systems by downloading libva-1.0.13-6.fc16.i686.rpm from the link below and following the same instructions with rpm2cpio.

http://rpm.pbone.net/index.php3/stat/4/idpl/17137878/dir/fedora_16/com/libva-1.0.13-6.fc16.i686.rpm.html
Comment 4 Nicolas Chauvet (kwizart) 2011-12-30 13:11:17 EST
The libva package is in Fedora but without the i965_drv_video.so.
So an additional package can be found as libva-freeworld on RPM Fusion.
This last is meant to be obsoleted by this package if the Fe-Legal review can be re-evaluated.
With current version (1.0.15 in F-17), libva upstream doesn't even provide anymore the intel backend within libva. Instead, a new source archive that contain only the intel backend is provided.
Comment 5 Nicolas Chauvet (kwizart) 2012-01-03 06:37:09 EST
SRPM:
http://rpms.kwizart.net/fedora/reviews/libva-intel-driver/libva-intel-driver-1.0.15-2.fc16.src.rpm
SPEC: http://rpms.kwizart.net/fedora/reviews/libva-intel-driver/libva-intel-driver.spec
Summary: HW video decode support for Intel integrated graphics

Update package with few clean-ups as there is only a dlopened shared object (so no ldconfig).
Comment 6 Tom "spot" Callaway 2012-01-03 12:28:53 EST
Just to be clear here, this package is just the same mess that we said was not okay before, just in a separate package?
Comment 7 Nicolas Chauvet (kwizart) 2012-01-03 18:58:58 EST
(In reply to comment #6)
> Just to be clear here, this package is just the same mess that we said was not
> okay before, just in a separate package?

Actually I've double checked and the comment from benjamin still stands in few files from the previous review:
Quoting Benjamin: https://bugzilla.redhat.com/show_bug.cgi?id=518546#c39
Showing a diff between 1.0.12 and current
http://cgit.freedesktop.org/libva/tree/i965_drv_video/shaders/mpeg2/vld/field_backward.g4b?id=libva-1.0.12
http://cgit.freedesktop.org/vaapi/intel-driver/tree/src/shaders/vme/inter_frame.g6b?id=1.0.15

I expected it should be possible to regenerate the code (using the intel-gen4asm) from the ASM files that wasn't always available in the previous versions.
Actually, I'm 'only' failing to regenerate shaders/h264/mc/avc_mc.g4b src/shaders/h264/mc/null.g4b and src/shaders/h264/mc/null.g4b.gen5 at least, so I will investigate.

That been said, I may have missed another side of the problem raised by ajax:
https://bugzilla.redhat.com/show_bug.cgi?id=518546#c38
In this case, it will mean the code may touch codec internals that can be covered. And given that this logic is not implemented in hardware, this will put a perpetual end to any libva intel backend in Fedora.

So please close the review if you think it doesn't worth to re-evaluate.
Comment 8 Adam Jackson 2012-01-04 10:48:27 EST
(In reply to comment #7)
> That been said, I may have missed another side of the problem raised by ajax:
> https://bugzilla.redhat.com/show_bug.cgi?id=518546#c38
> In this case, it will mean the code may touch codec internals that can be
> covered. And given that this logic is not implemented in hardware, this will
> put a perpetual end to any libva intel backend in Fedora.
> 
> So please close the review if you think it doesn't worth to re-evaluate.

From a quick look at the libva-intel driver, it's still clearly doing motion compensation and in-loop-deblocking and a bunch of other actual video codec work in the shaders, not in the hardware.  So I don't think this can land in Fedora, sorry.