- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello!
Now I am working on implementation of two Vocoders one ADPCM and LD-CELP.
And ipp_adpcm and ipp_ldcelp are working great but if coderate is constant.
But in some systems like DCME we need to decode input bitstream when coderate changes from 16kbps to 12.8 or 9.6. (it can changes very often ) When it happens decoder doesn't decode the bitstream properly - it decodes only noise.
Question. Does ipp decoder support variable bit rate?
While decoding I changed coderate with out.bitrate=16000, orout.bitrate=9600 etc. But it seems that decoder decoded properly only when bitrate was constant but where it changed were olny noise.
Can you help me with that? thank you a lot. I hope you'll help me because I'll seems to lose my work if it wouldn't work :-). Thanks.
If you'll need some more infos on it I'll give it to you immediatly. THANKS.
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi tcorp,
Implement a bitrate detection mechanism in your application (bitrate = stream bits in buffer/ stream duration). Then, reset the decoder parameters, you may even need to reset the decoder with the new params.
Regards,
Tamer Assad
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for the answer. I didn't expect it so soon. I already did bitrate detection mechanism but I didn't reset decoder params, how I can do this with Reinit Funcion, or with Control function? Control function seems not working at all. :-(. But coderate is changing only with out.bitrate=16000 and using Control function seems not help.
P.S. So you think that IPP Vocoder must suppurt variable bit rate in input stream and should decode it properly?
With best regards, Ron.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
These codecs doesn't support VBR by standatd design. Their bitstream doesn't hold any information about the bitrate. It passed outside from codec and its stream. Your responsability to tell the decoder new bitrate exacly with the first recieved packet with another bitrate. You can easily do it through USC interface by filling in->bitratefield with right one. Decoder checks that new bitrate differs from previouce one and explicity reinitializes itself.
Igor S. Belyakov
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello. Sorry that I bother you so often, but I did as you advised me with decoder. But it didn't help. I don't know what I am doing wrong. Maybe problem is with input bitstream - I receive input vectors (10, 8, 6 bits for 16,12.8,9.6kbps resp) and these vectors are variable - rate can changes even every 4 vectors. Can this be the cause of my problem with decoder. Or maybe I've made some mistake in source code?
Thanks a lot.
Regards, Ron.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page