Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

SID packet creation

dmytro_bogovych
Beginner
638 Views
The question.
ITU document about G711 Appendix II says that SID packet first byte has value from 0 till 127.
The MSB bit in this byte (octet) is zero always.

But as I see from this source code (where SID packet is computed):

[cpp]dst[0] = (Ipp8u)(((anau[0] & 1) << 7) | ((anau[1] & 31) << 2) | ((anau[2] & 15)>>2));
dst[1] = (Ipp8u)(((anau[2] & 3) << 6) | ((anau[3] & 31) << 1));[/cpp]


The MSB bit CAN be 1! And it IS 1 in some cases - I see value 0xA0 in first byte very often.

Is it ok?
0 Kudos
5 Replies
Vyacheslav_Baranniko
New Contributor II
638 Views
Quoting - dmytro.bogovych
The question.
ITU document about G711 Appendix II says that SID packet first byte has value from 0 till 127.
The MSB bit in this byte (octet) is zero always.

But as I see from this source code (where SID packet is computed):

[cpp]dst[0] = (Ipp8u)(((anau[0] & 1) << 7) | ((anau[1] & 31) << 2) | ((anau[2] & 15)>>2));
dst[1] = (Ipp8u)(((anau[2] & 3) << 6) | ((anau[3] & 31) << 1));[/cpp]


The MSB bit CAN be 1! And it IS 1 in some cases - I see value 0xA0 in first byte very often.

Is it ok?

G711_II says that about CN not SID packet.

Vyacheslav
0 Kudos
dmytro_bogovych
Beginner
638 Views
Quoting - vbaranni

G711_II says that about CN not SID packet.

Vyacheslav

What is the difference?
I have a document which is named

"APPENDIX II
A comfort noise payload definition for ITU-T G.711 use in packet-based
multimedia communication systems"

From it:
"The noise level is expressed in dBov, with values from 0 to 127 representing 0 to 127 dBov. dBov
is the level relative to the overload of the system. The noise level is packed with the Most Significan
Bit (MSB) first with the unused bit always set to 0 according to Figure II.1. "


0 Kudos
Vyacheslav_Baranniko
New Contributor II
638 Views
Quoting - dmytro.bogovych

What is the difference?
I have a document which is named

"APPENDIX II
A comfort noise payload definition for ITU-T G.711 use in packet-based
multimedia communication systems"

From it:
"The noise level is expressed in dBov, with values from 0 to 127 representing 0 to 127 dBov. dBov
is the level relative to the overload of the system. The noise level is packed with the Most Significan
Bit (MSB) first with the unused bit always set to 0 according to Figure II.1. "



Dmitro, thank you very much for pointing thatout once more time!

It was wrong stated about full coformance of theUSC G711toG711 Annex II. Actually, invad modeUSC G711 generates G729B SID, whileG711 Annex II requires CN packet to be generated.So, USC G711 encoder in vad mode can only be used in pair with USC G711 decoder.

G711 Annex II compliancy statementwill be removedfromdocumentation of further IPP Speech Codec samples releases.

Vyacheslav, IPP speech domain
0 Kudos
softrite
Beginner
638 Views

I am trying to decode a SID packet using Intel ipp G.729 1 codec. I do not have a document that details where in the RTP packet the SID "signal" or "flag" is present. Does anyone have a place thaty can point me where generating CNG (Comfort Noise) from SID packet sequences is explained? Don't really need to re-invent the wheel here I think but been scouring the internet looking. Doing this is not very popular I guess...

Thanks for any tips in advance.
0 Kudos
Vyacheslav_Baranniko
New Contributor II
638 Views
Quoting - softrite

I am trying to decode a SID packet using Intel ipp G.729 1 codec. I do not have a document that details where in the RTP packet the SID "signal" or "flag" is present. Does anyone have a place thaty can point me where generating CNG (Comfort Noise) from SID packet sequences is explained? Don't really need to re-invent the wheel here I think but been scouring the internet looking. Doing this is not very popular I guess...

Thanks for any tips in advance.

IPP G729.1 does not support latest DTX version (Annex C).Only G729Bcompatibility mode is supported compliant with G.729.1 v1.0 (2006).
For general info you may find useful tolook atIETF RFC 5459:"G.729.1 RTP Payload Format Update: Discontinuous Transmission (DTX) Supports."
Here is IETF search engine http://www.rfc-editor.org/rfcsearch.html.
Vyacheslav, IPP speech domain.
0 Kudos
Reply