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 12 #ifndef VP9_ENCODER_VP9_BITSTREAM_H_ 13 #define VP9_ENCODER_VP9_BITSTREAM_H_ 14 15 #ifdef __cplusplus 16 extern "C" { 17 #endif 18 19 #include "vp9/encoder/vp9_encoder.h" 20 21 void vp9_pack_bitstream(VP9_COMP *cpi, uint8_t *dest, size_t *size); 22 vp9_preserve_existing_gf(VP9_COMP * cpi)23static INLINE int vp9_preserve_existing_gf(VP9_COMP *cpi) { 24 return !cpi->multi_arf_allowed && cpi->refresh_golden_frame && 25 cpi->rc.is_src_frame_alt_ref && 26 (!cpi->use_svc || // Add spatial svc base layer case here 27 (is_two_pass_svc(cpi) && 28 cpi->svc.spatial_layer_id == 0 && 29 cpi->svc.layer_context[0].gold_ref_idx >=0 && 30 cpi->oxcf.ss_enable_auto_arf[0])); 31 } 32 33 #ifdef __cplusplus 34 } // extern "C" 35 #endif 36 37 #endif // VP9_ENCODER_VP9_BITSTREAM_H_ 38