[Theora-dev] Problems with Theora DirectShow filters

illiminable ogg at illiminable.com
Sat Sep 18 11:50:33 PDT 2004

----- Original Message ----- 
From: "Robert Huitl" <theora-dev at huitl.de>
To: <theora-dev at xiph.org>
Sent: Sunday, September 19, 2004 12:12 AM
Subject: Re: [Theora-dev] Problems with Theora DirectShow filters
On Friday 17 September 2004 10:49, illiminable wrote:
>> >You can download it at www.huitl.de/theora-speex-mux.ogg.
>> This has no video frames in it !! Also... since seeking takes place on 
>> the
>> first stream... you should really have theora as the first stream in the
>> file (this means on the bottom pin of the muxer)... it doesn't matter too
>> much for now... but when i do keyframe seeking it might.
>Well, my code connects the theora encoder to the muxer first, and then the
>audio encoder. Should I do this in reverse order and add the first stream

Yes... i'll probably change that... it was just easier to code that way. But 
yeah... the streams appear from bottom to top.

>I put another file online at http://www.huitl.de/theora-only.ogg. As the 
>says, it's only a theora stream, captured from the webcam and 
>by ffdshow. It plays in GraphEdit (but not with the ffdshow MPEG4 filter),
>but it looks to fast and the graph causes a time-out at the end.

I'm just downloading i'll have a look.

>> I suspect the problem is that the ffdshow filter strips the granule pos
>> time stamps, and attaches it's own... which are in directshow time... 
>> which
>> are significantly higher numbers (1 sec = 10,000,000 UNITS), so when it
>> muxes, all the theora frames will be bunched up at the end. Potentially
>> even an overflow could occur.
>I didn't understand this one completely, but it sounds reasonable :)
>With the ogg-file mentioned above, you should be able to find out if this 
>the case.

Yep... basically my filter uses granule pos as time stamps... which are 
generally comparatively low numbers... but ffdshow uses absolute times in 
100 nanosecond units... so when it goes to mux... all those pages get pushed 
to the end.

>-> http://www.huitl.de/videocap-playback.png
>There are two resolutions in the filter graph properties, 320x240 and 
>Though it might not be a problem, it looks strange to me.

It sometimes does that... 384x240 i suspect is better resolution for the 
hardware of directx or something like that :)

>Sure. I forgot to set up a correct reply-address for postings to this 

No probs... i do it all the time :) Was just checking if you noticed !

BTW... i'm writing a AYUV to YV12 conversion now... so from there the 
various RGB->AYUV->YV12 conversion should be easy.



More information about the Theora-dev mailing list