[Theora-dev] Directshow filters 0.64.7878

Robert Huitl theora-dev at huitl.de
Sun Oct 3 06:49:05 PDT 2004


On Saturday 02 October 2004 20:15, illiminable wrote:
> >However, the video bitrate still fluctuates from around 8 KB/s up to 45
> >KB/s.
> >I guess this is your hardcoded bitrate 400000 bps, so maybe the interface
> >doesn't propagate the values to the encoder at all?
>
> It should do, because the filters use that interface... however what it
> most likely is, is because the encoder settings get  finalised at the time
> the filter connects, if the filter is already connected, those settings
> won't be loaded into the actual encoder. I'll do something about that when
> i get the chance. In the meantime, if you set the settings on the encoder
> before you connect it up, it should work.

Well... no ;)  I set the properties on the unconnected filter:

CHECK_HRESULT("Cannot create video encoding filter",
 CoCreateInstance(
  (REFCLSID)CLSID_VIDEO_ENCODER, NULL,
  CLSCTX_INPROC, (REFIID)IID_IBaseFilter,
  (void **)&m_pEncFilter
 )
);
configureVideoEncoder();
// add filter to graph and connect pins

void configureVideoEncoder() {
 //...
 // Change settings
 pEncodeSettings->setTargetBitrate(8*1024*8);
 pEncodeSettings->setQuality(30);
 pEncodeSettings->setKeyframeFreq(10);
 //...
}

In the meantime, I replaced the value 400,000 in dsfTheoraEncoder.dll. This 
does the job for now.

Bye,
  Robert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/theora-dev/attachments/20041003/b2c03902/attachment.pgp


More information about the Theora-dev mailing list