| 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 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 727 | 727 |
| 728 free(ctx->cx_data); | 728 free(ctx->cx_data); |
| 729 vp8_remove_compressor(&ctx->cpi); | 729 vp8_remove_compressor(&ctx->cpi); |
| 730 free(ctx); | 730 free(ctx); |
| 731 return VPX_CODEC_OK; | 731 return VPX_CODEC_OK; |
| 732 } | 732 } |
| 733 | 733 |
| 734 static vpx_codec_err_t image2yuvconfig(const vpx_image_t *img, | 734 static vpx_codec_err_t image2yuvconfig(const vpx_image_t *img, |
| 735 YV12_BUFFER_CONFIG *yv12) | 735 YV12_BUFFER_CONFIG *yv12) |
| 736 { | 736 { |
| 737 const int y_w = img->d_w; |
| 738 const int y_h = img->d_h; |
| 739 const int uv_w = (img->d_w + 1) / 2; |
| 740 const int uv_h = (img->d_h + 1) / 2; |
| 737 vpx_codec_err_t res = VPX_CODEC_OK; | 741 vpx_codec_err_t res = VPX_CODEC_OK; |
| 738 yv12->y_buffer = img->planes[VPX_PLANE_Y]; | 742 yv12->y_buffer = img->planes[VPX_PLANE_Y]; |
| 739 yv12->u_buffer = img->planes[VPX_PLANE_U]; | 743 yv12->u_buffer = img->planes[VPX_PLANE_U]; |
| 740 yv12->v_buffer = img->planes[VPX_PLANE_V]; | 744 yv12->v_buffer = img->planes[VPX_PLANE_V]; |
| 741 | 745 |
| 742 yv12->y_crop_width = img->d_w; | 746 yv12->y_crop_width = y_w; |
| 743 yv12->y_crop_height = img->d_h; | 747 yv12->y_crop_height = y_h; |
| 744 yv12->y_width = img->d_w; | 748 yv12->y_width = y_w; |
| 745 yv12->y_height = img->d_h; | 749 yv12->y_height = y_h; |
| 746 yv12->uv_width = (1 + yv12->y_width) / 2; | 750 yv12->uv_crop_width = uv_w; |
| 747 yv12->uv_height = (1 + yv12->y_height) / 2; | 751 yv12->uv_crop_height = uv_h; |
| 752 yv12->uv_width = uv_w; |
| 753 yv12->uv_height = uv_h; |
| 748 | 754 |
| 749 yv12->y_stride = img->stride[VPX_PLANE_Y]; | 755 yv12->y_stride = img->stride[VPX_PLANE_Y]; |
| 750 yv12->uv_stride = img->stride[VPX_PLANE_U]; | 756 yv12->uv_stride = img->stride[VPX_PLANE_U]; |
| 751 | 757 |
| 752 yv12->border = (img->stride[VPX_PLANE_Y] - img->w) / 2; | 758 yv12->border = (img->stride[VPX_PLANE_Y] - img->w) / 2; |
| 753 return res; | 759 return res; |
| 754 } | 760 } |
| 755 | 761 |
| 756 static void pick_quickcompress_mode(vpx_codec_alg_priv_t *ctx, | 762 static void pick_quickcompress_mode(vpx_codec_alg_priv_t *ctx, |
| 757 unsigned long duration, | 763 unsigned long duration, |
| (...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1309 | 1315 |
| 1310 /* keyframing settings (kf) */ | 1316 /* keyframing settings (kf) */ |
| 1311 VPX_KF_AUTO, /* g_kfmode*/ | 1317 VPX_KF_AUTO, /* g_kfmode*/ |
| 1312 0, /* kf_min_dist */ | 1318 0, /* kf_min_dist */ |
| 1313 128, /* kf_max_dist */ | 1319 128, /* kf_max_dist */ |
| 1314 | 1320 |
| 1315 #if VPX_ENCODER_ABI_VERSION == (1 + VPX_CODEC_ABI_VERSION) | 1321 #if VPX_ENCODER_ABI_VERSION == (1 + VPX_CODEC_ABI_VERSION) |
| 1316 "vp8.fpf" /* first pass filename */ | 1322 "vp8.fpf" /* first pass filename */ |
| 1317 #endif | 1323 #endif |
| 1318 VPX_SS_DEFAULT_LAYERS, /* ss_number_layers */ | 1324 VPX_SS_DEFAULT_LAYERS, /* ss_number_layers */ |
| 1319 #if CONFIG_SPATIAL_SVC | |
| 1320 {0}, | 1325 {0}, |
| 1321 #endif | |
| 1322 {0}, /* ss_target_bitrate */ | 1326 {0}, /* ss_target_bitrate */ |
| 1323 1, /* ts_number_layers */ | 1327 1, /* ts_number_layers */ |
| 1324 {0}, /* ts_target_bitrate */ | 1328 {0}, /* ts_target_bitrate */ |
| 1325 {0}, /* ts_rate_decimator */ | 1329 {0}, /* ts_rate_decimator */ |
| 1326 0, /* ts_periodicity */ | 1330 0, /* ts_periodicity */ |
| 1327 {0}, /* ts_layer_id */ | 1331 {0}, /* ts_layer_id */ |
| 1328 }}, | 1332 }}, |
| 1329 { -1, {NOT_IMPLEMENTED}} | |
| 1330 }; | 1333 }; |
| 1331 | 1334 |
| 1332 | 1335 |
| 1333 #ifndef VERSION_STRING | 1336 #ifndef VERSION_STRING |
| 1334 #define VERSION_STRING | 1337 #define VERSION_STRING |
| 1335 #endif | 1338 #endif |
| 1336 CODEC_INTERFACE(vpx_codec_vp8_cx) = | 1339 CODEC_INTERFACE(vpx_codec_vp8_cx) = |
| 1337 { | 1340 { |
| 1338 "WebM Project VP8 Encoder" VERSION_STRING, | 1341 "WebM Project VP8 Encoder" VERSION_STRING, |
| 1339 VPX_CODEC_INTERNAL_ABI_VERSION, | 1342 VPX_CODEC_INTERNAL_ABI_VERSION, |
| 1340 VPX_CODEC_CAP_ENCODER | VPX_CODEC_CAP_PSNR | | 1343 VPX_CODEC_CAP_ENCODER | VPX_CODEC_CAP_PSNR | |
| 1341 VPX_CODEC_CAP_OUTPUT_PARTITION, | 1344 VPX_CODEC_CAP_OUTPUT_PARTITION, |
| 1342 /* vpx_codec_caps_t caps; */ | 1345 /* vpx_codec_caps_t caps; */ |
| 1343 vp8e_init, /* vpx_codec_init_fn_t init; */ | 1346 vp8e_init, /* vpx_codec_init_fn_t init; */ |
| 1344 vp8e_destroy, /* vpx_codec_destroy_fn_t destroy; */ | 1347 vp8e_destroy, /* vpx_codec_destroy_fn_t destroy; */ |
| 1345 vp8e_ctf_maps, /* vpx_codec_ctrl_fn_map_t *ctrl_maps; */ | 1348 vp8e_ctf_maps, /* vpx_codec_ctrl_fn_map_t *ctrl_maps; */ |
| 1346 NOT_IMPLEMENTED, /* vpx_codec_get_mmap_fn_t get_mmap; */ | |
| 1347 NOT_IMPLEMENTED, /* vpx_codec_set_mmap_fn_t set_mmap; */ | |
| 1348 { | 1349 { |
| 1349 NOT_IMPLEMENTED, /* vpx_codec_peek_si_fn_t peek_si; */ | 1350 NOT_IMPLEMENTED, /* vpx_codec_peek_si_fn_t peek_si; */ |
| 1350 NOT_IMPLEMENTED, /* vpx_codec_get_si_fn_t get_si; */ | 1351 NOT_IMPLEMENTED, /* vpx_codec_get_si_fn_t get_si; */ |
| 1351 NOT_IMPLEMENTED, /* vpx_codec_decode_fn_t decode; */ | 1352 NOT_IMPLEMENTED, /* vpx_codec_decode_fn_t decode; */ |
| 1352 NOT_IMPLEMENTED, /* vpx_codec_frame_get_fn_t frame_get; */ | 1353 NOT_IMPLEMENTED, /* vpx_codec_frame_get_fn_t frame_get; */ |
| 1353 }, | 1354 }, |
| 1354 { | 1355 { |
| 1356 1, /* 1 cfg map */ |
| 1355 vp8e_usage_cfg_map, /* vpx_codec_enc_cfg_map_t peek_si; */ | 1357 vp8e_usage_cfg_map, /* vpx_codec_enc_cfg_map_t peek_si; */ |
| 1356 vp8e_encode, /* vpx_codec_encode_fn_t encode; */ | 1358 vp8e_encode, /* vpx_codec_encode_fn_t encode; */ |
| 1357 vp8e_get_cxdata, /* vpx_codec_get_cx_data_fn_t frame_get; */ | 1359 vp8e_get_cxdata, /* vpx_codec_get_cx_data_fn_t frame_get; */ |
| 1358 vp8e_set_config, | 1360 vp8e_set_config, |
| 1359 NOT_IMPLEMENTED, | 1361 NOT_IMPLEMENTED, |
| 1360 vp8e_get_preview, | 1362 vp8e_get_preview, |
| 1361 vp8e_mr_alloc_mem, | 1363 vp8e_mr_alloc_mem, |
| 1362 } /* encoder functions */ | 1364 } /* encoder functions */ |
| 1363 }; | 1365 }; |
| OLD | NEW |