|
|
#1 | |
|
Registered User
Join Date: Dec 2008
Posts: 9
|
In similar vein to utilities like glxinfo, xdpyinfo, I made a simple utility that queries and displays the VDPAU capabilities of your X display and prints them in tabular format. For example, on my 8600GT at home it shows:
Code:
display: :0.0 screen: 0 API version: 0 Information string: Unknown Video surface: name width height types ------------------------------------------- 420 4096 4096 NV12 YV12 422 4096 4096 UYVY YUYV Decoder capabilities: name level macbs width height ------------------------------------ MPEG1 0 8191 2032 2032 MPEG2_SIMPLE 3 8191 2032 2032 MPEG2_MAIN 3 8191 2032 2032 H264_MAIN 41 8191 2032 2032 H264_HIGH 41 8191 2032 2032 Output surface: name width height nat types ---------------------------------------------------- B8G8R8A8 8192 8192 y Y8U8V8A8 V8U8Y8A8 R10G10B10A2 8192 8192 y Y8U8V8A8 V8U8Y8A8 Bitmap surface: name width height ------------------------------ B8G8R8A8 8192 8192 R8G8B8A8 8192 8192 R10G10B10A2 8192 8192 B10G10R10A2 8192 8192 A8 8192 8192 Video mixer: feature name sup ------------------------------------ DEINTERLACE_TEMPORAL y DEINTERLACE_TEMPORAL_SPATIAL y INVERSE_TELECINE y NOISE_REDUCTION y SHARPNESS y LUMA_KEY y parameter name sup min max ----------------------------------------------------- VIDEO_SURFACE_WIDTH y 1 4096 VIDEO_SURFACE_HEIGHT y 1 4096 CHROMA_TYPE y LAYERS y 0 4 attribute name sup min max ----------------------------------------------------- BACKGROUND_COLOR y CSC_MATRIX y NOISE_REDUCTION_LEVEL y 0.00 1.00 SHARPNESS_LEVEL y -1.00 1.00 LUMA_KEY_MIN_LUMA y LUMA_KEY_MAX_LUMA y Download link (c++ source code): http://www.cs.rug.nl/~wladimir/vdpin...o-0.0.5.tar.gz Changelog 0.0.5: - show macroblocks instead of maximum number of references Last edited by wump; 01-15-09 at 02:55 PM. |
|
|
|
|
|
|
#2 | |
|
Registered User
Join Date: Nov 2008
Posts: 18
|
Wump,
What a great and helpful little tool! What license is this released under? Any chance of making it not rely on being run from within an X session? Thanks! |
|
|
|
|
|
|
#3 |
|
Registered User
Join Date: Dec 2008
Posts: 9
|
Good point about the licensing. I just added a MIT license.
About running without an X session, I don't know if that is possible at all. To bootstrap everything, I currently use Code:
rv = vdp_device_create_x11(display, screen, &device, &get_proc_address); |
|
|
|
|
|
#4 | |
|
Registered User
Join Date: Nov 2008
Posts: 18
|
Hi wump,
No, I just asked an ignorant question. Of course you have to create a surface to make this work, glxinfo works the same way. Ignore me. ![]() |
|
|
|
|
|
|
#5 |
|
Moderator
Join Date: Aug 2005
Posts: 1,327
|
Great tool! I always meant to write it myself...
A couple of notes: 1) Some mixer parameters don't have an associated value range, (e.g. they're enums which could theoretically be disjoint) Code:
CHROMA_TYPE y 00000001 00001000 Same thing for some mixer attributes. 3) The type of mixer attributes can vary (as indeed can mixer parameters). For example, these are floats, not ints: Code:
NOISE_REDUCTION_LEVEL y 00000000 3f800000 SHARPNESS_LEVEL y bf800000 3f800000 |
|
|
|
|
|
#6 | |
|
Registered User
Join Date: Dec 2008
Posts: 9
|
Thanks for the suggestions, I just posted a new version that addressees those things and updated the opening post...
|
|
|
|
|
|
|
#7 |
|
Registered User
Join Date: Dec 2008
Posts: 9
|
BTW:
Querying VDP_CHROMA_TYPE_444 with VideoSurfaceQueryCapabilities returns an error (VDP_STATUS_INVALID_CHROMA_TYPE), is this supposed to be the case? Shouldn't it just report supported=0 ? |
|
|
|
|
|
#8 |
|
Registered User
Join Date: Jun 2008
Posts: 2
|
I get different results when I compile with the CXXFLAGS in the makefile and when I compile without any CXXFLAGS (line commented out). The difference is:
Code:
% diff info.default_cxxflags.txt info.no_cxxflags.txt 43,48c43,48 < DEINTERLACE_TEMPORAL - < DEINTERLACE_TEMPORAL_SPATIAL - < INVERSE_TELECINE - < NOISE_REDUCTION - < SHARPNESS - < LUMA_KEY - --- > DEINTERLACE_TEMPORAL y > DEINTERLACE_TEMPORAL_SPATIAL y > INVERSE_TELECINE y > NOISE_REDUCTION y > SHARPNESS y > LUMA_KEY y I have a GeForce 8400GS, by the way. I ran the utility to see how the vdpau support is on that card. Thanks for the nifty tool! /Mahesh |
|
|
|
|
|
#9 | |
|
Registered User
Join Date: Dec 2008
Posts: 9
|
Quote:
Code:
VdpBool is_supported = true; Code:
VdpBool is_supported = false; |
|
|
|
|
|
|
#10 |
|
NVIDIA Corporation
Join Date: Mar 2005
Posts: 2,487
|
Neat! I just have one suggestion: replace
Code:
char *display_name = NULL; Code:
char *display_name = XDisplayName(NULL); |
|
|
|
|
|
#11 |
|
Registered User
Join Date: Dec 2008
Posts: 9
|
I've patched it to default to true for support of features now, this should be correct even with the bug. Also I use the XDisplayName.
|
|
|
|
|
|
#12 |
|
Registered User
Join Date: Aug 2004
Posts: 301
|
Why not put this utility up on sourceforge?
|
|
|
|
![]() |
| Thread Tools | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| xorg locks-up with newest nvidia drivers w/ vdpau. | theroot | NVIDIA Linux | 1 | 06-24-12 11:04 AM |
| New Massive Cyber-Attack an 'Industrial Vacuum Cleaner for Sensitive Information' | News | Latest Tech And Game Headlines | 0 | 05-28-12 12:00 PM |
| Moderation in an Age of Information Abundance & Hypervisibility | News | Latest Tech And Game Headlines | 0 | 05-27-12 01:10 PM |
| 680 Graphics Card with Afterburner Overclocking Utility (MSI) | News | Latest Tech And Game Headlines | 0 | 05-04-12 06:40 AM |
| GeForce4 owners: Please post your TV encoder and board information | ScuzziOne | NVIDIA GeForce 7, 8, And 9 Series | 8 | 08-04-02 06:55 PM |