Chromium Code Reviews

Side by Side Diff: webrtc/modules/video_coding/codecs/interface/video_codec_interface.h

Issue 1211353002: Integration of VP9 packetization. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: refactor and remove test helper class Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
OLDNEW
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 30 matching lines...)
41 int tl0PicIdx; // Negative value to skip tl0PicIdx. 41 int tl0PicIdx; // Negative value to skip tl0PicIdx.
42 int8_t keyIdx; // Negative value to skip keyIdx. 42 int8_t keyIdx; // Negative value to skip keyIdx.
43 }; 43 };
44 44
45 struct CodecSpecificInfoVP9 { 45 struct CodecSpecificInfoVP9 {
46 bool hasReceivedSLI; 46 bool hasReceivedSLI;
47 uint8_t pictureIdSLI; 47 uint8_t pictureIdSLI;
48 bool hasReceivedRPSI; 48 bool hasReceivedRPSI;
49 uint64_t pictureIdRPSI; 49 uint64_t pictureIdRPSI;
50 int16_t pictureId; // Negative value to skip pictureId. 50 int16_t pictureId; // Negative value to skip pictureId.
51 bool nonReference; 51
52 bool interPicPredicted;
53 bool flexibleMode;
54 bool beginningOfFrame;
55 bool endOfFrame;
56 bool ssDataAvailable;
57
58 int tl0PicIdx; // Negative value to skip tl0PicIdx.
52 uint8_t temporalIdx; 59 uint8_t temporalIdx;
53 bool layerSync; 60 uint8_t spatialIdx;
54 int tl0PicIdx; // Negative value to skip tl0PicIdx. 61 bool temporalUpSwitch;
55 int8_t keyIdx; // Negative value to skip keyIdx. 62 bool interLayerPredicted;
63 uint8_t gofIdx;
64
65 // SS data.
66 uint8_t numSpatialLayers;
67 bool spatialLayerResolutionPresent;
68 uint16_t width[kMaxVp9NumberOfSpatialLayers];
69 uint16_t height[kMaxVp9NumberOfSpatialLayers];
70 GofInfoVP9 gof;
56 }; 71 };
57 72
58 struct CodecSpecificInfoGeneric { 73 struct CodecSpecificInfoGeneric {
59 uint8_t simulcast_idx; 74 uint8_t simulcast_idx;
60 }; 75 };
61 76
62 struct CodecSpecificInfoH264 {}; 77 struct CodecSpecificInfoH264 {};
63 78
64 union CodecSpecificInfoUnion { 79 union CodecSpecificInfoUnion {
65 CodecSpecificInfoGeneric generic; 80 CodecSpecificInfoGeneric generic;
66 CodecSpecificInfoVP8 VP8; 81 CodecSpecificInfoVP8 VP8;
67 CodecSpecificInfoVP9 VP9; 82 CodecSpecificInfoVP9 VP9;
68 CodecSpecificInfoH264 H264; 83 CodecSpecificInfoH264 H264;
69 }; 84 };
70 85
71 // Note: if any pointers are added to this struct or its sub-structs, it 86 // Note: if any pointers are added to this struct or its sub-structs, it
72 // must be fitted with a copy-constructor. This is because it is copied 87 // must be fitted with a copy-constructor. This is because it is copied
73 // in the copy-constructor of VCMEncodedFrame. 88 // in the copy-constructor of VCMEncodedFrame.
74 struct CodecSpecificInfo 89 struct CodecSpecificInfo
75 { 90 {
76 VideoCodecType codecType; 91 VideoCodecType codecType;
77 CodecSpecificInfoUnion codecSpecific; 92 CodecSpecificInfoUnion codecSpecific;
78 }; 93 };
79 94
80 } // namespace webrtc 95 } // namespace webrtc
81 96
82 #endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_INTERFACE_VIDEO_CODEC_INTERFACE_H 97 #endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_INTERFACE_VIDEO_CODEC_INTERFACE_H
OLDNEW

Powered by Google App Engine