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 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 * | 46 * |
47 * Each decoder advertises the capabilities it supports as part of its | 47 * Each decoder advertises the capabilities it supports as part of its |
48 * ::vpx_codec_iface_t interface structure. Capabilities are extra interfac
es | 48 * ::vpx_codec_iface_t interface structure. Capabilities are extra interfac
es |
49 * or functionality, and are not required to be supported by a decoder. | 49 * or functionality, and are not required to be supported by a decoder. |
50 * | 50 * |
51 * The available flags are specified by VPX_CODEC_CAP_* defines. | 51 * The available flags are specified by VPX_CODEC_CAP_* defines. |
52 */ | 52 */ |
53 #define VPX_CODEC_CAP_PUT_SLICE 0x10000 /**< Will issue put_slice callbacks */ | 53 #define VPX_CODEC_CAP_PUT_SLICE 0x10000 /**< Will issue put_slice callbacks */ |
54 #define VPX_CODEC_CAP_PUT_FRAME 0x20000 /**< Will issue put_frame callbacks */ | 54 #define VPX_CODEC_CAP_PUT_FRAME 0x20000 /**< Will issue put_frame callbacks */ |
55 #define VPX_CODEC_CAP_POSTPROC 0x40000 /**< Can postprocess decoded frame */ | 55 #define VPX_CODEC_CAP_POSTPROC 0x40000 /**< Can postprocess decoded frame */ |
56 #define VPX_CODEC_CAP_ERROR_CONCEALMENT 0x80000 /**< Can conceal errors due to | |
57 packet loss */ | |
58 #define VPX_CODEC_CAP_INPUT_PARTITION 0x100000 /**< Can receive encoded frames | |
59 one partition at a time */ | |
60 | 56 |
61 /*! \brief Initialization-time Feature Enabling | 57 /*! \brief Initialization-time Feature Enabling |
62 * | 58 * |
63 * Certain codec features must be known at initialization time, to allow fo
r | 59 * Certain codec features must be known at initialization time, to allow fo
r |
64 * proper memory allocation. | 60 * proper memory allocation. |
65 * | 61 * |
66 * The available flags are specified by VPX_CODEC_USE_* defines. | 62 * The available flags are specified by VPX_CODEC_USE_* defines. |
67 */ | 63 */ |
68 #define VPX_CODEC_USE_POSTPROC 0x10000 /**< Postprocess decoded frame */ | 64 #define VPX_CODEC_USE_POSTPROC 0x10000 /**< Postprocess decoded frame */ |
69 #define VPX_CODEC_USE_ERROR_CONCEALMENT 0x20000 /**< Conceal errors in decoded | |
70 frames */ | |
71 #define VPX_CODEC_USE_INPUT_PARTITION 0x40000 /**< The input frame should be | |
72 passed to the decoder one | |
73 partition at a time */ | |
74 | 65 |
75 /*!\brief Stream properties | 66 /*!\brief Stream properties |
76 * | 67 * |
77 * This structure is used to query or set properties of the decoded | 68 * This structure is used to query or set properties of the decoded |
78 * stream. Algorithms may extend this structure with data specific | 69 * stream. Algorithms may extend this structure with data specific |
79 * to their bitstream by setting the sz member appropriately. | 70 * to their bitstream by setting the sz member appropriately. |
80 */ | 71 */ |
81 typedef struct vpx_codec_stream_info | 72 typedef struct vpx_codec_stream_info |
82 { | 73 { |
83 unsigned int sz; /**< Size of this structure */ | 74 unsigned int sz; /**< Size of this structure */ |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 vpx_codec_stream_info_t *si); | 173 vpx_codec_stream_info_t *si); |
183 | 174 |
184 | 175 |
185 /*!\brief Decode data | 176 /*!\brief Decode data |
186 * | 177 * |
187 * Processes a buffer of coded data. If the processing results in a new | 178 * Processes a buffer of coded data. If the processing results in a new |
188 * decoded frame becoming available, PUT_SLICE and PUT_FRAME events may be | 179 * decoded frame becoming available, PUT_SLICE and PUT_FRAME events may be |
189 * generated, as appropriate. Encoded data \ref MUST be passed in DTS (decod
e | 180 * generated, as appropriate. Encoded data \ref MUST be passed in DTS (decod
e |
190 * time stamp) order. Frames produced will always be in PTS (presentation | 181 * time stamp) order. Frames produced will always be in PTS (presentation |
191 * time stamp) order. | 182 * time stamp) order. |
192 * If the decoder is configured with VPX_CODEC_USE_INPUT_PARTITION enabled, | |
193 * data and data_sz must contain at most one encoded partition. When no more | |
194 * data is available, this function should be called with NULL as data and 0 | |
195 * as data_sz. The memory passed to this function must be available until | |
196 * the frame has been decoded. | |
197 * | 183 * |
198 * \param[in] ctx Pointer to this instance's context | 184 * \param[in] ctx Pointer to this instance's context |
199 * \param[in] data Pointer to this block of new coded data. If | 185 * \param[in] data Pointer to this block of new coded data. If |
200 * NULL, a VPX_CODEC_CB_PUT_FRAME event is posted | 186 * NULL, a VPX_CODEC_CB_PUT_FRAME event is posted |
201 * for the previously decoded frame. | 187 * for the previously decoded frame. |
202 * \param[in] data_sz Size of the coded data, in bytes. | 188 * \param[in] data_sz Size of the coded data, in bytes. |
203 * \param[in] user_priv Application specific data to associate with | 189 * \param[in] user_priv Application specific data to associate with |
204 * this frame. | 190 * this frame. |
205 * \param[in] deadline Soft deadline the decoder should attempt to meet, | 191 * \param[in] deadline Soft deadline the decoder should attempt to meet, |
206 * in us. Set to zero for unlimited. | 192 * in us. Set to zero for unlimited. |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 | 308 |
323 #endif | 309 #endif |
324 | 310 |
325 #ifdef __cplusplus | 311 #ifdef __cplusplus |
326 } | 312 } |
327 #endif | 313 #endif |
328 | 314 |
329 #if !defined(VPX_CODEC_DISABLE_COMPAT) || !VPX_CODEC_DISABLE_COMPAT | 315 #if !defined(VPX_CODEC_DISABLE_COMPAT) || !VPX_CODEC_DISABLE_COMPAT |
330 #include "vpx_decoder_compat.h" | 316 #include "vpx_decoder_compat.h" |
331 #endif | 317 #endif |
OLD | NEW |