@@ -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 by 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+ Chromium falls back to **software decoding ** when using those codecs, 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+ - Chromium performs **Audio decoding ** using **software **, as hardware acceleration for audio streams is not supported.
366+ - Tested resolutions are up to **1080p30 **. Higher resolutions might work depending on the platform capabilities.
367+ - Hardware accelerated encoding for WebRTC is not currently supported.
368+ - Only H.264 codec videos encoded in YUV420 8-bit format are hardware accelerated. Other codecs and formats will fall back to software decoding.
369+
370+ .. ifconfig :: CONFIG_part_variant not in ('AM62X', 'AM62AX', 'J721E')
371+
372+ **Performance Results **
373+
374+
375+ .. ifconfig :: CONFIG_part_variant in ('AM62PX', 'J722S')
376+
377+ **Hardware Acceleration Performance **
378+
379+ +---------------------------------+----------------------+----------------------+----------------------+
380+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
381+ +---------------------------------+----------------------+----------------------+----------------------+
382+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 41.21% | 10% |
383+ +---------------------------------+----------------------+----------------------+----------------------+
384+ | | Vimeo | 62.39% | 13% |
385+ +---------------------------------+----------------------+----------------------+----------------------+
386+
387+
388+ **Software Acceleration Performance **
389+
390+ +---------------------------------+----------------------+----------------------+----------------------+
391+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
392+ +---------------------------------+----------------------+----------------------+----------------------+
393+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 213.02% | 13% |
394+ +---------------------------------+----------------------+----------------------+----------------------+
395+ | | Vimeo | 157.86% | 11% |
396+ +---------------------------------+----------------------+----------------------+----------------------+
397+
398+ .. ifconfig :: CONFIG_part_variant in ('AM68','J721S2')
399+
400+ **Hardware Acceleration Performance **
401+
402+ +---------------------------------+----------------------+----------------------+----------------------+
403+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
404+ +---------------------------------+----------------------+----------------------+----------------------+
405+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 48.30% | 6% |
406+ +---------------------------------+----------------------+----------------------+----------------------+
407+ | | Vimeo | 60.12% | 7% |
408+ +---------------------------------+----------------------+----------------------+----------------------+
409+
410+
411+ **Software Acceleration Performance **
412+
413+ +---------------------------------+----------------------+----------------------+----------------------+
414+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
415+ +---------------------------------+----------------------+----------------------+----------------------+
416+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 98.24 % | 8% |
417+ +---------------------------------+----------------------+----------------------+----------------------+
418+ | | Vimeo | 123.68% | 11% |
419+ +---------------------------------+----------------------+----------------------+----------------------+
420+
421+ .. ifconfig :: CONFIG_part_variant in ('J742S2')
422+
423+ **Hardware Acceleration Performance **
424+
425+ +---------------------------------+----------------------+----------------------+----------------------+
426+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
427+ +---------------------------------+----------------------+----------------------+----------------------+
428+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 26.88% | 6% |
429+ +---------------------------------+----------------------+----------------------+----------------------+
430+ | | Vimeo | 38.19% | 7% |
431+ +---------------------------------+----------------------+----------------------+----------------------+
432+
433+
434+ **Software Acceleration Performance **
435+
436+ +---------------------------------+----------------------+----------------------+----------------------+
437+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
438+ +---------------------------------+----------------------+----------------------+----------------------+
439+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 107.87% | 9% |
440+ +---------------------------------+----------------------+----------------------+----------------------+
441+ | | Vimeo | 106.30% | 12% |
442+ +---------------------------------+----------------------+----------------------+----------------------+
443+
444+ .. ifconfig :: CONFIG_part_variant in ('AM69','J784S4')
445+
446+ **Hardware Acceleration Performance **
447+
448+ +---------------------------------+----------------------+----------------------+----------------------+
449+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
450+ +---------------------------------+----------------------+----------------------+----------------------+
451+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 25.52% | 5% |
452+ +---------------------------------+----------------------+----------------------+----------------------+
453+ | | Vimeo | 28.88% | 7% |
454+ +---------------------------------+----------------------+----------------------+----------------------+
455+
456+
457+ **Software Acceleration Performance **
458+
459+ +---------------------------------+----------------------+----------------------+----------------------+
460+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
461+ +---------------------------------+----------------------+----------------------+----------------------+
462+ | |__PART_FAMILY_DEVICE_NAMES__ | | YouTube | 138.43% | 9% |
463+ +---------------------------------+----------------------+----------------------+----------------------+
464+ | | Vimeo | 104.19% | 11% |
465+ +---------------------------------+----------------------+----------------------+----------------------+
466+
467+ .. ifconfig :: CONFIG_part_variant not in ('AM62X', 'AM62AX', 'J721E')
468+
469+ .. note ::
470+ 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.
0 commit comments