Skip to content

Commit 8fdce09

Browse files
authored
Docs: fixes for images and paths (#1050)
- 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
1 parent 5274486 commit 8fdce09

File tree

10 files changed

+35
-69
lines changed

10 files changed

+35
-69
lines changed

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,7 @@ MTL also incorporates SIMD (Single Instruction, Multiple Data) for CSC (Color Sp
5858

5959
For the detail design, please refer to [Design Guide](doc/design.md).
6060

61-
<div align="center">
62-
<img src="doc/png/arch.svg" align="center" alt="/Overall Architecture">
63-
</div>
61+
![Overall Architecture](doc/png/arch.svg)
6462

6563
### 1.3. Ethernet supported
6664

doc/aws.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Instance example:
1818

1919
### 2.1. Build and install DPDK & Media Transport Library
2020

21-
Refer to CentOS part of [build.md](./build.md).
21+
Refer to CentOS part of [build.md](build.md).
2222

2323
### 2.2. Apply vfio-pci patches
2424

@@ -32,7 +32,7 @@ sudo get-vfio-with-wc.sh
3232

3333
## 3. IOMMU Setting
3434

35-
If you use bare metal, you can turn on IOMMU refer to [run.md](./run.md).
35+
If you use bare metal, you can turn on IOMMU refer to [run.md](run.md).
3636

3737
If you use VM, set NO-IOMMU mode for vfio after each boot.
3838

@@ -72,7 +72,7 @@ dpdk-devbind.py -s
7272

7373
> If no IOMMU support(.nxlarge instance), you have to run it under root user.
7474
75-
Refer to [run.md](./run.md) after section 3.2.
75+
Refer to [run.md](run.md) after section 3.2.
7676

7777
For single video stream whose bandwidth is grater than 5 Gbps (4k 30fps), arg `--multi_src_port` is needed in Tx app, see 7.3.
7878

doc/compliance.md

Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -17,41 +17,31 @@ Matrox VERO: narrow gapping
1717

1818
VERO 1080p50 summary
1919

20-
<div align="center">
21-
<img src="png/compliance/vero_1080p50_summary.png" align="center" alt="VERO 1080p50 summary">
22-
</div>
20+
![VERO 1080p50 summary](png/compliance/vero_1080p50_summary.png)
2321

2422
</br>
2523

2624
VERO 1080p50 analysis
2725

28-
<div align="center">
29-
<img src="png/compliance/vero_1080p50_analysis.png" align="center" alt="VERO 1080p50 analysis">
30-
</div>
26+
![VERO 1080p50 analysis](png/compliance/vero_1080p50_analysis.png)
3127

3228
</br>
3329

3430
VERO 1080p50 Cinst per frame
3531

36-
<div align="center">
37-
<img src="png/compliance/vero_1080p50_cinst_per_frame.png" align="center" alt="VERO 1080p50 Cinst per frame">
38-
</div>
32+
![VERO 1080p50 Cinst per frame](png/compliance/vero_1080p50_cinst_per_frame.png)
3933

4034
</br>
4135

4236
VERO 1080p50 VRX per frame
4337

44-
<div align="center">
45-
<img src="png/compliance/vero_1080p50_vrx_per_frame.png" align="center" alt="VERO 1080p50 VRX per frame.png">
46-
</div>
38+
![VERO 1080p50 VRX per frame](png/compliance/vero_1080p50_vrx_per_frame.png)
4739

4840
</br>
4941

5042
Pharbrix 1080p50 analyser: gapping
5143

52-
<div align="center">
53-
<img src="png/compliance/pharbrix_1080p50_analyser.png" align="center" alt="Pharbrix 1080p50 analyser">
54-
</div>
44+
![Pharbrix 1080p50 analyser](png/compliance/pharbrix_1080p50_analyser.png)
5545

5646
</br>
5747

@@ -61,40 +51,30 @@ Matrox VERO: narrow gapping
6151

6252
VERO 2160p50 summary
6353

64-
<div align="center">
65-
<img src="png/compliance/vero_2160p50_summary.png" align="center" alt="VERO 2160p50 summay">
66-
</div>
54+
![VERO 2160p50 summay](png/compliance/vero_2160p50_summary.png)
6755

6856
</br>
6957

7058
VERO 2160p50 analysis
7159

72-
<div align="center">
73-
<img src="png/compliance/vero_2160p50_analysis.png" align="center" alt="VERO 2160p50 analysis">
74-
</div>
60+
![VERO 2160p50 analysis](png/compliance/vero_2160p50_analysis.png)
7561

7662
</br>
7763

7864
VERO 2160p50 Cinst per frame
7965

80-
<div align="center">
81-
<img src="png/compliance/vero_2160p50_cinst_per_frame.png" align="center" alt="VERO 2160p50 Cinst per frame">
82-
</div>
66+
![VERO 2160p50 Cinst per frame](png/compliance/vero_2160p50_cinst_per_frame.png)
8367

8468
</br>
8569

8670
VERO 2160p50 VRX per frame.png
8771

88-
<div align="center">
89-
<img src="png/compliance/vero_2160p50_vrx_per_frame.png" align="center" alt="VERO 2160p50 VRX per frame.png">
90-
</div>
72+
![VERO 2160p50 VRX per frame](png/compliance/vero_2160p50_vrx_per_frame.png)
9173

9274
</br>
9375

9476
Pharbrix 2160p50 analyser: gapping
9577

96-
<div align="center">
97-
<img src="png/compliance/pharbrix_2160p50_analyser.png" align="center" alt="Pharbrix 2160p50 analyser">
98-
</div>
78+
![Pharbrix 2160p50 analyser](png/compliance/pharbrix_2160p50_analyser.png)
9979

10080
</br>

doc/design.md

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ This section provides a detailed design concept of the Media Transport Library,
66

77
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.
88

9-
<div align="center">
10-
<img src="png/software_stack.png" align="center" alt="Software Stack">
11-
</div>
9+
![Software Stack](png/software_stack.png)
1210

1311
## 2. Core management
1412

@@ -23,9 +21,7 @@ With this PMD design, it is expected that a CPU thread will always be utilized t
2321
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.
2422
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.
2523

26-
<div align="center">
27-
<img src="png/tasklet.png" align="center" alt="Tasklet">
28-
</div>
24+
![Tasklet](png/tasklet.png)
2925

3026
### 2.1. Tasklet design
3127

@@ -52,7 +48,7 @@ MTL supports multi-process deployment through the use of SR-IOV. Each process op
5248
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)
5349

5450
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.
5652

5753
### 2.5. The tasklet API for application
5854

@@ -210,9 +206,7 @@ During the packet construction process, only the RTP header is regenerated to re
210206

211207
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.
212208

213-
<div align="center">
214-
<img src="png/tx_zero_copy.png" align="center" alt="TX Zero Copy">
215-
</div>
209+
![TX Zero Copy](png/tx_zero_copy.png)
216210

217211
#### 4.3.2. ST2110-21 pacing
218212

@@ -227,9 +221,7 @@ However, for a 4K 50fps session, the time for one packet is approximately ~1us,
227221

228222
In the case that the rate-limiting feature is unavailable, TSC (Timestamp Counter) based software pacing is provided as a fallback option.
229223

230-
<div align="center">
231-
<img src="png/tx_pacing.png" align="center" alt="TX Pacing">
232-
</div>
224+
![TX Pacing](png/tx_pacing.png)
233225

234226
### 4.4. ST2110 RX
235227

@@ -238,11 +230,9 @@ Once the packet is received and validated as legitimate, the RX session will cop
238230

239231
#### 4.4.1. RX DMA offload
240232

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)
242234

