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 
     12 #ifndef VP8_COMMON_ONYXD_H_
     13 #define VP8_COMMON_ONYXD_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  // VP8_COMMON_ONYXD_H_
     64