Announcement

Collapse
No announcement yet.

AMD Releases Open-Source UVD Video Support

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

  • Hi DroidHacker, Bridgman,

    Do you plan to use glInterOp ? I use Xbmc daily and would like so much to leave catalyst/xvba to open source driver.


    Bibi

    Comment


    • Originally posted by bibi View Post
      Hi DroidHacker, Bridgman,

      Do you plan to use glInterOp ? I use Xbmc daily and would like so much to leave catalyst/xvba to open source driver.


      Bibi
      I think you must have me mistaken for somebody I'm not... I don't have anything to do with radeon or xbmc development.

      Comment


      • Originally posted by droidhacker View Post
        ... I don't have anything to do with radeon or xbmc development.
        Neither do I, but I still answer questions

        bibi, are you talking about GL_NV_vdpau_interop ?
        Last edited by bridgman; 04-23-2013, 11:51 AM.

        Comment


        • 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

          Comment


          • 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:
            wilken@hibbelhtpc:~$ 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

            Comment


            • 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...

              Comment


              • 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.

                Comment


                • 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

                  Comment


                  • 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.

                    Comment


                    • 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.

                      Comment

                      Working...
                      X