OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
552 kVideoNV12 = 11, | 552 kVideoNV12 = 11, |
553 kVideoNV21 = 12, | 553 kVideoNV21 = 12, |
554 kVideoBGRA = 13, | 554 kVideoBGRA = 13, |
555 kVideoUnknown = 99 | 555 kVideoUnknown = 99 |
556 }; | 556 }; |
557 | 557 |
558 // Video codec | 558 // Video codec |
559 enum { kConfigParameterSize = 128}; | 559 enum { kConfigParameterSize = 128}; |
560 enum { kPayloadNameSize = 32}; | 560 enum { kPayloadNameSize = 32}; |
561 enum { kMaxSimulcastStreams = 4}; | 561 enum { kMaxSimulcastStreams = 4}; |
562 enum { kMaxSpatialLayers = 5}; | |
562 enum { kMaxTemporalStreams = 4}; | 563 enum { kMaxTemporalStreams = 4}; |
sprang_webrtc
2015/09/29 14:19:33
Can we make these all static const int?
These don'
pbos-webrtc
2015/09/29 14:38:46
I think that'll potentially cause linker errors (u
ivica
2015/09/29 15:14:51
Probably better just to keep them as compile-time
| |
563 | 564 |
564 enum VideoCodecComplexity | 565 enum VideoCodecComplexity |
565 { | 566 { |
566 kComplexityNormal = 0, | 567 kComplexityNormal = 0, |
567 kComplexityHigh = 1, | 568 kComplexityHigh = 1, |
568 kComplexityHigher = 2, | 569 kComplexityHigher = 2, |
569 kComplexityMax = 3 | 570 kComplexityMax = 3 |
570 }; | 571 }; |
571 | 572 |
572 enum VideoCodecProfile | 573 enum VideoCodecProfile |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
681 targetBitrate == other.targetBitrate && | 682 targetBitrate == other.targetBitrate && |
682 minBitrate == other.minBitrate && | 683 minBitrate == other.minBitrate && |
683 qpMax == other.qpMax; | 684 qpMax == other.qpMax; |
684 } | 685 } |
685 | 686 |
686 bool operator!=(const SimulcastStream& other) const { | 687 bool operator!=(const SimulcastStream& other) const { |
687 return !(*this == other); | 688 return !(*this == other); |
688 } | 689 } |
689 }; | 690 }; |
690 | 691 |
692 struct SpatialLayer { | |
693 int scaling_factor_num; | |
694 int scaling_factor_den; | |
695 int target_bitrate_bps; | |
696 // TODO(ivica): Add max_quantizer and min_quantizer? | |
697 // int min_quantizer; | |
698 // int max_quantizer; | |
sprang_webrtc
2015/09/29 14:19:33
If you don't include them in this CL, but you thin
ivica
2015/09/29 15:14:51
Removed commented out code.
| |
699 }; | |
700 | |
691 enum VideoCodecMode { | 701 enum VideoCodecMode { |
692 kRealtimeVideo, | 702 kRealtimeVideo, |
693 kScreensharing | 703 kScreensharing |
694 }; | 704 }; |
695 | 705 |
696 // Common video codec properties | 706 // Common video codec properties |
697 struct VideoCodec { | 707 struct VideoCodec { |
698 VideoCodecType codecType; | 708 VideoCodecType codecType; |
699 char plName[kPayloadNameSize]; | 709 char plName[kPayloadNameSize]; |
700 unsigned char plType; | 710 unsigned char plType; |
701 | 711 |
702 unsigned short width; | 712 unsigned short width; |
703 unsigned short height; | 713 unsigned short height; |
704 | 714 |
705 unsigned int startBitrate; // kilobits/sec. | 715 unsigned int startBitrate; // kilobits/sec. |
706 unsigned int maxBitrate; // kilobits/sec. | 716 unsigned int maxBitrate; // kilobits/sec. |
707 unsigned int minBitrate; // kilobits/sec. | 717 unsigned int minBitrate; // kilobits/sec. |
708 unsigned int targetBitrate; // kilobits/sec. | 718 unsigned int targetBitrate; // kilobits/sec. |
709 | 719 |
710 unsigned char maxFramerate; | 720 unsigned char maxFramerate; |
711 | 721 |
712 VideoCodecUnion codecSpecific; | 722 VideoCodecUnion codecSpecific; |
713 | 723 |
714 unsigned int qpMax; | 724 unsigned int qpMax; |
715 unsigned char numberOfSimulcastStreams; | 725 unsigned char numberOfSimulcastStreams; |
716 SimulcastStream simulcastStream[kMaxSimulcastStreams]; | 726 SimulcastStream simulcastStream[kMaxSimulcastStreams]; |
727 SpatialLayer spatialLayers[kMaxSpatialLayers]; | |
717 | 728 |
718 VideoCodecMode mode; | 729 VideoCodecMode mode; |
719 | 730 |
720 // When using an external encoder/decoder this allows to pass | 731 // When using an external encoder/decoder this allows to pass |
721 // extra options without requiring webrtc to be aware of them. | 732 // extra options without requiring webrtc to be aware of them. |
722 Config* extra_options; | 733 Config* extra_options; |
723 | 734 |
724 bool operator==(const VideoCodec& other) const { | 735 bool operator==(const VideoCodec& other) const { |
725 bool ret = codecType == other.codecType && | 736 bool ret = codecType == other.codecType && |
726 (STR_CASE_CMP(plName, other.plName) == 0) && | 737 (STR_CASE_CMP(plName, other.plName) == 0) && |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
900 class StreamDataCountersCallback { | 911 class StreamDataCountersCallback { |
901 public: | 912 public: |
902 virtual ~StreamDataCountersCallback() {} | 913 virtual ~StreamDataCountersCallback() {} |
903 | 914 |
904 virtual void DataCountersUpdated(const StreamDataCounters& counters, | 915 virtual void DataCountersUpdated(const StreamDataCounters& counters, |
905 uint32_t ssrc) = 0; | 916 uint32_t ssrc) = 0; |
906 }; | 917 }; |
907 } // namespace webrtc | 918 } // namespace webrtc |
908 | 919 |
909 #endif // WEBRTC_COMMON_TYPES_H_ | 920 #endif // WEBRTC_COMMON_TYPES_H_ |
OLD | NEW |