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