From 7d831d3f275cf799d3b4018c2345dbdd643ca335 Mon Sep 17 00:00:00 2001 From: Jakub Gajownik Date: Thu, 16 May 2024 17:32:38 +0200 Subject: [PATCH] [M120 Migration] Indicate a need for raw frame access in WebCodecs Ported commit: https://review.tizen.org/gerrit/#/c/platform/framework/web/chromium-efl/+/300423/ Bug: https://jira-eu.sec.samsung.net/browse/VDGAME-493 Change-Id: Ided79d6cd69d9f3e3aacff9a990ac8fa7dda9563 Signed-off-by: Jakub Gajownik --- media/base/video_decoder_config.h | 7 +++++++ media/mojo/mojom/media_types.mojom | 2 ++ media/mojo/mojom/video_decoder_config_mojom_traits.cc | 2 ++ media/mojo/mojom/video_decoder_config_mojom_traits.h | 4 ++++ .../blink/renderer/modules/webcodecs/video_decoder.cc | 3 +++ 5 files changed, 18 insertions(+) diff --git a/media/base/video_decoder_config.h b/media/base/video_decoder_config.h index 30583e7430f9..80f5851de44b 100644 --- a/media/base/video_decoder_config.h +++ b/media/base/video_decoder_config.h @@ -181,6 +181,13 @@ class MEDIA_EXPORT VideoDecoderConfig { #endif // defined(TIZEN_TV_UPSTREAM_MULTIMEDIA) #if BUILDFLAG(IS_TIZEN_TV) + // Sets whether this config requires the ability to extract decoded + // data (as opposed to storing it behind a HW backed token). + void set_needs_raw_access(bool needs_raw_access) { + needs_raw_access_ = needs_raw_access; + } + bool needs_raw_access() const { return needs_raw_access_; } + void set_hdr_info(const std::string& hdr_info) { hdr_info_ = hdr_info; } const std::string& hdr_info() const { return hdr_info_; } void set_framerate_num(int num) { framerate_num_ = num; } diff --git a/media/mojo/mojom/media_types.mojom b/media/mojo/mojom/media_types.mojom index 842e464a7641..27f8d243e365 100644 --- a/media/mojo/mojom/media_types.mojom +++ b/media/mojo/mojom/media_types.mojom @@ -199,6 +199,8 @@ struct VideoDecoderConfig { bool is_rtc; [EnableIf=supports_tizen_decoder] bool is_game_mode; + [EnableIf=is_tizen_tv] + bool needs_raw_access; [EnableIf=tizen_multimedia] gfx.mojom.Size max_coded_size; [EnableIf=is_tizen_tv] diff --git a/media/mojo/mojom/video_decoder_config_mojom_traits.cc b/media/mojo/mojom/video_decoder_config_mojom_traits.cc index 9858f401d5b2..c18b17e2cf35 100644 --- a/media/mojo/mojom/video_decoder_config_mojom_traits.cc +++ b/media/mojo/mojom/video_decoder_config_mojom_traits.cc @@ -69,6 +69,8 @@ bool StructTraitsset_needs_raw_access(input.needs_raw_access()); + std::string hdr; if (!input.ReadHdrInfo(&hdr)) return false; diff --git a/media/mojo/mojom/video_decoder_config_mojom_traits.h b/media/mojo/mojom/video_decoder_config_mojom_traits.h index d98ede1c8ebf..5ceedc2835e2 100644 --- a/media/mojo/mojom/video_decoder_config_mojom_traits.h +++ b/media/mojo/mojom/video_decoder_config_mojom_traits.h @@ -85,6 +85,10 @@ struct StructTraits