• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "type_aliases.h"
22 #include "vpx_scale/yv12config.h"
23 #include "ppflags.h"
24 #include "vpx_ports/mem.h"
25 
26     typedef void   *VP8D_PTR;
27     typedef struct
28     {
29         int     Width;
30         int     Height;
31         int     Version;
32         int     postprocess;
33         int     max_threads;
34     } VP8D_CONFIG;
35     typedef enum
36     {
37         VP8_LAST_FLAG = 1,
38         VP8_GOLD_FLAG = 2,
39         VP8_ALT_FLAG = 4
40     } VP8_REFFRAME;
41 
42     typedef enum
43     {
44         VP8D_OK = 0
45     } VP8D_SETTING;
46 
47     void vp8dx_initialize(void);
48 
49     void vp8dx_set_setting(VP8D_PTR comp, VP8D_SETTING oxst, int x);
50 
51     int vp8dx_get_setting(VP8D_PTR comp, VP8D_SETTING oxst);
52 
53     int vp8dx_receive_compressed_data(VP8D_PTR comp, unsigned long size, const unsigned char *dest, INT64 time_stamp);
54     int vp8dx_get_raw_frame(VP8D_PTR comp, YV12_BUFFER_CONFIG *sd, INT64 *time_stamp, INT64 *time_end_stamp, int deblock_level,  int noise_level, int flags);
55 
56     int vp8dx_get_reference(VP8D_PTR comp, VP8_REFFRAME ref_frame_flag, YV12_BUFFER_CONFIG *sd);
57     int vp8dx_set_reference(VP8D_PTR comp, VP8_REFFRAME ref_frame_flag, YV12_BUFFER_CONFIG *sd);
58 
59     VP8D_PTR vp8dx_create_decompressor(VP8D_CONFIG *oxcf);
60 
61     void vp8dx_remove_decompressor(VP8D_PTR comp);
62 
63 #ifdef __cplusplus
64 }
65 #endif
66 
67 
68 #endif
69