<div dir="ltr">Just to let you know , I tried the VPP code for de-noise, I set the de-noise level all the way to (max) it doesn't seem to make any noticable difference as far as quality. I noticed the fast path for setting the scaling type in VAProcPipelineParameterBuffer, so including putSurface flag and as well as an additional filter, there seems to be three different ways to do this. Anyways, with VA_FILTER_SCALING_NL_ANAMORPHIC and de-noise, the gpu usage increases  to 31 % (first measure below). With VA_FILTER_SCALING_NL_ANAMORPHIC as part of putSurface flag and no de-noise filtering, GPU usage drops 10 %. With VA_FILTER_SCALING_FAST as part of putsurface flag, it drops another 4 %. The stream I am decoding / rendering is 1280 x 720 H 264, 3 mbps.  <br>

<br>  <br><br>clock: unknown  sampler clock: unknown<br>                   render busy:  31%: ██████▎                                render space: 37/131072<br>                bitstream busy:   4%: ▉                                   bitstream space: 1/131072<br>

                  blitter busy:  24%: ████▉                                 blitter space: 10/131072<br><br>                          task  percent busy<br>                           GAM:  33%: ██████▋                 vert fetch: 0 (0/sec)<br>

                           TSG:  19%: ███▉                    prim fetch: 0 (0/sec)<br>                           VFE:  19%: ███▉                 VS invocations: 104062 (0/sec)<br>                            VF:  19%: ███▉                 GS invocations: 0 (0/sec)<br>

                          GAFS:  14%: ██▉                       GS prims: 0 (0/sec)<br>                           TDG:   0%:                      CL invocations: 44604 (0/sec)<br>                          GAFM:   0%:                           CL prims: 47270 (0/sec)<br>

                           SOL:   0%:                      PS invocations: 3011525360 (0/sec)<br>                            GS:   0%:                      PS depth pass: 3010388146 (0/sec)<br><br>render clock: unknown  sampler clock: unknown<br>

                   render busy:  21%: ████▎                                  render space: 20/131072<br>                bitstream busy:   4%: ▉                                   bitstream space: 1/131072<br>                  blitter busy:  21%: ████▎                                 blitter space: 8/131072<br>

<br>                          task  percent busy<br>                           GAM:  23%: ████▋                   vert fetch: 0 (0/sec)<br>                           TSG:  10%: ██                      prim fetch: 0 (0/sec)<br>

                           VFE:  10%: ██                   VS invocations: 104062 (0/sec)<br>                            VF:  10%: ██                   GS invocations: 0 (0/sec)<br>                          GAFS:   9%: █▉                        GS prims: 0 (0/sec)<br>

                           TDG:   0%:                      CL invocations: 44604 (0/sec)<br>                          GAFM:   0%:                           CL prims: 47270 (0/sec)<br>                            DS:   0%:                      PS invocations: 3011525360 (0/sec)<br>

                            GS:   0%:                      PS depth pass: 3010388146 (0/sec)<br><br><br><br><br>render clock: unknown  sampler clock: unknown<br>                   render busy:  17%: ███▎                                   render space: 10/131072<br>

                bitstream busy:   4%: ▉                                   bitstream space: 1/131072<br>                  blitter busy:  17%: ███▎                                  blitter space: 7/131072<br><br>                          task  percent busy<br>

                           GAM:  17%: ███▌                    vert fetch: 0 (0/sec)<br>                          GAFS:   4%: ▉                       prim fetch: 0 (0/sec)<br>                            VS:   0%:                      VS invocations: 104062 (0/sec)<br>

                            VF:   0%:                      GS invocations: 0 (0/sec)<br>                                                                GS prims: 0 (0/sec)<br>                                                           CL invocations: 44604 (0/sec)<br>

                                                                CL prims: 47270 (0/sec)<br>                                                           PS invocations: 3011525360 (0/sec)<br>                                                           PS depth pass: 3010388146 (0/sec)<br>

<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Feb 22, 2013 at 7:17 AM, Ratin <span dir="ltr"><<a href="mailto:ratin3@gmail.com" target="_blank">ratin3@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="im">On Thu, Feb 21, 2013 at 5:26 PM, ykzhao <span dir="ltr"><<a href="mailto:yakui.zhao@intel.com" target="_blank">yakui.zhao@intel.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>On Thu, 2013-02-21 at 06:30 -0700, Ratin wrote:<br>
> awesome, would like to see the result from HQ scaling sometime in the<br>
> future. I am just using putSurface, don't want to go thru Proc<br>
> pipeline if I don't have to. Is the performance penalty identical in<br>
> both ways? Is there a way I can measure how much GPU processing  (%<br>
> and such) is being utilized?<br>
<br>
</div>They are implemented in different ways and it is difficult to check the<br>
performance penalty. The putsurface is based on the 3D model while the<br>
proc pipeline is based on GPGPU model. (Intel_gpu_top may help to show<br>
the GPU utility, which can be downloaded from the<br>
<a href="http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/" target="_blank">http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/</a>).<br>
<br>
Will you please check whether it can meet with your requirement if you<br>
can use the proc VPP to do the upscaling conversion and then call the<br>
vaPutsurface to display it?<br>
<br>
Thanks.<br>
    Yakui<br></blockquote><div><br></div></div><div>Hi Yakui, Thanks for your reply. I just started looking into this , the total number of filters available for me seems to be only two, not sure if thats normal or not. I am using HD4000 My lspci output shows the following: <br>


