media/libvpx/vp9/decoder/vp9_onyxd.h

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     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  */
    11 #ifndef VP9_DECODER_VP9_ONYXD_H_
    12 #define VP9_DECODER_VP9_ONYXD_H_
    14 #ifdef __cplusplus
    15 extern "C" {
    16 #endif
    18 #include "vpx_scale/yv12config.h"
    19 #include "vp9/common/vp9_ppflags.h"
    20 #include "vpx/vpx_codec.h"
    22 typedef void *VP9D_PTR;
    24 typedef struct {
    25   int width;
    26   int height;
    27   int version;
    28   int postprocess;
    29   int max_threads;
    30   int inv_tile_order;
    31   int input_partition;
    32 } VP9D_CONFIG;
    34 typedef enum {
    35   VP9_LAST_FLAG = 1,
    36   VP9_GOLD_FLAG = 2,
    37   VP9_ALT_FLAG = 4
    38 } VP9_REFFRAME;
    40 void vp9_initialize_dec();
    42 int vp9_receive_compressed_data(VP9D_PTR comp,
    43                                 size_t size, const uint8_t **dest,
    44                                 int64_t time_stamp);
    46 int vp9_get_raw_frame(VP9D_PTR comp, YV12_BUFFER_CONFIG *sd,
    47                       int64_t *time_stamp, int64_t *time_end_stamp,
    48                       vp9_ppflags_t *flags);
    50 vpx_codec_err_t vp9_copy_reference_dec(VP9D_PTR comp,
    51                                        VP9_REFFRAME ref_frame_flag,
    52                                        YV12_BUFFER_CONFIG *sd);
    54 vpx_codec_err_t vp9_set_reference_dec(VP9D_PTR comp,
    55                                       VP9_REFFRAME ref_frame_flag,
    56                                       YV12_BUFFER_CONFIG *sd);
    58 int vp9_get_reference_dec(VP9D_PTR ptr, int index, YV12_BUFFER_CONFIG **fb);
    61 VP9D_PTR vp9_create_decompressor(VP9D_CONFIG *oxcf);
    63 void vp9_remove_decompressor(VP9D_PTR comp);
    65 #ifdef __cplusplus
    66 }
    67 #endif
    69 #endif  // VP9_DECODER_VP9_ONYXD_H_

mercurial