243-
<div align="center">
244-
<img src="png/rx_dma_offload.png" align="center" alt="RX DMA Offload">
245-
</div>
235+
![RX DMA Offload](png/rx_dma_offload.png)
246236

247237
## 5. Control path
248238

@@ -365,7 +355,7 @@ Thanks to the plugin, the application can implement ST22 support using the follo
365355
st22p_tx_free
366356
```
367357

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).
369359

370360
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)
371361

@@ -431,7 +421,7 @@ By default, the frame buffer is allocated by MTL using huge page memory, however
431421
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.
432422
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.
433423
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).
435425
436426
### 6.10. VSync
437427
@@ -449,7 +439,7 @@ The ST**_TX_FLAG_USER_TIMESTAMP flag is provided to enable applications to use t
449439
### 6.12. SIMD for color space convert
450440
451441
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).
453443
454444
### 6.13. Runtime update source and destination
455445

doc/dma.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The Media Transport Library features DMA support to enhance RX video session den
66

77
## 2. DMA driver bind to PMD(vfio-pci) mode
88

9-
> For how to install DMA device driver on Windows, please refer to [here](./run_WIN.md#46-install-driver-for-dma-devices).
9+
> For how to install DMA device driver on Windows, please refer to [here](run_WIN.md#46-install-driver-for-dma-devices).
1010
1111
### 2.1. Locate the available DMA port
1212

doc/run.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,7 @@ Below is the command to convert yuv422p10le file to yuv422rfc4175be10 pg format(
167167
```
168168

