@@ -306,3 +306,165 @@ use the mouse to click the "Run Benchmark" button.
306306 | |__PART_FAMILY_DEVICE_NAMES__ | | 177.11 @ 1080p60 |
307307 +---------------------------------+-----------------------------------------------------------------------+
308308
309+
310+ Video Streaming
311+ ---------------
312+
313+ .. ifconfig :: CONFIG_part_variant not in ('AM62X', 'AM62AX', 'J721E')
314+
315+ Streaming platforms and demuxed videos support hardware acceleration for video playback.
316+ This is achieved using the V4L2 stateful decoder API that interfaces with the :doc: `Wave5 <../Foundational_Components_Multimedia_wave5 >` hardware decoder present on |__PART_FAMILY_DEVICE_NAMES__ |.
317+ Hardware acceleration has been successfully verified with the `W3C WebCodecs VideoDecoder Interface <https://www.w3.org/TR/webcodecs/#videodecoder-interface >`_, which serves as the backend technology for streaming platforms such as YouTube and Vimeo.
318+
319+ Tested streaming sources include HTML5 video playback, YouTube, and Vimeo.
320+
321+ **HTML5 Video Playback **
322+
323+ An **HTML5 video ** is a standard video element embedded directly into a webpage using the ``<video> `` tag.
324+ Unlike platforms such as YouTube or Vimeo, which run within complex web applications containing ads, thumbnails, and JavaScript-heavy interfaces, HTML5 video playback delivers the raw video stream directly to the browser's player.
325+
326+ .. ifconfig :: CONFIG_part_variant not in ('AM62X', 'AM62AX', 'J721E')
327+
328+ This makes it ideal for testing hardware decoding performance, as it avoids additional CPU load from webpage rendering and scripting.
329+
330+ .. code-block :: console
331+
332+ $ chromium http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4
333+
334+ **Vimeo Streaming **
335+
336+ Vimeo commonly uses the **H.264 ** codec for playback.
337+
338+ .. ifconfig :: CONFIG_part_variant not in ('AM62X', 'AM62AX', 'J721E')
339+
340+ Vimeo is supported by hardware acceleration through the V4L2 decoder.
341+ Unlike YouTube, Vimeo does not dynamically switch codecs based on system capability and generally delivers consistent H.264 streams across devices,
342+ making it more predictable for hardware decoding tests.
343+
344+ .. code-block :: console
345+
346+ $ chromium https://player.vimeo.com/video/640499893
347+
348+ **YouTube Streaming **
349+
350+ YouTube commonly uses **VP9 ** or **AV1 ** codecs for playback, which are **not hardware accelerated ** on this platform.
351+ When these codecs are used, Chromium falls back to **software decoding **, resulting in high CPU usage, especially at higher resolutions.
352+
353+ .. ifconfig :: CONFIG_part_variant not in ('AM62X', 'AM62AX', 'J721E')
354+
355+ To enable hardware acceleration, **Chromium requires an extension ** that forces YouTube to use the **H.264 codec **.
356+ Once this extension is installed, YouTube streams can be hardware decoded using the V4L2 decoder.
357+
358+ .. code-block :: console
359+
360+ $ chromium https://www.youtube.com/embed/R6MlUcmOul8
361+
362+ .. note ::
363+
364+ - YouTube and Vimeo perform best when played in an **embedded player **, as loading the full webpage and thumbnails is CPU-intensive.
365+ - **Audio decoding ** in Chromium is performed in **software **, as hardware acceleration for audio streams is not supported.
366+ - Tested resolutions are up to **1080p30 **. Higher resolutions may work depending on the platform capabilities.
367+ - Hardware accelerated encoding for WebRTC is not currently supported.
368+
369+ .. ifconfig :: CONFIG_part_variant not in ('AM62X', 'AM62AX', 'J721E')
370+
371+ **Performance Results **
372+
373+
374+ .. ifconfig :: CONFIG_part_variant in ('AM62PX', 'J722S')
375+
376+ **Hardware Acceleration Performance **
377+
378+ +---------------------------------+----------------------+----------------------+----------------------+
379+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
380+ +---------------------------------+----------------------+----------------------+----------------------+
381+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 41.21% | 10% |
382+ +---------------------------------+----------------------+----------------------+----------------------+
383+ | |__PART_FAMILY_DEVICE_NAMES__ | | Vimeo | 62.39% | 13% |
384+ +---------------------------------+----------------------+----------------------+----------------------+
385+
386+
387+ **Software Acceleration Performance **
388+
389+ +---------------------------------+----------------------+----------------------+----------------------+
390+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
391+ +---------------------------------+----------------------+----------------------+----------------------+
392+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 213.02% | 13% |
393+ +---------------------------------+----------------------+----------------------+----------------------+
394+ | |__PART_FAMILY_DEVICE_NAMES__ | | Vimeo | 157.86% | 11% |
395+ +---------------------------------+----------------------+----------------------+----------------------+
396+
397+ .. ifconfig :: CONFIG_part_variant in ('AM68','J721S2')
398+
399+ **Hardware Acceleration Performance **
400+
401+ +---------------------------------+----------------------+----------------------+----------------------+
402+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
403+ +---------------------------------+----------------------+----------------------+----------------------+
404+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 48.30% | 6% |
405+ +---------------------------------+----------------------+----------------------+----------------------+
406+ | |__PART_FAMILY_DEVICE_NAMES__ | | Vimeo | 60.12% | 7% |
407+ +---------------------------------+----------------------+----------------------+----------------------+
408+
409+
410+ **Software Acceleration Performance **
411+
412+ +---------------------------------+----------------------+----------------------+----------------------+
413+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
414+ +---------------------------------+----------------------+----------------------+----------------------+
415+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 98.24 % | 8% |
416+ +---------------------------------+----------------------+----------------------+----------------------+
417+ | |__PART_FAMILY_DEVICE_NAMES__ | | Vimeo | 123.68% | 11% |
418+ +---------------------------------+----------------------+----------------------+----------------------+
419+
420+ .. ifconfig :: CONFIG_part_variant in ('J742S2')
421+
422+ **Hardware Acceleration Performance **
423+
424+ +---------------------------------+----------------------+----------------------+----------------------+
425+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
426+ +---------------------------------+----------------------+----------------------+----------------------+
427+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 26.88% | 6% |
428+ +---------------------------------+----------------------+----------------------+----------------------+
429+ | |__PART_FAMILY_DEVICE_NAMES__ | | Vimeo | 38.19% | 7% |
430+ +---------------------------------+----------------------+----------------------+----------------------+
431+
432+
433+ **Software Acceleration Performance **
434+
435+ +---------------------------------+----------------------+----------------------+----------------------+
436+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
437+ +---------------------------------+----------------------+----------------------+----------------------+
438+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 107.87% | 9% |
439+ +---------------------------------+----------------------+----------------------+----------------------+
440+ | |__PART_FAMILY_DEVICE_NAMES__ | | Vimeo | 106.30% | 12% |
441+ +---------------------------------+----------------------+----------------------+----------------------+
442+
443+ .. ifconfig :: CONFIG_part_variant in ('AM69','J784S4')
444+
445+ **Hardware Acceleration Performance **
446+
447+ +---------------------------------+----------------------+----------------------+----------------------+
448+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
449+ +---------------------------------+----------------------+----------------------+----------------------+
450+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 25.52% | 5% |
451+ +---------------------------------+----------------------+----------------------+----------------------+
452+ | |__PART_FAMILY_DEVICE_NAMES__ | | Vimeo | 28.88% | 7% |
453+ +---------------------------------+----------------------+----------------------+----------------------+
454+
455+
456+ **Software Acceleration Performance **
457+
458+ +---------------------------------+----------------------+----------------------+----------------------+
459+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
460+ +---------------------------------+----------------------+----------------------+----------------------+
461+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 138.43% | 9% |
462+ +---------------------------------+----------------------+----------------------+----------------------+
463+ | |__PART_FAMILY_DEVICE_NAMES__ | | Vimeo | 104.19% | 11% |
464+ +---------------------------------+----------------------+----------------------+----------------------+
465+
466+ .. ifconfig :: CONFIG_part_variant not in ('AM62X', 'AM62AX', 'J721E')
467+
468+ .. note ::
469+ The tests were performed using the Big Buck Bunny video at 1080p24 for Vimeo and Tears of Steel at 1080p30 for YouTube at full screen.
470+
0 commit comments