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 |