• Data analytics and data streaming applications that require voice and video interfaces • Content delivery SigMRF is designed to scale from low capacity, relatively simple systems to high capacity, complex systems. When high capacity is required, SigMRF supports coCPU™ hardware that...
• Test and demo applications (for example, mediaTest) • Optional coCPU™ hardware The SigMRF architecture is designed for both flexibility and high performance, supporting multiple data flow and packet I/O options, DPDK, and entry points for user defined applications. User apps can operate and make API calls at several levels, including frame, packet, and session.
Codec libraries are accessed by user applications via Voplib; currently direct access to codec libraries is not supported. SigMRF also requires the DirectCore set of libraries. DirectCore is a separate product, used by a number of Signalogic application areas, including telecom, image analytics, AI (neural networks), and more.
• Media task, which runs at a lower rate (typically every 5 msec) and handles packet and payload processing, including transcoding, ptime and transrating, DTMF, and more Typically, the SigMRF background process comes into play when there is a need for higher performance or user application code must be simplified. Although not all situations require the SigMRF background process to be running, it cannot be separated from SigMRF from a product ordering or support standpoint.
3D representation, DirectCore forms a “dividing layer” between x86 CPUs in front of the layer and coCPUs behind the layer. If coCPU hardware is in use, the SigMRF background process, as well as packet and media libraries, exist on both sides of this layer.
4/17/17 SigMRF Users Guide, Rev A2 Copyright Signalogic, Inc. 2016-2017 Figure 2-1, coCPU full-length PCIe card installed in a Supermicro 1U server. Note the dual slot PCIe risers on either side of the motherboard Figure 2-1 above shows a coCPU full-length PCIe card installed in a low-cost Supermicro 1U server with dual slot PCIe risers on either side of the motherboard.
4/17/17 SigMRF Users Guide, Rev A2 Copyright Signalogic, Inc. 2016-2017 Figure 2-2, coCPU full-length PCIe cards installed in HP DL380 and Dell R720 2U servers Figure 2-3 below shows a half-length PCIe card with 32 coCPU cores, 8 GB DDR3 mem, and GbE interface installed in a mini-ITX server on a standard PCIe riser.
Page 11
4/17/17 SigMRF Users Guide, Rev A2 Copyright Signalogic, Inc. 2016-2017 Figure 2-3, coCPU half-length PCIe card installed in a mini-ITX server with enclosure dimensions approx 8” x 9” x 3”. Note 100 W power supply at left side of the enclosure...
Figure 3-1 below shows packet and frame data flow in cases where user applications are handling packet I/O and timing, packet parsing and formatting, and not using the SigMRF background process. 9 / 39...
Page 13
4/17/17 SigMRF Users Guide, Rev A2 Copyright Signalogic, Inc. 2016-2017 Figure 3-1, User application packet and frame data flow Below is a pseudocode representation of the processing performed by a user application corresponding to Figure 3-1 above. /* setup code */ #if NONBLOCKING fcntl(recv_sock_fd, F_SETFL, O_NONBLOCK);...
Page 14
4/17/17 SigMRF Users Guide, Rev A2 Copyright Signalogic, Inc. 2016-2017 len = recvfrom(rxpkt) #if NONBLOCKING if (len <= 0) continue; #endif [ parse packet and get length from packet headers ] DSBufferPackets(rxpkt) /* add packet to jitter buffer */...
Page 15
Figure 3-2 below shows packet and frame data flow handled by the DSSessionTranscode() API, in cases where user applications are handling packet I/O and timing, but not packet parsing and formatting, and not using the SigMRF background process. Note that DSSessionTranscode() can also perform packet I/O if a network interface was specified by the session handle in use (session handles are created by the DSSessionCreate() API).
Copyright Signalogic, Inc. 2016-2017 Figure 3-3, Background process transcoding packet and frame data flow SigMRF background process timing (i.e. rate at which packet and media tasks run) can be configured by Pktlib APIs. The background process runs independently of any user applications.
“raw audio” (typically in 16-bit PCM format) for frames being encoded. 3.3 Codecs SigMRF software includes several voice and video codecs, listed in the following sections. 3.3.1 Voice Codecs SigMRF software includes a number of voice codecs, listed in Table 3-1 below.
CPU support is updated continuously; current status available upon request. The links provided contain information about capacity, codec version, CPU and memory usage, and more. 3.3.2 Video Codecs SigMRF software includes a number of video codecs, listed in Table 3-2 below. 15 / 39...
4/17/17 SigMRF Users Guide, Rev A2 Copyright Signalogic, Inc. 2016-2017 Codec CPU Support More Information / Comments H.264 c66x http://processors.wiki.ti.com/index.php/NFV_Transcoding http://www.signalogic.com/index.pl?page=dpdk_media_solution Network I/O streaming input and YUV file input supported H.265 c66x c66x beta version available; more information available upon request...
Page 20
4/17/17 SigMRF Users Guide, Rev A2 Copyright Signalogic, Inc. 2016-2017 For codec and session testing, concurrent mediaTest instances in multiple user windows and/or multiple VMs are supported. Example mediaTest Command Lines Example mediaTest command lines are shown below. x86 Motherboard Network I/O and Packet Processing ./mediaTest -cx86 -M0 -Csession_config/frame_test_script_config...
Page 21
Specifies x86 processing with measurement and logging options Table 3-4, mediaTest command line CPU options 4) The following lib folder configuration commands may be needed for console window (shell) operation, depending on SigMRF software installation parameters: ldconfig /install_path/Signalogic/SIG_LIBS/Voice/EVS_fixed-point/lib ldconfig /install_path/Signalogic/SIG_LIBS/Voice/EVS_floating-point/lib Example Session Config Files Example session config file entries are shown below.
4/17/17 SigMRF Users Guide, Rev A2 Copyright Signalogic, Inc. 2016-2017 mediaTest More Information More information about mediaTest when used with coCPU hardware is located on the Transcoding Test and Demo TI Wiki. 3.5 APIs Information for Pktlib, Voplib, and DirectCore APIs is given in sections 3.5.x below. In the case of Pktlib and Voplib APIs, header files are included that show: •...
Page 25
• a uFlags value, a combination of operating modes, data flow paths, and session attributes Pktlib APIs are implicitly called by the SigMRF background process, including both packet and media tasks. In this case, the background tasks handle all packet I/O and timing.
Page 26
-0 -- none, DSSessionTranscode() or other APIs are called by application code based on a user-defined timing. This should be used with frame mode [default] -N -- internal SigMRF timing is used and packet and codec related APIs are explicitly called every N msec The following attributes may be specified:...
Page 27
, , , uint8_t* * * * pkts); /* Jitter buffer APIs: -DSBufferPackets() - add one or more packets to the SigMRF internal jitter buffer. Notes: -should not be used -- or used very carefully -- if DSRecvPackets() is called with...
4/17/17 SigMRF Users Guide, Rev A2 Copyright Signalogic, Inc. 2016-2017 3.5.2 Voplib Voplib (Voice and Video over packet library) APIs may be called by user applications to: • decode frames of compressed bitstream data for a particular codec (typically formed by extraction from RTP packet payloads), and return frames of raw audio data •...
3.5.3 DirectCore™ DirectCore is a separate software product that provides an underlying set of libraries needed by SigMRF software as well as a number of other Signalogic software products, including video streaming, image analytics, AI (neural networks). DirectCore provides functionality in two (2) distinct cases: •...
2) Session, termination, and voice / video attributes struct definitions Copyright (C) Signalogic, Inc, 2008-2012 Created for c64x voice platforms Copyright (C) Mavenir Systems and Signalogic, Inc, 2013-2015 Support for c66x coCPU card PCIe and ATCA blade SRIO interfaces 27 / 39...
Page 31
4/17/17 SigMRF Users Guide, Rev A2 Copyright Signalogic, Inc. 2016-2017 Copyright (C) Signalogic, Inc, 2016-2017 Add APIs to (i) encapsulate c66x PCIe and SRIO interfaces, and (ii) support x86-only or combined x86 and c66x server usage. APIs are consistent between all use cases...
Page 36
4/17/17 SigMRF Users Guide, Rev A2 Copyright Signalogic, Inc. 2016-2017 uint32_t max_delay : : : : 8; ; ; ; /* Maximum allowed delay, ultimately limited based on Rx buffer size (total size of all packets) or heap memory (jitter buffer entries) */ uint32_t target_delay : : : : 8;...
Page 37
Session commands and APIs for c66x, x86, or combined platforms Copyright (C) Signalogic, Inc, 2008-2012 Created for c64x voice platforms Copyright (C) Mavenir Systems and Signalogic, Inc, 2013-2015 Support c66x coCPU card PCIe or ATCA blade SRIO interface Copyright (C) Signalogic, Inc, 2016-2017 Add APIs to (i) encapsulate c66x PCIe and SRIO interfaces, and (ii) support x86-only or combined x86 and c66x server usage.
Need help?
Do you have a question about the SigMRF and is the answer not in the manual?
Questions and answers