<br>d02788e046eb:/usr/local/bin# lspci<br>00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br>00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br>


00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br>00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br>


00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br>00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br>


00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br>00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br>


00:1f.0 ISA bridge: Intel Corporation HM76 Express Chipset LPC Controller (rev 04)<br>00:1f.2 IDE interface: Intel Corporation 7 Series Chipset Family 4-port SATA Controller [IDE mode] (rev 04)<br>00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br>


00:1f.5 IDE interface: Intel Corporation 7 Series Chipset Family 2-port SATA Controller [IDE mode] (rev 04)<br>01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 07)<br>


02:00.0 Network controller: Intel Corporation Centrino Wireless-N 2200 (rev c4)<br><br>I will use more query code to know what are those two filters and will post the results here..<br><br></div><div>Thanks<br><br></div>
<div><div class="h5">
<div>Ratin<br></div><div><br><br>On Tue, Feb 19, 2013 at 7:24 PM, Xiang, Haihao<br>
> <<a href="mailto:haihao.xiang@intel.com" target="_blank">haihao.xiang@intel.com</a>> wrote:<br>
><br>
><br>
>         > I am using Intel_driver from the staging branch, on a Gen 3<br>
>         HD4000. So<br>
>         > there other algorithms like bi-cubic is not supported?<br>
><br>
><br>
>         You can select another scaling method other than the default<br>
>         method via<br>
>         the flag to vaPutSurface() or the filter_flag in<br>
>         VAProcPipelineParameterBuffer.<br>
><br>
>         /* Scaling flags for vaPutSurface() */<br>
>         #define VA_FILTER_SCALING_DEFAULT       0x00000000<br>
>         #define VA_FILTER_SCALING_FAST          0x00000100<br>
>         #define VA_FILTER_SCALING_HQ            0x00000200<br>
>         #define VA_FILTER_SCALING_NL_ANAMORPHIC 0x00000300<br>
>         #define VA_FILTER_SCALING_MASK          0x00000f00<br>
><br>
>         In VAProcPipelineParameterBuffer:<br>
><br>
>             * - Scaling: \c VA_FILTER_SCALING_DEFAULT, \c<br>
>         VA_FILTER_SCALING_FAST,<br>
>              *   \c VA_FILTER_SCALING_HQ, \c<br>
>         VA_FILTER_SCALING_NL_ANAMORPHIC.<br>
>              */<br>
>             unsigned int        filter_flags;<br>
><br>
>         For Inter driver, Currently only<br>
>         VA_FILTER_SCALING_NL_ANAMORPHIC and<br>
>         VA_FILTER_SCALING_DEFAULT/VA_FILTER_SCALING_FAST  are<br>
>         supported.  We<br>
>         will add the support for VA_FILTER_SCALING_HQ.<br>
><br>
>         Thanks<br>
>         Haihao<br>
><br>
>         ><br>
>         ><br>
>         ><br>
>         > On Mon, Feb 18, 2013 at 12:11 AM, Xiang, Haihao<br>
>         > <<a href="mailto:haihao.xiang@intel.com" target="_blank">haihao.xiang@intel.com</a>> wrote:<br>
>         >         On Fri, 2013-02-15 at 16:18 -0800, Ratin wrote:<br>
>         >         > I am decoding a 720 P video stream from a camera<br>
>         to 1080 P<br>
>         >         surfaces<br>
>         >         > and displaying them on the screen. I am seeing<br>
>         noticable<br>
>         >         noise and<br>
>         >         > pulsating which is directly related to the I frame<br>
>         interval<br>
>         >         > (aparently), the lowest I-frame interval I can<br>
>         specify for<br>
>         >         the camera<br>
>         >         > is  1 second and selecting that in addition to<br>
>         bitrate of<br>
>         >         8192 kbps<br>
>         >         > makes is slightly better but still a lot of noise.<br>
>         A<br>
>         >         software<br>
>         >         > decoded/scaled video looks all smooth.<br>
>         >         ><br>
>         >         ><br>
>         >         > What I am wondering is what's the default scaling<br>
>         algorithm<br>
>         >         being used<br>
>         >         > in vaapi/intel driver and how do I specify better<br>
>         scaling<br>
>         >         algorithms<br>
>         >         > like bi-cubic etc.and possibly specify the<br>
>         strength of<br>
>         >         deblocking<br>
>         >         > filter level as well, and what can I do to reduce<br>
>         the<br>
>         >         pulsating ?<br>
>         ><br>
>         ><br>
>         >         Which driver are you using ? For Intel, it is<br>
>         bilinear.<br>
>         ><br>
>         >         ><br>
>         >         ><br>
>         >         ><br>
>         >         ><br>
>         >         > Any input would be much appreciated.<br>
>         >         ><br>
>         >         ><br>
>         >         > Thanks<br>
>         >         ><br>
>         >         ><br>
>         >         > Ratin<br>
>         >         ><br>
>         >         ><br>
>         ><br>
>         >         > _______________________________________________<br>
>         >         > Libva mailing list<br>
>         >         > <a href="mailto:Libva@lists.freedesktop.org" target="_blank">Libva@lists.freedesktop.org</a><br>
>         >         ><br>
>         <a href="http://lists.freedesktop.org/mailman/listinfo/libva" target="_blank">http://lists.freedesktop.org/mailman/listinfo/libva</a><br>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
><br>
><br>
><br>
><br>
><br>
<br>
<br>
</div></div></div></div><br></div></div>
</blockquote></div><br></div></div>