Bug 16127 - [i915 XvMC] constraint on number of MacroBlock doing rendering
Summary: [i915 XvMC] constraint on number of MacroBlock doing rendering
Status: VERIFIED WONTFIX
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: unspecified
Hardware: Other Linux (All)
: medium normal
Assignee: Wang Zhenyu
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-27 23:57 UTC by Shuang He
Modified: 2009-01-18 21:20 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
xorg log (20.95 KB, text/plain)
2008-05-27 23:59 UTC, Shuang He
no flags Details
xorg conf (3.65 KB, text/plain)
2008-05-28 00:01 UTC, Shuang He
no flags Details
test case (7.35 KB, text/plain)
2008-05-28 00:02 UTC, Shuang He
no flags Details
another test case (16.72 KB, text/plain)
2008-06-05 00:25 UTC, Shuang He
no flags Details

Description Shuang He 2008-05-27 23:57:19 UTC
System Environment:
--------------------------

--Platform: 945G


--2D driver:
commit 548d4c0f979a72eac5d0c9c76da12f0bd05e64e1 

--3D driver:
commit 990e010394a2685c1daeaef61cf4f7e2a0ba419e

--Xserver:
commit cf20df39cc78203d17b99223908af388ecbf7d0e 

--Drm
commit b44f2da380e78769b58c751e81f376f0fa1f48aa 

--Kernel:
2.6.23.1


Bug detailed description:
-------------------------
when doing rendering for more than 682 macroblocks, it will complain:
[intel_xvmc] err: correction data buffer overflow.

and from the 683 macroblocks, just some garbages are rendered.



Reproduce steps:
----------------
1. enable XvMC in xorg.conf
2. start X
3. compile and run attached case



Current result:
----------------
can't render more than 682 macroblocks in one time rendering


Expected result:
----------------
can render more than 682 macroblocks in one time rendering
Comment 1 Shuang He 2008-05-27 23:59:37 UTC
Created attachment 16779 [details]
xorg log
Comment 2 Shuang He 2008-05-28 00:01:17 UTC
Created attachment 16780 [details]
xorg conf
Comment 3 Shuang He 2008-05-28 00:02:24 UTC
Created attachment 16781 [details]
test case
Comment 4 Shuang He 2008-06-03 19:21:30 UTC
render the whole frame(720x576/16/16=1620 MBs) all together seems feasible for me. 
This issue happens when coded_block_pattern and XVMC_MB_TYPE_PATTERN is set
And if we don't set XVMC_MB_TYPE_PATTERN, and it will complains:
[intel_xvmc] info: no coded blocks present!
But, the whole frame is rendered correctly.
Comment 5 Wang Zhenyu 2008-06-03 20:03:39 UTC
I'm a little confused, as in your test case XVMC_MB_TYPE_INTRA is set, so that test case is ok? 

XVMC_MB_TYPE_INTRA is exclusive, means if you set that, you can't set any other type flags.
Comment 6 Shuang He 2008-06-03 20:11:30 UTC
(In reply to comment #5)
> I'm a little confused, as in your test case XVMC_MB_TYPE_INTRA is set, so that
> test case is ok? 
> 
> XVMC_MB_TYPE_INTRA is exclusive, means if you set that, you can't set any other
> type flags.
> 

Oh, I meant following macroblock_type setting:
macroblock_type = XVMC_MB_TYPE_MOTION_FORWARD | XVMC_MB_TYPE_PATTERN;

in the I frame, I always can't get entire frame rendered.
but in the P frame, when I do not set XVMC_MB_TYPE_PATTERN, the whole frame can be rendered in one time.
Comment 7 Shuang He 2008-06-05 00:25:58 UTC
Created attachment 16923 [details]
another test case

This case is to show problem when P frame is set with XVMC_MB_TYPE_PATTERN.
Comment 8 Michael Fu 2008-11-25 20:48:50 UTC
We will not put further effort on XvMC for 915/945 platform.
Comment 9 Shuang He 2009-01-18 21:20:26 UTC
verified


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.