Home | History | Annotate | Download | only in common
      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 
     26 typedef struct {
     27   int Width;
     28   int Height;
     29   int Version;
     30   int postprocess;
     31   int max_threads;
     32   int error_concealment;
     33 } VP8D_CONFIG;
     34 
     35 typedef enum { VP8D_OK = 0 } VP8D_SETTING;
     36 
     37 void vp8dx_initialize(void);
     38 
     39 void vp8dx_set_setting(struct VP8D_COMP *comp, VP8D_SETTING oxst, int x);
     40 
     41 int vp8dx_get_setting(struct VP8D_COMP *comp, VP8D_SETTING oxst);
     42 
     43 int vp8dx_receive_compressed_data(struct VP8D_COMP *comp, size_t size,
     44                                   const uint8_t *dest, int64_t time_stamp);
     45 int vp8dx_get_raw_frame(struct VP8D_COMP *comp, YV12_BUFFER_CONFIG *sd,
     46                         int64_t *time_stamp, int64_t *time_end_stamp,
     47                         vp8_ppflags_t *flags);
     48 
     49 vpx_codec_err_t vp8dx_get_reference(struct VP8D_COMP *comp,
     50                                     enum vpx_ref_frame_type ref_frame_flag,
     51                                     YV12_BUFFER_CONFIG *sd);
     52 vpx_codec_err_t vp8dx_set_reference(struct VP8D_COMP *comp,
     53                                     enum vpx_ref_frame_type ref_frame_flag,
     54                                     YV12_BUFFER_CONFIG *sd);
     55 int vp8dx_get_quantizer(const struct VP8D_COMP *c);
     56 
     57 #ifdef __cplusplus
     58 }
     59 #endif
     60 
     61 #endif  // VP8_COMMON_ONYXD_H_
     62