Bug 490988

Summary: Review Request: libvdpau - Wrapper library for the Video Decode and Presentation API
Product: [Fedora] Fedora Reporter: Nicolas Chauvet (kwizart) <kwizart>
Component: Package ReviewAssignee: Adam Williamson <awilliam>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: awilliam, dominik, fedora-package-review, jarod, linuxdonald, notting, swarren, torsten
Target Milestone: ---Flags: awilliam: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-09-17 21:32:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 522245    

Description Nicolas Chauvet (kwizart) 2009-03-18 19:41:07 UTC
SRPMS:
http://rpms.kwizart.net/fedora/10/SRPMS/libvdpau-0.1-0.1git20090318.fc10.src.rpm
SPEC: http://rpms.kwizart.net/fedora/reviews/libvdpau/libvdpau.spec
Summary: Wrapper library for the Video Decode and Presentation API

Same as the XvMC API, the vdpau API will accelerate video decoding on GPU.
This package isn't ready yet (as API isn't frozen), but this will allow to work on the subject.

Comment 1 Bill Nottingham 2009-03-18 19:53:20 UTC
This is nvidia-binary-driver-specific, as far as any current backends, is it not?

Comment 2 Dominik 'Rathann' Mierzejewski 2009-03-18 23:32:53 UTC
What about http://freedesktop.org/wiki/Software/vaapi , which is vendor-neutral?

Comment 3 Bill Nottingham 2009-03-19 16:01:54 UTC
That is (AFAIK) only supported by a different binary-only driver (Poulsbo). Basically, it's all a big mess.

Comment 4 Jarod Wilson 2009-08-05 00:25:24 UTC
Is this something we should perhaps discuss in the next FESCo meeting? I've finally got personal reason to want to see this included in *some* repo, so we should answer the question of whether this can go into Fedora, or if it has to be relegated to a 3rd-party repo.

Comment 5 Nicolas Chauvet (kwizart) 2009-08-05 07:30:01 UTC
Thx for you interest. 

My first thought was that the wrapper should more or less match one of the "vendor driver" version or serie, either or not users got the driver from the Nvidia installer or from repositories (any 3rd part).
That's because the nvidia driver provides the needed vdpau backend for the vdpau output to work.
But actually the wrapper is rather stable thought time. So my technical concern about to leave the wrapper in the same repository as the nvidia driver has left.

Having the wrapper in fedora would allow vdpauinfo (1) and qvdpauinfo (2) to enter in fedora. Theses tools do not make use of any ffmpeg vdpau codec, so they are fully usable, (as soon as a vdpau backend driver is there).
They are respectively a glxinfo like tool, and a vdpau benchmark.

What need to be verified for a vdpau enabled player (xine, gstreamer ?) in Fedora, is that the vdpau ouput isn't used and doesn't produce errors when the vdpau backend and codec (that live in ffmpeg) aren't available.
Once done, the vdpau wrapper library should behave like any other opensource library that are redistributed within Fedora, but not fully usable with Fedora only. (example: the dirac codec was available in fedora before to be used by a fedora package).

So I'm all in favour to have it discussed in the next FESCo meeting.

(1) http://rpms.kwizart.net/fedora/11/SRPMS/vdpauinfo-0.0.6-1.fc11.src.rpm
(2) http://rpms.kwizart.net/fedora/11/SRPMS/qvdpautest-0.3-1.fc11.src.rpm

Comment 6 Jarod Wilson 2009-08-05 16:00:31 UTC
Filed a FESCo ticket, proposing that it be discussed during this Friday's meeting (2009.08.07, 1700UTC in #fedora-meeting on irc.freenode.net).

https://fedorahosted.org/fesco/ticket/238

Comment 7 Stephen Warren 2009-08-28 21:18:16 UTC
It'd be nice to package libvdpau_trace.so too, although I suppose that would be a different package.

Just as an aside, S3's implementation doesn't use the wrapper lib; they just overwrite libvdpau.so with their main driver binary.

Comment 8 Nicolas Chauvet (kwizart) 2009-09-04 17:15:31 UTC
FYI, the very last update (with merged patches)
SRPMS:
http://kwizart.fedorapeople.org/review/libvdpau-0.1-0.5git20090902.fc11.src.rpm
SPEC:
http://kwizart.fedorapeople.org/review/libvdpau.spec
Summary: Wrapper library for the Video Decode and Presentation API

