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

Vijayaraghavan, Vasavee vasavee.vijayaraghavan at intel.com
Mon Dec 12 19:58:11 UTC 2016


Hi Daniel,

Sure, will do that! Thank you for the pointers.

-Best Regards,
Vasavee

-----Original Message-----
From: Charles, Daniel [mailto:daniel.charles at intel.com] 
Sent: Monday, December 12, 2016 10:53 AM
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

Hi Vasavee,

Can you file a bug on libyami for your observation?

https://github.com/01org/libyami/issues

Thanks.

--
Daniel.

On Mon, Dec 12, 2016 at 10:45 AM, Vijayaraghavan, Vasavee <vasavee.vijayaraghavan at intel.com> wrote:
> 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