Bug 63988 - [IVB/HSW/BYT]Low U/V PSNR when test CSC
Summary: [IVB/HSW/BYT]Low U/V PSNR when test CSC
Status: CLOSED WONTFIX
Alias: None
Product: libva
Classification: Unclassified
Component: intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Jocelyn Li
QA Contact: Sean V Kelley
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-27 07:27 UTC by Liu Tienan
Modified: 2014-03-28 03:10 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Liu Tienan 2013-04-27 07:27:03 UTC
System Environment:
----------------------------------------
Platform: IVB
Libva: staging branch 2b25c3439781f0b7162011627a8ad3bb6288d1bb
Intel-driver: staging branch 5bd630d4ea732818728b0a464f45739c86e08be3
Gst-vaapi: 0.4 branch dd40042d447a0b696a75172bd3ed6cd1bad23377


Bug Info:
----------------------------------
hardware cmd:
gst-launch-0.10 filesrc location=/home/H264_640x368_frame300.MP4 ! qtdemux ! vaapidecode ! vaapipostproc ! video/x-surface,type=vaapi,format=\(fourcc\)NV12 ! vaapidownload ! video/x-raw-yuv,format='(fourcc)'NV12 ! filesink location=HW.yuv


software cmd:
gst-launch filesrc location=/home/H264_640x368_frame300.MP4 ! qtdemux ! vaapidecode ! vaapidownload ! ffmpegcolorspace ! video/x-raw-yuv,format='(fourcc)'NV12 ! filesink location=SW.yuv


And then compared the PSNR of HW.yuv and SW.yuv


Result:
Y_PSNR      U_PSNR       V_PSNR
1000        43.94108     46.54781
Comment 1 Ouping Zhang 2013-06-13 08:19:25 UTC
System Environment:
----------------------------------------
Platform: HSW/IVB
Mesa:           (9.1)f32ec82a8cfcabc5b7596796f36afe7986651f02
Xserver:                (server-1.14-branch)xorg-server-1.14.1
Xf86_video_intel:               (master)2.21.9
Cairo:          (master)0dac37c41473deafa4a2f154187c5c3d08b07c91
Libva:          (master)ffb82f3a85e424b869c2c1ce48251b3305e2cd61
Libva_intel_driver:             (master)01f7c2c6c5ae6321f3b3cfebc89f73dcb50b30af
Kernel_version:         3.9.5

Bug Info:
----------------------------------
NV12->RGB	not support RGB
NV12->YV12	low U/V 
NV12->YUY2	low U/V
NV12->YUY2->YV12	low U/V

this issue can be reproduced on libva/intel-driver staging and master branch.
Comment 2 Liu Tienan 2013-06-14 04:48:22 UTC
SNB result:
               Y_PSNR     U_PSNR     V_PSNR
   NV12->YV12  1000.00000 1000.00000 1000.00000
   NV12->YUY2  1000.00000 1000.00000 1000.00000

IVB result:
   NV12->YV12  1000.00000 48.82932   53.62732 
   NV12->YUY2  1000.00000 47.27492   51.36483

HSW result:
   NV12->YV12  1000.00000 49.81547   52.45637
   NV12->YUY2  1000.00000 48.13453   50.73082

On SNB the result value is normal, but low on IVB and HSW.
Comment 3 ykzhao 2013-06-14 07:42:34 UTC
Hi,
   Is the VPP used for the following test? 
      >NV12->YV12
      >NV12->YUY2

   On the IVB/HSW the AVS function is used when sampling the Y/U/V while it uses another function to sampling the Y/U/V on SNB. Now the default AVS parameter is used. In such case maybe the test result is lower than expected.

Thanks.
Comment 4 ykzhao 2014-03-28 03:09:48 UTC
For the conversion from NV12->YUY2(YUV420 to YUV 422), it will involve the upsampling. In such case the result is affected by the used interpolation(The repetitive interpolation is used on Sandybridge. The AVS interpolation is used on Ivy/Haswell. And it doesn't make sense that the result based on simple interpolation is used as the calibration for the advanced interpolation). Of course the current result is still acceptable and has no effect on the video quality.

For the conversion from NV12<->YV12 under the same resolution, maybe the sampling mechanism on Sanybridge is better than the AVS mechanism on Ivy/Haswell. But U/V PSNR on Haswell/Ivy is still quite high and acceptable.
    >NV12->YV12  1000.00000 48.82932   53.62732 

So I think that this bug will be marked as "Won't fix" and closed.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.