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 * Based on code from the OggTheora software codec source code, | 10 * Based on code from the OggTheora software codec source code, |
11 * Copyright (C) 2002-2010 The Xiph.Org Foundation and contributors. | 11 * Copyright (C) 2002-2010 The Xiph.Org Foundation and contributors. |
12 */ | 12 */ |
13 #if !defined(_y4minput_H) | 13 #if !defined(_y4minput_H) |
14 # define _y4minput_H (1) | 14 # define _y4minput_H (1) |
15 # include <stdio.h> | 15 # include <stdio.h> |
16 # include "vpx/vpx_image.h" | 16 # include "vpx/vpx_image.h" |
17 | 17 |
18 | 18 |
19 | 19 |
20 typedef struct y4m_input y4m_input; | 20 typedef struct y4m_input y4m_input; |
21 | 21 |
22 | 22 |
23 | 23 |
24 /*The function used to perform chroma conversion.*/ | 24 /*The function used to perform chroma conversion.*/ |
25 typedef void (*y4m_convert_func)(y4m_input *_y4m, | 25 typedef void (*y4m_convert_func)(y4m_input *_y4m, |
26 unsigned char *_dst,unsigned char *_src); | 26 unsigned char *_dst, unsigned char *_src); |
27 | 27 |
28 | 28 |
29 | 29 |
30 struct y4m_input{ | 30 struct y4m_input { |
31 int pic_w; | 31 int pic_w; |
32 int pic_h; | 32 int pic_h; |
33 int fps_n; | 33 int fps_n; |
34 int fps_d; | 34 int fps_d; |
35 int par_n; | 35 int par_n; |
36 int par_d; | 36 int par_d; |
37 char interlace; | 37 char interlace; |
38 int src_c_dec_h; | 38 int src_c_dec_h; |
39 int src_c_dec_v; | 39 int src_c_dec_v; |
40 int dst_c_dec_h; | 40 int dst_c_dec_h; |
41 int dst_c_dec_v; | 41 int dst_c_dec_v; |
42 char chroma_type[16]; | 42 char chroma_type[16]; |
43 /*The size of each converted frame buffer.*/ | 43 /*The size of each converted frame buffer.*/ |
44 size_t dst_buf_sz; | 44 size_t dst_buf_sz; |
45 /*The amount to read directly into the converted frame buffer.*/ | 45 /*The amount to read directly into the converted frame buffer.*/ |
46 size_t dst_buf_read_sz; | 46 size_t dst_buf_read_sz; |
47 /*The size of the auxilliary buffer.*/ | 47 /*The size of the auxilliary buffer.*/ |
48 size_t aux_buf_sz; | 48 size_t aux_buf_sz; |
49 /*The amount to read into the auxilliary buffer.*/ | 49 /*The amount to read into the auxilliary buffer.*/ |
50 size_t aux_buf_read_sz; | 50 size_t aux_buf_read_sz; |
51 y4m_convert_func convert; | 51 y4m_convert_func convert; |
52 unsigned char *dst_buf; | 52 unsigned char *dst_buf; |
53 unsigned char *aux_buf; | 53 unsigned char *aux_buf; |
54 }; | 54 }; |
55 | 55 |
56 int y4m_input_open(y4m_input *_y4m,FILE *_fin,char *_skip,int _nskip); | 56 int y4m_input_open(y4m_input *_y4m, FILE *_fin, char *_skip, int _nskip); |
57 void y4m_input_close(y4m_input *_y4m); | 57 void y4m_input_close(y4m_input *_y4m); |
58 int y4m_input_fetch_frame(y4m_input *_y4m,FILE *_fin,vpx_image_t *img); | 58 int y4m_input_fetch_frame(y4m_input *_y4m, FILE *_fin, vpx_image_t *img); |
59 | 59 |
60 #endif | 60 #endif |
OLD | NEW |