[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