| 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 TOOLS_COMMON_H_ | 10 #ifndef TOOLS_COMMON_H_ |
| 11 #define TOOLS_COMMON_H_ | 11 #define TOOLS_COMMON_H_ |
| 12 | 12 |
| 13 #include <stdio.h> | 13 #include <stdio.h> |
| 14 | 14 |
| 15 #include "./vpx_config.h" | 15 #include "./vpx_config.h" |
| 16 #include "vpx/vpx_codec.h" | 16 #include "vpx/vpx_codec.h" |
| 17 #include "vpx/vpx_image.h" | 17 #include "vpx/vpx_image.h" |
| 18 #include "vpx/vpx_integer.h" | 18 #include "vpx/vpx_integer.h" |
| 19 #include "vpx_ports/msvc.h" |
| 19 | 20 |
| 20 #if CONFIG_ENCODERS | 21 #if CONFIG_ENCODERS |
| 21 #include "./y4minput.h" | 22 #include "./y4minput.h" |
| 22 #endif | 23 #endif |
| 23 | 24 |
| 24 #if defined(_MSC_VER) | 25 #if defined(_MSC_VER) |
| 25 /* MSVS uses _f{seek,tell}i64. */ | 26 /* MSVS uses _f{seek,tell}i64. */ |
| 26 #define fseeko _fseeki64 | 27 #define fseeko _fseeki64 |
| 27 #define ftello _ftelli64 | 28 #define ftello _ftelli64 |
| 28 #elif defined(_WIN32) | 29 #elif defined(_WIN32) |
| 29 /* MinGW uses f{seek,tell}o64 for large files. */ | 30 /* MinGW uses f{seek,tell}o64 for large files. */ |
| 30 #define fseeko fseeko64 | 31 #define fseeko fseeko64 |
| 31 #define ftello ftello64 | 32 #define ftello ftello64 |
| 32 #endif /* _WIN32 */ | 33 #endif /* _WIN32 */ |
| 33 | 34 |
| 34 #if CONFIG_OS_SUPPORT | 35 #if CONFIG_OS_SUPPORT |
| 35 #if defined(_MSC_VER) | 36 #if defined(_MSC_VER) |
| 36 #include <io.h> /* NOLINT */ | 37 #include <io.h> /* NOLINT */ |
| 37 #define snprintf _snprintf | |
| 38 #define isatty _isatty | 38 #define isatty _isatty |
| 39 #define fileno _fileno | 39 #define fileno _fileno |
| 40 #else | 40 #else |
| 41 #include <unistd.h> /* NOLINT */ | 41 #include <unistd.h> /* NOLINT */ |
| 42 #endif /* _MSC_VER */ | 42 #endif /* _MSC_VER */ |
| 43 #endif /* CONFIG_OS_SUPPORT */ | 43 #endif /* CONFIG_OS_SUPPORT */ |
| 44 | 44 |
| 45 /* Use 32-bit file operations in WebM file format when building ARM | 45 /* Use 32-bit file operations in WebM file format when building ARM |
| 46 * executables (.axf) with RVCT. */ | 46 * executables (.axf) with RVCT. */ |
| 47 #if !CONFIG_OS_SUPPORT | 47 #if !CONFIG_OS_SUPPORT |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 /* Sets a stdio stream into binary mode */ | 112 /* Sets a stdio stream into binary mode */ |
| 113 FILE *set_binary_mode(FILE *stream); | 113 FILE *set_binary_mode(FILE *stream); |
| 114 | 114 |
| 115 void die(const char *fmt, ...) VPX_NO_RETURN; | 115 void die(const char *fmt, ...) VPX_NO_RETURN; |
| 116 void fatal(const char *fmt, ...) VPX_NO_RETURN; | 116 void fatal(const char *fmt, ...) VPX_NO_RETURN; |
| 117 void warn(const char *fmt, ...); | 117 void warn(const char *fmt, ...); |
| 118 | 118 |
| 119 void die_codec(vpx_codec_ctx_t *ctx, const char *s) VPX_NO_RETURN; | 119 void die_codec(vpx_codec_ctx_t *ctx, const char *s) VPX_NO_RETURN; |
| 120 | 120 |
| 121 /* The tool including this file must define usage_exit() */ | 121 /* The tool including this file must define usage_exit() */ |
| 122 void usage_exit() VPX_NO_RETURN; | 122 void usage_exit(void) VPX_NO_RETURN; |
| 123 | 123 |
| 124 #undef VPX_NO_RETURN | 124 #undef VPX_NO_RETURN |
| 125 | 125 |
| 126 int read_yuv_frame(struct VpxInputContext *input_ctx, vpx_image_t *yuv_frame); | 126 int read_yuv_frame(struct VpxInputContext *input_ctx, vpx_image_t *yuv_frame); |
| 127 | 127 |
| 128 typedef struct VpxInterface { | 128 typedef struct VpxInterface { |
| 129 const char *const name; | 129 const char *const name; |
| 130 const uint32_t fourcc; | 130 const uint32_t fourcc; |
| 131 vpx_codec_iface_t *(*const codec_interface)(); | 131 vpx_codec_iface_t *(*const codec_interface)(); |
| 132 } VpxInterface; | 132 } VpxInterface; |
| 133 | 133 |
| 134 int get_vpx_encoder_count(); | 134 int get_vpx_encoder_count(void); |
| 135 const VpxInterface *get_vpx_encoder_by_index(int i); | 135 const VpxInterface *get_vpx_encoder_by_index(int i); |
| 136 const VpxInterface *get_vpx_encoder_by_name(const char *name); | 136 const VpxInterface *get_vpx_encoder_by_name(const char *name); |
| 137 | 137 |
| 138 int get_vpx_decoder_count(); | 138 int get_vpx_decoder_count(void); |
| 139 const VpxInterface *get_vpx_decoder_by_index(int i); | 139 const VpxInterface *get_vpx_decoder_by_index(int i); |
| 140 const VpxInterface *get_vpx_decoder_by_name(const char *name); | 140 const VpxInterface *get_vpx_decoder_by_name(const char *name); |
| 141 const VpxInterface *get_vpx_decoder_by_fourcc(uint32_t fourcc); | 141 const VpxInterface *get_vpx_decoder_by_fourcc(uint32_t fourcc); |
| 142 | 142 |
| 143 // TODO(dkovalev): move this function to vpx_image.{c, h}, so it will be part | 143 // TODO(dkovalev): move this function to vpx_image.{c, h}, so it will be part |
| 144 // of vpx_image_t support | 144 // of vpx_image_t support |
| 145 int vpx_img_plane_width(const vpx_image_t *img, int plane); | 145 int vpx_img_plane_width(const vpx_image_t *img, int plane); |
| 146 int vpx_img_plane_height(const vpx_image_t *img, int plane); | 146 int vpx_img_plane_height(const vpx_image_t *img, int plane); |
| 147 void vpx_img_write(const vpx_image_t *img, FILE *file); | 147 void vpx_img_write(const vpx_image_t *img, FILE *file); |
| 148 int vpx_img_read(vpx_image_t *img, FILE *file); | 148 int vpx_img_read(vpx_image_t *img, FILE *file); |
| 149 | 149 |
| 150 double sse_to_psnr(double samples, double peak, double mse); | 150 double sse_to_psnr(double samples, double peak, double mse); |
| 151 | 151 |
| 152 #if CONFIG_VP9 && CONFIG_VP9_HIGHBITDEPTH | 152 #if CONFIG_VP9 && CONFIG_VP9_HIGHBITDEPTH |
| 153 void vpx_img_upshift(vpx_image_t *dst, vpx_image_t *src, int input_shift); | 153 void vpx_img_upshift(vpx_image_t *dst, vpx_image_t *src, int input_shift); |
| 154 void vpx_img_downshift(vpx_image_t *dst, vpx_image_t *src, int down_shift); | 154 void vpx_img_downshift(vpx_image_t *dst, vpx_image_t *src, int down_shift); |
| 155 void vpx_img_truncate_16_to_8(vpx_image_t *dst, vpx_image_t *src); | 155 void vpx_img_truncate_16_to_8(vpx_image_t *dst, vpx_image_t *src); |
| 156 #endif | 156 #endif |
| 157 | 157 |
| 158 #ifdef __cplusplus | 158 #ifdef __cplusplus |
| 159 } /* extern "C" */ | 159 } /* extern "C" */ |
| 160 #endif | 160 #endif |
| 161 | 161 |
| 162 #endif // TOOLS_COMMON_H_ | 162 #endif // TOOLS_COMMON_H_ |
| OLD | NEW |