Hi,
I'm trying to use the AVSync class to create an application that uses a special MPEG2TSSplitter (which can decode extra data PIDs). I pass my subclass in the ExtInfo.m_pSplitter to the AVSync Init call. So far so good.
Now unfortunately it looks like I can't have the CodecPipeline class help me with the decoder selection, since it requires a first frame (which I have, but can't pass to the AVSync::Init call, so instead it uses it's own uninitialized local version).
So, I'm thinking that I can create the Decoder on the outside of AVSync::Init, and pass it down in ExtInfo.m_pVideoDecoder, but alas - AVSync::Init never checks for a passed in version of this field. Is that an oversight, or intended?
Does that mean, I should avoid AVSync altogether and work with a complete replacement of all that nice code?
Regards,
Tilman .
I'm trying to use the AVSync class to create an application that uses a special MPEG2TSSplitter (which can decode extra data PIDs). I pass my subclass in the ExtInfo.m_pSplitter to the AVSync Init call. So far so good.
Now unfortunately it looks like I can't have the CodecPipeline class help me with the decoder selection, since it requires a first frame (which I have, but can't pass to the AVSync::Init call, so instead it uses it's own uninitialized local version).
So, I'm thinking that I can create the Decoder on the outside of AVSync::Init, and pass it down in ExtInfo.m_pVideoDecoder, but alas - AVSync::Init never checks for a passed in version of this field. Is that an oversight, or intended?
Does that mean, I should avoid AVSync altogether and work with a complete replacement of all that nice code?
Regards,
Tilman .
链接已复制
4 回复数
Hi Vladimir,
I'm using w_ipp-sample-media_p_5.1.0.007 with ippi 5.1
Do I understand the "additional info" method correctly: I avoid CodecPipeline::SelectDecoder or AVSync::Init altogether and basically create a decoder from scratch myself passing all the necessary info down?
Regards,
Tilman.
I'm using w_ipp-sample-media_p_5.1.0.007 with ippi 5.1
Do I understand the "additional info" method correctly: I avoid CodecPipeline::SelectDecoder or AVSync::Init altogether and basically create a decoder from scratch myself passing all the necessary info down?
Regards,
Tilman.
UMC VideoDecoder Init method takes VideoDecoderParams class, which can contain first frame (where decoder will find necessary stream information). If this is NULL, decoder will look to VideoStreamInfo structure which comes from splitter GetInfo() method.
BTW, you might be interested to try the latest version of IPP, 5.2 beta. The media sample was improved in this version.
Regards,
Vladimir