diff options
author | Kusanagi Kouichi <slash@ac.auone-net.jp> | 2009-12-02 01:36:37 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-12-02 01:36:37 -0500 |
commit | f03450796d2e9247a1228c4e2abb1dfad7aecddf (patch) | |
tree | d56324fcff38d5d747b19bdad552f692a85106b6 /src/radeon_video.c | |
parent | efbc2c80ab02879edf3b7b3d65b16c45ddce5017 (diff) |
radeon: Lift hardcoded limit from RADEONQueryImageAttributes
The dimension of an XvImage is limited to 2048 x 2048 even if an adaptor
supports larger image.
XvCreateImage and XvShmCreateImage lower the width or height of an image.
XvPutImage and XvShmPutImage return BadValue.
The cause is that 2048 is hardcoded in RADEONQueryImageAttributes.
Diffstat (limited to 'src/radeon_video.c')
-rw-r--r-- | src/radeon_video.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/radeon_video.c b/src/radeon_video.c index 7aaa2665..b1b3f158 100644 --- a/src/radeon_video.c +++ b/src/radeon_video.c @@ -1511,6 +1511,8 @@ RADEONAllocAdaptor(ScrnInfoPtr pScrn) RADEONVIP_init(pScrn, pPriv); info->adaptor = adapt; + info->xv_max_width = 2048; + info->xv_max_height = 2048; if(!xf86LoadSubModule(pScrn,"theatre_detect")) { @@ -3077,10 +3079,11 @@ RADEONQueryImageAttributes( unsigned short *w, unsigned short *h, int *pitches, int *offsets ){ + const RADEONInfoRec * const info = RADEONPTR(pScrn); int size, tmp; - if(*w > 2048) *w = 2048; - if(*h > 2048) *h = 2048; + if(*w > info->xv_max_width) *w = info->xv_max_width; + if(*h > info->xv_max_height) *h = info->xv_max_height; *w = (*w + 1) & ~1; if(offsets) offsets[0] = 0; |