Announcement

Collapse
No announcement yet.

[VDPAU] Can only get MPEG1/2 decoding to work

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

  • Bushido_root
    replied
    Originally posted by tiredoffglrx View Post
    Code:
    $ mplayer test.mp4
    [...]
    Starting playback...
    [VD_FFMPEG] Trying pixfmt=0.
    Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
    VO: [vdpau] 1280x720 => 1280x720 H.264 VDPAU acceleration 
    [VD_FFMPEG] XVMC-accelerated MPEG-2.
    A:  18.1 V:  18.1 A-V:  0.000 ct: -0.001   0/  0  3%  1%  1.4% 3 0
    I find this a bit confusing: H264/MPEG2, VDPAU/XVMC - which is it then?
    I think it's using VDPAU... But I'm not sure, don't know too much about mplayer's outputs, that is confusing...

    Originally posted by tiredoffglrx View Post
    mpv's output (thanks for the suggestion!) seems to be far more sane in that regard:

    Code:
    $ mpv test.mp4
    Playing: test.mp4
    Detected file format: QuickTime / MOV (libavformat)
    Clip info:
     major_brand: mp42
     minor_version: 0
     compatible_brands: mp42mp41isomavc1
     creation_time: 2013-06-20 11:01:31
    [stream] Video (+) --vid=1 (*) (h264)
    [stream] Audio (+) --aid=1 --alang=und (*) (aac)
    Trying to use hardware decoding.
    Selected video codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 [lavc:h264]
    Selected audio codec: AAC (Advanced Audio Coding) [lavc:aac]
    AO: [pulse] 48000Hz stereo 2ch floatle
    VO: [vdpau] 1280x720 => 1280x720 vdpau 
    [vo/vdpau] Compositing window manager detected. Assuming timing info is inaccurate.

    Anyway, thanks for all the help. With this and hardware accelerated flash working at last I couldn't be happier.

    Thanks again for everything!
    Yes, mpv's outputs are nice and clean, and to use hardware video decoding with vdpau on mpv all you need is --vo=vdpau and --hwdec=vdpau

    Leave a comment:


  • chii
    replied
    Originally posted by chithanh View Post
    The is no UVD support on RV770 at this time.
    ah ok thx, that explains everything

    Leave a comment:


  • chithanh
    replied
    Originally posted by chii View Post
    Code:
    OpenGL renderer string: Gallium 0.4 on AMD RV770
    The is no UVD support on RV770 at this time.

    Leave a comment:


  • chii
    replied
    hello!

    i'm facing the same problem as op. i'm on ubuntu 13.10 + drm-next kernel + oibaf ppa + libg3dvl-mesa with a radeon 4870(RV770). DPM works great but i'm having problems with vdpau+h264.

    here is the output of vdpauinfo:

    Code:
    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     8192  8192  NV12 YV12 
    422     8192  8192  UYVY YUYV 
    444     8192  8192  Y8U8V8A8 V8U8Y8A8 
    
    Decoder capabilities:
    
    name               level macbs width height
    -------------------------------------------
    MPEG1                 0 262144  8192  8192
    MPEG2_SIMPLE          3 262144  8192  8192
    MPEG2_MAIN            3 262144  8192  8192
    
    Output surface:
    
    name              width height nat types
    ----------------------------------------------------
    B8G8R8A8          8192  8192    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 
    R8G8B8A8          8192  8192    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 
    R10G10B10A2       8192  8192    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 
    B10G10R10A2       8192  8192    y  NV12 YV12 UYVY YUYV 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             -
    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     8192
    VIDEO_SURFACE_HEIGHT             y        48     8192
    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
    some additional informations:

    Code:
    glxinfo | grep OpenGL
    OpenGL vendor string: X.Org
    OpenGL renderer string: Gallium 0.4 on AMD RV770
    OpenGL core profile version string: 3.1 (Core Profile) Mesa 10.0.0-devel (git-b16b3c8 saucy-oibaf-ppa)
    OpenGL core profile shading language version string: 1.40
    OpenGL core profile context flags: (none)
    OpenGL core profile extensions:
    OpenGL version string: 3.0 Mesa 10.0.0-devel (git-b16b3c8 saucy-oibaf-ppa)
    OpenGL shading language version string: 1.30
    OpenGL context flags: (none)
    OpenGL extensions:
    dmesg | grep UVD shows nothing :/

    Code:
    uname -a
    Linux stefan-pc 3.12.0-996-generic #201310240405 SMP Thu Oct 24 08:06:55 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
    and all firmeware files from http://people.freedesktop.org/~agd5f/radeon_ucode/ are in /lib/firmware/radeon

    any suggestions plz ?

    Leave a comment:


  • tiredoffglrx
    replied
    Originally posted by Bushido_root View Post
    With mplayer you need to run vc=ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpa u
    E.g.:

    mplayer --vo=vdpau --vc=ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpa u /you/file/here.mkv

    In the mplayer output of the VO line you should get something like

    Code:
    VO: [vdpau] 1280x692 => 1280x692 [B]H.264 VDPAU acceleration[/B]
    Which means you're using hardware video decoding; you can also check dmesg (dmesg | grep power)

    EDIT: I don't think VDPAU on mplayer is all that good... You might want to consider updating to mplayer2, better yet, mpv.
    Thanks a bunch! I set my mplayer config up as you suggested and everything is working fine now:

    Code:
    $ cat ~/.mplayer/config
    # Write your default config options here!
    
    vo=vdpau,
    vc=ffmpeg12vdpau,ffh264vdpau,ffwmv3vdpau,ffvc1vdpau,
    Code:
    $ mplayer test.mp4
    [...]
    Starting playback...
    [VD_FFMPEG] Trying pixfmt=0.
    Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
    VO: [vdpau] 1280x720 => 1280x720 H.264 VDPAU acceleration 
    [VD_FFMPEG] XVMC-accelerated MPEG-2.
    A:  18.1 V:  18.1 A-V:  0.000 ct: -0.001   0/  0  3%  1%  1.4% 3 0
    I find this a bit confusing: H264/MPEG2, VDPAU/XVMC - which is it then? mpv's output (thanks for the suggestion!) seems to be far more sane in that regard:

    Code:
    $ mpv test.mp4
    Playing: test.mp4
    Detected file format: QuickTime / MOV (libavformat)
    Clip info:
     major_brand: mp42
     minor_version: 0
     compatible_brands: mp42mp41isomavc1
     creation_time: 2013-06-20 11:01:31
    [stream] Video (+) --vid=1 (*) (h264)
    [stream] Audio (+) --aid=1 --alang=und (*) (aac)
    Trying to use hardware decoding.
    Selected video codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 [lavc:h264]
    Selected audio codec: AAC (Advanced Audio Coding) [lavc:aac]
    AO: [pulse] 48000Hz stereo 2ch floatle
    VO: [vdpau] 1280x720 => 1280x720 vdpau 
    [vo/vdpau] Compositing window manager detected. Assuming timing info is inaccurate.

    Anyway, thanks for all the help. With this and hardware accelerated flash working at last I couldn't be happier.

    Thanks again for everything!

    Leave a comment:


  • Bushido_root
    replied
    With mplayer you need to run vc=ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpa u
    E.g.:

    mplayer --vo=vdpau --vc=ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpa u /you/file/here.mkv

    In the mplayer output of the VO line you should get something like

    Code:
    VO: [vdpau] 1280x692 => 1280x692 [B]H.264 VDPAU acceleration[/B]
    Which means you're using hardware video decoding; you can also check dmesg (dmesg | grep power)

    EDIT: I don't think VDPAU on mplayer is all that good... You might want to consider updating to mplayer2, better yet, mpv.
    Last edited by Bushido_root; 30 October 2013, 11:48 PM.

    Leave a comment:


  • tiredoffglrx
    replied
    Thank you for all the answers guys. I had some spare time so I did some more digging in accordance with your suggestions.

    -- unnecessary wall of diagnostics used to be here --


    Edit:

    Oh wow, I was just compiling a thoroughly researched answer with different information on my mesa versions, dmesg outputs, etc. when I decided to simply run vdpauinfo again. And - look at that - it works! Here's the output:

    Code:
    $ 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 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            1  9216  2048  1152
    VC1_MAIN              2  9216  2048  1152
    VC1_ADVANCED          4  9216  2048  1152
    Why this suddenly works? I have no idea. It could be related to the update I just did but I didn't check with vdpauinfo before so it might have been a simple reboot that fixed issue.

    Anyway, thank you very much for your help!


    Edit 2:

    Sorry about all the edits but I've just tried playing back a H264 encoded video in Mplayer and I not sure about the output. Would you say this means that everything is working fine or do we still have a problem on our hands?:

    Code:
    $ mplayer ./test.mp4
    MPlayer svn r34540 (Ubuntu), built with gcc-4.6 (C) 2000-2012 MPlayer Team
    mplayer: could not connect to socket
    mplayer: No such file or directory
    Failed to open LIRC support. You will not be able to use your remote control.
    
    Playing ./test.mp4.
    libavformat version 53.21.1 (external)
    Mismatching header version 53.19.0
    libavformat file format detected.
    [lavf] stream 0: video (h264), -vid 0
    [lavf] stream 1: audio (aac), -aid 0, -alang und
    VIDEO:  [H264]  1280x720  0bpp  23.976 fps  2294.4 kbps (280.1 kbyte/s)
    Clip info:
     major_brand: mp42
     minor_version: 0
     compatible_brands: mp42mp41isomavc1
     creation_time: 2013-06-20 11:01:31
    Load subtitles in ./
    ==========================================================================
    Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
    libavcodec version 53.35.0 (external)
    Mismatching header version 53.32.2
    Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
    ==========================================================================
    ==========================================================================
    Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
    AUDIO: 48000 Hz, 2 ch, s16le, 157.4 kbit/10.25% (ratio: 19671->192000)
    Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
    ==========================================================================
    AO: [pulse] 48000Hz 2ch s16le (2 bytes per sample)
    Starting playback...
    Unsupported PixelFormat 61
    Unsupported PixelFormat 53
    Unsupported PixelFormat 81
    Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
    VO: [vdpau] 1280x720 => 1280x720 Planar YV12 
    A:  44.1 V:  44.1 A-V:  0.000 ct: -0.001   0/  0 25%  2%  0.3% 0 0 
    
    
    MPlayer interrupted by signal 2 in module: sleep_timer
    A:  44.2 V:  44.2 A-V:  0.000 ct: -0.001   0/  0 25%  2%  0.3% 0 0 
    
    Exiting... (Quit)

    VLC output doesn't sound promising, but it's an older version:

    Code:
    vlc ./test.mp4
    VLC media player 2.0.9 Twoflower (revision 2.0.8+git20130930+r616)
    [0x22ad048] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
    
    "sni-qt/30473" WARN  01:38:23.954 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE 
    libva: VA-API version 0.32.0
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
    libva: va_openDriver() returns -1
    [h264 @ 0x7ff18cc4db60] Cannot parallelize deblocking type 1, decoding such frames in sequential order
    What do you guys think?

    Leave a comment:


  • agd5f
    replied
    Your vdpau driver looks like it was built without UVD support or UVD failed to initialize in the kernel. Make sure you have the appropriate UVD and RLC firmware installed.

    Leave a comment:


  • curaga
    replied
    You shouldn't be using g3dvl, that's XvMC (mpeg1 and mpeg2) only. Use the vdpau state tracker.

    Leave a comment:


  • gradinaruvasile
    replied
    Originally posted by tiredoffglrx View Post
    Code:
    vdpauinfo
    gives me the following output:

    Code:
    $ 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 YV12 
    422    16384 16384  UYVY YUYV 
    444    16384 16384  Y8U8V8A8 V8U8Y8A8 
    
    Decoder capabilities:
    
    name               level macbs width height
    -------------------------------------------
    MPEG1                 0 1048576 16384 16384
    MPEG2_SIMPLE          3 1048576 16384 16384
    MPEG2_MAIN            3 1048576 16384 16384
    
    Output surface:
    
    name              width height nat types
    ----------------------------------------------------
    B8G8R8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 
    R8G8B8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 
    R10G10B10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 
    B10G10R10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 
    
    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             -
    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    16384
    VIDEO_SURFACE_HEIGHT             y        48    16384
    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
    This is the output I get with qvdpautest:

    Code:
    qvdpautest 0.5.2
    Intel(R) Core(TM) i5 CPU       M 450  @ 2.40GHz
    Unknown GPU
    
    VDPAU API version : 1
    VDPAU implementation : G3DVL VDPAU Driver Shared Library version 1.0
    
    FATAL: get_bits failed : No backend implementation could be loaded.!!
    
    MPEG DECODING (1920x1080): 146 frames/s
    MPEG DECODING (1280x720): 309 frames/s
    Profile unsupported.
    Profile unsupported.
    Profile unsupported.
    Profile unsupported.
    
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    radeon: The kernel rejected CS, see dmesg for more information.
    [...]
    Definitely soomething wrong there. The UVD implementation in your card is capable of much more.

    - back on FGLRX I was able to get hardware accelerated H264 playback with
    Code:
    xvba-va-driver
    xvba-va is a joke (as is nvidia-va BTW). The only true xvba decoding is possible with the xbmc media player's already frozen (because they are focusing on radeon/vdpau now) FernetMenta's sub-branch which didnt made it into the main version.

    Do you guys have any idea what could be wrong here? Did I muss anything while switching to the FOSS drivers? Is there something I still need to install/configure?
    Definitely something wrong. Make sure you have new libdrm, xf86-ati, and mesa is compiled with vdpau support. I have everything compiled myself and VDPAU rocks on 7560D (which is a modified 6xxx series igp).

    P.S.: Just in case this is related: Whatever flags I set in Chrome, I can't get webgl to work. It will work fine in FF but not in Chrome/Chromium. Any idea what could be wrong?
    Chrome/Chromium has some bug in the webgl implementation i guess. I never got it to work with FOSS, while Firefox and derivates (Seamonkey) work just fine with the demos on the chromeexperiments site. Chrome's accelerated GPU thread always crashes.

    Leave a comment:

Working...
X