You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- fixes for images tags (replacement <img> HTML tags with ![] Markdown
tag) (working wrong in Sphinx)
- images descriptions fixes (removing "png" from image descriptions)
- images descriptions fixes (replacing "image" with more meaningful
names)
- local paths (in the same directory) to pictures/other documents -
unified to have no "./" at the beginning
Copy file name to clipboardExpand all lines: doc/design.md
+10-20Lines changed: 10 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,7 @@ This section provides a detailed design concept of the Media Transport Library,
6
6
7
7
Similar to other network processing libraries, it consists of a control plane and a data plane. In the data plane, a lockless design is adopted to achieve ultra-high performance.
@@ -23,9 +21,7 @@ With this PMD design, it is expected that a CPU thread will always be utilized t
23
21
By the way, we provide an option `MTL_FLAG_TASKLET_SLEEP` that enables the sleep option for the PMD thread. However, take note that enabling this option may impact latency, as the CPU may enter a sleep state when there are no packets on the network. If you are utilizing the RxTxApp, it can be enable by `--tasklet_sleep` arguments.
24
22
Additionally, the `MTL_FLAG_TASKLET_THREAD` option is provided to disable pinning to a single CPU core, for cases where a pinned core is not feasible.
@@ -52,7 +48,7 @@ MTL supports multi-process deployment through the use of SR-IOV. Each process op
52
48
Each instance sends a request to the Manager service, which in return assigns a free core to the instance. The Manager service is also responsible for detecting when an instance disconnects and will subsequently release the associated resources. For more details, please consult the [Manager guide](../manager/README.md)
53
49
54
50
If the background Manager service is not practical for your setup, there is a fallback method: managing the logical core (lcore) via shared memory. In this approach, all MTL instances loop through a shared memory structure to locate an unused core.
55
-
The instructions for this deprecated method can still be accessed in the [shm_lcore guide](./shm_lcore.md). However, we strongly advise against this method and recommend using the Manager service instead, as it has the capability to detect when any instance has been unexpectedly closed.
51
+
The instructions for this deprecated method can still be accessed in the [shm_lcore Guide](shm_lcore.md). However, we strongly advise against this method and recommend using the Manager service instead, as it has the capability to detect when any instance has been unexpectedly closed.
56
52
57
53
### 2.5. The tasklet API for application
58
54
@@ -210,9 +206,7 @@ During the packet construction process, only the RTP header is regenerated to re
210
206
211
207
Note that if the currently used NIC does not support the multi-buffer feature, the MTL will need to copy the video frame into the descriptor, resulting in a loss of performance.
212
208
213
-
<divalign="center">
214
-
<imgsrc="png/tx_zero_copy.png"align="center"alt="TX Zero Copy">
215
-
</div>
209
+

