MONOGRAM YUV Source v1.0.0.1
December 17th, 2007 Posted in Free SoftwareYesterday I’ve published a filter that can generate YUV sequences from input video. Now there is a simple filter that can read those raw video sequences and deliver them downstream. This filter is, again, useful mostly as a support tool when testing or comparing video codecs.
Features:
- Support for 4:2:0, 4:2:2, 4:4:4 planar formats
- Customizable video resolution
- Customizable timing
- Seeking just as in any other container format
- Output in YV12 and YUY2 formats
- Preview window to verify parameters

Exactly as with the filter before, you can use this filter freely for non-commercial use.
Download binary : mmyuvsrc.ax (130 KB)
Enjoy,
Igor
16 Responses to “MONOGRAM YUV Source v1.0.0.1”
By Saurabh on Oct 11, 2008
Dear all,
I downloaded the mmyuvsrc.ax file and tried to register it with WinXp SP2 OS but gives error.
Please tell me what’s the problem
By Igor Janos on Oct 11, 2008
Try installing this : SP1 Redistributable pack
By Saurabh on Oct 13, 2008
Thanks for the reply.
After installing SP1 Redistributable pack its working fine….
Thanks once again
By Joe Plumber on Oct 27, 2008
the video output instead of rander on the screen I would like to dump to a file?
do you think this filter will help? any suggestion
By Igor Janos on Oct 28, 2008
Not really. You would need a YUV writer filter.
By Don Gin on Nov 22, 2008
So, this filter acquires YUV sequences from all kinds of formatted videos? Then it passes the raw video data stream down in the graph?
I can not see how it can be “…as a support tool when testing or comparing video codecs”?
Just try to know the cases we can use this filter.
By David on May 19, 2009
Hi Igor I am trying to write my own Decoder filter . Regrading the output YV12 format to be connected to the video, I dont seem to be able to display to the video renderer correctly. However,I am able to connect to your h264 encoder ->ffdshow video decoder-> video renderer and display correctly.
This is just to check if my yv12 output is correct.
So I have a couple of questions.
1)I observed that your YUV source filter(YV12 output) width changes size when you connect to a video render and remains unchanged when connected to your encoder. What is the rational to this?
2)How do i go about implementing dynamic format change,resizing? i.e. like when if I only know the width and height after I have done decoding one frame , or like in this case your YUV source filter will do resize when connected to a video render.
Need some help to point me to the right direction again.
Thanks!!!!
By Igor Janos on May 19, 2009
Hello,
1) This change is initiated by the Video Renderer filter. The point of the format change is to optimize the rendering operation. When the connection is made the original mediatype is negotiated as to suit the actual video itself - buffer size is derived as width x height x bits_per_pixel .. etc. However once the streaming starts the video renderer might need a different alignment - one that would fit the dimensions of video texture it is using so the upstream filter could be delivering data to the video texture directly instead of performing additional copy.
2) To implement this you must check for IMediaSample::GetMediaType each time you want to write something to it. If no change has happened, the IMediaSample::GetMediaType will NOT return S_OK. If there is a change, you must call your filter’s SetMediaType again to accept the new format and deliver new data accordingly.
There is also a nice article in the MSDN about dynamic format changes.
http://msdn.microsoft.com/en-us/library/dd388731(VS.85).aspx
Igor
By Jeff Wen on May 20, 2009
Hi,
your filter is working fine. But is there anyway i can change the resolution to such as 1680×1056, there isnot such option in the resolution dorpdown box?
thanks
By Jeff Wen on May 20, 2009
Hi Igor,
and is there anyway to change fps to 120?
thanks
By Igor Janos on May 20, 2009
Yes, it is possible to change the resolution. You can manually overwrite the values in the dropdown boxes. Once you’ve set them, press the property page “Apply” button.
No, it is not possible to set 120 fps.
By Jeff Wen on May 20, 2009
Hi Igor,
thanks for your reply. yes, i can now change to any resolution i want. It is a pity that the fps can’t be changed to above 100.
but thanks anyway.
jeff
By Blanche on May 26, 2009
Hi Igor,
I write a source filter that can read yuv sequence by myself, but it has something wrong. When displaying, it is full of green, and when debuging, it can show the right video, but still has the green background. When debuging, it can’t go into the source filter constructor. So, could you give me some advice, thank you.
By Hxc on Jun 1, 2009
hello!!
I’m new to directshow while tring to write a source filter to play *.yuv files.
I’ve almost done the work,but got no idea of defining formattype of MEDIASUBTYPE_YV12,so the source filter and render filter just coundn’t agree on the media type.
would you show me some of the details on media type defining?
…
By Ed on Nov 20, 2009
Could you provide the interface definition to the YUV source such that I can integrate this into a directshow program?
p.s. Thanks for all the work you put into this site, it has really helped me come up to speed on DirectShow.
By GDX from China on Nov 30, 2009
Hello!
May I have a verson of the sourcefiler,which can be fitted to YUV files in 1920*1024?
I will be very grateful,Thanks!