Announcement

Collapse
No announcement yet.

vdpauinfo reports weird Level 16 for h264 with UVD on Brazos

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • vdpauinfo reports weird Level 16 for h264 with UVD on Brazos

    Hi,
    I run a small Slackware-current system on a Brazos-based small-factor PC and on the whole, it works pretty well.
    I recently compiled a 3.10.3 kernel, added libvdpau, vdpauinfo, recompiled ffmpeg, mplayer and vlc and did some tests.
    The kernel initialize the UVD device all-right, and I could check with mplayer that ideed, I could watch a DVD-sized H264 mkv with about 7% CPU usage, which is quite cool.
    Unfortunately, my very latest git pull of VLC still didn't want to use VDPAU and I actually isolated this message in the logs :

    Code:
    [0x7f8908000958] main generic debug: looking for hw decoder module matching "any": 2 candidates
    [0x7f8908000958] vdpau_avcodec generic debug: video surface limits: 16384x16384
    [0x7f8908000958] vdpau_avcodec generic debug: decoder profile limits: level 16 mb 9216 2048x1152
    [0x7f8908000958] vdpau_avcodec generic error: decoder profile above limits: level 30 720x400
    [0x7f8908000958] main generic debug: no hw decoder modules matched
    One of VLC devs told me that the VDPAU driver was telling VLC that it only supported Level 1.6 (which does not exist) while the file was level 3. So no go.
    And indeed, vdpauinfo yells the following output (that's only the begining) :

    Code:
    bash-4.2$ vdpauinfo 
    display: :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 
    422    16384 16384  NV12 
    444    16384 16384  NV12 
    
    Decoder capabilities:
    
    name               level macbs width height
    -------------------------------------------
    MPEG1                16  9216  2048  1152
    MPEG2_SIMPLE         16  9216  2048  1152
    MPEG2_MAIN           16  9216  2048  1152
    H264_BASELINE        16  9216  2048  1152
    H264_MAIN            16  9216  2048  1152
    H264_HIGH            16  9216  2048  1152
    VC1_SIMPLE           16  9216  2048  1152
    VC1_MAIN             16  9216  2048  1152
    VC1_ADVANCED         16  9216  2048  1152
    MPEG4_PART2_SP       16  9216  2048  1152
    MPEG4_PART2_ASP      16  9216  2048  1152
    The 16 indeed does not seem right, as according to this thread :

    Both NVIDIA's closed-source and open-source drivers can be discussed here.


    the output should look something like this :

    Code:
    Decoder capabilities:
    
    name          level ref width height
    ------------------------------------
    MPEG1             0  2  4096  4096
    MPEG2_SIMPLE      3  2  4096  4096
    MPEG2_MAIN        3  2  4096  4096
    H264_MAIN        41  4  4096  4096
    H264_HIGH        41  4  4096  4096
    Googling around, I saw that other people had this "Level 16" issue apparently :

    Those of you who don't live under a rock will have learned by now that AMD has published VDPAU code to use the Radeon UVD engine for accele...


    I would guess that Mplayer isn't checking for this while VLC does, which would explain why the first works without issue while the second do not.
    What could be the cause of this problem?
Working...
X