Bug 68805

Summary: 48 fps and 50 fps video decoding is stutter on UVD
Product: Mesa Reporter: russianneuromancer
Component: Drivers/Gallium/r600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: dmesg
vdpauinfo

Description russianneuromancer 2013-09-01 01:40:27 UTC
Created attachment 84985 [details]
dmesg

48 fps and 50 fps video decoding is stutter on UVD, even 720p. UVD on Radeon 6310 with fglrx driver as able to decode up to 1080p 50 fps video with zero dropper frames so hardware is capable of decoding such framerate.
There is 48 fps sample http://dl.dropbox.com/u/11564551/Inception_trailer_48fps.mkv but I want to notice - many camcorders record 1080p50 or even 1080p60 video this days, so this issue not just about trailers that upscaled from 24 to 48 fps.

Radeon HD 6310
Linux 3.11 with drm-next from this folder: http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-next/current/ (build 3.11.0-996.201308300442). radeon.dpm is enabled.
libdrm 2.4.46+git1308291007.f17d41
xserver-xorg-video-radeon 7.2.0+git1308270847.8927d3
Mesa 9.3~git1308301002.74be77
libvdpau1 0.7-1
mplayer2 2.0-554-gf63dbad
Ubuntu 13.04 x86_64

Driver, Mesa and firmwares installed from this PPA: https://launchpad.net/~oibaf/+archive/graphics-drivers

dmesg output attached.
vdpauinfo output attached.
Comment 1 russianneuromancer 2013-09-01 01:42:50 UTC
Created attachment 84989 [details]
vdpauinfo
Comment 2 kwahoo2 2013-09-01 12:52:37 UTC
I have very similar config to your (3.11 + DPM + oibaf PPA) except HD 6670 instead 6310 - but vdpainfo output looks exactly the same. However, I cannot confirm your issue. I am curious what is your /sys/kernel/debug/dri/0/radeon_pm_info?

Mine:
sudo cat /sys/kernel/debug/dri/0/radeon_pm_info
uvd    vclk: 70000 dclk: 56000
power level 0    sclk: 80000 mclk: 100000 vddc: 1100 vddci: 0
Comment 3 russianneuromancer 2013-09-02 04:07:45 UTC
While playback this sample video:
uvd    vclk: 53334 dclk: 40000
power level 0    sclk: 49231 vddc: 975

Quote from dmesg:
[147358.038752] switching from power state:
[147358.038772]         ui class: performance
[147358.038778]         internal class: none
[147358.038782]         caps: 
[147358.038787]         uvd    vclk: 0 dclk: 0
[147358.038793]                 power level 0    sclk: 27827 vddc: 900
[147358.038796]                 power level 1    sclk: 49231 vddc: 975
[147358.038799]         status: c 
[147358.038803] switching to power state:
[147358.038805]         ui class: none
[147358.038807]         internal class: uvd 
[147358.038811]         caps: 
[147358.038814]         uvd    vclk: 53334 dclk: 40000
[147358.038817]                 power level 0    sclk: 49231 vddc: 975
[147358.038819]         status: r
Comment 4 Grigori Goronzy 2013-09-02 11:43:07 UTC
There are some known performance problems with UVD. I don't believe we know why it is slower than fglrx yet. Maybe something subtle related to UVD setup.

Tiling is also disabled for UVD surfaces at the moment. This slightly reduces throughput, especially on GPUs with little memory bandwidth (such as APUs).
Comment 5 russianneuromancer 2014-04-10 10:27:38 UTC
Certainly fixed now.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.