Announcement

Collapse
No announcement yet.

H.264 VA-API Encode Comes To Gallium3D

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

  • H.264 VA-API Encode Comes To Gallium3D

    Phoronix: H.264 VA-API Encode Comes To Gallium3D

    Thanks to work by AMD developers, there is support for accelerated H.264 video encoding with the VA-API implementation in Gallium3D...

    http://www.phoronix.com/scan.php?pag...code-Gallium3D

  • #2
    Thanks, AMD! Hopefully early code will be stable with Pitivi.

    Comment


    • #3
      I don't think anyone did apply for the GSoC for adding OpenMAX IL from Tizonia instead of Bellagio, does anyone else work on that?
      I don't think to many wants to install the old unmaintained OpenMAX IL Bellagio.

      Comment


      • #4
        Nice; any idea if it will enable high quality encoding, or if it is focussed on speed like the other hardware encoders I’ve heard about?

        Comment


        • #5
          what about hardware decode support? thanks.

          Comment


          • #6
            Originally posted by Azrael5 View Post
            what about hardware decode support? thanks.
            That's done.

            Code:
            # vainfo
            
            libva info: VA-API version 0.39.2
            libva info: va_getDriverName() returns 0
            libva info: Trying to open /usr/lib64/va/drivers/gallium_drv_video.so
            libva info: Found init function __vaDriverInit_0_39
            libva info: va_openDriver() returns 0
            vainfo: VA-API version: 0.39 (libva 1.7.1)
            vainfo: Driver version: mesa gallium vaapi
            vainfo: Supported profile and entrypoints
                  VAProfileMPEG2Simple            : VAEntrypointVLD
                  VAProfileMPEG2Main              : VAEntrypointVLD
                  VAProfileVC1Simple              : VAEntrypointVLD
                  VAProfileVC1Main                : VAEntrypointVLD
                  VAProfileVC1Advanced            : VAEntrypointVLD
                  VAProfileH264Baseline           : VAEntrypointVLD
                  VAProfileH264Main               : VAEntrypointVLD
                  VAProfileH264High               : VAEntrypointVLD
                  VAProfileNone                   : VAEntrypointVideoPro
            00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Trinity [Radeon HD 7480D]

            Comment


            • #7
              Originally posted by Serafean View Post

              That's done.

              Code:
              # vainfo
              
              libva info: VA-API version 0.39.2
              libva info: va_getDriverName() returns 0
              libva info: Trying to open /usr/lib64/va/drivers/gallium_drv_video.so
              libva info: Found init function __vaDriverInit_0_39
              libva info: va_openDriver() returns 0
              vainfo: VA-API version: 0.39 (libva 1.7.1)
              vainfo: Driver version: mesa gallium vaapi
              vainfo: Supported profile and entrypoints
              VAProfileMPEG2Simple : VAEntrypointVLD
              VAProfileMPEG2Main : VAEntrypointVLD
              VAProfileVC1Simple : VAEntrypointVLD
              VAProfileVC1Main : VAEntrypointVLD
              VAProfileVC1Advanced : VAEntrypointVLD
              VAProfileH264Baseline : VAEntrypointVLD
              VAProfileH264Main : VAEntrypointVLD
              VAProfileH264High : VAEntrypointVLD
              VAProfileNone : VAEntrypointVideoPro
              00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Trinity [Radeon HD 7480D]
              thanks for the answer: that's my return:

              libva info: VA-API version 0.39.0
              libva info: va_getDriverName() returns 0
              libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
              libva info: va_openDriver() returns -1
              vaInitialize failed with error code -1 (unknown libva error),exit

              Comment


              • #8
                ^Some distros have a separate package (Debian has mesa-va-drivers).

                Comment


                • #9
                  Originally posted by Azrael5 View Post

                  thanks for the answer: that's my return:

                  libva info: VA-API version 0.39.0
                  libva info: va_getDriverName() returns 0
                  libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
                  libva info: va_openDriver() returns -1
                  vaInitialize failed with error code -1 (unknown libva error),exit
                  If you have mesa <12.0.0, then you probably only have /usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so, so you should export LIBVA_DRIVER_NAME=gallium. With mesa-12.0.0 and newer there are proper hardlinks, e. g. on gentoo:
                  Code:
                  $ ls -l /usr/lib64/va/drivers/
                  total 5608
                  -rwxr-xr-x 2 root root 2867296 Jul  9 23:18 r600_drv_video.so
                  -rwxr-xr-x 2 root root 2867296 Jul  9 23:18 radeonsi_drv_video.so
                  Last edited by puleglot; 14 July 2016, 08:57 AM.

                  Comment


                  • #10
                    For a moment I was like "uh... hasn't this been around for a while" but then I misread that it was encode. Pretty cool though - it'd be interesting to see some benchmarks, particularly ones that involve CPU and GPU usage.


                    Makes me wonder - for people who do screen recording on a discrete GPU, could you use VA-API encoding accelerated by an IGP? Seems like it'd be a great use to hardware that most people don't care about. Screen recording can usually be pretty demanding.
                    Last edited by schmidtbag; 14 July 2016, 09:36 AM.

                    Comment

                    Working...
                    X