1 /* 2 * Copyright (c) 2010 The WebM 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 #ifndef VPX_VP8_COMMON_HEADER_H_ 12 #define VPX_VP8_COMMON_HEADER_H_ 13 14 #ifdef __cplusplus 15 extern "C" { 16 #endif 17 18 /* 24 bits total */ 19 typedef struct { 20 unsigned int type : 1; 21 unsigned int version : 3; 22 unsigned int show_frame : 1; 23 24 /* Allow 2^20 bytes = 8 megabits for first partition */ 25 26 unsigned int first_partition_length_in_bytes : 19; 27 28 #ifdef PACKET_TESTING 29 unsigned int frame_number; 30 unsigned int update_gold : 1; 31 unsigned int uses_gold : 1; 32 unsigned int update_last : 1; 33 unsigned int uses_last : 1; 34 #endif 35 36 } VP8_HEADER; 37 38 #ifdef PACKET_TESTING 39 #define VP8_HEADER_SIZE 8 40 #else 41 #define VP8_HEADER_SIZE 3 42 #endif 43 44 #ifdef __cplusplus 45 } // extern "C" 46 #endif 47 48 #endif // VPX_VP8_COMMON_HEADER_H_ 49