Bug 58448 - [HSW] SSIM value is too low when decoding some VC1 files
Summary: [HSW] SSIM value is too low when decoding some VC1 files
Status: VERIFIED NOTOURBUG
Alias: None
Product: libva
Classification: Unclassified
Component: intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium major
Assignee: haihao
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-18 08:45 UTC by Du Yan
Modified: 2013-01-28 07:11 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Du Yan 2012-12-18 08:45:46 UTC
Environment:
--------------
Platform:HSW/IVB/SGB
Libva: (staging) b8d3cf092c9b07cfd909552a3c160b7db3b5a91d
Intel-driver: (staging) a6dfb8f7fb601f102b414ac0c9088b5b8e88060f


Bug Info:
--------------
Poor quality when decoding SML0014.rcv


Steps:
--------------
1.xinit&
2.mplayer -fps 30 -va vaapi -vo vaapi SML0014.rcv


Comments:
--------------
Issue can be reproduce with below files:

SA10107.vc1
SA10109.vc1
sa10111.vc1
SA10116.vc1
SA10117.vc1
sa10119.vc1
SA10127.vc1
SA10133.vc1
SA10136.vc1
SA10140.vc1
SA10141.vc1
SA10144.vc1
SA10147.vc1
SA10148.vc1
SA10149.vc1
SA10153.vc1
SA10154.vc1
SA10155.vc1
SA10157.vc1
SA10167.vc1
SA10168.vc1
SA10169.vc1
SA10171.vc1
SA10172.vc1
SA10179.vc1
SA30034.vc1
SA30036.vc1
SA30038.vc1
sa30039.vc1
SA30042.vc1
SA30044.vc1
SA30048.vc1
SA30049.vc1
SA30051.vc1
SA30052.vc1
SA30054.vc1
SA30055.vc1
SA40017.vc1
Comment 1 Du Yan 2012-12-18 08:47:51 UTC
update comments:

Issue can be reproduced with below files.

