Hi, I hope you can help, I am in need of some assistance with the DirectShow filters for Theora. I have successfully created a working capture graph using OGG / Vorbis / Theora, however, when I add a Sample Grabber Directshow filter between the FFDShow decoder and Theora Encoder, this results in the video file being mirrored vertically. I have noticed that the original CaptureGraph was using YUV12, but the SampleGrabber is configured to use RGB24. Is it likely that this is the cause of the problem? Unfortuntatly I need to stick with RGB as I have already written a significant amount of code around this. Should I not be using RGB24 as an input to the OGG Mux filter? If not, can anyone suggest a good (free) Colour Space Convertor to convert from RGB24 -> YUV12 (The Microsoft only seems to convert between different RGB formats) Many thanks, Steve. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/theora-dev/attachments/20081211/149672f6/attachment.htm
ogg.k.ogg.k at googlemail.com
2008-Dec-11 07:52 UTC
[theora-dev] DirectShow Theora Issue with RGB24
> this results in the video file being > mirrored vertically.This wouldn't be caused by using YUV colorspace instead of RGB, but because the Theora code stores lines in the 'reverse' order (eg, a negative stride). If you can control the order in which lines are processed, just reverse this order. If not, a post processing step that flips the image should be enough, and fast.
Steve Scott wrote:> Hi, > > I hope you can help, I am in need of some assistance with the > DirectShow filters for Theora. > > I have successfully created a working capture graph using OGG / Vorbis > / Theora, however, when I add a Sample Grabber Directshow filter > between the FFDShow decoder and Theora Encoder, this results in > the video file being mirrored vertically. I have noticed that the > original CaptureGraph was using YUV12, but the SampleGrabber is > configured to use RGB24. Is it likely that this is the cause of the > problem? > > Unfortuntatly I need to stick with RGB as I have already written a > significant amount of code around this. > > Should I not be using RGB24 as an input to the OGG Mux filter? > If not, can anyone suggest a good (free) Colour Space Convertor to > convert from RGB24 -> YUV12 (The Microsoft only seems to convert > between different RGB formats) > > Many thanks, > Steve.Hi, I've implemented a check to verify the bottom-up conforming with this page http://msdn.microsoft.com/en-us/library/ms787796(VS.85).aspx I've tested it with RGB32, but somehow the RGB24 doesn't work correctly, biHeight is positive so the image should be bottom-up, but it's not! I was thinking of removing the RGB24 support because of this, its causing problems! My suggestion is to use RGB32. In the future I will implement a function to specify if the image should be flipped or not. Hope this helps, Cristian.
Thanks a lot for the quick replies. I have tried using RGB32 but unfortunatly I still get the same issue. I have tried a few other formats including RGB555 and they all work ok. I shall flip the image for now. Cristian - do you know if there are any timescales around implementing the new function to check if the image needs flipping (not being pushy). Cheers, Steve. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/theora-dev/attachments/20081211/934dc324/attachment.htm