GNOME Bugzilla – Bug 424070
[amrnbdec] add IF2 handling
Last modified: 2008-11-05 11:03:18 UTC
block size and mode are badly handled in case of AMR-NB IF2 format
Created attachment 85507 [details] [review] diffs against r1.13 for amrnbdec.c
Could you provide a little bit more background about this please? Who would define IF2? Looking at http://wiki.multimedia.cx/index.php?title=AMR-NB it seems more like those are two different bitstream variations (rather than a define set in the library). If that is so, wouldn't it make more sense to have an amrnbdec and a amrnbdec-if2 or something, or set the right mode depending on the input caps?
your remark makes sense. it is indeed just a bitstream variation. what i did was just to have the IF2 handling, without the IF1 one. But it would be better to have both, yes. FYI, the IF2 case is a common case for videotelephony on mobile phones for instance.
Ok, so is there a way to detect if IF2 or IF1 is used?
If your question is: is there a way to detect if from the decoder, then the answer is no.
Ok, so we should probably add a property for selecting the mode that defaults to the current mode... good. So, is there something similar like these two modes for amrwb?
yes, there is the same thing for ARM-WB too. you should refer to 3GPP TS 26.201 for the frame structures.
* ext/amrnb/amrnbdec.c: (gst_amrnb_variant_get_type), (gst_amrnbdec_class_init), (gst_amrnbdec_set_property), (gst_amrnbdec_get_property), (gst_amrnbdec_chain): * ext/amrnb/amrnbdec.h: Add a property to select the amr variant. Fixes #424070.