SML0014.rcv
SML0015.rcv
SML0016.rcv
SML0017.rcv
SSL0018.rcv
SSL0024.rcv
SSM0013.rcv
SSM0015.rcv
SSM0016.rcv
SA00040.vc1
SA00046.vc1
SA00048.vc1
SA00049.vc1
SA00052.vc1
SA00058.vc1
SA00059.vc1
SA00067.vc1
SA00068.vc1
SA00070.vc1
SA00072.vc1
SA00073.vc1
SA00074.vc1
SA00075.vc1
SA00078.vc1
SA00079.vc1
SA10090.vc1
SA10094.vc1
SA10097.vc1
SA10131.vc1
SA10161.vc1
SA10163.vc1
SA10165.vc1
SA20021.vc1
SA20029.vc1
SA20030.vc1
SA30030.vc1
SA30031.vc1
SA40013.vc1
Comment 2 haihao 2012-12-27 07:41:29 UTC
(In reply to comment #0)
> Environment:
> --------------
> Platform:HSW/IVB/SGB
> Libva: (staging) b8d3cf092c9b07cfd909552a3c160b7db3b5a91d
> Intel-driver: (staging) a6dfb8f7fb601f102b414ac0c9088b5b8e88060f
> 
> 
> Bug Info:
> --------------
> Poor quality when decoding SML0014.rcv
> 
> 
> Steps:
> --------------
> 1.xinit&
> 2.mplayer -fps 30 -va vaapi -vo vaapi SML0014.rcv


I can't reproduce the issue on my HSW machine, could you attach an image to show what is the issue ?


> 
> 
> Comments:
> --------------
> Issue can be reproduce with below files:
> 
> SA10107.vc1


Are you sure it can be reproduced with this file ? SA10107.vc1 is an interlaced file.


> SA10109.vc1
> sa10111.vc1
> SA10116.vc1
> SA10117.vc1
> sa10119.vc1
> SA10127.vc1
> SA10133.vc1
> SA10136.vc1
> SA10140.vc1
> SA10141.vc1
> SA10144.vc1
> SA10147.vc1
> SA10148.vc1
> SA10149.vc1
> SA10153.vc1
> SA10154.vc1
> SA10155.vc1
> SA10157.vc1
> SA10167.vc1
> SA10168.vc1
> SA10169.vc1
> SA10171.vc1
> SA10172.vc1
> SA10179.vc1
> SA30034.vc1
> SA30036.vc1
> SA30038.vc1
> sa30039.vc1
> SA30042.vc1
> SA30044.vc1
> SA30048.vc1
> SA30049.vc1
> SA30051.vc1
> SA30052.vc1
> SA30054.vc1
> SA30055.vc1
> SA40017.vc1
Comment 3 Du Yan 2012-12-27 08:06:34 UTC
SSIM value is too low.
eg:
SML0014.rcv 
Y SSIM extreme 0.336215 
U SSIM average 0.986056 
V SSIM extreme 0.538501 
Y SSIM average 0.994315 
U SSIM extreme 0.536182 
V SSIM average 0.993605
Comment 4 Du Yan 2012-12-27 09:06:05 UTC
The SSIM is low from frame 669 and every two frames.

2005 Y_SSIM = 0.337364
2006 U_SSIM = 0.777391
2007 V_SSIM = 0.739837
2008 Y_SSIM = 1.000000
2009 U_SSIM = 1.000000
2010 V_SSIM = 1.000000
2011 Y_SSIM = 1.000000
2012 U_SSIM = 1.000000
2013 V_SSIM = 1.000000
2014 Y_SSIM = 0.408797
2015 U_SSIM = 0.817545
2016 V_SSIM = 0.770707
2017 Y_SSIM = 1.000000
2018 U_SSIM = 1.000000
2019 V_SSIM = 1.000000
2020 Y_SSIM = 1.000000
2021 U_SSIM = 1.000000
2022 V_SSIM = 1.000000
2023 Y_SSIM = 0.361894
2024 U_SSIM = 0.821343
2025 V_SSIM = 0.784269
2026 Y_SSIM = 1.000000
2027 U_SSIM = 1.000000
2028 V_SSIM = 1.000000
2029 Y_SSIM = 1.000000
2030 U_SSIM = 1.000000
2031 V_SSIM = 1.000000
2032 Y_SSIM = 0.387867
2033 U_SSIM = 0.737673
2034 V_SSIM = 0.731032
Comment 5 Jocelyn Li 2013-01-08 00:53:53 UTC
Do we have further update on this issue?
Comment 6 haihao 2013-01-08 03:05:21 UTC
I can reproduce this issue with SML0014.rcv, but fail to reproduce this issue with SML0015.rcv, could you also list the SSIM for SML0015.rcv ?
Comment 7 haihao 2013-01-09 08:18:47 UTC
The issue for SML0014.rcv has been fixed, please retest with other clips

commit f0523c58e304bd8e7b2a470c4cb4e06057a0a4bf
Author: Xiang, Haihao <haihao.xiang@intel.com>
Date:   Wed Jan 9 15:44:29 2013 +0800

    No overlap smoothing for B frame in Main and Simple profiles
Comment 8 Du Yan 2013-01-09 09:04:14 UTC
(In reply to comment #6)
> I can reproduce this issue with SML0014.rcv, but fail to reproduce this
> issue with SML0015.rcv, could you also list the SSIM for SML0015.rcv ?

(In reply to comment #6)
> I can reproduce this issue with SML0014.rcv, but fail to reproduce this
> issue with SML0015.rcv, could you also list the SSIM for SML0015.rcv ?

SML0015.rcv 
Y SSIM extreme  0.996214 
U SSIM average  0.998777 
V SSIM extreme  0.999285 
Y SSIM average  0.999712 
U SSIM extreme  0.999403 
V SSIM average  0.999823
Comment 9 haihao 2013-01-11 02:45:09 UTC
OK, they  should be different issues. The extreme SSIM of SML0014.rcv is too low, however the extreme SSIM of ML0015.rcv is closed to 1.  Could you file a new bug and attach the whole SSIM values for SML0015.rcv so I know which frame has the extreme SSIM ?
Comment 10 Du Yan 2013-01-11 06:06:38 UTC
Filename, Y extreme,Y average,U extreme,U average,V extreme, V agerage, 
        
SA10165.vc1, 0.005538, 0.067395, 0.042607, 0.04688, 0.000823, 0.02186, SA20029.vc1, 0.081796, 0.145497, 0.054147, 0.083552, 0.072035, 0.107538,
SA20030.vc1, 0.081796, 0.145497, 0.054147, 0.083552, 0.072035, 0.107538,
SA30031.vc1, 0.281476, 0.993156, 0.685092, 0.995448, 0.722642, 0.995745,

above 4 files SSIM value is too low. maybe same as SML0014.rcv.
Comment 11 Du Yan 2013-01-11 06:43:03 UTC
And for the SML0015.rcv and other clips that SSIM value is closed to 1, i have reported a new bug : #bug 59228
Comment 12 Ouping Zhang 2013-01-14 05:57:20 UTC
for SML0014.rcv, this issue has been fix.
but for the 4 files below, SSIM value is too low.
SA10165.vc1, 0.005538, 0.067395, 0.042607, 0.04688, 0.000823, 0.02186, SA20029.vc1, 0.081796, 0.145497, 0.054147, 0.083552, 0.072035, 0.107538,
SA20030.vc1, 0.081796, 0.145497, 0.054147, 0.083552, 0.072035, 0.107538,
SA30031.vc1, 0.281476, 0.993156, 0.685092, 0.995448, 0.722642, 0.995745,
Comment 13 haihao 2013-01-14 08:19:04 UTC
SA10165.vc1 
SA20029.vc1
SA20030.vc1

FFmpeg doesn't parse PANSCAN section in picture header, so it passes the wrong parameters to driver.
Comment 14 haihao 2013-01-15 00:42:12 UTC
mplayer log:

...
VO: [vaapi] 720x576 => 720x576 VC-1 VA-API Acceleration 
[VD_FFMPEG] XVMC-accelerated MPEG-2.
[vc1 @ 0x8b50ec0]Pan-scan not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.

...
Comment 15 Du Yan 2013-01-23 02:22:19 UTC
SML0014.rcv SSIM value still too low on SNB plaform.

SML0014.rcv 0.508544 0.992074 0.876745 0.997556 0.809875 0.996775

Platform: SNB
libva: staging 21649988d6b532cc96f633db017d1e4369f640e9
inter-driver: staging d206b47a6ac86c089149ecd71b01eea6ebda5796
Comment 16 haihao 2013-01-23 05:28:31 UTC
(In reply to comment #15)
> SML0014.rcv SSIM value still too low on SNB plaform.
> 
> SML0014.rcv 0.508544 0.992074 0.876745 0.997556 0.809875 0.996775
> 
> Platform: SNB
> libva: staging 21649988d6b532cc96f633db017d1e4369f640e9
> inter-driver: staging d206b47a6ac86c089149ecd71b01eea6ebda5796

Another commit is needed for this issue on SNB :(

commit c650dab1c8e22fbe17f2ad2f8f26c24a12cb60fd
Author: Xiang, Haihao <haihao.xiang@intel.com>
Date:   Wed Jan 23 09:59:17 2013 +0800

    Enlarge deblocking filter row store for VC-1 decoding
Comment 17 haihao 2013-01-23 05:30:44 UTC
SA30031.vc1 has multi slices, so patch your mplayer-vaapi (FFmpeg) firstly.
Comment 18 Gwenole Beauchesne 2013-01-23 16:11:44 UTC
(In reply to comment #16)
> (In reply to comment #15)
> > SML0014.rcv SSIM value still too low on SNB plaform.
> > 
> > SML0014.rcv 0.508544 0.992074 0.876745 0.997556 0.809875 0.996775
> > 
> > Platform: SNB
> > libva: staging 21649988d6b532cc96f633db017d1e4369f640e9
> > inter-driver: staging d206b47a6ac86c089149ecd71b01eea6ebda5796
> 
> Another commit is needed for this issue on SNB :(
> 
> commit c650dab1c8e22fbe17f2ad2f8f26c24a12cb60fd
> Author: Xiang, Haihao <haihao.xiang@intel.com>
> Date:   Wed Jan 23 09:59:17 2013 +0800
> 
>     Enlarge deblocking filter row store for VC-1 decoding

IIRC, the spec indeed mentioned that we need twice the vertical resolution, though initially that was implied for interlaced contents only.
Comment 19 haihao 2013-01-24 02:27:08 UTC
(In reply to comment #18)
> (In reply to comment #16)
> > (In reply to comment #15)
> > > SML0014.rcv SSIM value still too low on SNB plaform.
> > > 
> > > SML0014.rcv 0.508544 0.992074 0.876745 0.997556 0.809875 0.996775
> > > 
> > > Platform: SNB
> > > libva: staging 21649988d6b532cc96f633db017d1e4369f640e9
> > > inter-driver: staging d206b47a6ac86c089149ecd71b01eea6ebda5796
> > 
> > Another commit is needed for this issue on SNB :(
> > 
> > commit c650dab1c8e22fbe17f2ad2f8f26c24a12cb60fd
> > Author: Xiang, Haihao <haihao.xiang@intel.com>
> > Date:   Wed Jan 23 09:59:17 2013 +0800
> > 
> >     Enlarge deblocking filter row store for VC-1 decoding
> 
> IIRC, the spec indeed mentioned that we need twice the vertical resolution,
> though initially that was implied for interlaced contents only.

No, this buffer is not scalable with picture height
Comment 20 Ouping Zhang 2013-01-28 07:11:30 UTC
SA10165.vc1
SA20029.vc1
SA20030.vc1
FFmpeg doesn't parse PANSCAN section in picture header, so it passes the wrong parameters to driver.


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.