From 3653cb493b6d009e676046e2c07b8de98090b343 Mon Sep 17 00:00:00 2001 From: gaoqiang_strong Date: Fri, 20 May 2022 16:10:21 +0800 Subject: [PATCH] modify video format Signed-off-by: gaoqiang_strong --- common/include/dscreen_constants.h | 3 ++- services/common/utils/src/video_param.cpp | 4 +++- .../screenservice/sourceservice/dscreenmgr/src/dscreen.cpp | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/common/include/dscreen_constants.h b/common/include/dscreen_constants.h index c4b08a4b..1eb156f2 100644 --- a/common/include/dscreen_constants.h +++ b/common/include/dscreen_constants.h @@ -106,6 +106,7 @@ const std::string KEY_SCREEN_WIDTH = "screenWidth"; const std::string KEY_SCREEN_HEIGHT = "screenHeight"; const std::string KEY_VIDEO_WIDTH = "videoWidth"; const std::string KEY_VIDEO_HEIGHT = "videoHeight"; +const std::string KEY_COLOR_FORMAT = "colorFormat"; const std::string KEY_FPS = "fps"; const std::string KEY_CODECTYPE = "codecType"; const std::string SCREEN_CLIENT_WINDOW = "screenClientWindow"; @@ -120,7 +121,7 @@ constexpr float DEFAULT_DENSITY = 2.0; constexpr int32_t DEFAULT_SCREEN_FLAGS = 0; constexpr uint32_t DEFAULT_FPS = 30; constexpr uint8_t DEFAULT_CODECTYPE = VIDEO_CODEC_TYPE_VIDEO_H264; -constexpr uint8_t DEFAULT_VIDEO_FORMAT = VIDEO_DATA_FORMAT_NV21; +constexpr uint8_t DEFAULT_VIDEO_FORMAT = VIDEO_DATA_FORMAT_NV12; constexpr int32_t DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID = 4807; constexpr int32_t DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID = 4808; constexpr uint64_t SCREEN_ID_INVALID = -1ULL; diff --git a/services/common/utils/src/video_param.cpp b/services/common/utils/src/video_param.cpp index 6e1f420d..7ff83cee 100644 --- a/services/common/utils/src/video_param.cpp +++ b/services/common/utils/src/video_param.cpp @@ -99,7 +99,8 @@ void to_json(json &j, const DistributedHardware::VideoParam &videoParam) {KEY_VIDEO_WIDTH, videoParam.videoWidth_}, {KEY_VIDEO_HEIGHT, videoParam.videoHeight_}, {KEY_FPS, videoParam.fps_}, - {KEY_CODECTYPE, videoParam.codecType_} + {KEY_CODECTYPE, videoParam.codecType_}, + {KEY_COLOR_FORMAT, videoParam.videoFormat_} }; } @@ -111,6 +112,7 @@ void from_json(const json &j, DistributedHardware::VideoParam &videoParam) j.at(KEY_VIDEO_HEIGHT).get_to(videoParam.videoHeight_); j.at(KEY_FPS).get_to(videoParam.fps_); j.at(KEY_CODECTYPE).get_to(videoParam.codecType_); + j.at(KEY_COLOR_FORMAT).get_to(videoParam.videoFormat_); } } // namespace DistributedHardware } // namespace OHOS diff --git a/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp index 5e43589a..ca5839b5 100644 --- a/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp @@ -262,7 +262,7 @@ int32_t DScreen::NegotiateCodecType(const std::string &remoteCodecInfoStr) if (std::find(codecTypeCandidates.begin(), codecTypeCandidates.end(), CODEC_NAME_H264) != codecTypeCandidates.end()) { videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H264); - videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_NV21); + videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_NV12); } else if (std::find(codecTypeCandidates.begin(), codecTypeCandidates.end(), CODEC_NAME_MPEG4) != codecTypeCandidates.end()) { videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_MPEG4); -- Gitee