@@ -306,3 +306,161 @@ 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 :ref: `Wave 5<foundational-components-multimedia> ` 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+ .. rubric :: 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+ .. rubric :: 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+ .. rubric :: 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 in ('AM62PX', 'J722S')
371+
372+ .. rubric :: Hardware Acceleration Performance
373+
374+ +---------------------------------+----------------------+----------------------+----------------------+
375+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
376+ +---------------------------------+----------------------+----------------------+----------------------+
377+ | | YouTube | 41.21% | 10% |
378+ | |__PART_FAMILY_DEVICE_NAMES__ | +----------------------+----------------------+----------------------+
379+ | | Vimeo | 62.39% | 13% |
380+ +---------------------------------+----------------------+----------------------+----------------------+
381+
382+
383+ .. rubric :: Software Acceleration Performance
384+
385+ +---------------------------------+----------------------+----------------------+----------------------+
386+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
387+ +---------------------------------+----------------------+----------------------+----------------------+
388+ | | YouTube | 213.02% | 13% |
389+ | |__PART_FAMILY_DEVICE_NAMES__ | +----------------------+----------------------+----------------------+
390+ | | Vimeo | 157.86% | 11% |
391+ +---------------------------------+----------------------+----------------------+----------------------+
392+
393+ .. ifconfig :: CONFIG_part_variant in ('AM68','J721S2')
394+
395+ .. rubric :: Hardware Acceleration Performance
396+
397+ +---------------------------------+----------------------+----------------------+----------------------+
398+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
399+ +---------------------------------+----------------------+----------------------+----------------------+
400+ | | YouTube | 48.30% | 6% |
401+ | |__PART_FAMILY_DEVICE_NAMES__ | +----------------------+----------------------+----------------------+
402+ | | Vimeo | 60.12% | 7% |
403+ +---------------------------------+----------------------+----------------------+----------------------+
404+
405+
406+ .. rubric :: Software Acceleration Performance
407+
408+ +---------------------------------+----------------------+----------------------+----------------------+
409+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
410+ +---------------------------------+----------------------+----------------------+----------------------+
411+ | | YouTube | 98.24% | 8% |
412+ | |__PART_FAMILY_DEVICE_NAMES__ | +----------------------+----------------------+----------------------+
413+ | | Vimeo | 123.68% | 11% |
414+ +---------------------------------+----------------------+----------------------+----------------------+
415+
416+ .. ifconfig :: CONFIG_part_variant in ('J742S2')
417+
418+ .. rubric :: Hardware Acceleration Performance
419+
420+ +---------------------------------+----------------------+----------------------+----------------------+
421+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
422+ +---------------------------------+----------------------+----------------------+----------------------+
423+ | | YouTube | 26.88% | 6% |
424+ | |__PART_FAMILY_DEVICE_NAMES__ | +----------------------+----------------------+----------------------+
425+ | | Vimeo | 38.19% | 7% |
426+ +---------------------------------+----------------------+----------------------+----------------------+
427+
428+
429+ .. rubric :: Software Acceleration Performance
430+
431+ +---------------------------------+----------------------+----------------------+----------------------+
432+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
433+ +---------------------------------+----------------------+----------------------+----------------------+
434+ | | YouTube | 107.87% | 9% |
435+ | |__PART_FAMILY_DEVICE_NAMES__ | +----------------------+----------------------+----------------------+
436+ | | Vimeo | 106.30% | 12% |
437+ +---------------------------------+----------------------+----------------------+----------------------+
438+
439+ .. ifconfig :: CONFIG_part_variant in ('AM69','J784S4')
440+
441+ .. rubric :: Hardware Acceleration Performance
442+
443+ +---------------------------------+----------------------+----------------------+----------------------+
444+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
445+ +---------------------------------+----------------------+----------------------+----------------------+
446+ | | YouTube | 25.52% | 5% |
447+ | |__PART_FAMILY_DEVICE_NAMES__ | +----------------------+----------------------+----------------------+
448+ | | Vimeo | 28.88% | 7% |
449+ +---------------------------------+----------------------+----------------------+----------------------+
450+
451+
452+ .. rubric :: Software Acceleration Performance
453+
454+ +---------------------------------+----------------------+----------------------+----------------------+
455+ | **Platform ** | **Website ** | **CPU Utilisation ** | **GPU Utilisation ** |
456+ +---------------------------------+----------------------+----------------------+----------------------+
457+ | | YouTube | 138.43% | 9% |
458+ | |__PART_FAMILY_DEVICE_NAMES__ | +----------------------+----------------------+----------------------+
459+ | | Vimeo | 104.19% | 11% |
460+ +---------------------------------+----------------------+----------------------+----------------------+
461+
462+ .. ifconfig :: CONFIG_part_variant not in ('AM62X', 'AM62AX', 'J721E')
463+
464+ .. note ::
465+
466+ 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