2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
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.
11 #ifndef VP9_DECODER_VP9_ONYXD_H_
12 #define VP9_DECODER_VP9_ONYXD_H_
14 #include "vpx_scale/yv12config.h"
15 #include "vp9/common/vp9_ppflags.h"
16 #include "vpx/vpx_codec.h"
22 struct VP9Decompressor;
40 void vp9_initialize_dec();
42 int vp9_receive_compressed_data(struct VP9Decompressor *pbi,
43 size_t size, const uint8_t **dest,
46 int vp9_get_raw_frame(struct VP9Decompressor *pbi,
47 YV12_BUFFER_CONFIG *sd,
48 int64_t *time_stamp, int64_t *time_end_stamp,
49 vp9_ppflags_t *flags);
51 vpx_codec_err_t vp9_copy_reference_dec(struct VP9Decompressor *pbi,
52 VP9_REFFRAME ref_frame_flag,
53 YV12_BUFFER_CONFIG *sd);
55 vpx_codec_err_t vp9_set_reference_dec(struct VP9Decompressor *pbi,
56 VP9_REFFRAME ref_frame_flag,
57 YV12_BUFFER_CONFIG *sd);
59 int vp9_get_reference_dec(struct VP9Decompressor *pbi,
60 int index, YV12_BUFFER_CONFIG **fb);
63 struct VP9Decompressor *vp9_create_decompressor(VP9D_CONFIG *oxcf);
65 void vp9_remove_decompressor(struct VP9Decompressor *pbi);
71 #endif // VP9_DECODER_VP9_ONYXD_H_