You are not logged in.

#1 2015-02-01 04:58:16

klenamenis
Member
Registered: 2014-07-03
Posts: 101

VDPAU support for more h.264 profiles

Hey,

VDPAU is being used on my R9-280X with the open source driver, but it doesn't support h.264's extended or advanced high profiles so far. Furthermore, the maximum supported video width is 2048. This seems to comply with feature set C.

Is there any chance to gain support for the aforementioned profiles and/or even higher widths?

[klemens@arch-pc ~]$ pacaur -Qs vdpau
local/libvdpau 0.9-1
    Nvidia VDPAU library
local/mesa-vdpau 10.4.3-1
    Mesa VDPAU drivers
local/vdpauinfo 0.9-1
    Command line utility for querying the capabilities of a VDPAU device.
[klemens@arch-pc ~]$ vdpauinfo
display: :0.0   screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0

Video surface:

name   width height types
-------------------------------------------
420    16384 16384  NV12 YV12 
422    16384 16384  UYVY YUYV 
444    16384 16384  Y8U8V8A8 V8U8Y8A8 

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                           0  9216  2048  1152
MPEG2_SIMPLE                    3  9216  2048  1152
MPEG2_MAIN                      3  9216  2048  1152
H264_BASELINE                  41  9216  2048  1152
H264_MAIN                      41  9216  2048  1152
H264_HIGH                      41  9216  2048  1152
VC1_SIMPLE                     --- not supported ---
VC1_MAIN                       --- not supported ---
VC1_ADVANCED                    4  9216  2048  1152
MPEG4_PART2_SP                  3  9216  2048  1152
MPEG4_PART2_ASP                 5  9216  2048  1152
DIVX4_QMOBILE                  --- not supported ---
DIVX4_MOBILE                   --- not supported ---
DIVX4_HOME_THEATER             --- not supported ---
DIVX4_HD_1080P                 --- not supported ---
DIVX5_QMOBILE                  --- not supported ---
DIVX5_MOBILE                   --- not supported ---
DIVX5_HOME_THEATER             --- not supported ---
DIVX5_HD_1080P                 --- not supported ---
H264_CONSTRAINED_BASELINE      --- not supported ---
H264_EXTENDED                  --- not supported ---
H264_PROGRESSIVE_HIGH          --- not supported ---
H264_CONSTRAINED_HIGH          --- not supported ---
H264_HIGH_444_PREDICTIVE       --- not supported ---

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
R8G8B8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
R10G10B10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
B10G10R10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 

Bitmap surface:

name              width height
------------------------------
B8G8R8A8         16384 16384
R8G8B8A8         16384 16384
R10G10B10A2      16384 16384
B10G10R10A2      16384 16384
A8               16384 16384

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             y
DEINTERLACE_TEMPORAL_SPATIAL     -
INVERSE_TELECINE                 -
NOISE_REDUCTION                  y
SHARPNESS                        y
LUMA_KEY                         -
HIGH QUALITY SCALING - L1        -
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              y        48     2048
VIDEO_SURFACE_HEIGHT             y        48     1152
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  

Last edited by klenamenis (2015-02-01 04:59:25)

Offline

#2 2015-02-01 12:05:55

Gusar
Member
Registered: 2009-08-25
Posts: 3,607

Re: VDPAU support for more h.264 profiles

VDPAU feature sets are specific to Nvidia hardware, they're irrelevant for your Radeon.

The constrained and *_high profiles are subsets of the regular baseline/main/high profiles, the hardware can play them, it's just a cosmetic issue that vdpauinfo lists them as seemingly unsupported, but there won't be issues playing them. HIGH_444 is different, that one requires special support, but the chance that you'll encounter high_444 videos is really low (if it gets used, then in intermediate stages of video production, not as an end-user format). Then there's extended, nothing uses that, you will not encounter extended profile videos ever.

No idea about video size, whether that's an artificial driver limitation that can easily be changed, or a hardware limitation. I'd say the only place where you'll be able to get an answer is the mesa mailing list.

Basically, the only thing you need to concern yourself with is video size, but even that only if you intend to watch 4K video.

Offline

#3 2015-02-02 05:58:36

klenamenis
Member
Registered: 2014-07-03
Posts: 101

Re: VDPAU support for more h.264 profiles

Thanks for the clarification! I'm actually playing videos in 1440p solution quite frequently, so hardware acceleration would be nice to have. Anyway, I may check the mailing list then.

Offline

Board footer

Powered by FluxBB