216
210
217
211
#### 4.3.2. ST2110-21 pacing
218
212
@@ -227,9 +221,7 @@ However, for a 4K 50fps session, the time for one packet is approximately ~1us,
227
221
228
222
In the case that the rate-limiting feature is unavailable, TSC (Timestamp Counter) based software pacing is provided as a fallback option.
@@ -238,11 +230,9 @@ Once the packet is received and validated as legitimate, the RX session will cop
238
230
239
231
#### 4.4.1. RX DMA offload
240
232
241
-
The process of copying data between packets and frames consumes a significant amount of CPU resources. MTL can be configured to use DMA to offload this copy operation, thereby enhancing performance. For detailed usage instructions, please refer to [DMA guide](./dma.md)
233
+
The process of copying data between packets and frames consumes a significant amount of CPU resources. MTL can be configured to use DMA to offload this copy operation, thereby enhancing performance. For detailed usage instructions, please refer to [DMA Guide](dma.md)
@@ -365,7 +355,7 @@ Thanks to the plugin, the application can implement ST22 support using the follo
365
355
st22p_tx_free
366
356
```
367
357
368
-
The plugin guide can be find at [plugin](./plugin.md), the pipeline detail implementation can be find from [st22_pipeline_tx.c](../lib/src/st2110/pipeline/st22_pipeline_tx.c) and [st22_pipeline_rx.c](../lib/src/st2110/pipeline/st22_pipeline_rx.c).
358
+
The plugin guide can be find at [Plugin Guide](plugin.md), the pipeline detail implementation can be find from [st22_pipeline_tx.c](../lib/src/st2110/pipeline/st22_pipeline_tx.c) and [st22_pipeline_rx.c](../lib/src/st2110/pipeline/st22_pipeline_rx.c).
369
359
370
360
Sample application code can be find at [tx_st22_pipeline_sample.c](../app/sample/tx_st22_pipeline_sample.c) and [rx_st22_pipeline_sample.c](../app/sample/rx_st22_pipeline_sample.c)
371
361
@@ -431,7 +421,7 @@ By default, the frame buffer is allocated by MTL using huge page memory, however
431
421
MTL TX and RX will interact with the NIC using these user-defined frames directly. It is the application's responsibility to manage the frame lifecycle because MTL only recognizes the frame address.
432
422
Additionally, it's important to note that if a DPDK-based PMD backend is utilized, the external frame must provide an IOVA address, which can be conveniently obtained using the `mtl_dma_map` API, thanks to IOMMU/VFIO support.
433
423
434
-
For more comprehensive information and instructions on using these converters, please refer to the [external_frame](./external_frame.md).
424
+
For more comprehensive information and instructions on using these converters, please refer to the [External Frame API Guide](external_frame.md).
435
425
436
426
### 6.10. VSync
437
427
@@ -449,7 +439,7 @@ The ST**_TX_FLAG_USER_TIMESTAMP flag is provided to enable applications to use t
449
439
### 6.12. SIMD for color space convert
450
440
451
441
MTL includes an array of built-in SIMD converters, providing high-performance data processing. The implementation details for these converters are available in the MTL library source files [st_avx512.c](../lib/src/st2110/st_avx512.c) and [st_avx512_vbmi.c](../lib/src/st2110/st_avx512_vbmi.c).
452
-
The API for these converters is publicly documented in the header file [st_convert_api.h](../include/st_convert_api.h). For more comprehensive information and instructions on using these converters, please refer to the [convert guide](./convert.md).
442
+
The API for these converters is publicly documented in the header file [st_convert_api.h](../include/st_convert_api.h). For more comprehensive information and instructions on using these converters, please refer to the [Convert Guide](convert.md).
Copy file name to clipboardExpand all lines: doc/sdm_appliance.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,10 +7,12 @@ This document contains instructions for streaming a desktop session to a Intel
7
7
Depicted below are 2 use-case scenario:
8
8
9
9
1. Synchronous playback scenario where output of a PC/Laptop is streamed via a sending device to the receiver.
10
-

10
+
11
+

11
12
12
13
2. Asynchronous playback - where the sending device is streaming a digital media generated (e.g framebuffer) / stored locally on the device to the receiver.
Copy file name to clipboardExpand all lines: ecosystem/ffmpeg_plugin/README.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -91,9 +91,7 @@ Note: The format y210 is not supported by the Ffmpeg plugins for MTL.
91
91
A typical workflow for processing an MTL ST22 compressed stream with FFMpeg is outlined in the following steps: Initially, FFMpeg reads a YUV frame from the input source, then forwards the frame to a codec to encode the raw video into a compressed codec stream. Finally, the codec stream is sent to the MTL ST22 plugin.
92
92
The MTL ST22 plugin constructs the codec stream and transmits it as ST2110-22 RTP packets, adhering to the standard. In addition to the JPEG XS stream, the MTL ST22 plugin is capable of supporting various other common compressed codecs, including H264, H265, and HEVC, among others.
Copy file name to clipboardExpand all lines: manager/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## Overview
4
4
5
-

5
+

6
6
7
7
MTL Manager is a daemon server designed to operate with root privileges. Its primary role is to manage the lifecycle and configurations of MTL instances. It addresses a variety of administrative tasks, including:
0 commit comments