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 17 matching lines...) Expand all Loading... |
28 vpx_codec_err_t res; | 28 vpx_codec_err_t res; |
29 | 29 |
30 if (ver != VPX_ENCODER_ABI_VERSION) | 30 if (ver != VPX_ENCODER_ABI_VERSION) |
31 res = VPX_CODEC_ABI_MISMATCH; | 31 res = VPX_CODEC_ABI_MISMATCH; |
32 else if (!ctx || !iface || !cfg) | 32 else if (!ctx || !iface || !cfg) |
33 res = VPX_CODEC_INVALID_PARAM; | 33 res = VPX_CODEC_INVALID_PARAM; |
34 else if (iface->abi_version != VPX_CODEC_INTERNAL_ABI_VERSION) | 34 else if (iface->abi_version != VPX_CODEC_INTERNAL_ABI_VERSION) |
35 res = VPX_CODEC_ABI_MISMATCH; | 35 res = VPX_CODEC_ABI_MISMATCH; |
36 else if (!(iface->caps & VPX_CODEC_CAP_ENCODER)) | 36 else if (!(iface->caps & VPX_CODEC_CAP_ENCODER)) |
37 res = VPX_CODEC_INCAPABLE; | 37 res = VPX_CODEC_INCAPABLE; |
38 else if ((flags & VPX_CODEC_USE_XMA) && !(iface->caps & VPX_CODEC_CAP_XMA)) | |
39 res = VPX_CODEC_INCAPABLE; | |
40 else if ((flags & VPX_CODEC_USE_PSNR) | 38 else if ((flags & VPX_CODEC_USE_PSNR) |
41 && !(iface->caps & VPX_CODEC_CAP_PSNR)) | 39 && !(iface->caps & VPX_CODEC_CAP_PSNR)) |
42 res = VPX_CODEC_INCAPABLE; | 40 res = VPX_CODEC_INCAPABLE; |
43 else if ((flags & VPX_CODEC_USE_OUTPUT_PARTITION) | 41 else if ((flags & VPX_CODEC_USE_OUTPUT_PARTITION) |
44 && !(iface->caps & VPX_CODEC_CAP_OUTPUT_PARTITION)) | 42 && !(iface->caps & VPX_CODEC_CAP_OUTPUT_PARTITION)) |
45 res = VPX_CODEC_INCAPABLE; | 43 res = VPX_CODEC_INCAPABLE; |
46 else { | 44 else { |
47 ctx->iface = iface; | 45 ctx->iface = iface; |
48 ctx->name = iface->name; | 46 ctx->name = iface->name; |
49 ctx->priv = NULL; | 47 ctx->priv = NULL; |
(...skipping 23 matching lines...) Expand all Loading... |
73 vpx_codec_err_t res = VPX_CODEC_OK; | 71 vpx_codec_err_t res = VPX_CODEC_OK; |
74 | 72 |
75 if (ver != VPX_ENCODER_ABI_VERSION) | 73 if (ver != VPX_ENCODER_ABI_VERSION) |
76 res = VPX_CODEC_ABI_MISMATCH; | 74 res = VPX_CODEC_ABI_MISMATCH; |
77 else if (!ctx || !iface || !cfg || (num_enc > 16 || num_enc < 1)) | 75 else if (!ctx || !iface || !cfg || (num_enc > 16 || num_enc < 1)) |
78 res = VPX_CODEC_INVALID_PARAM; | 76 res = VPX_CODEC_INVALID_PARAM; |
79 else if (iface->abi_version != VPX_CODEC_INTERNAL_ABI_VERSION) | 77 else if (iface->abi_version != VPX_CODEC_INTERNAL_ABI_VERSION) |
80 res = VPX_CODEC_ABI_MISMATCH; | 78 res = VPX_CODEC_ABI_MISMATCH; |
81 else if (!(iface->caps & VPX_CODEC_CAP_ENCODER)) | 79 else if (!(iface->caps & VPX_CODEC_CAP_ENCODER)) |
82 res = VPX_CODEC_INCAPABLE; | 80 res = VPX_CODEC_INCAPABLE; |
83 else if ((flags & VPX_CODEC_USE_XMA) && !(iface->caps & VPX_CODEC_CAP_XMA)) | |
84 res = VPX_CODEC_INCAPABLE; | |
85 else if ((flags & VPX_CODEC_USE_PSNR) | 81 else if ((flags & VPX_CODEC_USE_PSNR) |
86 && !(iface->caps & VPX_CODEC_CAP_PSNR)) | 82 && !(iface->caps & VPX_CODEC_CAP_PSNR)) |
87 res = VPX_CODEC_INCAPABLE; | 83 res = VPX_CODEC_INCAPABLE; |
88 else if ((flags & VPX_CODEC_USE_OUTPUT_PARTITION) | 84 else if ((flags & VPX_CODEC_USE_OUTPUT_PARTITION) |
89 && !(iface->caps & VPX_CODEC_CAP_OUTPUT_PARTITION)) | 85 && !(iface->caps & VPX_CODEC_CAP_OUTPUT_PARTITION)) |
90 res = VPX_CODEC_INCAPABLE; | 86 res = VPX_CODEC_INCAPABLE; |
91 else { | 87 else { |
92 int i; | 88 int i; |
93 void *mem_loc = NULL; | 89 void *mem_loc = NULL; |
94 | 90 |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 | 151 |
156 return SAVE_STATUS(ctx, res); | 152 return SAVE_STATUS(ctx, res); |
157 } | 153 } |
158 | 154 |
159 | 155 |
160 vpx_codec_err_t vpx_codec_enc_config_default(vpx_codec_iface_t *iface, | 156 vpx_codec_err_t vpx_codec_enc_config_default(vpx_codec_iface_t *iface, |
161 vpx_codec_enc_cfg_t *cfg, | 157 vpx_codec_enc_cfg_t *cfg, |
162 unsigned int usage) { | 158 unsigned int usage) { |
163 vpx_codec_err_t res; | 159 vpx_codec_err_t res; |
164 vpx_codec_enc_cfg_map_t *map; | 160 vpx_codec_enc_cfg_map_t *map; |
| 161 int i; |
165 | 162 |
166 if (!iface || !cfg || usage > INT_MAX) | 163 if (!iface || !cfg || usage > INT_MAX) |
167 res = VPX_CODEC_INVALID_PARAM; | 164 res = VPX_CODEC_INVALID_PARAM; |
168 else if (!(iface->caps & VPX_CODEC_CAP_ENCODER)) | 165 else if (!(iface->caps & VPX_CODEC_CAP_ENCODER)) |
169 res = VPX_CODEC_INCAPABLE; | 166 res = VPX_CODEC_INCAPABLE; |
170 else { | 167 else { |
171 res = VPX_CODEC_INVALID_PARAM; | 168 res = VPX_CODEC_INVALID_PARAM; |
172 | 169 |
173 for (map = iface->enc.cfg_maps; map->usage >= 0; map++) { | 170 for (i = 0; i < iface->enc.cfg_map_count; ++i) { |
| 171 map = iface->enc.cfg_maps + i; |
174 if (map->usage == (int)usage) { | 172 if (map->usage == (int)usage) { |
175 *cfg = map->cfg; | 173 *cfg = map->cfg; |
176 cfg->g_usage = usage; | 174 cfg->g_usage = usage; |
177 res = VPX_CODEC_OK; | 175 res = VPX_CODEC_OK; |
178 break; | 176 break; |
179 } | 177 } |
180 } | 178 } |
181 } | 179 } |
182 | 180 |
183 return res; | 181 return res; |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 | 394 |
397 pkt = (const vpx_codec_cx_pkt_t *)*iter; | 395 pkt = (const vpx_codec_cx_pkt_t *)*iter; |
398 | 396 |
399 if ((size_t)(pkt - list->pkts) < list->cnt) | 397 if ((size_t)(pkt - list->pkts) < list->cnt) |
400 *iter = pkt + 1; | 398 *iter = pkt + 1; |
401 else | 399 else |
402 pkt = NULL; | 400 pkt = NULL; |
403 | 401 |
404 return pkt; | 402 return pkt; |
405 } | 403 } |
OLD | NEW |