Announcement

Collapse
No announcement yet.

AMD Releases Open-Source UVD Video Support

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

  • ptarcher
    replied
    Originally posted by agd5f View Post
    rs780/880 chips like the 4250 do not yet have UVD support. You are most likely using the shader based vdpau implementation in mesa or software rendering.
    My vdpauinfo outputs the following

    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  NV12 YV12 UYVY YUYV 
    444     8192  8192  NV12 YV12 Y8U8V8A8 V8U8Y8A8 
    
    Decoder capabilities:
    
    name               level macbs width height
    -------------------------------------------
    MPEG1                16 262144  8192  8192
    MPEG2_SIMPLE         16 262144  8192  8192
    MPEG2_MAIN           16 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
    And when playing with mplayer it only uses 30% CPU with perfectly smooth playback. I can actually play at least 2 HD video's at the same time with dynamic resize. Where should I be looking furthur to find if I am using shader based vdpau implementation in mesa or software rendering?

    Leave a comment:


  • agd5f
    replied
    Originally posted by ptarcher View Post
    I have been trying out the new UVD support for my built in Radeon HD 4250 and it works great playing 1080p video's in mplayer.
    I am now trying to set it up in mythtv to be able to take advantage of the smooth playback provided by vdpau.
    rs780/880 chips like the 4250 do not yet have UVD support. You are most likely using the shader based vdpau implementation in mesa or software rendering.

    Leave a comment:


  • brosis
    replied
    Originally posted by Ibidem View Post
    Since when did the Intel troll get a say on what radeon should do? :P

    Bridgman has said that there's better power management in the works (currently in legal review), which will replace the current code. Anyone who wants better dynpm is free to fix it, or sponsor someone if that's not an option, but it works well enough for me for the present, and when something better is already on the way I'm fine with AMD working on other aspects of the driver.
    Also, alenbo is right: Off topic.
    Since I purchased two of their cards recently and actually stayed with radeon... My priorities are different than yours, its not something wrong..
    But I do think that amount of people with TVCards that have Radeon in the system is lower ,than amount of people with Radeon cards (with TVCard or not).
    And I don't like flicker...

    Leave a comment:


  • ptarcher
    replied
    Hi all,

    I have been trying out the new UVD support for my built in Radeon HD 4250 and it works great playing 1080p video's in mplayer.
    I am now trying to set it up in mythtv to be able to take advantage of the smooth playback provided by vdpau.

    However I am getting an error in my mythtvfrontend.log:
    Code:
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext tv_play.cpp:1017 (TV) TV: Creating TV object
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: N CoreContext mythmainwindow.cpp:2606 (PauseIdleTimer) Resuming idle timer
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: N CoreContext mythmainwindow.cpp:2601 (PauseIdleTimer) Suspending idle timer
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext tv_play.cpp:1232 (Init) TV: Created TvPlayWindow.
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext tv_play.cpp:2155 (HandleStateChange) TV: Attempting to change from None to WatchingPreRecorded
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: E CoreContext audio/audiooutputalsa.cpp:172 (GetPCMInfo) ALSA: snd_pcm_info_get_card: Operation not permitted
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: N CoreContext audioplayer.cpp:167 (ReinitAudio) AudioPlayer: Enabling Audio
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext avformatdecoder.cpp:2141 (ScanStreams) AFD: Opened codec 0x62e52a0, id(MPEG2VIDEO) type(Video)
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext avformatdecoder.cpp:1999 (ScanStreams) AFD: codec MP2 has 2 channels
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext avformatdecoder.cpp:2141 (ScanStreams) AFD: Opened codec 0x62d21e0, id(MP2) type(Audio)
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext audio/audiooutputbase.cpp:791 (Reconfigure) AO: Opening audio device 'default' ch 2(2) sr 48000 sf signed 16 bit reenc 0
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: E CoreContext mythrender_vdpau.cpp:1388 (DrawBitmap) VDPAU: Error at mythrender_vdpau.cpp:1388 (#3, An invalid handle value was provided. Either the handle does not exist at all, or refers to an object of an incorrect type.)
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: E CoreContext mythrender_vdpau.cpp:1388 (DrawBitmap) VDPAU: Error at mythrender_vdpau.cpp:1388 (#3, An invalid handle value was provided. Either the handle does not exist at all, or refers to an object of an incorrect type.)
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext mythrender_vdpau.cpp:1682 (CreatePresentationSurfaces) VDPAU: Created 2 output surfaces.
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext mythrender_vdpau.cpp:1716 (CheckHardwareSupport) VDPAU: Version 1
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext mythrender_vdpau.cpp:1723 (CheckHardwareSupport) VDPAU: Information G3DVL VDPAU Driver Shared Library version 1.0
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext mythrender_vdpau.cpp:402 (Create) VDPAU: Created VDPAU render device 1920x1080
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: E CoreContext mythrender_vdpau.cpp:850 (CreateVideoMixer) VDPAU: Error at mythrender_vdpau.cpp:850 (#4, An invalid pointer was provided. Typically, this means that a NULL pointer was provided for an 'output' parameter.)
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: N CoreContext mythplayer.cpp:520 (CheckExtraAudioDecode) Player(0): Forcing decode extra audio option on (Video method requires it).
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext mythplayer.cpp:1754 (InitAVSync) Player(0): Video timing method: DRM
    Apr 28 23:58:16 mediapc mythlogserver: mythfrontend[3963]: I CoreContext tv_play.cpp:5240 (StartPlayer) TV: Created player.
    From the log it can be seen that at mythrender_vdpau.cpp:1388 its failing.
    This is calling the function vdp_output_surface_render_bitmap_surface().

    I am not sure what to do to futhur debug this problem. I am a very capable C programer, I just don't know the links between mesa/vdpau/uvd/mythtv. If there is any output that I can get to help debug this problem that would be great (alternatively pointers on how to debug this myself would be handy)! I have been waiting so long for UVD support on ATi/AMD and to finally have it so close to mythtv playback is tantalising.

    Leave a comment:


  • Ibidem
    replied
    Originally posted by brosis View Post
    I disagree... The better option would be to target working dynpm, or perhaps even better dynamic clocking... Manual profile-switching is not very convinient...
    Since when did the Intel troll get a say on what radeon should do? :P

    Bridgman has said that there's better power management in the works (currently in legal review), which will replace the current code. Anyone who wants better dynpm is free to fix it, or sponsor someone if that's not an option, but it works well enough for me for the present, and when something better is already on the way I'm fine with AMD working on other aspects of the driver.
    Also, alenbo is right: Off topic.

    Leave a comment:


  • AJenbo
    replied
    Originally posted by brosis View Post
    I disagree... The better option would be to target working dynpm, or perhaps even better dynamic clocking... Manual profile-switching is not very convinient...
    Off topic :P

    Leave a comment:


  • smitty3268
    replied
    Originally posted by Hibbelharry View Post
    One big piece I'm missing are deinterlacers, which are quiet relevant for watching TV and friends. Bridgman, Tim and fellows, can you give us any information if enabling deinterlacers via vdpau is on the roadmap ?
    Deinterlacing should be easy to add as a simple postprocessing shader, i would think, and a good place for outside contributions. I'd rather see the AMD guys work more on finishing their hardware support, and let somebody from the community add this to vdpau.

    Leave a comment:


  • brosis
    replied
    Originally posted by Hibbelharry View Post
    One big piece I'm missing are deinterlacers, which are quiet relevant for watching TV and friends. Bridgman, Tim and fellows, can you give us any information if enabling deinterlacers via vdpau is on the roadmap ?
    I disagree... The better option would be to target working dynpm, or perhaps even better dynamic clocking... Manual profile-switching is not very convinient...

    Leave a comment:


  • Hibbelharry
    replied
    I tried building the UDV enabled Videostack on one of my boxes with an HD6xxx card and it seems to work, which is really great. CPU Usage is low for my tested material and glitchfree, hooray !

    One big piece I'm missing are deinterlacers, which are quiet relevant for watching TV and friends. Bridgman, Tim and fellows, can you give us any information if enabling deinterlacers via vdpau is on the roadmap ?

    Greetings !
    Hibbelharry

    For all you others, this is the output for vdpauinfo:

    Code:
    [email protected]:~$ 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
    
    Output surface:
    
    name          	width height nat types
    ----------------------------------------------------
    B8G8R8A8     	16384 16384	y  NV12
    R8G8B8A8     	16384 16384	y  NV12
    R10G10B10A2  	16384 16384	y  NV12
    B10G10R10A2  	16384 16384	y  NV12
    
    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 	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

    Leave a comment:


  • bibi
    replied
    Yes, see here : http://forum.xbmc.org/showthread.php...16996&page=212 (post 2111).
    I use catalyst because i need xvba but i get so much issues with it that i could pray God to get full OSS video driver implementation (VDPAU + hdmi passthrough)

    Excuse me DroidHacker ^^.

    Bibi

    Leave a comment:

Working...
X