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 #ifndef VPX_VPX_ENCODER_H_ | 10 #ifndef VPX_VPX_ENCODER_H_ |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 * | 150 * |
151 * This enumeration lists the different kinds of data packets that can be | 151 * This enumeration lists the different kinds of data packets that can be |
152 * returned by calls to vpx_codec_get_cx_data(). Algorithms \ref MAY | 152 * returned by calls to vpx_codec_get_cx_data(). Algorithms \ref MAY |
153 * extend this list to provide additional functionality. | 153 * extend this list to provide additional functionality. |
154 */ | 154 */ |
155 enum vpx_codec_cx_pkt_kind { | 155 enum vpx_codec_cx_pkt_kind { |
156 VPX_CODEC_CX_FRAME_PKT, /**< Compressed video frame */ | 156 VPX_CODEC_CX_FRAME_PKT, /**< Compressed video frame */ |
157 VPX_CODEC_STATS_PKT, /**< Two-pass statistics for this frame */ | 157 VPX_CODEC_STATS_PKT, /**< Two-pass statistics for this frame */ |
158 VPX_CODEC_FPMB_STATS_PKT, /**< first pass mb statistics for this frame */ | 158 VPX_CODEC_FPMB_STATS_PKT, /**< first pass mb statistics for this frame */ |
159 VPX_CODEC_PSNR_PKT, /**< PSNR statistics for this frame */ | 159 VPX_CODEC_PSNR_PKT, /**< PSNR statistics for this frame */ |
160 #ifdef CONFIG_SPATIAL_SVC | 160 #if CONFIG_SPATIAL_SVC |
161 VPX_CODEC_SPATIAL_SVC_LAYER_SIZES, /**< Sizes for each layer in this frame*/ | 161 VPX_CODEC_SPATIAL_SVC_LAYER_SIZES, /**< Sizes for each layer in this frame*/ |
162 #endif | 162 #endif |
163 VPX_CODEC_CUSTOM_PKT = 256 /**< Algorithm extensions */ | 163 VPX_CODEC_CUSTOM_PKT = 256 /**< Algorithm extensions */ |
164 }; | 164 }; |
165 | 165 |
166 | 166 |
167 /*!\brief Encoder output packet | 167 /*!\brief Encoder output packet |
168 * | 168 * |
169 * This structure contains the different kinds of output data the encoder | 169 * This structure contains the different kinds of output data the encoder |
170 * may produce while compressing a frame. | 170 * may produce while compressing a frame. |
(...skipping 18 matching lines...) Expand all Loading... |
189 | 189 |
190 } frame; /**< data for compressed frame packet */ | 190 } frame; /**< data for compressed frame packet */ |
191 struct vpx_fixed_buf twopass_stats; /**< data for two-pass packet */ | 191 struct vpx_fixed_buf twopass_stats; /**< data for two-pass packet */ |
192 struct vpx_fixed_buf firstpass_mb_stats; /**< first pass mb packet */ | 192 struct vpx_fixed_buf firstpass_mb_stats; /**< first pass mb packet */ |
193 struct vpx_psnr_pkt { | 193 struct vpx_psnr_pkt { |
194 unsigned int samples[4]; /**< Number of samples, total/y/u/v */ | 194 unsigned int samples[4]; /**< Number of samples, total/y/u/v */ |
195 uint64_t sse[4]; /**< sum squared error, total/y/u/v */ | 195 uint64_t sse[4]; /**< sum squared error, total/y/u/v */ |
196 double psnr[4]; /**< PSNR, total/y/u/v */ | 196 double psnr[4]; /**< PSNR, total/y/u/v */ |
197 } psnr; /**< data for PSNR packet */ | 197 } psnr; /**< data for PSNR packet */ |
198 struct vpx_fixed_buf raw; /**< data for arbitrary packets */ | 198 struct vpx_fixed_buf raw; /**< data for arbitrary packets */ |
199 #ifdef CONFIG_SPATIAL_SVC | 199 #if CONFIG_SPATIAL_SVC |
200 size_t layer_sizes[VPX_SS_MAX_LAYERS]; | 200 size_t layer_sizes[VPX_SS_MAX_LAYERS]; |
201 #endif | 201 #endif |
202 | 202 |
203 /* This packet size is fixed to allow codecs to extend this | 203 /* This packet size is fixed to allow codecs to extend this |
204 * interface without having to manage storage for raw packets, | 204 * interface without having to manage storage for raw packets, |
205 * i.e., if it's smaller than 128 bytes, you can store in the | 205 * i.e., if it's smaller than 128 bytes, you can store in the |
206 * packet list directly. | 206 * packet list directly. |
207 */ | 207 */ |
208 char pad[128 - sizeof(enum vpx_codec_cx_pkt_kind)]; /**< fixed sz */ | 208 char pad[128 - sizeof(enum vpx_codec_cx_pkt_kind)]; /**< fixed sz */ |
209 } data; /**< packet data */ | 209 } data; /**< packet data */ |
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
630 /* | 630 /* |
631 * Spatial scalability settings (ss) | 631 * Spatial scalability settings (ss) |
632 */ | 632 */ |
633 | 633 |
634 /*!\brief Number of spatial coding layers. | 634 /*!\brief Number of spatial coding layers. |
635 * | 635 * |
636 * This value specifies the number of spatial coding layers to be used. | 636 * This value specifies the number of spatial coding layers to be used. |
637 */ | 637 */ |
638 unsigned int ss_number_layers; | 638 unsigned int ss_number_layers; |
639 | 639 |
640 #ifdef CONFIG_SPATIAL_SVC | 640 #if CONFIG_SPATIAL_SVC |
641 /*!\brief Enable auto alt reference flags for each spatial layer. | 641 /*!\brief Enable auto alt reference flags for each spatial layer. |
642 * | 642 * |
643 * These values specify if auto alt reference frame is enabled for each | 643 * These values specify if auto alt reference frame is enabled for each |
644 * spatial layer. | 644 * spatial layer. |
645 */ | 645 */ |
646 int ss_enable_auto_alt_ref[VPX_SS_MAX_LAYERS]; | 646 int ss_enable_auto_alt_ref[VPX_SS_MAX_LAYERS]; |
647 #endif | 647 #endif |
648 | 648 |
649 /*!\brief Target bitrate for each spatial layer. | 649 /*!\brief Target bitrate for each spatial layer. |
650 * | 650 * |
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
971 */ | 971 */ |
972 const vpx_image_t *vpx_codec_get_preview_frame(vpx_codec_ctx_t *ctx); | 972 const vpx_image_t *vpx_codec_get_preview_frame(vpx_codec_ctx_t *ctx); |
973 | 973 |
974 | 974 |
975 /*!@} - end defgroup encoder*/ | 975 /*!@} - end defgroup encoder*/ |
976 #ifdef __cplusplus | 976 #ifdef __cplusplus |
977 } | 977 } |
978 #endif | 978 #endif |
979 #endif // VPX_VPX_ENCODER_H_ | 979 #endif // VPX_VPX_ENCODER_H_ |
980 | 980 |
OLD | NEW |