Bug 30651 - [RADEON:KMS:R600G] gl output in mplayer have no colors if used with a fragment program with additional lookup and bicubic B-spline filtering
Summary: [RADEON:KMS:R600G] gl output in mplayer have no colors if used with a fragmen...
Status: RESOLVED MOVED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r600 (show other bugs)
Version: git
Hardware: All Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-06 05:07 UTC by Sergey Kondakov
Modified: 2019-09-18 18:58 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
gl:yuv=3.jpg (59.82 KB, image/jpeg)
2010-10-06 05:08 UTC, Sergey Kondakov
Details
gl:yuv=4,lscale=1,cscale=1.jpg (60.73 KB, image/jpeg)
2010-10-06 05:09 UTC, Sergey Kondakov
Details
gl:yuv=6 - broken output.jpg (44.96 KB, image/jpeg)
2011-01-15 19:29 UTC, Sergey Kondakov
Details

Description Sergey Kondakov 2010-10-06 05:07:18 UTC
when i try to play video in mplayer with option 'gl:yuv=4,lscale=1,cscale=1' and r600g in use, it displays no colors. if it's 'gl:yuv=3', colors are ok.
'gl:yuv=5' seems also ok.
sorry, i  haven't tested yuv=4 without 'lscale=1,cscale=1' and immediately rebuilded mesa without gallium, so i don't know which of those to blame actually. my bet is 'yuv=4' and "a fragment program with additional lookup".

by the way, what yuv and *scale options do you recommend for use with ATI/AMD >=r600 cards in terms of performance and quality ?
Comment 1 Sergey Kondakov 2010-10-06 05:08:21 UTC
Created attachment 39222 [details]
gl:yuv=3.jpg

normal picture
Comment 2 Sergey Kondakov 2010-10-06 05:09:49 UTC
Created attachment 39223 [details]
gl:yuv=4,lscale=1,cscale=1.jpg

bad picture
Comment 3 Sergey Kondakov 2010-10-22 18:49:34 UTC
tested commit 469907d59738ad32c7a3b95072897432f1e81a0f with kernel 2.6.36 and "ColorTiling"="on".
same thing :(

tested without 'lscale=1,cscale=1' and it makes no difference. setting 'yuv=4' triggers bug alright.
but specifying 'yuv=1' and '5' (register combiners/GL_NV_register_combiners and GL_ATI_fragment_shader) also gives colorless picture and it's much darker.

i will use method '6' for now with hope that it's not really "Extremely slow (software emulation) on some (all?) ATI cards since it uses a texture with border pixels" as mplayer's manual says.
Comment 4 Sergey Kondakov 2011-01-15 19:29:04 UTC
Created attachment 42092 [details]
gl:yuv=6 - broken output.jpg

recently method '6' was broken and i have to fallback on method '2'.

every video in mplayer with yuv=6 looks like green thing on picture plus some changing random artefacts while video playing. were even were some git revision with which any gl output was broken that way (or at least mplayer with -vo gl and warzone2100 game) but it's ok now. only yuv=6 output with mplayer is broken.
yuv=4 glitching the same way as before and have no colors.

there also were a glitch with yuv=6 when it still worked: bright whitish places in videos were just plain white but this may be mplayer bug since i have never tested it on some other hardware or non-open drivers.
Comment 5 Jerome Glisse 2011-03-08 10:08:35 UTC
Works any better now ?
Comment 6 Sergey Kondakov 2011-03-10 03:24:51 UTC
yes, thanks. the green thing is gone with yuv=6 but
1) yuv=4 on r600g still have no colours even though with r300g they are ok
2) still there is an overbright glitch in some white places in some videos with yuv=6. but again, it may be a mplayer bug since it present with r300g too (but not software rasterizer), i'm not sure.

so, it's back to beginning.
Comment 7 Andy Furniss 2011-04-13 10:23:46 UTC
(In reply to comment #6)

> 1) yuv=4 on r600g still have no colours even though with r300g they are ok

yuv=4 with or without bicubic now works for me on 600g

> 2) still there is an overbright glitch in some white places in some videos with
> yuv=6. but again, it may be a mplayer bug since it present with r300g too (but
> not software rasterizer), i'm not sure.

This is still the same.

One general observation is the with 600g perf is poor compared to 600c or xv, which are at least 2x faster when benchmarking with HD streams.
Comment 8 Sergey Kondakov 2011-04-13 10:46:29 UTC
same here.
and i never got answer about which method is better with amd/ati card and open stack now. i hope devs are looking into that stuff.
Comment 9 Andy Furniss 2011-04-13 11:38:47 UTC
(In reply to comment #8)
> same here.
> and i never got answer about which method is better with amd/ati card and open
> stack now. i hope devs are looking into that stuff.

Maybe there isn't an answer as such for that question.

I guess someone with an on-board low spec GPU may be more limited than a high end card with fast vram.

Quality wise - I can't see any difference, the higher yuv= numbers give more features like gamma correction (not sure how to use it though).

It would be nice if 600g could beat or equal 600c - it does for 3D, but for some reason not this.

I said classic was twice as fast - it's actually more than that if I discount time taken by the codec.
Comment 10 GitLab Migration User 2019-09-18 18:58:14 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/391.


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.