169169
The yuv422rfc4175be10 files can be viewed by [YUV Viewer tools](https://github.com/IENT/YUView). Below is the custom layout.
170-
<div align="center">
171-
<img src="png/yuview_yuv422rfc4175be10_layout.png" align="center" alt="yuview yuv422rfc4175be10 custom layout">
172-
</div>
170+
![yuview yuv422rfc4175be10 custom layout](png/yuview_yuv422rfc4175be10_layout.png)
173171

174172
#### 5.1.3. Convert yuv422rfc4175be10 Back to yuv422p10le
175173

doc/run_WIN.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ The previously installed drivers will now be installed for the "Virtual to physi
9999

100100
### 3.4. Make sure that the driver was installed
101101

102-
![Image](./png/virt2phy.png)
102+
![Device Manager picture](png/virt2phy.png)
103103

104104
## 4. Install netuio driver
105105

@@ -130,7 +130,7 @@ devcon.exe update netuio.inf "PCI\VEN_8086&DEV_1592"
130130

131131
### 4.3. Make sure that the driver was installed
132132

133-
![Image](./png/netuio.png)
133+
![Driver picture](png/netuio.png)
134134

135135
### 4.4. Get the PCI port name used for MTL
136136

doc/sdm_appliance.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ This document contains instructions for streaming a desktop session to a Intel
77
Depicted below are 2 use-case scenario:
88

99
1. Synchronous playback scenario where output of a PC/Laptop is streamed via a sending device to the receiver.
10-
![Image](./png/mtl-appliance-use-case.png)
10+
11+
![MTL Appliance Use Case Image](png/mtl-appliance-use-case.png)
1112

1213
2. Asynchronous playback - where the sending device is streaming a digital media generated (e.g framebuffer) / stored locally on the device to the receiver.
13-
![Image](./png/desktop-streaming-mtl.png)
14+
15+
![Desktop Streaming MTL Image](png/desktop-streaming-mtl.png)
1416

1517
## 2. Required Hardware
1618

@@ -36,7 +38,7 @@ The demo currently works only on Linux. Follow the steps below to install all th
3638

3739
### Build Media Transport Library (MTL)
3840

39-
- See [build.md](./build.md) to build libmtl on Linux.
41+
- See [Build Guide](build.md) to build libmtl on Linux.
4042

4143
### Build ffmpeg (with MTL encoder and decoder)
4244

ecosystem/ffmpeg_plugin/README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,7 @@ Note: The format y210 is not supported by the Ffmpeg plugins for MTL.
9191
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.
9292
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.
9393

94-
<div align="center">
95-
<img src="ffmpeg_st22_flow.png" align="center" alt="Tasklet">
96-
</div>
94+
![Tasklet](ffmpeg_st22_flow.png)
9795

9896
### 3.1. St22 output
9997

manager/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Overview
44

5-
![design](manager_design.svg)
5+
![MTL Manager Design](manager_design.svg)
66

77
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:
88

0 commit comments

Comments
 (0)