vpxenc.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. * Copyright (c) 2013 The WebM project authors. All Rights Reserved.
  3. *
  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
  6. * tree. An additional intellectual property rights grant can be found
  7. * in the file PATENTS. All contributing project authors may
  8. * be found in the AUTHORS file in the root of the source tree.
  9. */
  10. #ifndef VPX_VPXENC_H_
  11. #define VPX_VPXENC_H_
  12. #include "vpx/vpx_encoder.h"
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. enum TestDecodeFatality {
  17. TEST_DECODE_OFF,
  18. TEST_DECODE_FATAL,
  19. TEST_DECODE_WARN,
  20. };
  21. typedef enum {
  22. I420, // 4:2:0 8+ bit-depth
  23. I422, // 4:2:2 8+ bit-depth
  24. I444, // 4:4:4 8+ bit-depth
  25. I440, // 4:4:0 8+ bit-depth
  26. YV12, // 4:2:0 with uv flipped, only 8-bit depth
  27. } ColorInputType;
  28. struct VpxInterface;
  29. /* Configuration elements common to all streams. */
  30. struct VpxEncoderConfig {
  31. const struct VpxInterface *codec;
  32. int passes;
  33. int pass;
  34. int usage;
  35. int deadline;
  36. ColorInputType color_type;
  37. int quiet;
  38. int verbose;
  39. int limit;
  40. int skip_frames;
  41. int show_psnr;
  42. enum TestDecodeFatality test_decode;
  43. int have_framerate;
  44. struct vpx_rational framerate;
  45. int out_part;
  46. int debug;
  47. int show_q_hist_buckets;
  48. int show_rate_hist_buckets;
  49. int disable_warnings;
  50. int disable_warning_prompt;
  51. int experimental_bitstream;
  52. };
  53. #ifdef __cplusplus
  54. } // extern "C"
  55. #endif
  56. #endif // VPX_VPXENC_H_