OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 | 11 |
12 #include "vp8.h" | 12 #include "vp8.h" |
13 | 13 |
14 /*!\defgroup vp8_decoder WebM VP8 Decoder | 14 /*!\defgroup vp8_decoder WebM VP8 Decoder |
15 * \ingroup vp8 | 15 * \ingroup vp8 |
16 * | 16 * |
17 * @{ | 17 * @{ |
18 */ | 18 */ |
19 /*!\file | 19 /*!\file |
20 * \brief Provides definitions for using the VP8 algorithm within the vpx Decode
r | 20 * \brief Provides definitions for using the VP8 algorithm within the vpx Decode
r |
21 * interface. | 21 * interface. |
22 */ | 22 */ |
23 #ifndef VP8DX_H | 23 #ifndef VP8DX_H |
24 #define VP8DX_H | 24 #define VP8DX_H |
25 #include "vpx_codec_impl_top.h" | 25 |
| 26 #ifdef __cplusplus |
| 27 extern "C" { |
| 28 #endif |
26 | 29 |
27 /*!\name Algorithm interface for VP8 | 30 /*!\name Algorithm interface for VP8 |
28 * | 31 * |
29 * This interface provides the capability to decode raw VP8 streams, as would | 32 * This interface provides the capability to decode raw VP8 streams, as would |
30 * be found in AVI files and other non-Flash uses. | 33 * be found in AVI files and other non-Flash uses. |
31 * @{ | 34 * @{ |
32 */ | 35 */ |
33 extern vpx_codec_iface_t vpx_codec_vp8_dx_algo; | 36 extern vpx_codec_iface_t vpx_codec_vp8_dx_algo; |
34 extern vpx_codec_iface_t *vpx_codec_vp8_dx(void); | 37 extern vpx_codec_iface_t *vpx_codec_vp8_dx(void); |
35 | 38 |
36 /* TODO(jkoleszar): These move to VP9 in a later patch set. */ | 39 /* TODO(jkoleszar): These move to VP9 in a later patch set. */ |
37 extern vpx_codec_iface_t vpx_codec_vp9_dx_algo; | 40 extern vpx_codec_iface_t vpx_codec_vp9_dx_algo; |
38 extern vpx_codec_iface_t *vpx_codec_vp9_dx(void); | 41 extern vpx_codec_iface_t *vpx_codec_vp9_dx(void); |
39 /*!@} - end algorithm interface member group*/ | 42 /*!@} - end algorithm interface member group*/ |
40 | 43 |
41 /* Include controls common to both the encoder and decoder */ | 44 /* Include controls common to both the encoder and decoder */ |
42 #include "vp8.h" | 45 #include "vp8.h" |
43 | 46 |
44 | 47 |
45 /*!\brief VP8 decoder control functions | 48 /*!\enum vp8_dec_control_id |
| 49 * \brief VP8 decoder control functions |
46 * | 50 * |
47 * This set of macros define the control functions available for the VP8 | 51 * This set of macros define the control functions available for the VP8 |
48 * decoder interface. | 52 * decoder interface. |
49 * | 53 * |
50 * \sa #vpx_codec_control | 54 * \sa #vpx_codec_control |
51 */ | 55 */ |
52 enum vp8_dec_control_id { | 56 enum vp8_dec_control_id { |
53 /** control function to get info on which reference frames were updated | 57 /** control function to get info on which reference frames were updated |
54 * by the last decode | 58 * by the last decode |
55 */ | 59 */ |
(...skipping 12 matching lines...) Expand all Loading... |
68 * a callback function and opaque context pointer. | 72 * a callback function and opaque context pointer. |
69 */ | 73 */ |
70 VP8D_SET_DECRYPTOR, | 74 VP8D_SET_DECRYPTOR, |
71 | 75 |
72 /** For testing. */ | 76 /** For testing. */ |
73 VP9_INVERT_TILE_DECODE_ORDER, | 77 VP9_INVERT_TILE_DECODE_ORDER, |
74 | 78 |
75 VP8_DECODER_CTRL_ID_MAX | 79 VP8_DECODER_CTRL_ID_MAX |
76 }; | 80 }; |
77 | 81 |
| 82 /*!\brief Structure to hold decryption state |
| 83 * |
| 84 * Defines a structure to hold the decryption state and access function. |
| 85 */ |
78 typedef struct vp8_decrypt_init { | 86 typedef struct vp8_decrypt_init { |
79 /** Decrypt n bytes of data from input -> output, using the decrypt_state | 87 /** Decrypt n bytes of data from input -> output, using the decrypt_state |
80 * passed in VP8D_SET_DECRYPTOR. | 88 * passed in VP8D_SET_DECRYPTOR. |
81 */ | 89 */ |
82 void (*decrypt_cb)(void *decrypt_state, const unsigned char *input, | 90 void (*decrypt_cb)(void *decrypt_state, const unsigned char *input, |
83 unsigned char *output, int count); | 91 unsigned char *output, int count); |
| 92 /*! Decryption state. */ |
84 void *decrypt_state; | 93 void *decrypt_state; |
85 } vp8_decrypt_init; | 94 } vp8_decrypt_init; |
86 | 95 |
87 /*!\brief VP8 decoder control function parameter type | 96 /*!\brief VP8 decoder control function parameter type |
88 * | 97 * |
89 * Defines the data types that VP8D control functions take. Note that | 98 * Defines the data types that VP8D control functions take. Note that |
90 * additional common controls are defined in vp8.h | 99 * additional common controls are defined in vp8.h |
91 * | 100 * |
92 */ | 101 */ |
93 | 102 |
94 | 103 |
95 VPX_CTRL_USE_TYPE(VP8D_GET_LAST_REF_UPDATES, int *) | 104 VPX_CTRL_USE_TYPE(VP8D_GET_LAST_REF_UPDATES, int *) |
96 VPX_CTRL_USE_TYPE(VP8D_GET_FRAME_CORRUPTED, int *) | 105 VPX_CTRL_USE_TYPE(VP8D_GET_FRAME_CORRUPTED, int *) |
97 VPX_CTRL_USE_TYPE(VP8D_GET_LAST_REF_USED, int *) | 106 VPX_CTRL_USE_TYPE(VP8D_GET_LAST_REF_USED, int *) |
98 VPX_CTRL_USE_TYPE(VP8D_SET_DECRYPTOR, vp8_decrypt_init *) | 107 VPX_CTRL_USE_TYPE(VP8D_SET_DECRYPTOR, vp8_decrypt_init *) |
99 VPX_CTRL_USE_TYPE(VP9_INVERT_TILE_DECODE_ORDER, int) | 108 VPX_CTRL_USE_TYPE(VP9_INVERT_TILE_DECODE_ORDER, int) |
100 | 109 |
101 /*! @} - end defgroup vp8_decoder */ | 110 /*! @} - end defgroup vp8_decoder */ |
102 | 111 |
| 112 #ifdef __cplusplus |
| 113 } // extern "C" |
| 114 #endif |
103 | 115 |
104 #include "vpx_codec_impl_bottom.h" | |
105 #endif | 116 #endif |
OLD | NEW |