1 /* 2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. 3 * 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 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 // This file contains codec dependent definitions that are needed in 12 // order to compile the WebRTC codebase, even if this codec is not used. 13 14 #ifndef MODULES_VIDEO_CODING_CODECS_VP8_INCLUDE_VP8_GLOBALS_H_ 15 #define MODULES_VIDEO_CODING_CODECS_VP8_INCLUDE_VP8_GLOBALS_H_ 16 17 #include "modules/video_coding/codecs/interface/common_constants.h" 18 19 namespace webrtc { 20 21 struct RTPVideoHeaderVP8 { InitRTPVideoHeaderVP8RTPVideoHeaderVP822 void InitRTPVideoHeaderVP8() { 23 nonReference = false; 24 pictureId = kNoPictureId; 25 tl0PicIdx = kNoTl0PicIdx; 26 temporalIdx = kNoTemporalIdx; 27 layerSync = false; 28 keyIdx = kNoKeyIdx; 29 partitionId = 0; 30 beginningOfPartition = false; 31 } 32 33 bool nonReference; // Frame is discardable. 34 int16_t pictureId; // Picture ID index, 15 bits; 35 // kNoPictureId if PictureID does not exist. 36 int16_t tl0PicIdx; // TL0PIC_IDX, 8 bits; 37 // kNoTl0PicIdx means no value provided. 38 uint8_t temporalIdx; // Temporal layer index, or kNoTemporalIdx. 39 bool layerSync; // This frame is a layer sync frame. 40 // Disabled if temporalIdx == kNoTemporalIdx. 41 int keyIdx; // 5 bits; kNoKeyIdx means not used. 42 int partitionId; // VP8 partition ID 43 bool beginningOfPartition; // True if this packet is the first 44 // in a VP8 partition. Otherwise false 45 }; 46 47 } // namespace webrtc 48 49 #endif // MODULES_VIDEO_CODING_CODECS_VP8_INCLUDE_VP8_GLOBALS_H_ 50