[Libva] Evaluate VP9 Hardware accelerated encode/decode on KabyLake

Vijayaraghavan, Vasavee vasavee.vijayaraghavan at intel.com
Mon Dec 12 18:45:38 UTC 2016


Hi Haihao,

I might have missed setting the PKG_CONFIG_PATH while trying to use './configure --prefix=/usr --exec-prefix=/'.
But like Daniel suggested, I did a clean install with default paths and it works fine for me. 

I have installed libyami and libyami utils to test VP9 encode and decode. I am able to run VP9 encode and decode using the pre-built binaries located in libyami-utils/tools (yamiencode and yamidecode).  
I am facing issues in playing back the VP9 encoded video. 
Say test.ivf is my VP9 encoded output, when I playback the file using ffplay or VLC player, I am able to see only the first and last frame of the encoded video (though the video shows to have 500 frames - same as the input yuv; verified the number of frames using ffprobe). Although, when I decode it back to yuv, the yuv is exactly the same as original input yuv and plays all the frames fine. 

At this point, I haven’t added any quality control factor to encode the video and hence I have used a simple command line:
$cd /home/user/libyami-utils/tools
$./yamiencode -c VP9 -i input.yuv -W <> -H <> -s I420 -f 30 -N 500 -o test.ivf

Am I missing something in the commandline which is why I am unable to play the output?

Note: I tried playing pre-encoded test_vp9.ivf files available through MediaSDK samples and they played without an issue.

-Thanks
Vasavee

-----Original Message-----
From: Xiang, Haihao 
Sent: Wednesday, December 7, 2016 8:07 PM
To: Charles, Daniel <daniel.charles at intel.com>; Vijayaraghavan, Vasavee <vasavee.vijayaraghavan at intel.com>
Cc: libva at lists.freedesktop.org
Subject: Re: [Libva] Evaluate VP9 Hardware accelerated encode/decode on KabyLake


I think './configure --prefix=/usr --exec-prefix=/' should work too, otherwise it might have issue. Actually this configuration works fine for me when I build libva and libva-intel-driver. I set PKG_CONFIG_PATH variable to /lib/pkgconfig because libva.pc is installed in /lib/pkgconfig which is not in the default pkg-config search path.

Thanks
Haihao

