View Full Version : Avisynth YV12 2.5 scripts in directshow?
trbarry
18th December 2002, 19:19
I notice if I drop an Avisynth 2.5 script into Graphedit on my Radeon LE equipped machine it will connect to the Avi decompressor, which outputs RGB. This is slower and obviously not a good thing.
Anyone know how to set it up in Graphedit to pass YV12 all the way through to the screen?
- Tom
MaTTeR
18th December 2002, 20:05
I've been trying the same thing for a few days but had no luck yet. So far everything I've tried to insert in between results in pins not wanting to connect properly.
drebel
18th December 2002, 20:40
Ffdshow in "raw video" mode is not an option?It certainely delivers YV12 output with yv12 avs in zplayer without any "complains".Sorry ,i dont have Graphedit in front of me right now(recently re-formated.I think you just have to select Raw before adding the filter to the chain...:)
regards,
george
MaTTeR
18th December 2002, 22:30
You were right, selecting raw video in ffdshow worked like a charm for me on my Geforce2 card. GraphEdit automatically inserted ffdshow when I dropped the script on it. Thx!
trbarry
19th December 2002, 03:04
I can set up ffdshow to output YV12 but then Graphedit will still convert it to RGB with the AVI decompressor.
I'm almost certain my Radeon card can support YV12 overlays (how can I tell?) but for the life of me I can't seem to make it do it. I really want YV12 direct output for the extra dislay speed trying to disply HDTV resolution Xvid clips.
This is on my dev machine and I just updated Win/Me Radeon drivers. I never checked all this before because I was more interested in the programming and not concerned about the speed of 2.5 alpha.
It seems there was a thread around here about this (YV12 overlays) but a quick search didn't find it. Anyone remember?, or know how to correct this?
- Tom
Blight
19th December 2002, 05:16
You can remove the YV12 checkbox on ffdshow to see if it outputs YUY2 to the overlay. If it does, it may be that the radeon doesn't have YUV12 overlays.
On my P4/2.53 I can play 1280x720@30fps XVID with no frame drops and perfect audio sync. A P4/1.8ghz can't.
Oh, and if you encode with QPEL i think it may eat more CPU and may not even play on that.
MaTTeR
19th December 2002, 05:53
Tom,
When I open a script GraphEdit isn't inserting the AVI decompressor at all. I only have ffdshow, video render and of course the AVS in the graph.
I certainly would hope that the Radeon supports YV12 overlays since I was thinking of upgrading soon.
trbarry
19th December 2002, 14:45
MaTTer -
I won't have the AVI decompressor in the graph either if I let ffdshow use RGB as an output format. But if I remove all output formats (in the General tab) except YV12 then the decompressor will be inserted.
Either way, if I right click on the Video Renderer it will show RGB.
I'm sure all this has been discussed recently. I just can't find it now.
- Tom
MaTTeR
19th December 2002, 15:04
Tom,
The only thread I recall YV12 overlays being discussed was here. (http://forum.doom9.org/showthread.php?s=&threadid=38332&highlight=yv12+detail)
It seems like you could use SiSoft Sandra to check the Radeon capabilities.
trbarry
19th December 2002, 17:03
That may have been the one. I maybe wasn't paying enough attention when I read it the first time.
In Graphedit, if you right click on the video renderer properties, does it say YV12 on your system? If so, what video card do you have?
Also, anybody else can do this and report?
- Tom
drebel
19th December 2002, 17:47
If i remember correctly ,there's a small "bug" in ffdhow congig panel: one must UNCHECK all color formats except yv12 once,and then RECHECK everything to enable yv12 output as default...
Please check this also and report if the problem is solved(of cource ,disable DivxG400 for subs,if used-it forces yuy2...)
PS:if you dont mind me asking ,what are you trying to do with activeX window?Are you planning to create an "avs-preview" player or something?
always glad to see happy faces...:D
regards,
george
trbarry
19th December 2002, 18:34
drebel -
I'll try that, but I don't think it is the issue because I can now already get ffdshow to output YV12. I'm past that hurdle, just by setting it to output YV12 and nothing else, and leaving it there.
The ffdshow output pin will show YV12. But if I run it this way it pulls in the AVI decompressor which will convert to RGB.
If I let ffdshow output RGB then the AVI decompressor is not used so I think my render filter is asking for RGB first. And I don't know how to change that.
I'm still looking for any Radeon (or any) examples where the render filter actually says YV12.
All I'm really trying to do here is establish a complete path MPEG2 data -> DVD2AVI -> MPEG2DECx -> Avisynth -> Virtualdub -> Xvid -> ffdshow -> display with NO color conversions. This is both for performance and fidelity.
My focus right now is mostly on display CPU performance. I've written another software scaling algorithm for rapidly upsizing my HDTV samples at display time and it runs as an Avisynth filter. I need the extra performance to display my samples.
If I get it working well in real time then maybe I can talk Milan into putting it into ffdshow. ;)
- Tom
Blight
19th December 2002, 20:13
NVIDIA GF4 TI4200:
YV12 on VMR renderer, input from ffdshow.
Now, if I use the standard renderer, it gets RGB32 input on the pin.
Using the Overlay Mixer filter, the mixer takes YV12 input and outputs RGB32.
drebel
19th December 2002, 20:19
@tbarry
Is there any special reason for using "avi-decompressor" in the chain?
I think video rendener is all that's needed to to the job easily.But if you select "overlay mixer " BEFORE video rendener,you have to choose "use overlay" from within ffdshow in order to have haturation,hue,...etc options in your image.Sorry, i own a Gforce and i cannot help you with your Radeon.
But,i'll ask my cousin "cult" instead so,you'll have an answer shortly.In the manwhile,i'm dl Graphedit to see what's going on...
regards,
george
drebel
19th December 2002, 20:24
Blight was faster...and far more precise:)
what about overlaymixer2(although i think its inferior to the previous one..)
MaTTeR
19th December 2002, 21:05
Originally posted by trbarry
In Graphedit, if you right click on the video renderer properties, does it say YV12 on your system? If so, what video card do you have?
I don't see anywhere in the video render filter where it describes what color space is being output. However, I did notice that in the DirectDraw tab it only lists YUV and RGB overlays and they have a checkbox beside of them. YV12 is listed in the Hardware Capabilities area though.
ffdshow is listing codec as YV12 and output color space is YV12 but I see nothing in the video render window that displays real-time color space output. My card is a GeForce2 MX/64MB AGP using the certified 40.72 drivers.
drebel
19th December 2002, 21:40
Same here...windows2000,no VideoMixerRenderer.Works like a charm.No way to explore videorendener output though.Maybe you need a special program that controls overlay(there are some written in Delphi ,as i remember,to handle connection of input-output pins of those filters
PS: overlaymixer2 failed to connect...
trbarry
19th December 2002, 22:20
I'm on Win/Me, so I don't think I have a VMR renderer. Maybe that's the difference.
If I choose Use Overlay Mixer from ffdshow then I get one of those instead of the Avi decompressor, but it still puts out RGB to the (non-VMR) video renderer.
Is the Overlay Mixer faster than whatever the AVI Decompressor is doing?
I think I need a new render filter for Win/Me. Mine doesn't show YV12 overlays either. Didn't someone write their own render filter a while back and post it here?
Yeah, I know, I'll search. ;)
- Tom
PS - Maybe the reason I can see the properties of my render filter is because I've got the DXSDK installed. No idea.
drebel
20th December 2002, 18:18
I'm also seeing properties(DSpack2.1 installed...)But i still cant tell the output format(only what my card is capable of performing).I think i saw somewhere a while ago a prog named OvTool (or something).
regards
MaTTeR
6th January 2003, 15:29
Tom,
Sorry to drag this thread back up but I just seen a comment from HarryM in this thread that might interest you-
http://forum.doom9.org/showthread.php?s=&postid=236289#post236289
Basically he says his Radeon 7000 VE doesn't support YV12 overlays. Did you verify your model supports them yet?
trbarry
6th January 2003, 16:34
I have a Radeon LE, not VE. But I haven't gone any further with this except I tried a couple times to download a copy of SiSift Sandra and couldn't reach the site.
I guess I could even put up DX9 now on Win/Me but I haven't heard yet that it actually helps anything so it doesn't seem worth playing with.
- Tom
sam_b
6th January 2003, 16:59
AFAIK all radeon chips support YV12 overlays. Mine is a radeon all-in wonder, but this, the radeon DDR, the LE, the VE and the 7500 all are effectively the same chip with the same features. I believe most nvidia GPU's support it too, but not sure.
Does anyone know if the video renderer d-show filter's hardware capabilities section is accurate? Sorry if this has already been resolved and I missed it.
MaTTeR
6th January 2003, 17:10
Originally posted by sam_b
Does anyone know if the video renderer d-show filter's hardware capabilities section is accurate? Well if you compare the output to hardware tools such as Sandra then it does seem to be accurate. But then that begs the next question....How accurate is Sandra?:D
HarryM
6th January 2003, 18:45
Originally posted by sam_b
AFAIK all radeon chips support YV12 overlays. Mine is a radeon all-in wonder, but this, the radeon DDR, the LE, the VE and the 7500 all are effectively the same chip with the same features. I believe most nvidia GPU's support it too, but not sure.
Does anyone know if the video renderer d-show filter's hardware capabilities section is accurate? Sorry if this has already been resolved and I missed it.
My Radeon 7000 haven't YV12 overlay, surely. When I playing AVS 2.5 script (YV12), I get video generated from big coloured mosaic-blocks and CPU usage is very high. When I insert 'ConvertToYUY2' into end of AVS script, video is nice aliased and CPU usage pretty low. Same at YV12 forced output at DivX5.
Only YUY2 or RGB.
Have anybody Radeon or ATI driver (certain!), that support YV12 overlay?
xly
6th January 2003, 22:44
Tom,
I have and "old" ATI All In Wonder 128 Pro". I have W98
If you open System/Multimedia/Video Compression Codecs" you find in the list :
ATI YV12 Planar Format Codec (YV12)
Properties comments are :
"Converts standard YV12 Video Format to and from RGB and supports Overlay playback".
I suspect this codec to be installed only when you install Multimedia Center and not if you use only ATI Display Drivers.
xly
It's more fun to compete !!
vinetu
6th January 2003, 22:46
I've just tested my Radeon 8500 in many collor
space modes - in all of them overlay work as in YUY2-perfect!
(also CPU load is the same for all modes- ~20-30%)
However the picture is slightly better in YV12 (source is VOB file).
here is screen shot from GraphEdt chain:
http://www.freewebs.com/vinetu/Clipboard.gif
I allway use latest drivers from here:
http://www.omegacorner.com/
I guess lack of overlay in some modes is drivers and-or settings related(not hardware) in case of Radeon 7000 ++...
vinetu
P.S. winXP,P4@2.4,DirectX9
MaTTeR
6th January 2003, 23:57
I've never been much of a gamer so I've also been using the Omega drivers for my GF2 cards as well. The quality and stability are outstanding, maybe ATI and nVidia should hire this guy.
Asmodian
7th January 2003, 00:26
My roommate has a radion 7500 it used to not support yv12 overlay (messed up pink/green video when forced to that) but I just got new drivers (yesterday) and now it does.
I have noticed that when playing new xvid (until 1/03/03) I had to have dvobsub loaded to get yv12 (set on always load). This was also true with ffdshow 12/13/02 but the new ffdshow alpha seems to have fixed it. I believe it is actually not doing any color space conversions because ffdshow reports yv12 and the cpu usage is at ~25% on an XP@1763Mhz with xvid at 672x272 with 2 bframes and use xvid off. I can also make it use ~80% cpu by switching to the directx9 mode in zoomplayer 3.0b4 (not sure what that means).
sam_b
7th January 2003, 04:26
HarryM, it sounds like you have some faulty drivers, which version are you using?
To repeat myself: I have two radeons (AIW original & 7500) and both support YV12 overlay. They do not behave in the way that you describe (win2k sp2 dx8.1). If you do a google search there is information on YV12 support for various cards, mainly from linux users.
HarryM
7th January 2003, 07:47
Originally posted by sam_b
HarryM, it sounds like you have some faulty drivers, which version are you using?
To repeat myself: I have two radeons (AIW original & 7500) and both support YV12 overlay. They do not behave in the way that you describe (win2k sp2 dx8.1). If you do a google search there is information on YV12 support for various cards, mainly from linux users.
Correction.
I install newest driver (not Catalyst 3.0 yet - I have dial-up, 20 MB is big for me) and YV12 overlay is supported now. :D
But alone avisynth.dll can't initialize YV12 overlay still. I must make force DVobSub, overlay mixer, Ffdshow (check uncompressed format)or another directshow mixer.
When I playing via pure avisynth.dll v2.5 - 'RGB32 (flipped) colorspace' I have natively.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.