1*d9f75844SAndroid Build Coastguard Worker /* 2*d9f75844SAndroid Build Coastguard Worker * Copyright (c) 2020 The WebRTC project authors. All Rights Reserved. 3*d9f75844SAndroid Build Coastguard Worker * 4*d9f75844SAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license 5*d9f75844SAndroid Build Coastguard Worker * that can be found in the LICENSE file in the root of the source 6*d9f75844SAndroid Build Coastguard Worker * tree. An additional intellectual property rights grant can be found 7*d9f75844SAndroid Build Coastguard Worker * in the file PATENTS. All contributing project authors may 8*d9f75844SAndroid Build Coastguard Worker * be found in the AUTHORS file in the root of the source tree. 9*d9f75844SAndroid Build Coastguard Worker */ 10*d9f75844SAndroid Build Coastguard Worker 11*d9f75844SAndroid Build Coastguard Worker #include "api/video/video_frame_metadata.h" 12*d9f75844SAndroid Build Coastguard Worker 13*d9f75844SAndroid Build Coastguard Worker namespace webrtc { 14*d9f75844SAndroid Build Coastguard Worker 15*d9f75844SAndroid Build Coastguard Worker VideoFrameMetadata::VideoFrameMetadata() = default; 16*d9f75844SAndroid Build Coastguard Worker GetFrameType() const17*d9f75844SAndroid Build Coastguard WorkerVideoFrameType VideoFrameMetadata::GetFrameType() const { 18*d9f75844SAndroid Build Coastguard Worker return frame_type_; 19*d9f75844SAndroid Build Coastguard Worker } 20*d9f75844SAndroid Build Coastguard Worker SetFrameType(VideoFrameType frame_type)21*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetFrameType(VideoFrameType frame_type) { 22*d9f75844SAndroid Build Coastguard Worker frame_type_ = frame_type; 23*d9f75844SAndroid Build Coastguard Worker } 24*d9f75844SAndroid Build Coastguard Worker GetWidth() const25*d9f75844SAndroid Build Coastguard Workeruint16_t VideoFrameMetadata::GetWidth() const { 26*d9f75844SAndroid Build Coastguard Worker return width_; 27*d9f75844SAndroid Build Coastguard Worker } 28*d9f75844SAndroid Build Coastguard Worker SetWidth(uint16_t width)29*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetWidth(uint16_t width) { 30*d9f75844SAndroid Build Coastguard Worker width_ = width; 31*d9f75844SAndroid Build Coastguard Worker } 32*d9f75844SAndroid Build Coastguard Worker GetHeight() const33*d9f75844SAndroid Build Coastguard Workeruint16_t VideoFrameMetadata::GetHeight() const { 34*d9f75844SAndroid Build Coastguard Worker return height_; 35*d9f75844SAndroid Build Coastguard Worker } 36*d9f75844SAndroid Build Coastguard Worker SetHeight(uint16_t height)37*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetHeight(uint16_t height) { 38*d9f75844SAndroid Build Coastguard Worker height_ = height; 39*d9f75844SAndroid Build Coastguard Worker } 40*d9f75844SAndroid Build Coastguard Worker GetRotation() const41*d9f75844SAndroid Build Coastguard WorkerVideoRotation VideoFrameMetadata::GetRotation() const { 42*d9f75844SAndroid Build Coastguard Worker return rotation_; 43*d9f75844SAndroid Build Coastguard Worker } 44*d9f75844SAndroid Build Coastguard Worker SetRotation(VideoRotation rotation)45*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetRotation(VideoRotation rotation) { 46*d9f75844SAndroid Build Coastguard Worker rotation_ = rotation; 47*d9f75844SAndroid Build Coastguard Worker } 48*d9f75844SAndroid Build Coastguard Worker GetContentType() const49*d9f75844SAndroid Build Coastguard WorkerVideoContentType VideoFrameMetadata::GetContentType() const { 50*d9f75844SAndroid Build Coastguard Worker return content_type_; 51*d9f75844SAndroid Build Coastguard Worker } 52*d9f75844SAndroid Build Coastguard Worker SetContentType(VideoContentType content_type)53*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetContentType(VideoContentType content_type) { 54*d9f75844SAndroid Build Coastguard Worker content_type_ = content_type; 55*d9f75844SAndroid Build Coastguard Worker } 56*d9f75844SAndroid Build Coastguard Worker GetFrameId() const57*d9f75844SAndroid Build Coastguard Workerabsl::optional<int64_t> VideoFrameMetadata::GetFrameId() const { 58*d9f75844SAndroid Build Coastguard Worker return frame_id_; 59*d9f75844SAndroid Build Coastguard Worker } 60*d9f75844SAndroid Build Coastguard Worker SetFrameId(absl::optional<int64_t> frame_id)61*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetFrameId(absl::optional<int64_t> frame_id) { 62*d9f75844SAndroid Build Coastguard Worker frame_id_ = frame_id; 63*d9f75844SAndroid Build Coastguard Worker } 64*d9f75844SAndroid Build Coastguard Worker GetSpatialIndex() const65*d9f75844SAndroid Build Coastguard Workerint VideoFrameMetadata::GetSpatialIndex() const { 66*d9f75844SAndroid Build Coastguard Worker return spatial_index_; 67*d9f75844SAndroid Build Coastguard Worker } 68*d9f75844SAndroid Build Coastguard Worker SetSpatialIndex(int spatial_index)69*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetSpatialIndex(int spatial_index) { 70*d9f75844SAndroid Build Coastguard Worker spatial_index_ = spatial_index; 71*d9f75844SAndroid Build Coastguard Worker } 72*d9f75844SAndroid Build Coastguard Worker GetTemporalIndex() const73*d9f75844SAndroid Build Coastguard Workerint VideoFrameMetadata::GetTemporalIndex() const { 74*d9f75844SAndroid Build Coastguard Worker return temporal_index_; 75*d9f75844SAndroid Build Coastguard Worker } 76*d9f75844SAndroid Build Coastguard Worker SetTemporalIndex(int temporal_index)77*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetTemporalIndex(int temporal_index) { 78*d9f75844SAndroid Build Coastguard Worker temporal_index_ = temporal_index; 79*d9f75844SAndroid Build Coastguard Worker } 80*d9f75844SAndroid Build Coastguard Worker GetFrameDependencies() const81*d9f75844SAndroid Build Coastguard Workerrtc::ArrayView<const int64_t> VideoFrameMetadata::GetFrameDependencies() const { 82*d9f75844SAndroid Build Coastguard Worker return frame_dependencies_; 83*d9f75844SAndroid Build Coastguard Worker } 84*d9f75844SAndroid Build Coastguard Worker SetFrameDependencies(rtc::ArrayView<const int64_t> frame_dependencies)85*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetFrameDependencies( 86*d9f75844SAndroid Build Coastguard Worker rtc::ArrayView<const int64_t> frame_dependencies) { 87*d9f75844SAndroid Build Coastguard Worker frame_dependencies_.assign(frame_dependencies.begin(), 88*d9f75844SAndroid Build Coastguard Worker frame_dependencies.end()); 89*d9f75844SAndroid Build Coastguard Worker } 90*d9f75844SAndroid Build Coastguard Worker 91*d9f75844SAndroid Build Coastguard Worker rtc::ArrayView<const DecodeTargetIndication> GetDecodeTargetIndications() const92*d9f75844SAndroid Build Coastguard WorkerVideoFrameMetadata::GetDecodeTargetIndications() const { 93*d9f75844SAndroid Build Coastguard Worker return decode_target_indications_; 94*d9f75844SAndroid Build Coastguard Worker } 95*d9f75844SAndroid Build Coastguard Worker SetDecodeTargetIndications(rtc::ArrayView<const DecodeTargetIndication> decode_target_indications)96*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetDecodeTargetIndications( 97*d9f75844SAndroid Build Coastguard Worker rtc::ArrayView<const DecodeTargetIndication> decode_target_indications) { 98*d9f75844SAndroid Build Coastguard Worker decode_target_indications_.assign(decode_target_indications.begin(), 99*d9f75844SAndroid Build Coastguard Worker decode_target_indications.end()); 100*d9f75844SAndroid Build Coastguard Worker } 101*d9f75844SAndroid Build Coastguard Worker GetIsLastFrameInPicture() const102*d9f75844SAndroid Build Coastguard Workerbool VideoFrameMetadata::GetIsLastFrameInPicture() const { 103*d9f75844SAndroid Build Coastguard Worker return is_last_frame_in_picture_; 104*d9f75844SAndroid Build Coastguard Worker } 105*d9f75844SAndroid Build Coastguard Worker SetIsLastFrameInPicture(bool is_last_frame_in_picture)106*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetIsLastFrameInPicture( 107*d9f75844SAndroid Build Coastguard Worker bool is_last_frame_in_picture) { 108*d9f75844SAndroid Build Coastguard Worker is_last_frame_in_picture_ = is_last_frame_in_picture; 109*d9f75844SAndroid Build Coastguard Worker } 110*d9f75844SAndroid Build Coastguard Worker GetSimulcastIdx() const111*d9f75844SAndroid Build Coastguard Workeruint8_t VideoFrameMetadata::GetSimulcastIdx() const { 112*d9f75844SAndroid Build Coastguard Worker return simulcast_idx_; 113*d9f75844SAndroid Build Coastguard Worker } 114*d9f75844SAndroid Build Coastguard Worker SetSimulcastIdx(uint8_t simulcast_idx)115*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetSimulcastIdx(uint8_t simulcast_idx) { 116*d9f75844SAndroid Build Coastguard Worker simulcast_idx_ = simulcast_idx; 117*d9f75844SAndroid Build Coastguard Worker } 118*d9f75844SAndroid Build Coastguard Worker GetCodec() const119*d9f75844SAndroid Build Coastguard WorkerVideoCodecType VideoFrameMetadata::GetCodec() const { 120*d9f75844SAndroid Build Coastguard Worker return codec_; 121*d9f75844SAndroid Build Coastguard Worker } 122*d9f75844SAndroid Build Coastguard Worker SetCodec(VideoCodecType codec)123*d9f75844SAndroid Build Coastguard Workervoid VideoFrameMetadata::SetCodec(VideoCodecType codec) { 124*d9f75844SAndroid Build Coastguard Worker codec_ = codec; 125*d9f75844SAndroid Build Coastguard Worker } 126*d9f75844SAndroid Build Coastguard Worker 127*d9f75844SAndroid Build Coastguard Worker } // namespace webrtc 128