> Hi Daniel,
> 
> That was right. I messed up a bit with the paths, uninstalling and 
> then re-installing with the default path in configure worked fine this 
> time.
> Thanks!
> 
> -best Regards,
> Vasavee
> 
> 
> -----Original Message-----
> From: Charles, Daniel [mailto:daniel.charles at intel.com]
> Sent: Wednesday, December 7, 2016 5:25 PM
> To: Vijayaraghavan, Vasavee <vasavee.vijayaraghavan at intel.com>
> Cc: Xiang, Haihao <haihao.xiang at intel.com>; libva at lists.freedesktop.o 
> rg
> Subject: Re: [Libva] Evaluate VP9 Hardware accelerated encode/decode 
> on KabyLake
> 
> That's not expected, libdrm should also compile ok on the defaults.
> Normally what I see Ubuntu users do is to run  $sudo make install
> 
> If you just want to install it on a custom folder, -- 
> prefix=<some_dir> should be sufficient for all packages you listed, no 
> need to mess up with --exec-dir
> 
> --
> Daniel.
> 
> 
> 
> On Wed, Dec 7, 2016 at 5:07 PM, Vijayaraghavan, Vasavee 
> <vasavee.vijayaraghavan at intel.com> wrote:
> > Hi Daniel.
> > I believe so, I used this configuration because my libdrm doesn’t 
> > build if I use the default config options.
> > 
> > -Thanks
> > Vasavee
> > 
> > -----Original Message-----
> > From: Charles, Daniel [mailto:daniel.charles at intel.com]
> > Sent: Wednesday, December 7, 2016 3:36 PM
> > To: Vijayaraghavan, Vasavee <vasavee.vijayaraghavan at intel.com>
> > Cc: Xiang, Haihao <haihao.xiang at intel.com>; libva at lists.freedesktop 
> > .org
> > Subject: Re: [Libva] Evaluate VP9 Hardware accelerated encode/decode 
> > on KabyLake
> > 
> > Hello Vasavee,
> > 
> > Is your user allowed to write files on the --prefix=/usr and the -- 
> > exec-prefix=/ directories?
> > 
> > If you want to install it on the default place you don't need to 
> > specify those
> > 
> > --
> > Daniel.
> > 
> > On Wed, Dec 7, 2016 at 2:24 PM, Vijayaraghavan, Vasavee <vasavee.vi 
> > jayaraghavan at intel.com> wrote:
> > > Hi Haihao,
> > > 
> > > I am trying to build the intel graphics stack on Ubuntu 16.10
> > > with:
> > > -linux kernel version  4.8.0 (default kernel that comes with 
> > > Ubuntu
> > > 16.10) -libdrm version 2.4.68 -libva version 1.7.3
> > > 
> > > I am having trouble upgrading the libva-intel-driver-1.7.3.
> > > I have error while trying to compile it (I used this for
> > > configuring:
> > > ./configure --prefix=/usr --exec-prefix=/) Error below:
> > > user at test-MS-B142:~/Downloads/libva-intel-driver-1.7.3$ make 
> > > Making all in debian.upstream
> > > make[1]: Entering directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/debian.upstream'
> > > make[1]: Nothing to be done for 'all'.
> > > make[1]: Leaving directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/debian.upstream'
> > > Making all in src
> > > make[1]: Entering directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src'
> > >   GEN      intel_version.h
> > > make  all-recursive
> > > make[2]: Entering directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src'
> > > Making all in shaders
> > > make[3]: Entering directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders'
> > > Making all in h264
> > > make[4]: Entering directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders/h264'
> > > Making all in ildb
> > > make[5]: Entering directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders/h264/ildb'
> > > make[5]: Nothing to be done for 'all'.
> > > make[5]: Leaving directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders/h264/ildb'
> > > Making all in mc
> > > make[5]: Entering directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders/h264/mc'
> > > make[5]: Nothing to be done for 'all'.
> > > make[5]: Leaving directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders/h264/mc'
> > > make[5]: Entering directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders/h264'
> > > make[5]: Nothing to be done for 'all-am'.
> > > make[5]: Leaving directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders/h264'
> > > make[4]: Leaving directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders/h264'
> > > Making all in mpeg2
> > > make[4]: Entering directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders/mpeg2'
> > > Making all in vld
> > > make[5]: Entering directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders/mpeg2/vld'
> > >   GEN      frame_intra.g4b
> > > frame_intra.g4s: 1: syntax error at ""
> > > Makefile:560: recipe for target 'frame_intra.g4b' failed
> > > make[5]: *** [frame_intra.g4b] Error 1
> > > make[5]: Leaving directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders/mpeg2/vld'
> > > Makefile:366: recipe for target 'all-recursive' failed
> > > make[4]: *** [all-recursive] Error 1
> > > make[4]: Leaving directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders/mpeg2'
> > > Makefile:367: recipe for target 'all-recursive' failed
> > > make[3]: *** [all-recursive] Error 1
> > > make[3]: Leaving directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src/shaders'
> > > Makefile:1170: recipe for target 'all-recursive' failed
> > > make[2]: *** [all-recursive] Error 1
> > > make[2]: Leaving directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src'
> > > Makefile:595: recipe for target 'all' failed
> > > make[1]: *** [all] Error 2
> > > make[1]: Leaving directory '/home/user/Downloads/libva-intel-
> > > driver-1.7.3/src'
> > > Makefile:403: recipe for target 'all-recursive' failed
> > > make: *** [all-recursive] Error 1
> > > 
> > > Output of vainfo:
> > > libva info: VA-API version 0.39.2
> > > libva info: va_getDriverName() returns 0 libva info: Trying to 
> > > open /usr/lib/x86_64-linux-gnu/dri/i965_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.3)
> > > vainfo: Driver version: Intel i965 driver for Intel(R) Kabylake -
> > > 1.7.1
> > > vainfo: Supported profile and entrypoints
> > >       VAProfileMPEG2Simple            : VAEntrypointVLD
> > >       VAProfileMPEG2Simple            : VAEntrypointEncSlice
> > >       VAProfileMPEG2Main              : VAEntrypointVLD
> > >       VAProfileMPEG2Main              : VAEntrypointEncSlice
> > >       VAProfileH264ConstrainedBaseline: VAEntrypointVLD
> > >       VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
> > >       VAProfileH264Main               : VAEntrypointVLD
> > >       VAProfileH264Main               : VAEntrypointEncSlice
> > >       VAProfileH264High               : VAEntrypointVLD
> > >       VAProfileH264High               : VAEntrypointEncSlice
> > >       VAProfileH264MultiviewHigh      : VAEntrypointVLD
> > >       VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
> > >       VAProfileH264StereoHigh         : VAEntrypointVLD
> > >       VAProfileH264StereoHigh         : VAEntrypointEncSlice
> > >       VAProfileVC1Simple              : VAEntrypointVLD
> > >       VAProfileVC1Main                : VAEntrypointVLD
> > >       VAProfileVC1Advanced            : VAEntrypointVLD
> > >       VAProfileNone                   : VAEntrypointVideoProc
> > >       VAProfileJPEGBaseline           : VAEntrypointVLD
> > >       VAProfileJPEGBaseline           : VAEntrypointEncPicture
> > >       VAProfileVP8Version0_3          : VAEntrypointVLD
> > >       VAProfileVP8Version0_3          : VAEntrypointEncSlice
> > >       VAProfileHEVCMain               : VAEntrypointVLD
> > >       VAProfileHEVCMain               : VAEntrypointEncSlice
> > >       VAProfileHEVCMain10             : VAEntrypointVLD
> > >       VAProfileVP9Profile0            : VAEntrypointVLD
> > >       VAProfileVP9Profile0            : VAEntrypointEncSlice
> > >       VAProfileVP9Profile2            : VAEntrypointVLD
> > > 
> > > -Thanks
> > > Vasavee
> > > 
> > > -----Original Message-----
> > > From: Xiang, Haihao
> > > Sent: Tuesday, November 29, 2016 12:12 AM
> > > To: Vijayaraghavan, Vasavee <vasavee.vijayaraghavan at intel.com>;
> > > libva at lists.freedesktop.org
> > > Subject: Re: [Libva] Evaluate VP9 Hardware accelerated 
> > > encode/decode on KabyLake
> > > 
> > > 
> > > 1. Linux kernel
> > > 
> > > It would be better to install a recent stable kernel or rc kernel. 
> > > The kernel in the specific Linux OS might not support Kabylake.
> > > 
> > > 2. Mesa/Cairo
> > > 
> > > It is not needed.
> > > 
> > > 3. Xorg / xf86-video-intel
> > > 
> > > It is not needed if you won't playback a video, otherwise you 
> > > should check xf86-video-intel supports Kabylake or not. Usually 
> > > you needn't update Xorg.
> > > 
> > > 4. libdrm
> > > 
> > > libdrm in the specific Linux OS might not support Kabylake, so it 
> > > would be better to install a recent version of libdrm.
> > > 
> > > 5. libva/libva-intel-driver
> > > 
> > > The latest version is 1.7.3
> > > 
> > > Thanks
> > > Haihao
> > > 
> > > > Sorry, didn’t realize I had to reply all. Reposting my message
> > > > again:
> > > > 
> > > > Hi Haihao,
> > > > 
> > > > Thank you for your response.
> > > > I am not sure if I have to use a specific software for my tests, 
> > > > but looking a bit about the below three options (ffmpeg, 
> > > > gstreamer and
> > > > libyami) and assuming I go with libyami, do I have to:
> > > > 
> > > > 1. Simply Follow the build procedure given here: https://github
> > > > .com/0
> > > > 1org/libyami/wiki/Build after installing the specific Linux OS
> > > > 
> > > > (Or)
> > > > 
> > > > 2. Do I have to build the entire graphics software stack after 
> > > > installing the Linux OS including:
> > > > 
> > > >       Linux Kernel - 4.7.2
> > > >       Mesa - 12.0.1
> > > >       xf86-video-intel - 2.99.917
> > > >       Libdrm - 2.4.68
> > > >       Libva - 1.7.2
> > > >       vaapi intel-driver - 1.7.2
> > > >       Cairo - 1.15.2
> > > >       Xorg Xserver - 1.18.3
> > > > 
> > > > as mentioned in https://01.org/linuxgraphics/downloads/2016q3-i
> > > > ntel-g
> > > > raphics-stack-release
> > > > 
> > > > -Best Regards,
> > > > Vasavee
> > > > 
> > > > -----Original Message-----
> > > > From: Xiang, Haihao
> > > > Sent: Monday, November 28, 2016 8:16 PM
> > > > To: Vijayaraghavan, Vasavee <vasavee.vijayaraghavan at intel.com>;
> > > > libva
> > > > @lists.freedesktop.org
> > > > Subject: Re: [Libva] Evaluate VP9 Hardware accelerated 
> > > > encode/decode on KabyLake
> > > > 
> > > > 
> > > > Hi Vasavee,
> > > > 
> > > > You can run a software using VA-API to evaluate VP9 hardware 
> > > > accelerated encode/decode, suc as:
> > > > 
> > > > libyami:
> > > > https://github.com/01org/libyami (core) https://github.com/01or 
> > > > g/liby ami-utils (utilities based on libyami)
> > > > 
> > > > gstreamer-vaapi
> > > > https://gstreamer.freedesktop.org/modules/gstreamer-vaapi.html
> > > > 
> > > > or a FFmpeg/Libav based player which enables HW accelerated 
> > > > decode.
> > > > 
> > > > Thanks
> > > > Haihao
> > > > 
> > > > 
> > > > 
> > > > > Hi all,
> > > > > 
> > > > > I am new to this subscription list.
> > > > > I want to evaluate VP9 hardware accelerated encode/decode on 
> > > > > KabyLake.
> > > > > Can someone give me useful pointers as in where I can get 
> > > > > started to run hardware accelerated encode/decode tests on 
> > > > > KabyLake?
> > > > > I am
> > > > > targeting to run the tests on Linux OS.
> > > > > 
> > > > > Best Regards,
> > > > > Vasavee
> > > > > 
> > > > > _______________________________________________
> > > > > Libva mailing list
> > > > > Libva at lists.freedesktop.org
> > > > > https://lists.freedesktop.org/mailman/listinfo/libva
> > > _______________________________________________
> > > Libva mailing list
> > > Libva at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/libva


More information about the Libva mailing list