Skip to content

Commit 1d6cb78

Browse files
committed
Datasheet documentation hw acceleration update
1 parent 9f3ead8 commit 1d6cb78

File tree

1 file changed

+55
-56
lines changed

1 file changed

+55
-56
lines changed

content/hardware/02.uno/boards/uno-q/datasheet/datasheet.md

Lines changed: 55 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -262,27 +262,27 @@ JMISC handles both domains: 1.8 V MPU lines sit alongside 3.3 V MCU signals (e.g
262262

263263
<p style="text-align: justify;">The Adreno 702 GPU provides hardware-accelerated 3D graphics rendering through open-source Mesa drivers. Applications can access GPU acceleration via standard graphics APIs, including OpenGL, OpenGL ES, Vulkan, and OpenCL.</p>
264264

265-
| **Graphics API** | **Driver** | **Hardware Support** | **Current Driver Version** | **Device Name** |
265+
| **Graphics API** | **Driver** | **Hardware Support** | **Current Driver Version** | **Device Name** |
266266
|------------------|------------|----------------------|----------------------------|------------------------|
267-
| Desktop OpenGL   | freedreno  | -                    | 3.1                        | FD702                  |
268-
| OpenGL ES        | freedreno  | 3.1                  | 3.1                        | FD702                  |
269-
| Vulkan           | turnip     | 1.1                  | 1.0.318                    | Turnip Adreno (TM) 702 |
270-
| OpenCL           | Mesa       | 2.0                  | 2.0                        | -                      |
267+
| Desktop OpenGL | freedreno | - | 3.1 | FD702 |
268+
| OpenGL ES | freedreno | 3.1 | 3.1 | FD702 |
269+
| Vulkan | turnip | 1.1 | 1.0.318 | Turnip Adreno (TM) 702 |
270+
| OpenCL | Mesa | 2.0 | 2.0 | - |
271271

272272
<p style="text-align: justify;">The Adreno 702 GPU features unified memory architecture, sharing system RAM with the CPU for data transfer. It supports 64-bit memory addressing and provides direct rendering capabilities for optimal graphics performance.</p>
273273

274-
| **Parameter** | **Specification** |
274+
| **Parameter** | **Specification** |
275275
|--------------------------------|----------------------------------|
276-
| Clock Frequency                | 845 MHz                          |
277-
| Memory Architecture            | Unified (shared with system RAM) |
278-
| Available Video Memory         | 1740 MB                          |
279-
| Memory Addressing              | 64-bit                           |
280-
| Direct Rendering               | Yes                              |
281-
| Maximum 2D Texture Size        | 16384 × 16384 pixels             |
282-
| Maximum 3D Texture Size        | 2048³ voxels                     |
283-
| Maximum Cube Map Size          | 16384 × 16384 pixels             |
284-
| OpenGL Shading Language (GLSL) | 1.40                             |
285-
| OpenGL ES Shading Language     | 3.10 ES                          |
276+
| Clock Frequency | 845 MHz |
277+
| Memory Architecture | Unified (shared with system RAM) |
278+
| Available Video Memory | 1740 MB |
279+
| Memory Addressing | 64-bit |
280+
| Direct Rendering | Yes |
281+
| Maximum 2D Texture Size | 16384 × 16384 pixels |
282+
| Maximum 3D Texture Size | 2048³ voxels |
283+
| Maximum Cube Map Size | 16384 × 16384 pixels |
284+
| OpenGL Shading Language (GLSL) | 1.40 |
285+
| OpenGL ES Shading Language | 3.10 ES |
286286

287287
<p style="text-align: justify;">The Mesa graphics stack provides full support for standard OpenGL extensions and features. Applications using OpenGL, OpenGL ES, or Vulkan will automatically use hardware acceleration without additional configuration. Standard graphics utilities such as <code>mesa-utils</code> and <code>vulkan-tools</code> work out of the box on the UNO Q.</p>
288288

@@ -294,68 +294,66 @@ JMISC handles both domains: 1.8 V MPU lines sit alongside 3.3 V MCU signals (e.g
294294

295295
<p style="text-align: justify;">The Adreno 702 GPU includes dedicated hardware video encoders and decoders accessible through the <code>V4L2 (Video4Linux2)</code> API via <code>/dev/video0</code> and <code>/dev/video1</code> devices. Hardware acceleration is available for the following video codecs:</p>
296296

297-
| **Codec** | **Encoding** | **Decoding** | **GStreamer Element** |
297+
| **Codec** | **Encoding** | **Decoding** | **GStreamer Element** |
298298
|--------------|--------------|--------------|---------------------------|
299-
| H.264 (AVC)  | Yes          | Yes          | v4l2h264enc / v4l2h264dec |
300-
| H.265 (HEVC) | Yes          | Yes          | v4l2h265enc / v4l2h265dec |
301-
| VP9          | No           | Yes          | v4l2vp9dec                |
299+
| H.264 (AVC) | Yes | Yes | v4l2h264enc / v4l2h264dec |
300+
| H.265 (HEVC) | Yes | Yes | v4l2h265enc / v4l2h265dec |
301+
| VP9 | No | Yes | v4l2vp9dec |
302302

303-
#### Video Encoding Capabilities
303+
<p style="text-align: justify;">The hardware video encoder and decoder offload compression and decompression tasks from the CPU to dedicated hardware, enabling efficient real-time video processing. This reduces system power consumption and allows the CPU to focus on application logic. Hardware acceleration is available for resolutions up to 1920×1080 (Full HD), including common formats such as 720p (1280×720).</p>
304304

305-
<p style="text-align: justify;">The hardware video encoder offloads compression tasks from the CPU to dedicated encoding hardware, allowing real-time video capture and streaming. This reduces system power consumption and allows the CPU to focus on application logic rather than video processing.</p>
305+
#### GStreamer Integration
306306

307-
| **Parameter** | **Specification** |
308-
|-------------------------|-----------------------------------------------------|
309-
| Maximum Resolution      | 1920×1080 (Full HD, 1080p)                          |
310-
| CPU Load Reduction      | Significant reduction compared to software encoding |
311-
| Bitrate Control         | Configurable constant/variable bitrate modes        |
312-
| Quality Parameters      | Adjustable encoding quality and compression ratio   |
313-
| Supported Pixel Formats | NV12, YUV420                                        |
307+
<p style="text-align: justify;">The recommended approach for accessing hardware video acceleration is through <strong>GStreamer</strong>, which provides a high-level pipeline interface to the V4L2 devices. The following GStreamer elements provide hardware-accelerated video processing:</p>
314308

315-
#### Video Decoding Capabilities
309+
For H.264 decoding, the following pipeline can be used:
316310

317-
<p style="text-align: justify;">The hardware video decoder enables smooth playback of compressed video streams with minimal CPU utilization. This is particularly beneficial for media player applications, video conferencing, and streaming services, where efficient decoding is essential for maintaining frame rates and reducing battery consumption.</p>
311+
```bash
312+
gst-launch-1.0 filesrc location=videos/xxxxx.mp4 \
313+
! qtdemux name=demux demux.video_0 ! queue ! h264parse ! v4l2h264dec \
314+
! videoconvert ! autovideosink
315+
```
318316

319-
| **Parameter** | **Specification** |
320-
|-------------------------|-----------------------------------------------------|
321-
| Maximum Resolution      | 1920×1080 (Full HD, 1080p)                          |
322-
| Performance             | Real-time decoding at 30 fps for Full HD            |
323-
| CPU Utilization         | Minimal CPU load during hardware-accelerated decode |
324-
| Use Cases               | Video playback, streaming, conferencing             |
325-
| Supported Pixel Formats | NV12, YUV420 output                                 |
317+
For H.265 decoding, the following pipeline can be used:
326318

327-
#### GStreamer Integration
319+
```bash
320+
gst-launch-1.0 filesrc location=videos/xxxxx.mp4 \
321+
! qtdemux name=demux demux.video_0 ! queue ! h265parse ! v4l2h265dec \
322+
! videoconvert ! autovideosink
323+
```
328324

329-
<p style="text-align: justify;">The recommended approach for accessing hardware video acceleration is through <strong>GStreamer</strong>, which provides a high-level pipeline interface to the V4L2 devices. The following GStreamer elements provide hardware-accelerated video processing:</p>
325+
For VP9 decoding, the following pipeline can be used:
330326

331-
**Example H.264 Decoding Pipeline:**
332327
```bash
333-
gst-launch-1.0 filesrc location=video.mp4 \
334-
! qtdemux name=demux demux.video_0 ! queue ! h264parse ! v4l2h264dec \
335-
  ! videoconvert ! autovideosink
328+
gst-launch-1.0 filesrc location=videos/xxxxx.webm \
329+
! matroskademux ! queue ! v4l2vp9dec \
330+
! videoconvert ! autovideosink
336331
```
337332

338-
**Example H.265 Encoding Pipeline:**
333+
For H.264 encoding, the following pipeline can be used:
334+
339335
```bash
340336
gst-launch-1.0 videotestsrc num-buffers=30 \
341-
! video/x-raw,width=1920,height=1080,framerate=30/1 \
342-
  ! v4l2h265enc ! h265parse ! mp4mux ! filesink location=output.mp4
337+
! video/x-raw,width=1280,height=720,framerate=30/1 \
338+
! v4l2h264enc ! h264parse ! mp4mux ! filesink location=/tmp/output.mp4
343339
```
344340

345-
**Example VP9 Decoding Pipeline:**
341+
For H.265 encoding, the following pipeline can be used:
342+
346343
```bash
347-
gst-launch-1.0 filesrc location=video.webm \
348-
! matroskademux ! queue ! v4l2vp9dec \
349-
  ! videoconvert ! autovideosink
344+
gst-launch-1.0 videotestsrc num-buffers=30 \
345+
! video/x-raw,width=1920,height=1080,framerate=30/1 \
346+
! v4l2h265enc ! h265parse ! mp4mux ! filesink location=/tmp/output.mp4
350347
```
351348

352-
**Concurrent Encoding/Decoding:**
349+
For concurrent encoding and decoding, the following pipeline can be used:
350+
353351
```bash
354352
gst-launch-1.0 -v videotestsrc num-buffers=1000 \
355-
! video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 \
356-
  ! v4l2h264enc capture-io-mode=4 output-io-mode=2 ! h264parse \
357-
! v4l2h264dec capture-io-mode=4 output-io-mode=2 ! videoconvert \
358-
  ! autovideosink
353+
! video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 \
354+
! v4l2h264enc capture-io-mode=4 output-io-mode=2 ! h264parse \
355+
! v4l2h264dec capture-io-mode=4 output-io-mode=2 ! videoconvert \
356+
! autovideosink
359357
```
360358

361359
<div style="background-color: rgba(0, 170, 228, 0.2); border-left: 6px solid rgba(0, 120, 180, 1); margin: 20px 0; padding: 15px;">
@@ -841,6 +839,7 @@ Lors de l’ installation et de l’ exploitation de ce dispositif, la distance
841839

842840
| **Date** | **Revision** | **Changes** |
843841
| :--------: | :----------: | ---------------------------------------------- |
842+
| 24/11/2025 | 4 | Add hardware acceleration section (graphics APIs, video codecs, OpenCL support); remove incorrect default password reference |
844843
| 05/11/2025 | 3 | Update operational information |
845844
| 27/10/2025 | 2 | Mechanical drawing and RTC power detail update |
846845
| 01/10/2025 | 1 | First release |

0 commit comments

Comments
 (0)