Announcement

Collapse
No announcement yet.

AMD's UVD2-based XvBA Finally Does Something On Linux

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

  • Originally posted by Dandel View Post
    I get the exact same problem your seeing... Anyways, here's some of the program output:
    Code:
    libva: libva version 0.31.1
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
    libva: va_openDriver() returns -1
    libva: libva version 0.31.1
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
    libva: va_openDriver() returns -1
    The driver was not found at that location. Make sure /usr/lib/dri/fglrx_drv_video.so exists and is actually part of xvba-video 0.7.5 (add symlinks to /usr/lib/va/drivers/ files). Then prefix `vainfo', or any other application, with XVBA_VIDEO_DEBUG=1 for some extra information.

    Comment


    • Alright... now i see some video acceleration... However, the output is still a mozaic of square blocks that don't even look like the video.

      Comment


      • Originally posted by Dandel View Post
        Alright... now i see some video acceleration... However, the output is still a mozaic of square blocks that don't even look like the video.
        $ glxinfo
        (GLX extensions, among others)

        $ ./vaapi_vc1 --size 320x240
        (a capture of the window only, so the resulting .png file should be of the same size). VC-1 sample looks simpler because I can see a pattern more easily...

        + the same capture with xvba-video 0.7.4

        Comment


        • Alright... here's the other information...

          vaapi_vc1 i don't have the command.
          MPlayer with VAAPI Enabled, I get display errors (oddly enough)
          XBMC i get Video, but have a garbled video output... See the screenshot for an example.



          Glxinfo:
          Code:
          name of display: :0.0
          display: :0  screen: 0
          direct rendering: Yes
          server glx vendor string: ATI
          server glx version string: 1.4
          server glx extensions:
              GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, 
              GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method, 
              GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGIS_multisample, 
              GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group
          client glx vendor string: ATI
          client glx version string: 1.4
          client glx extensions:
              GLX_ARB_create_context, GLX_ARB_create_context_profile, 
              GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
              GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 
              GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_NV_swap_group, 
              GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control, 
              GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 
              GLX_SGIX_pbuffer, GLX_SGIX_swap_barrier, GLX_SGIX_swap_group, 
              GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap, 
              GLX_EXT_framebuffer_sRGB, GLX_ARB_fbconfig_float, GLX_AMD_gpu_association
          GLX version: 1.4
          GLX extensions:
              GLX_ARB_create_context, GLX_ARB_create_context_profile, 
              GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
              GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_swap_control, 
              GLX_NV_swap_group, GLX_OML_swap_method, GLX_SGI_make_current_read, 
              GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample, 
              GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_swap_barrier, 
              GLX_SGIX_swap_group, GLX_SGIX_visual_select_group, 
              GLX_EXT_texture_from_pixmap
          OpenGL vendor string: ATI Technologies Inc.
          OpenGL renderer string: ATI Radeon HD 5700 Series
          OpenGL version string: 4.0.10188 Compatibility Profile Context
          OpenGL shading language version string: 4.00
          OpenGL extensions:
              GL_AMDX_debug_output, GL_AMDX_vertex_shader_tessellator, 
              GL_AMD_conservative_depth, GL_AMD_debug_output, GL_AMD_draw_buffers_blend, 
              GL_AMD_name_gen_delete, GL_AMD_performance_monitor, 
              GL_AMD_sample_positions, GL_AMD_seamless_cubemap_per_texture, 
              GL_AMD_shader_stencil_export, GL_AMD_texture_cube_map_array, 
              GL_AMD_texture_texture4, GL_AMD_transform_feedback3_lines_triangles, 
              GL_AMD_vertex_shader_tessellator, GL_ARB_blend_func_extended, 
              GL_ARB_color_buffer_float, GL_ARB_copy_buffer, GL_ARB_depth_buffer_float, 
              GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_draw_buffers, 
              GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, 
              GL_ARB_draw_indirect, GL_ARB_draw_instanced, 
              GL_ARB_explicit_attrib_location, GL_ARB_fragment_coord_conventions, 
              GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
              GL_ARB_fragment_shader, GL_ARB_framebuffer_object, 
              GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, GL_ARB_gpu_shader5, 
              GL_ARB_gpu_shader_fp64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, 
              GL_ARB_imaging, GL_ARB_instanced_arrays, GL_ARB_map_buffer_range, 
              GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, 
              GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, 
              GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex, 
              GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, 
              GL_ARB_shader_atomic_counters, GL_ARB_shader_bit_encoding, 
              GL_ARB_shader_objects, GL_ARB_shader_subroutine, 
              GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, GL_ARB_shadow, 
              GL_ARB_shadow_ambient, GL_ARB_sync, GL_ARB_tessellation_shader, 
              GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, 
              GL_ARB_texture_compression, GL_ARB_texture_compression_rgtc, 
              GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, 
              GL_ARB_texture_env_add, GL_ARB_texture_env_combine, 
              GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, 
              GL_ARB_texture_float, GL_ARB_texture_gather, 
              GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample, 
              GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_lod, 
              GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, 
              GL_ARB_texture_snorm, GL_ARB_timer_query, GL_ARB_transform_feedback2, 
              GL_ARB_transform_feedback3, GL_ARB_transpose_matrix, 
              GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, 
              GL_ARB_vertex_array_object, GL_ARB_vertex_buffer_object, 
              GL_ARB_vertex_program, GL_ARB_vertex_shader, 
              GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_window_pos, GL_ATI_draw_buffers, 
              GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_meminfo, 
              GL_ATI_separate_stencil, GL_ATI_texture_compression_3dc, 
              GL_ATI_texture_env_combine3, GL_ATI_texture_float, 
              GL_ATI_texture_mirror_once, GL_EXT_abgr, GL_EXT_bgra, 
              GL_EXT_bindable_uniform, GL_EXT_blend_color, 
              GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, 
              GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, 
              GL_EXT_copy_buffer, GL_EXT_copy_texture, GL_EXT_direct_state_access, 
              GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, 
              GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, 
              GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, 
              GL_EXT_geometry_shader4, GL_EXT_gpu_program_parameters, 
              GL_EXT_gpu_shader4, GL_EXT_histogram, GL_EXT_multi_draw_arrays, 
              GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, 
              GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, 
              GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
              GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap, 
              GL_EXT_subtexture, GL_EXT_texgen_reflection, GL_EXT_texture3D, 
              GL_EXT_texture_array, GL_EXT_texture_buffer_object, 
              GL_EXT_texture_buffer_object_rgb32, GL_EXT_texture_compression_bptc, 
              GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc, 
              GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, 
              GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, 
              GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 
              GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer, 
              GL_EXT_texture_lod, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, 
              GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, 
              GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, 
              GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, 
              GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, 
              GL_IBM_texture_mirrored_repeat, GL_KTX_buffer_region, GL_NV_blend_square, 
              GL_NV_conditional_render, GL_NV_copy_depth_to_color, 
              GL_NV_explicit_multisample, GL_NV_float_buffer, GL_NV_half_float, 
              GL_NV_primitive_restart, GL_NV_texgen_reflection, GL_SGIS_generate_mipmap, 
              GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays, 
              GL_WIN_swap_hint, WGL_EXT_swap_control

          Comment


          • Originally posted by Dandel View Post
            vaapi_vc1 i don't have the command.
            This program is part of hwdecode-demos (0.9.4):
            http://www.splitted-desktop.com/~gbe...wdecode-demos/

            I want both captures of the following:
            $ ./vaapi_vc1 --size 320x240
            $ ./vaapi_vc1 --size 320x240 --no-glx-use-reflection

            Since there is no option to disable the Evergreen shaders, other captures with xvba-video 0.7.4 could show different things too.

            Have you tried with 10.10?

            MPlayer with VAAPI Enabled, I get display errors (oddly enough)
            What is the difference between "display errors" and the aforementioned "garbled video outpu"? How do you invoke mplayer BTW?

            XBMC i get Video, but have a garbled video output... See the screenshot for an example.
            Yes but I don't know your video, so it's hard for me to derive a pattern, that's why I want screenshots from my programs.

            Anyway, the problem looks too random, thus suggesting one or two uses of uninitialized variables in the fglrx driver... Don't even try valgrind or you would faint.

            Comment


            • Alright... thanks for the link to use for the test... Here's the outputs of the various vaapi commands and when a comand quit without leaving a render window, i am attaching the console output... otherwise it's a screenshot...

              Vaapi vc1 decode:


              Vaapi vc1 decode: (with glx no Reflection)


              Vaapi h264 decode:


              Vaapi mpeg4 decode:
              Code:
              [email protected]:~/Downloads/hwdecode-demos-0.9.4/src$ ./vaapi_mpeg4
              Display type 'x11'
              Hardware accelerator 'vaapi'
              [hwdecode_demos] VA display 0x1efd550
              libva: libva version 0.31.1
              Xlib:  extension "XFree86-DRI" missing on display ":0.0".
              libva: va_getDriverName() returns 0
              libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
              libva: va_openDriver() returns 0
              [hwdecode_demos] VA API version 0.31
              [hwdecode_demos] 6 display attributes available
              [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 1 max 1 value 0x1
              [hwdecode_demos]   VADisplayAttribBackgroundColor   (get/set) min 0 max 16777215 value 0xffffff
              [hwdecode_demos]   VADisplayAttribBrightness        (get/set) min -100 max 100 value 0x0
              [hwdecode_demos]   VADisplayAttribContrast          (get/set) min -100 max 100 value 0x0
              [hwdecode_demos]   VADisplayAttribHue               (get/set) min -100 max 100 value 0x0
              [hwdecode_demos]   VADisplayAttribSaturation        (get/set) min -100 max 100 value 0x0
              [hwdecode_demos] Decoded surface size: 320x240
              [hwdecode_demos] 4 profiles available
              [hwdecode_demos]   VAProfileMPEG2Simple
              [hwdecode_demos]   VAProfileMPEG2Main
              [hwdecode_demos]   VAProfileH264High
              [hwdecode_demos]   VAProfileVC1Advanced
              ERROR: decode failed
              vaapi mpeg2 decode:
              Code:
              [email protected]:~/Downloads/hwdecode-demos-0.9.4/src$ ./vaapi_mpeg2
              Display type 'x11'
              Hardware accelerator 'vaapi'
              [hwdecode_demos] VA display 0x11e1550
              libva: libva version 0.31.1
              Xlib:  extension "XFree86-DRI" missing on display ":0.0".
              libva: va_getDriverName() returns 0
              libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
              libva: va_openDriver() returns 0
              [hwdecode_demos] VA API version 0.31
              [hwdecode_demos] 6 display attributes available
              [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 1 max 1 value 0x1
              [hwdecode_demos]   VADisplayAttribBackgroundColor   (get/set) min 0 max 16777215 value 0xffffff
              [hwdecode_demos]   VADisplayAttribBrightness        (get/set) min -100 max 100 value 0x0
              [hwdecode_demos]   VADisplayAttribContrast          (get/set) min -100 max 100 value 0x0
              [hwdecode_demos]   VADisplayAttribHue               (get/set) min -100 max 100 value 0x0
              [hwdecode_demos]   VADisplayAttribSaturation        (get/set) min -100 max 100 value 0x0
              [hwdecode_demos] Decoded surface size: 320x240
              [hwdecode_demos] 4 profiles available
              [hwdecode_demos]   VAProfileMPEG2Simple
              [hwdecode_demos]   VAProfileMPEG2Main
              [hwdecode_demos]   VAProfileH264High
              [hwdecode_demos]   VAProfileVC1Advanced
              [hwdecode_demos] 1 entrypoints available for VAProfileMPEG2Main
              [hwdecode_demos]   VAEntrypointIDCT
              ERROR: decode failed

              Comment


              • Originally posted by Dandel View Post
                Alright... thanks for the link to use for the test... Here's the outputs of the various vaapi commands and when a comand quit without leaving a render window, i am attaching the console output... otherwise it's a screenshot...
                Could you please provide a link to screenshots of the resulting window only. With a GNOME desktop, you could just press <Alt>-<PrintScreen>. Thanks.

                Could you please return to xvba-video 0.7.4 and regenerate screenshots for the same commands, prefixed with XVBA_VIDEO_DEBUG=1 ?

                BTW, this looks like swapped X/Y coords, through 8x8 tiles. Have you tried with 10.10 drivers?

                Vaapi mpeg4 decode:
                vaapi mpeg2 decode:
                Those are not supported on ATI chips. The latter could be made to work at the IDCT level, but this would be a waste of effort, IMHO.

                Comment


                • EDIT: The resulting images should be 320x240, hence the --size 320x240 option (dash-dash-size 320x240).

                  Comment


                  • Alright, here's the two screen-shots you requested (With desktop), however what happened with the other images is i cropped them so that only what is relevant pictures where used.
                    $ ./vaapi_vc1 --size 320x240


                    $ ./vaapi_vc1 --size 320x240 --no-glx-use-reflection

                    Comment


                    • Originally posted by Dandel View Post
                      Alright, here's the two screen-shots you requested (With desktop), however what happened with the other images is i cropped them so that only what is relevant pictures where used.
                      $ ./vaapi_vc1 --size 320x240


                      $ ./vaapi_vc1 --size 320x240 --no-glx-use-reflection
                      Please confirm this is taken with xvba-video 0.7.4.
                      Please also make sure to generate a screenshot of the window. i.e. without the rest of the desktop. Like I said previously, on a GNOME desktop, this will be Alt-PrintScreen. Otherwise, I will have to crop myself and I could miss 1 pixel band...

                      Thanks.

                      Comment

                      Working...
                      X