media/libvpx/vp9/decoder/vp9_onyxd.h

branch
TOR_BUG_9701
changeset 10
ac0c01689b40
equal deleted inserted replaced
-1:000000000000 0:92a2694d0d38
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 VP9_DECODER_VP9_ONYXD_H_
12 #define VP9_DECODER_VP9_ONYXD_H_
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 #include "vpx_scale/yv12config.h"
19 #include "vp9/common/vp9_ppflags.h"
20 #include "vpx/vpx_codec.h"
21
22 typedef void *VP9D_PTR;
23
24 typedef struct {
25 int width;
26 int height;
27 int version;
28 int postprocess;
29 int max_threads;
30 int inv_tile_order;
31 int input_partition;
32 } VP9D_CONFIG;
33
34 typedef enum {
35 VP9_LAST_FLAG = 1,
36 VP9_GOLD_FLAG = 2,
37 VP9_ALT_FLAG = 4
38 } VP9_REFFRAME;
39
40 void vp9_initialize_dec();
41
42 int vp9_receive_compressed_data(VP9D_PTR comp,
43 size_t size, const uint8_t **dest,
44 int64_t time_stamp);
45
46 int vp9_get_raw_frame(VP9D_PTR comp, YV12_BUFFER_CONFIG *sd,
47 int64_t *time_stamp, int64_t *time_end_stamp,
48 vp9_ppflags_t *flags);
49
50 vpx_codec_err_t vp9_copy_reference_dec(VP9D_PTR comp,
51 VP9_REFFRAME ref_frame_flag,
52 YV12_BUFFER_CONFIG *sd);
53
54 vpx_codec_err_t vp9_set_reference_dec(VP9D_PTR comp,
55 VP9_REFFRAME ref_frame_flag,
56 YV12_BUFFER_CONFIG *sd);
57
58 int vp9_get_reference_dec(VP9D_PTR ptr, int index, YV12_BUFFER_CONFIG **fb);
59
60
61 VP9D_PTR vp9_create_decompressor(VP9D_CONFIG *oxcf);
62
63 void vp9_remove_decompressor(VP9D_PTR comp);
64
65 #ifdef __cplusplus
66 }
67 #endif
68
69 #endif // VP9_DECODER_VP9_ONYXD_H_

mercurial