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 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 {"psnr", VP8_TUNE_PSNR}, | 342 {"psnr", VP8_TUNE_PSNR}, |
343 {"ssim", VP8_TUNE_SSIM}, | 343 {"ssim", VP8_TUNE_SSIM}, |
344 {NULL, 0} | 344 {NULL, 0} |
345 }; | 345 }; |
346 static const arg_def_t tune_ssim = ARG_DEF_ENUM( | 346 static const arg_def_t tune_ssim = ARG_DEF_ENUM( |
347 NULL, "tune", 1, "Material to favor", tuning_enum); | 347 NULL, "tune", 1, "Material to favor", tuning_enum); |
348 static const arg_def_t cq_level = ARG_DEF( | 348 static const arg_def_t cq_level = ARG_DEF( |
349 NULL, "cq-level", 1, "Constant/Constrained Quality level"); | 349 NULL, "cq-level", 1, "Constant/Constrained Quality level"); |
350 static const arg_def_t max_intra_rate_pct = ARG_DEF( | 350 static const arg_def_t max_intra_rate_pct = ARG_DEF( |
351 NULL, "max-intra-rate", 1, "Max I-frame bitrate (pct)"); | 351 NULL, "max-intra-rate", 1, "Max I-frame bitrate (pct)"); |
| 352 static const arg_def_t max_inter_rate_pct = ARG_DEF( |
| 353 NULL, "max-inter-rate", 1, "Max P-frame bitrate (pct)"); |
| 354 static const arg_def_t gf_cbr_boost_pct = ARG_DEF( |
| 355 NULL, "gf-cbr-boost", 1, "Boost for Golden Frame in CBR mode (pct)"); |
352 | 356 |
353 #if CONFIG_VP8_ENCODER | 357 #if CONFIG_VP8_ENCODER |
354 static const arg_def_t token_parts = ARG_DEF( | 358 static const arg_def_t token_parts = ARG_DEF( |
355 NULL, "token-parts", 1, "Number of token partitions to use, log2"); | 359 NULL, "token-parts", 1, "Number of token partitions to use, log2"); |
356 static const arg_def_t *vp8_args[] = { | 360 static const arg_def_t *vp8_args[] = { |
357 &cpu_used, &auto_altref, &noise_sens, &sharpness, &static_thresh, | 361 &cpu_used, &auto_altref, &noise_sens, &sharpness, &static_thresh, |
358 &token_parts, &arnr_maxframes, &arnr_strength, &arnr_type, | 362 &token_parts, &arnr_maxframes, &arnr_strength, &arnr_type, |
359 &tune_ssim, &cq_level, &max_intra_rate_pct, | 363 &tune_ssim, &cq_level, &max_intra_rate_pct, |
360 NULL | 364 NULL |
361 }; | 365 }; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 {"screen", VP9E_CONTENT_SCREEN}, | 411 {"screen", VP9E_CONTENT_SCREEN}, |
408 {NULL, 0} | 412 {NULL, 0} |
409 }; | 413 }; |
410 | 414 |
411 static const arg_def_t tune_content = ARG_DEF_ENUM( | 415 static const arg_def_t tune_content = ARG_DEF_ENUM( |
412 NULL, "tune-content", 1, "Tune content type", tune_content_enum); | 416 NULL, "tune-content", 1, "Tune content type", tune_content_enum); |
413 | 417 |
414 static const arg_def_t *vp9_args[] = { | 418 static const arg_def_t *vp9_args[] = { |
415 &cpu_used, &auto_altref, &sharpness, &static_thresh, | 419 &cpu_used, &auto_altref, &sharpness, &static_thresh, |
416 &tile_cols, &tile_rows, &arnr_maxframes, &arnr_strength, &arnr_type, | 420 &tile_cols, &tile_rows, &arnr_maxframes, &arnr_strength, &arnr_type, |
417 &tune_ssim, &cq_level, &max_intra_rate_pct, &lossless, | 421 &tune_ssim, &cq_level, &max_intra_rate_pct, &max_inter_rate_pct, |
| 422 &gf_cbr_boost_pct, &lossless, |
418 &frame_parallel_decoding, &aq_mode, &frame_periodic_boost, | 423 &frame_parallel_decoding, &aq_mode, &frame_periodic_boost, |
419 &noise_sens, &tune_content, | 424 &noise_sens, &tune_content, |
420 #if CONFIG_VP9 && CONFIG_VP9_HIGHBITDEPTH | 425 #if CONFIG_VP9 && CONFIG_VP9_HIGHBITDEPTH |
421 &bitdeptharg, &inbitdeptharg, | 426 &bitdeptharg, &inbitdeptharg, |
422 #endif | 427 #endif |
423 NULL | 428 NULL |
424 }; | 429 }; |
425 static const int vp9_arg_ctrl_map[] = { | 430 static const int vp9_arg_ctrl_map[] = { |
426 VP8E_SET_CPUUSED, VP8E_SET_ENABLEAUTOALTREF, | 431 VP8E_SET_CPUUSED, VP8E_SET_ENABLEAUTOALTREF, |
427 VP8E_SET_SHARPNESS, VP8E_SET_STATIC_THRESHOLD, | 432 VP8E_SET_SHARPNESS, VP8E_SET_STATIC_THRESHOLD, |
428 VP9E_SET_TILE_COLUMNS, VP9E_SET_TILE_ROWS, | 433 VP9E_SET_TILE_COLUMNS, VP9E_SET_TILE_ROWS, |
429 VP8E_SET_ARNR_MAXFRAMES, VP8E_SET_ARNR_STRENGTH, VP8E_SET_ARNR_TYPE, | 434 VP8E_SET_ARNR_MAXFRAMES, VP8E_SET_ARNR_STRENGTH, VP8E_SET_ARNR_TYPE, |
430 VP8E_SET_TUNING, VP8E_SET_CQ_LEVEL, VP8E_SET_MAX_INTRA_BITRATE_PCT, | 435 VP8E_SET_TUNING, VP8E_SET_CQ_LEVEL, VP8E_SET_MAX_INTRA_BITRATE_PCT, |
| 436 VP8E_SET_MAX_INTER_BITRATE_PCT, VP8E_SET_GF_CBR_BOOST_PCT, |
431 VP9E_SET_LOSSLESS, VP9E_SET_FRAME_PARALLEL_DECODING, VP9E_SET_AQ_MODE, | 437 VP9E_SET_LOSSLESS, VP9E_SET_FRAME_PARALLEL_DECODING, VP9E_SET_AQ_MODE, |
432 VP9E_SET_FRAME_PERIODIC_BOOST, VP9E_SET_NOISE_SENSITIVITY, | 438 VP9E_SET_FRAME_PERIODIC_BOOST, VP9E_SET_NOISE_SENSITIVITY, |
433 VP9E_SET_TUNE_CONTENT, | 439 VP9E_SET_TUNE_CONTENT, |
434 0 | 440 0 |
435 }; | 441 }; |
436 #endif | 442 #endif |
437 | 443 |
438 static const arg_def_t *no_args[] = { NULL }; | 444 static const arg_def_t *no_args[] = { NULL }; |
439 | 445 |
440 void usage_exit() { | 446 void usage_exit() { |
(...skipping 1780 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2221 | 2227 |
2222 #if CONFIG_VP9 && CONFIG_VP9_HIGHBITDEPTH | 2228 #if CONFIG_VP9 && CONFIG_VP9_HIGHBITDEPTH |
2223 if (allocated_raw_shift) | 2229 if (allocated_raw_shift) |
2224 vpx_img_free(&raw_shift); | 2230 vpx_img_free(&raw_shift); |
2225 #endif | 2231 #endif |
2226 vpx_img_free(&raw); | 2232 vpx_img_free(&raw); |
2227 free(argv); | 2233 free(argv); |
2228 free(streams); | 2234 free(streams); |
2229 return res ? EXIT_FAILURE : EXIT_SUCCESS; | 2235 return res ? EXIT_FAILURE : EXIT_SUCCESS; |
2230 } | 2236 } |
OLD | NEW |