libvdpay_trace.so was already bundled IIRC but I'm not sure of why it should be splitted in another package.

Comment 9 Adam Williamson 2009-09-04 18:38:35 UTC
This was approved by FESco today, so I'm taking it for review.

Couple of things. You can simplify the exclusivearch stuff:

%if 0%{?fedora} > 11 || 0%{?rhel} > 5
ExclusiveArch:  i686 x86_64
%else %if 0%{?fedora} == 11
ExclusiveArch:  i586 x86_64
%else
ExclusiveArch:  i386 x86_64
%endif

(put the else and if on one line, and that lets you remove one endif - it's all one clause, then).

As I understand the versioning policy, there should be a . between the revision (5, at present) and the git date bit. It should be libvdpau-0.1-0.5.git20090902.fc11 , not libvdpau-0.1-0.5git20090902.fc11 - see the examples at http://fedoraproject.org/wiki/Packaging/NamingGuidelines#Pre-Release_packages .

rpmlint throws an invalid-soname error on libvdpau-trace.so . It's an unversioned lib in %{_libdir} (not a subdirectory) in a non-devel package, which is unusual. What exactly is it used for? Should it be versioned, or put in a subdirectory?

Aside from the above, package looks good to me.

rpmlint output:

[adamw@adam SRPMS]$ rpmlint libvdpau-0.1-0.5git20090902.fc11.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
[adamw@adam SRPMS]$ rpmlint ../RPMS/x86_64/libvdpau-0.1-0.5git20090902.aw_fc12.x86_64.rpm 
libvdpau.x86_64: W: incoherent-version-in-changelog 0.1-0.5git20090902 ['0.1-0.5git20090902.aw_fc12', '0.1-0.5git20090902.aw_fc12']
libvdpau.x86_64: E: invalid-soname /usr/lib64/libvdpau_trace.so libvdpau_trace.so
1 packages and 0 specfiles checked; 1 errors, 1 warnings.
[adamw@adam SRPMS]$ rpmlint ../RPMS/x86_64/libvdpau-devel-0.1-0.5git20090902.aw_fc12.x86_64.rpm 
libvdpau-devel.x86_64: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 10 Stephen Warren 2009-09-04 21:19:37 UTC
> rpmlint throws an invalid-soname error on libvdpau-trace.so . It's an
> unversioned lib in %{_libdir} (not a subdirectory) in a non-devel package,
> which is unusual. What exactly is it used for? Should it be versioned, or put
> in a subdirectory?

libvpau_wrapper.so is dlopen()s "libvdpau_trace.so" (by that exact name), if a certain environment variable is set to request this. In that case, all APIs that would usually be handled directly by the driver DSO (e.g. libvdpau_nvidia.so) are proxied through the trace library, which spews debug information.

Comment 11 Nicolas Chauvet (kwizart) 2009-09-07 21:30:33 UTC
SRPMS:
http://kwizart.fedorapeople.org/review/libvdpau-0.1-0.6.20090902git.fc11.src.rpm
SPEC:
http://kwizart.fedorapeople.org/review/libvdpau.spec
Summary: Wrapper library for the Video Decode and Presentation API

Comment 12 Adam Williamson 2009-09-08 16:29:44 UTC
Looks good to me - accepted, as far as I'm concerned.

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 13 Nicolas Chauvet (kwizart) 2009-09-08 19:59:49 UTC
New Package CVS Request
=======================
Package Name: libvdpau
Short Description: Wrapper library for the Video Decode and Presentation API
Owners: kwizart
Branches: devel F-11 F-10

Comment 14 Kevin Fenzi 2009-09-09 16:07:15 UTC
cvs done.

Comment 16 Adam Williamson 2009-09-17 19:36:57 UTC
nic, are you going to go ahead and do the package? everything's in place for you now.

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 17 Nicolas Chauvet (kwizart) 2010-12-09 15:26:15 UTC
Package Change Request
======================
Package Name: libvdpau
New Branches: el5 el6
Owners: kwizart

Comment 18 Jason Tibbitts 2010-12-10 14:41:33 UTC
Git done (by process-git-requests).