From 55c2e91e9fc096e4e1e32c63b811b58b32797015 Mon Sep 17 00:00:00 2001 From: sdk-team Date: Tue, 22 Dec 2020 07:55:53 +0000 Subject: [PATCH] Release InterpolateVideoFrame ToneSdrVideo ConvertHdrVideo. --- CHANGELOG | 3 + videoenhan/CMakeLists.txt | 16 ++- .../videoenhan/VideoenhanClient.h | 24 ++++ .../videoenhan/model/ConvertHdrVideoRequest.h | 60 ++++++++++ .../videoenhan/model/ConvertHdrVideoResult.h | 55 +++++++++ .../model/InterpolateVideoFrameRequest.h | 57 +++++++++ .../model/InterpolateVideoFrameResult.h | 55 +++++++++ .../videoenhan/model/ToneSdrVideoRequest.h | 57 +++++++++ .../videoenhan/model/ToneSdrVideoResult.h | 55 +++++++++ videoenhan/src/VideoenhanClient.cc | 108 ++++++++++++++++++ .../src/model/ConvertHdrVideoRequest.cc | 84 ++++++++++++++ videoenhan/src/model/ConvertHdrVideoResult.cc | 52 +++++++++ .../src/model/InterpolateVideoFrameRequest.cc | 73 ++++++++++++ .../src/model/InterpolateVideoFrameResult.cc | 52 +++++++++ videoenhan/src/model/ToneSdrVideoRequest.cc | 73 ++++++++++++ videoenhan/src/model/ToneSdrVideoResult.cc | 52 +++++++++ 16 files changed, 874 insertions(+), 2 deletions(-) create mode 100644 videoenhan/include/alibabacloud/videoenhan/model/ConvertHdrVideoRequest.h create mode 100644 videoenhan/include/alibabacloud/videoenhan/model/ConvertHdrVideoResult.h create mode 100644 videoenhan/include/alibabacloud/videoenhan/model/InterpolateVideoFrameRequest.h create mode 100644 videoenhan/include/alibabacloud/videoenhan/model/InterpolateVideoFrameResult.h create mode 100644 videoenhan/include/alibabacloud/videoenhan/model/ToneSdrVideoRequest.h create mode 100644 videoenhan/include/alibabacloud/videoenhan/model/ToneSdrVideoResult.h create mode 100644 videoenhan/src/model/ConvertHdrVideoRequest.cc create mode 100644 videoenhan/src/model/ConvertHdrVideoResult.cc create mode 100644 videoenhan/src/model/InterpolateVideoFrameRequest.cc create mode 100644 videoenhan/src/model/InterpolateVideoFrameResult.cc create mode 100644 videoenhan/src/model/ToneSdrVideoRequest.cc create mode 100644 videoenhan/src/model/ToneSdrVideoResult.cc diff --git a/CHANGELOG b/CHANGELOG index 3f35cd81a..13bc63844 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2020-12-22 Version: patch +- Release InterpolateVideoFrame ToneSdrVideo ConvertHdrVideo. + 2020-12-22 Version: patch - Release InterpolateVideoFrame. diff --git a/videoenhan/CMakeLists.txt b/videoenhan/CMakeLists.txt index c68ea34ed..6020e236f 100644 --- a/videoenhan/CMakeLists.txt +++ b/videoenhan/CMakeLists.txt @@ -29,6 +29,8 @@ set(videoenhan_public_header_model include/alibabacloud/videoenhan/model/AdjustVideoColorResult.h include/alibabacloud/videoenhan/model/ChangeVideoSizeRequest.h include/alibabacloud/videoenhan/model/ChangeVideoSizeResult.h + include/alibabacloud/videoenhan/model/ConvertHdrVideoRequest.h + include/alibabacloud/videoenhan/model/ConvertHdrVideoResult.h include/alibabacloud/videoenhan/model/EnhanceVideoQualityRequest.h include/alibabacloud/videoenhan/model/EnhanceVideoQualityResult.h include/alibabacloud/videoenhan/model/EraseVideoLogoRequest.h @@ -39,10 +41,14 @@ set(videoenhan_public_header_model include/alibabacloud/videoenhan/model/GenerateVideoResult.h include/alibabacloud/videoenhan/model/GetAsyncJobResultRequest.h include/alibabacloud/videoenhan/model/GetAsyncJobResultResult.h + include/alibabacloud/videoenhan/model/InterpolateVideoFrameRequest.h + include/alibabacloud/videoenhan/model/InterpolateVideoFrameResult.h include/alibabacloud/videoenhan/model/MergeVideoFaceRequest.h include/alibabacloud/videoenhan/model/MergeVideoFaceResult.h include/alibabacloud/videoenhan/model/SuperResolveVideoRequest.h - include/alibabacloud/videoenhan/model/SuperResolveVideoResult.h ) + include/alibabacloud/videoenhan/model/SuperResolveVideoResult.h + include/alibabacloud/videoenhan/model/ToneSdrVideoRequest.h + include/alibabacloud/videoenhan/model/ToneSdrVideoResult.h ) set(videoenhan_src src/VideoenhanClient.cc @@ -54,6 +60,8 @@ set(videoenhan_src src/model/AdjustVideoColorResult.cc src/model/ChangeVideoSizeRequest.cc src/model/ChangeVideoSizeResult.cc + src/model/ConvertHdrVideoRequest.cc + src/model/ConvertHdrVideoResult.cc src/model/EnhanceVideoQualityRequest.cc src/model/EnhanceVideoQualityResult.cc src/model/EraseVideoLogoRequest.cc @@ -64,10 +72,14 @@ set(videoenhan_src src/model/GenerateVideoResult.cc src/model/GetAsyncJobResultRequest.cc src/model/GetAsyncJobResultResult.cc + src/model/InterpolateVideoFrameRequest.cc + src/model/InterpolateVideoFrameResult.cc src/model/MergeVideoFaceRequest.cc src/model/MergeVideoFaceResult.cc src/model/SuperResolveVideoRequest.cc - src/model/SuperResolveVideoResult.cc ) + src/model/SuperResolveVideoResult.cc + src/model/ToneSdrVideoRequest.cc + src/model/ToneSdrVideoResult.cc ) add_library(videoenhan ${LIB_TYPE} ${videoenhan_public_header} diff --git a/videoenhan/include/alibabacloud/videoenhan/VideoenhanClient.h b/videoenhan/include/alibabacloud/videoenhan/VideoenhanClient.h index a59336aaf..148cea0f8 100644 --- a/videoenhan/include/alibabacloud/videoenhan/VideoenhanClient.h +++ b/videoenhan/include/alibabacloud/videoenhan/VideoenhanClient.h @@ -30,6 +30,8 @@ #include "model/AdjustVideoColorResult.h" #include "model/ChangeVideoSizeRequest.h" #include "model/ChangeVideoSizeResult.h" +#include "model/ConvertHdrVideoRequest.h" +#include "model/ConvertHdrVideoResult.h" #include "model/EnhanceVideoQualityRequest.h" #include "model/EnhanceVideoQualityResult.h" #include "model/EraseVideoLogoRequest.h" @@ -40,10 +42,14 @@ #include "model/GenerateVideoResult.h" #include "model/GetAsyncJobResultRequest.h" #include "model/GetAsyncJobResultResult.h" +#include "model/InterpolateVideoFrameRequest.h" +#include "model/InterpolateVideoFrameResult.h" #include "model/MergeVideoFaceRequest.h" #include "model/MergeVideoFaceResult.h" #include "model/SuperResolveVideoRequest.h" #include "model/SuperResolveVideoResult.h" +#include "model/ToneSdrVideoRequest.h" +#include "model/ToneSdrVideoResult.h" namespace AlibabaCloud @@ -65,6 +71,9 @@ namespace AlibabaCloud typedef Outcome ChangeVideoSizeOutcome; typedef std::future ChangeVideoSizeOutcomeCallable; typedef std::function&)> ChangeVideoSizeAsyncHandler; + typedef Outcome ConvertHdrVideoOutcome; + typedef std::future ConvertHdrVideoOutcomeCallable; + typedef std::function&)> ConvertHdrVideoAsyncHandler; typedef Outcome EnhanceVideoQualityOutcome; typedef std::future EnhanceVideoQualityOutcomeCallable; typedef std::function&)> EnhanceVideoQualityAsyncHandler; @@ -80,12 +89,18 @@ namespace AlibabaCloud typedef Outcome GetAsyncJobResultOutcome; typedef std::future GetAsyncJobResultOutcomeCallable; typedef std::function&)> GetAsyncJobResultAsyncHandler; + typedef Outcome InterpolateVideoFrameOutcome; + typedef std::future InterpolateVideoFrameOutcomeCallable; + typedef std::function&)> InterpolateVideoFrameAsyncHandler; typedef Outcome MergeVideoFaceOutcome; typedef std::future MergeVideoFaceOutcomeCallable; typedef std::function&)> MergeVideoFaceAsyncHandler; typedef Outcome SuperResolveVideoOutcome; typedef std::future SuperResolveVideoOutcomeCallable; typedef std::function&)> SuperResolveVideoAsyncHandler; + typedef Outcome ToneSdrVideoOutcome; + typedef std::future ToneSdrVideoOutcomeCallable; + typedef std::function&)> ToneSdrVideoAsyncHandler; VideoenhanClient(const Credentials &credentials, const ClientConfiguration &configuration); VideoenhanClient(const std::shared_ptr &credentialsProvider, const ClientConfiguration &configuration); @@ -103,6 +118,9 @@ namespace AlibabaCloud ChangeVideoSizeOutcome changeVideoSize(const Model::ChangeVideoSizeRequest &request)const; void changeVideoSizeAsync(const Model::ChangeVideoSizeRequest& request, const ChangeVideoSizeAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ChangeVideoSizeOutcomeCallable changeVideoSizeCallable(const Model::ChangeVideoSizeRequest& request) const; + ConvertHdrVideoOutcome convertHdrVideo(const Model::ConvertHdrVideoRequest &request)const; + void convertHdrVideoAsync(const Model::ConvertHdrVideoRequest& request, const ConvertHdrVideoAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + ConvertHdrVideoOutcomeCallable convertHdrVideoCallable(const Model::ConvertHdrVideoRequest& request) const; EnhanceVideoQualityOutcome enhanceVideoQuality(const Model::EnhanceVideoQualityRequest &request)const; void enhanceVideoQualityAsync(const Model::EnhanceVideoQualityRequest& request, const EnhanceVideoQualityAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; EnhanceVideoQualityOutcomeCallable enhanceVideoQualityCallable(const Model::EnhanceVideoQualityRequest& request) const; @@ -118,12 +136,18 @@ namespace AlibabaCloud GetAsyncJobResultOutcome getAsyncJobResult(const Model::GetAsyncJobResultRequest &request)const; void getAsyncJobResultAsync(const Model::GetAsyncJobResultRequest& request, const GetAsyncJobResultAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; GetAsyncJobResultOutcomeCallable getAsyncJobResultCallable(const Model::GetAsyncJobResultRequest& request) const; + InterpolateVideoFrameOutcome interpolateVideoFrame(const Model::InterpolateVideoFrameRequest &request)const; + void interpolateVideoFrameAsync(const Model::InterpolateVideoFrameRequest& request, const InterpolateVideoFrameAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + InterpolateVideoFrameOutcomeCallable interpolateVideoFrameCallable(const Model::InterpolateVideoFrameRequest& request) const; MergeVideoFaceOutcome mergeVideoFace(const Model::MergeVideoFaceRequest &request)const; void mergeVideoFaceAsync(const Model::MergeVideoFaceRequest& request, const MergeVideoFaceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; MergeVideoFaceOutcomeCallable mergeVideoFaceCallable(const Model::MergeVideoFaceRequest& request) const; SuperResolveVideoOutcome superResolveVideo(const Model::SuperResolveVideoRequest &request)const; void superResolveVideoAsync(const Model::SuperResolveVideoRequest& request, const SuperResolveVideoAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; SuperResolveVideoOutcomeCallable superResolveVideoCallable(const Model::SuperResolveVideoRequest& request) const; + ToneSdrVideoOutcome toneSdrVideo(const Model::ToneSdrVideoRequest &request)const; + void toneSdrVideoAsync(const Model::ToneSdrVideoRequest& request, const ToneSdrVideoAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + ToneSdrVideoOutcomeCallable toneSdrVideoCallable(const Model::ToneSdrVideoRequest& request) const; private: std::shared_ptr endpointProvider_; diff --git a/videoenhan/include/alibabacloud/videoenhan/model/ConvertHdrVideoRequest.h b/videoenhan/include/alibabacloud/videoenhan/model/ConvertHdrVideoRequest.h new file mode 100644 index 000000000..23540312d --- /dev/null +++ b/videoenhan/include/alibabacloud/videoenhan/model/ConvertHdrVideoRequest.h @@ -0,0 +1,60 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_VIDEOENHAN_MODEL_CONVERTHDRVIDEOREQUEST_H_ +#define ALIBABACLOUD_VIDEOENHAN_MODEL_CONVERTHDRVIDEOREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Videoenhan + { + namespace Model + { + class ALIBABACLOUD_VIDEOENHAN_EXPORT ConvertHdrVideoRequest : public RpcServiceRequest + { + + public: + ConvertHdrVideoRequest(); + ~ConvertHdrVideoRequest(); + + std::string getHDRFormat()const; + void setHDRFormat(const std::string& hDRFormat); + int getMaxIlluminance()const; + void setMaxIlluminance(int maxIlluminance); + int getBitrate()const; + void setBitrate(int bitrate); + bool getAsync()const; + void setAsync(bool async); + std::string getVideoURL()const; + void setVideoURL(const std::string& videoURL); + + private: + std::string hDRFormat_; + int maxIlluminance_; + int bitrate_; + bool async_; + std::string videoURL_; + + }; + } + } +} +#endif // !ALIBABACLOUD_VIDEOENHAN_MODEL_CONVERTHDRVIDEOREQUEST_H_ \ No newline at end of file diff --git a/videoenhan/include/alibabacloud/videoenhan/model/ConvertHdrVideoResult.h b/videoenhan/include/alibabacloud/videoenhan/model/ConvertHdrVideoResult.h new file mode 100644 index 000000000..dbbc54a37 --- /dev/null +++ b/videoenhan/include/alibabacloud/videoenhan/model/ConvertHdrVideoResult.h @@ -0,0 +1,55 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_VIDEOENHAN_MODEL_CONVERTHDRVIDEORESULT_H_ +#define ALIBABACLOUD_VIDEOENHAN_MODEL_CONVERTHDRVIDEORESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Videoenhan + { + namespace Model + { + class ALIBABACLOUD_VIDEOENHAN_EXPORT ConvertHdrVideoResult : public ServiceResult + { + public: + struct Data + { + std::string videoURL; + }; + + + ConvertHdrVideoResult(); + explicit ConvertHdrVideoResult(const std::string &payload); + ~ConvertHdrVideoResult(); + Data getData()const; + + protected: + void parse(const std::string &payload); + private: + Data data_; + + }; + } + } +} +#endif // !ALIBABACLOUD_VIDEOENHAN_MODEL_CONVERTHDRVIDEORESULT_H_ \ No newline at end of file diff --git a/videoenhan/include/alibabacloud/videoenhan/model/InterpolateVideoFrameRequest.h b/videoenhan/include/alibabacloud/videoenhan/model/InterpolateVideoFrameRequest.h new file mode 100644 index 000000000..0a4dffd0c --- /dev/null +++ b/videoenhan/include/alibabacloud/videoenhan/model/InterpolateVideoFrameRequest.h @@ -0,0 +1,57 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_VIDEOENHAN_MODEL_INTERPOLATEVIDEOFRAMEREQUEST_H_ +#define ALIBABACLOUD_VIDEOENHAN_MODEL_INTERPOLATEVIDEOFRAMEREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Videoenhan + { + namespace Model + { + class ALIBABACLOUD_VIDEOENHAN_EXPORT InterpolateVideoFrameRequest : public RpcServiceRequest + { + + public: + InterpolateVideoFrameRequest(); + ~InterpolateVideoFrameRequest(); + + int getFrameRate()const; + void setFrameRate(int frameRate); + int getBitrate()const; + void setBitrate(int bitrate); + bool getAsync()const; + void setAsync(bool async); + std::string getVideoURL()const; + void setVideoURL(const std::string& videoURL); + + private: + int frameRate_; + int bitrate_; + bool async_; + std::string videoURL_; + + }; + } + } +} +#endif // !ALIBABACLOUD_VIDEOENHAN_MODEL_INTERPOLATEVIDEOFRAMEREQUEST_H_ \ No newline at end of file diff --git a/videoenhan/include/alibabacloud/videoenhan/model/InterpolateVideoFrameResult.h b/videoenhan/include/alibabacloud/videoenhan/model/InterpolateVideoFrameResult.h new file mode 100644 index 000000000..8c650125e --- /dev/null +++ b/videoenhan/include/alibabacloud/videoenhan/model/InterpolateVideoFrameResult.h @@ -0,0 +1,55 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_VIDEOENHAN_MODEL_INTERPOLATEVIDEOFRAMERESULT_H_ +#define ALIBABACLOUD_VIDEOENHAN_MODEL_INTERPOLATEVIDEOFRAMERESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Videoenhan + { + namespace Model + { + class ALIBABACLOUD_VIDEOENHAN_EXPORT InterpolateVideoFrameResult : public ServiceResult + { + public: + struct Data + { + std::string videoURL; + }; + + + InterpolateVideoFrameResult(); + explicit InterpolateVideoFrameResult(const std::string &payload); + ~InterpolateVideoFrameResult(); + Data getData()const; + + protected: + void parse(const std::string &payload); + private: + Data data_; + + }; + } + } +} +#endif // !ALIBABACLOUD_VIDEOENHAN_MODEL_INTERPOLATEVIDEOFRAMERESULT_H_ \ No newline at end of file diff --git a/videoenhan/include/alibabacloud/videoenhan/model/ToneSdrVideoRequest.h b/videoenhan/include/alibabacloud/videoenhan/model/ToneSdrVideoRequest.h new file mode 100644 index 000000000..1dab141b1 --- /dev/null +++ b/videoenhan/include/alibabacloud/videoenhan/model/ToneSdrVideoRequest.h @@ -0,0 +1,57 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_VIDEOENHAN_MODEL_TONESDRVIDEOREQUEST_H_ +#define ALIBABACLOUD_VIDEOENHAN_MODEL_TONESDRVIDEOREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Videoenhan + { + namespace Model + { + class ALIBABACLOUD_VIDEOENHAN_EXPORT ToneSdrVideoRequest : public RpcServiceRequest + { + + public: + ToneSdrVideoRequest(); + ~ToneSdrVideoRequest(); + + std::string getRecolorModel()const; + void setRecolorModel(const std::string& recolorModel); + int getBitrate()const; + void setBitrate(int bitrate); + bool getAsync()const; + void setAsync(bool async); + std::string getVideoURL()const; + void setVideoURL(const std::string& videoURL); + + private: + std::string recolorModel_; + int bitrate_; + bool async_; + std::string videoURL_; + + }; + } + } +} +#endif // !ALIBABACLOUD_VIDEOENHAN_MODEL_TONESDRVIDEOREQUEST_H_ \ No newline at end of file diff --git a/videoenhan/include/alibabacloud/videoenhan/model/ToneSdrVideoResult.h b/videoenhan/include/alibabacloud/videoenhan/model/ToneSdrVideoResult.h new file mode 100644 index 000000000..a7abe10bd --- /dev/null +++ b/videoenhan/include/alibabacloud/videoenhan/model/ToneSdrVideoResult.h @@ -0,0 +1,55 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_VIDEOENHAN_MODEL_TONESDRVIDEORESULT_H_ +#define ALIBABACLOUD_VIDEOENHAN_MODEL_TONESDRVIDEORESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Videoenhan + { + namespace Model + { + class ALIBABACLOUD_VIDEOENHAN_EXPORT ToneSdrVideoResult : public ServiceResult + { + public: + struct Data + { + std::string videoURL; + }; + + + ToneSdrVideoResult(); + explicit ToneSdrVideoResult(const std::string &payload); + ~ToneSdrVideoResult(); + Data getData()const; + + protected: + void parse(const std::string &payload); + private: + Data data_; + + }; + } + } +} +#endif // !ALIBABACLOUD_VIDEOENHAN_MODEL_TONESDRVIDEORESULT_H_ \ No newline at end of file diff --git a/videoenhan/src/VideoenhanClient.cc b/videoenhan/src/VideoenhanClient.cc index 5ea7bc402..179c5c4ee 100644 --- a/videoenhan/src/VideoenhanClient.cc +++ b/videoenhan/src/VideoenhanClient.cc @@ -195,6 +195,42 @@ VideoenhanClient::ChangeVideoSizeOutcomeCallable VideoenhanClient::changeVideoSi return task->get_future(); } +VideoenhanClient::ConvertHdrVideoOutcome VideoenhanClient::convertHdrVideo(const ConvertHdrVideoRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return ConvertHdrVideoOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return ConvertHdrVideoOutcome(ConvertHdrVideoResult(outcome.result())); + else + return ConvertHdrVideoOutcome(outcome.error()); +} + +void VideoenhanClient::convertHdrVideoAsync(const ConvertHdrVideoRequest& request, const ConvertHdrVideoAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, convertHdrVideo(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +VideoenhanClient::ConvertHdrVideoOutcomeCallable VideoenhanClient::convertHdrVideoCallable(const ConvertHdrVideoRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->convertHdrVideo(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + VideoenhanClient::EnhanceVideoQualityOutcome VideoenhanClient::enhanceVideoQuality(const EnhanceVideoQualityRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -375,6 +411,42 @@ VideoenhanClient::GetAsyncJobResultOutcomeCallable VideoenhanClient::getAsyncJob return task->get_future(); } +VideoenhanClient::InterpolateVideoFrameOutcome VideoenhanClient::interpolateVideoFrame(const InterpolateVideoFrameRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return InterpolateVideoFrameOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return InterpolateVideoFrameOutcome(InterpolateVideoFrameResult(outcome.result())); + else + return InterpolateVideoFrameOutcome(outcome.error()); +} + +void VideoenhanClient::interpolateVideoFrameAsync(const InterpolateVideoFrameRequest& request, const InterpolateVideoFrameAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, interpolateVideoFrame(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +VideoenhanClient::InterpolateVideoFrameOutcomeCallable VideoenhanClient::interpolateVideoFrameCallable(const InterpolateVideoFrameRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->interpolateVideoFrame(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + VideoenhanClient::MergeVideoFaceOutcome VideoenhanClient::mergeVideoFace(const MergeVideoFaceRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -447,3 +519,39 @@ VideoenhanClient::SuperResolveVideoOutcomeCallable VideoenhanClient::superResolv return task->get_future(); } +VideoenhanClient::ToneSdrVideoOutcome VideoenhanClient::toneSdrVideo(const ToneSdrVideoRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return ToneSdrVideoOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return ToneSdrVideoOutcome(ToneSdrVideoResult(outcome.result())); + else + return ToneSdrVideoOutcome(outcome.error()); +} + +void VideoenhanClient::toneSdrVideoAsync(const ToneSdrVideoRequest& request, const ToneSdrVideoAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, toneSdrVideo(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +VideoenhanClient::ToneSdrVideoOutcomeCallable VideoenhanClient::toneSdrVideoCallable(const ToneSdrVideoRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->toneSdrVideo(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + diff --git a/videoenhan/src/model/ConvertHdrVideoRequest.cc b/videoenhan/src/model/ConvertHdrVideoRequest.cc new file mode 100644 index 000000000..9e0f70d11 --- /dev/null +++ b/videoenhan/src/model/ConvertHdrVideoRequest.cc @@ -0,0 +1,84 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +using AlibabaCloud::Videoenhan::Model::ConvertHdrVideoRequest; + +ConvertHdrVideoRequest::ConvertHdrVideoRequest() : + RpcServiceRequest("videoenhan", "2020-03-20", "ConvertHdrVideo") +{ + setMethod(HttpRequest::Method::Post); +} + +ConvertHdrVideoRequest::~ConvertHdrVideoRequest() +{} + +std::string ConvertHdrVideoRequest::getHDRFormat()const +{ + return hDRFormat_; +} + +void ConvertHdrVideoRequest::setHDRFormat(const std::string& hDRFormat) +{ + hDRFormat_ = hDRFormat; + setBodyParameter("HDRFormat", hDRFormat); +} + +int ConvertHdrVideoRequest::getMaxIlluminance()const +{ + return maxIlluminance_; +} + +void ConvertHdrVideoRequest::setMaxIlluminance(int maxIlluminance) +{ + maxIlluminance_ = maxIlluminance; + setBodyParameter("MaxIlluminance", std::to_string(maxIlluminance)); +} + +int ConvertHdrVideoRequest::getBitrate()const +{ + return bitrate_; +} + +void ConvertHdrVideoRequest::setBitrate(int bitrate) +{ + bitrate_ = bitrate; + setBodyParameter("Bitrate", std::to_string(bitrate)); +} + +bool ConvertHdrVideoRequest::getAsync()const +{ + return async_; +} + +void ConvertHdrVideoRequest::setAsync(bool async) +{ + async_ = async; + setBodyParameter("Async", async ? "true" : "false"); +} + +std::string ConvertHdrVideoRequest::getVideoURL()const +{ + return videoURL_; +} + +void ConvertHdrVideoRequest::setVideoURL(const std::string& videoURL) +{ + videoURL_ = videoURL; + setBodyParameter("VideoURL", videoURL); +} + diff --git a/videoenhan/src/model/ConvertHdrVideoResult.cc b/videoenhan/src/model/ConvertHdrVideoResult.cc new file mode 100644 index 000000000..7d2338981 --- /dev/null +++ b/videoenhan/src/model/ConvertHdrVideoResult.cc @@ -0,0 +1,52 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +using namespace AlibabaCloud::Videoenhan; +using namespace AlibabaCloud::Videoenhan::Model; + +ConvertHdrVideoResult::ConvertHdrVideoResult() : + ServiceResult() +{} + +ConvertHdrVideoResult::ConvertHdrVideoResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +ConvertHdrVideoResult::~ConvertHdrVideoResult() +{} + +void ConvertHdrVideoResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto dataNode = value["Data"]; + if(!dataNode["VideoURL"].isNull()) + data_.videoURL = dataNode["VideoURL"].asString(); + +} + +ConvertHdrVideoResult::Data ConvertHdrVideoResult::getData()const +{ + return data_; +} + diff --git a/videoenhan/src/model/InterpolateVideoFrameRequest.cc b/videoenhan/src/model/InterpolateVideoFrameRequest.cc new file mode 100644 index 000000000..15ff641f0 --- /dev/null +++ b/videoenhan/src/model/InterpolateVideoFrameRequest.cc @@ -0,0 +1,73 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +using AlibabaCloud::Videoenhan::Model::InterpolateVideoFrameRequest; + +InterpolateVideoFrameRequest::InterpolateVideoFrameRequest() : + RpcServiceRequest("videoenhan", "2020-03-20", "InterpolateVideoFrame") +{ + setMethod(HttpRequest::Method::Post); +} + +InterpolateVideoFrameRequest::~InterpolateVideoFrameRequest() +{} + +int InterpolateVideoFrameRequest::getFrameRate()const +{ + return frameRate_; +} + +void InterpolateVideoFrameRequest::setFrameRate(int frameRate) +{ + frameRate_ = frameRate; + setBodyParameter("FrameRate", std::to_string(frameRate)); +} + +int InterpolateVideoFrameRequest::getBitrate()const +{ + return bitrate_; +} + +void InterpolateVideoFrameRequest::setBitrate(int bitrate) +{ + bitrate_ = bitrate; + setBodyParameter("Bitrate", std::to_string(bitrate)); +} + +bool InterpolateVideoFrameRequest::getAsync()const +{ + return async_; +} + +void InterpolateVideoFrameRequest::setAsync(bool async) +{ + async_ = async; + setBodyParameter("Async", async ? "true" : "false"); +} + +std::string InterpolateVideoFrameRequest::getVideoURL()const +{ + return videoURL_; +} + +void InterpolateVideoFrameRequest::setVideoURL(const std::string& videoURL) +{ + videoURL_ = videoURL; + setBodyParameter("VideoURL", videoURL); +} + diff --git a/videoenhan/src/model/InterpolateVideoFrameResult.cc b/videoenhan/src/model/InterpolateVideoFrameResult.cc new file mode 100644 index 000000000..31ee189fe --- /dev/null +++ b/videoenhan/src/model/InterpolateVideoFrameResult.cc @@ -0,0 +1,52 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +using namespace AlibabaCloud::Videoenhan; +using namespace AlibabaCloud::Videoenhan::Model; + +InterpolateVideoFrameResult::InterpolateVideoFrameResult() : + ServiceResult() +{} + +InterpolateVideoFrameResult::InterpolateVideoFrameResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +InterpolateVideoFrameResult::~InterpolateVideoFrameResult() +{} + +void InterpolateVideoFrameResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto dataNode = value["Data"]; + if(!dataNode["VideoURL"].isNull()) + data_.videoURL = dataNode["VideoURL"].asString(); + +} + +InterpolateVideoFrameResult::Data InterpolateVideoFrameResult::getData()const +{ + return data_; +} + diff --git a/videoenhan/src/model/ToneSdrVideoRequest.cc b/videoenhan/src/model/ToneSdrVideoRequest.cc new file mode 100644 index 000000000..9e6595988 --- /dev/null +++ b/videoenhan/src/model/ToneSdrVideoRequest.cc @@ -0,0 +1,73 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +using AlibabaCloud::Videoenhan::Model::ToneSdrVideoRequest; + +ToneSdrVideoRequest::ToneSdrVideoRequest() : + RpcServiceRequest("videoenhan", "2020-03-20", "ToneSdrVideo") +{ + setMethod(HttpRequest::Method::Post); +} + +ToneSdrVideoRequest::~ToneSdrVideoRequest() +{} + +std::string ToneSdrVideoRequest::getRecolorModel()const +{ + return recolorModel_; +} + +void ToneSdrVideoRequest::setRecolorModel(const std::string& recolorModel) +{ + recolorModel_ = recolorModel; + setBodyParameter("RecolorModel", recolorModel); +} + +int ToneSdrVideoRequest::getBitrate()const +{ + return bitrate_; +} + +void ToneSdrVideoRequest::setBitrate(int bitrate) +{ + bitrate_ = bitrate; + setBodyParameter("Bitrate", std::to_string(bitrate)); +} + +bool ToneSdrVideoRequest::getAsync()const +{ + return async_; +} + +void ToneSdrVideoRequest::setAsync(bool async) +{ + async_ = async; + setBodyParameter("Async", async ? "true" : "false"); +} + +std::string ToneSdrVideoRequest::getVideoURL()const +{ + return videoURL_; +} + +void ToneSdrVideoRequest::setVideoURL(const std::string& videoURL) +{ + videoURL_ = videoURL; + setBodyParameter("VideoURL", videoURL); +} + diff --git a/videoenhan/src/model/ToneSdrVideoResult.cc b/videoenhan/src/model/ToneSdrVideoResult.cc new file mode 100644 index 000000000..ae352fb70 --- /dev/null +++ b/videoenhan/src/model/ToneSdrVideoResult.cc @@ -0,0 +1,52 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +using namespace AlibabaCloud::Videoenhan; +using namespace AlibabaCloud::Videoenhan::Model; + +ToneSdrVideoResult::ToneSdrVideoResult() : + ServiceResult() +{} + +ToneSdrVideoResult::ToneSdrVideoResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +ToneSdrVideoResult::~ToneSdrVideoResult() +{} + +void ToneSdrVideoResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto dataNode = value["Data"]; + if(!dataNode["VideoURL"].isNull()) + data_.videoURL = dataNode["VideoURL"].asString(); + +} + +ToneSdrVideoResult::Data ToneSdrVideoResult::getData()const +{ + return data_; +} +