1 /* 2 * Copyright (c) 2016, Alliance for Open Media. All rights reserved. 3 * 4 * This source code is subject to the terms of the BSD 2 Clause License and 5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License 6 * was not distributed with this source code in the LICENSE file, you can 7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open 8 * Media Patent License 1.0 was not distributed with this source code in the 9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent. 10 */ 11 12 #ifndef AOM_COMMON_Y4MENC_H_ 13 #define AOM_COMMON_Y4MENC_H_ 14 15 #include "aom/aom_decoder.h" 16 #include "common/md5_utils.h" 17 #include "common/tools_common.h" 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 #define Y4M_BUFFER_SIZE 256 24 25 int y4m_write_file_header(char *buf, size_t len, int width, int height, 26 const struct AvxRational *framerate, int monochrome, 27 aom_chroma_sample_position_t csp, aom_img_fmt_t fmt, 28 unsigned int bit_depth, aom_color_range_t range); 29 int y4m_write_frame_header(char *buf, size_t len); 30 void y4m_write_image_file(const aom_image_t *img, const int *planes, 31 FILE *file); 32 void y4m_update_image_md5(const aom_image_t *img, const int *planes, 33 MD5Context *md5); 34 35 #ifdef __cplusplus 36 } // extern "C" 37 #endif 38 39 #endif // AOM_COMMON_Y4MENC_H_ 40