|
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 __INC_VP8D_H |
|
13 #define __INC_VP8D_H |
|
14 |
|
15 |
|
16 /* Create/destroy static data structures. */ |
|
17 #ifdef __cplusplus |
|
18 extern "C" |
|
19 { |
|
20 #endif |
|
21 #include "vpx_scale/yv12config.h" |
|
22 #include "ppflags.h" |
|
23 #include "vpx_ports/mem.h" |
|
24 #include "vpx/vpx_codec.h" |
|
25 #include "vpx/vp8.h" |
|
26 |
|
27 struct VP8D_COMP; |
|
28 |
|
29 typedef struct |
|
30 { |
|
31 int Width; |
|
32 int Height; |
|
33 int Version; |
|
34 int postprocess; |
|
35 int max_threads; |
|
36 int error_concealment; |
|
37 } VP8D_CONFIG; |
|
38 |
|
39 typedef enum |
|
40 { |
|
41 VP8D_OK = 0 |
|
42 } VP8D_SETTING; |
|
43 |
|
44 void vp8dx_initialize(void); |
|
45 |
|
46 void vp8dx_set_setting(struct VP8D_COMP* comp, VP8D_SETTING oxst, int x); |
|
47 |
|
48 int vp8dx_get_setting(struct VP8D_COMP* comp, VP8D_SETTING oxst); |
|
49 |
|
50 int vp8dx_receive_compressed_data(struct VP8D_COMP* comp, |
|
51 size_t size, const uint8_t *dest, |
|
52 int64_t time_stamp); |
|
53 int vp8dx_get_raw_frame(struct VP8D_COMP* comp, YV12_BUFFER_CONFIG *sd, int64_t *time_stamp, int64_t *time_end_stamp, vp8_ppflags_t *flags); |
|
54 |
|
55 vpx_codec_err_t vp8dx_get_reference(struct VP8D_COMP* comp, enum vpx_ref_frame_type ref_frame_flag, YV12_BUFFER_CONFIG *sd); |
|
56 vpx_codec_err_t vp8dx_set_reference(struct VP8D_COMP* comp, enum vpx_ref_frame_type ref_frame_flag, YV12_BUFFER_CONFIG *sd); |
|
57 |
|
58 #ifdef __cplusplus |
|
59 } |
|
60 #endif |
|
61 |
|
62 |
|
63 #endif |