Mercurial > libavcodec.hg
annotate dvdata.c @ 11203:10c06a9bd3d9 libavcodec
H264: use alias-safe macros
This eliminates all aliasing violation warnings in h264 code.
No measurable speed difference with gcc-4.4.3 on i7.
author | mru |
---|---|
date | Thu, 18 Feb 2010 16:24:31 +0000 |
parents | 227077518e00 |
children | 7dd2a45249a9 |
rev | line source |
---|---|
10409
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
1 /* |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
2 * Constants for DV codec |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
3 * Copyright (c) 2002 Fabrice Bellard |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
4 * |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
5 * This file is part of FFmpeg. |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
6 * |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
7 * FFmpeg is free software; you can redistribute it and/or |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
8 * modify it under the terms of the GNU Lesser General Public |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
9 * License as published by the Free Software Foundation; either |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
10 * version 2.1 of the License, or (at your option) any later version. |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
11 * |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
12 * FFmpeg is distributed in the hope that it will be useful, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
15 * Lesser General Public License for more details. |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
16 * |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
17 * You should have received a copy of the GNU Lesser General Public |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
18 * License along with FFmpeg; if not, write to the Free Software |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
20 */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
21 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
22 /** |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
23 * @file libavcodec/dvdata.c |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
24 * Constants for DV codec. |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
25 */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
26 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
27 #include "libavutil/rational.h" |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
28 #include "avcodec.h" |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
29 #include "dvdata.h" |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
30 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
31 static DVwork_chunk work_chunks_dv25pal [1*12*27]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
32 static DVwork_chunk work_chunks_dv25pal411[1*12*27]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
33 static DVwork_chunk work_chunks_dv25ntsc [1*10*27]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
34 static DVwork_chunk work_chunks_dv50pal [2*12*27]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
35 static DVwork_chunk work_chunks_dv50ntsc [2*10*27]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
36 static DVwork_chunk work_chunks_dv100palp [2*12*27]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
37 static DVwork_chunk work_chunks_dv100ntscp[2*10*27]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
38 static DVwork_chunk work_chunks_dv100pali [4*12*27]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
39 static DVwork_chunk work_chunks_dv100ntsci[4*10*27]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
40 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
41 static uint32_t dv_idct_factor_sd [2*2*22*64]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
42 static uint32_t dv_idct_factor_hd1080[2*4*16*64]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
43 static uint32_t dv_idct_factor_hd720 [2*4*16*64]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
44 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
45 static const DVprofile dv_profiles[] = { |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
46 { .dsf = 0, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
47 .video_stype = 0x0, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
48 .frame_size = 120000, /* IEC 61834, SMPTE-314M - 525/60 (NTSC) */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
49 .difseg_size = 10, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
50 .n_difchan = 1, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
51 .time_base = { 1001, 30000 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
52 .ltc_divisor = 30, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
53 .height = 480, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
54 .width = 720, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
55 .sar = {{10, 11}, {40, 33}}, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
56 .work_chunks = &work_chunks_dv25ntsc[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
57 .idct_factor = &dv_idct_factor_sd[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
58 .pix_fmt = PIX_FMT_YUV411P, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
59 .bpm = 6, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
60 .block_sizes = block_sizes_dv2550, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
61 .audio_stride = 90, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
62 .audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32kHz */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
63 .audio_samples_dist = { 1600, 1602, 1602, 1602, 1602 }, /* per SMPTE-314M */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
64 .audio_shuffle = dv_audio_shuffle525, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
65 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
66 { .dsf = 1, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
67 .video_stype = 0x0, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
68 .frame_size = 144000, /* IEC 61834 - 625/50 (PAL) */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
69 .difseg_size = 12, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
70 .n_difchan = 1, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
71 .time_base = { 1, 25 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
72 .ltc_divisor = 25, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
73 .height = 576, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
74 .width = 720, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
75 .sar = {{59, 54}, {118, 81}}, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
76 .work_chunks = &work_chunks_dv25pal[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
77 .idct_factor = &dv_idct_factor_sd[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
78 .pix_fmt = PIX_FMT_YUV420P, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
79 .bpm = 6, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
80 .block_sizes = block_sizes_dv2550, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
81 .audio_stride = 108, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
82 .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32kHz */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
83 .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
84 .audio_shuffle = dv_audio_shuffle625, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
85 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
86 { .dsf = 1, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
87 .video_stype = 0x0, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
88 .frame_size = 144000, /* SMPTE-314M - 625/50 (PAL) */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
89 .difseg_size = 12, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
90 .n_difchan = 1, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
91 .time_base = { 1, 25 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
92 .ltc_divisor = 25, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
93 .height = 576, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
94 .width = 720, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
95 .sar = {{59, 54}, {118, 81}}, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
96 .work_chunks = &work_chunks_dv25pal411[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
97 .idct_factor = &dv_idct_factor_sd[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
98 .pix_fmt = PIX_FMT_YUV411P, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
99 .bpm = 6, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
100 .block_sizes = block_sizes_dv2550, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
101 .audio_stride = 108, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
102 .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32kHz */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
103 .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
104 .audio_shuffle = dv_audio_shuffle625, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
105 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
106 { .dsf = 0, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
107 .video_stype = 0x4, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
108 .frame_size = 240000, /* SMPTE-314M - 525/60 (NTSC) 50 Mbps */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
109 .difseg_size = 10, /* also known as "DVCPRO50" */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
110 .n_difchan = 2, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
111 .time_base = { 1001, 30000 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
112 .ltc_divisor = 30, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
113 .height = 480, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
114 .width = 720, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
115 .sar = {{10, 11}, {40, 33}}, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
116 .work_chunks = &work_chunks_dv50ntsc[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
117 .idct_factor = &dv_idct_factor_sd[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
118 .pix_fmt = PIX_FMT_YUV422P, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
119 .bpm = 6, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
120 .block_sizes = block_sizes_dv2550, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
121 .audio_stride = 90, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
122 .audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32kHz */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
123 .audio_samples_dist = { 1600, 1602, 1602, 1602, 1602 }, /* per SMPTE-314M */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
124 .audio_shuffle = dv_audio_shuffle525, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
125 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
126 { .dsf = 1, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
127 .video_stype = 0x4, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
128 .frame_size = 288000, /* SMPTE-314M - 625/50 (PAL) 50 Mbps */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
129 .difseg_size = 12, /* also known as "DVCPRO50" */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
130 .n_difchan = 2, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
131 .time_base = { 1, 25 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
132 .ltc_divisor = 25, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
133 .height = 576, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
134 .width = 720, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
135 .sar = {{59, 54}, {118, 81}}, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
136 .work_chunks = &work_chunks_dv50pal[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
137 .idct_factor = &dv_idct_factor_sd[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
138 .pix_fmt = PIX_FMT_YUV422P, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
139 .bpm = 6, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
140 .block_sizes = block_sizes_dv2550, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
141 .audio_stride = 108, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
142 .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32kHz */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
143 .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
144 .audio_shuffle = dv_audio_shuffle625, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
145 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
146 { .dsf = 0, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
147 .video_stype = 0x14, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
148 .frame_size = 480000, /* SMPTE-370M - 1080i60 100 Mbps */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
149 .difseg_size = 10, /* also known as "DVCPRO HD" */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
150 .n_difchan = 4, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
151 .time_base = { 1001, 30000 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
152 .ltc_divisor = 30, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
153 .height = 1080, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
154 .width = 1280, |
10432
227077518e00
fix sar for dvcpro hd, patch by Charles Yates, charles dot yates at gmail dot com
bcoudurier
parents:
10409
diff
changeset
|
155 .sar = {{1, 1}, {3, 2}}, |
10409
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
156 .work_chunks = &work_chunks_dv100ntsci[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
157 .idct_factor = &dv_idct_factor_hd1080[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
158 .pix_fmt = PIX_FMT_YUV422P, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
159 .bpm = 8, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
160 .block_sizes = block_sizes_dv100, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
161 .audio_stride = 90, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
162 .audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32kHz */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
163 .audio_samples_dist = { 1600, 1602, 1602, 1602, 1602 }, /* per SMPTE-314M */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
164 .audio_shuffle = dv_audio_shuffle525, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
165 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
166 { .dsf = 1, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
167 .video_stype = 0x14, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
168 .frame_size = 576000, /* SMPTE-370M - 1080i50 100 Mbps */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
169 .difseg_size = 12, /* also known as "DVCPRO HD" */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
170 .n_difchan = 4, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
171 .time_base = { 1, 25 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
172 .ltc_divisor = 25, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
173 .height = 1080, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
174 .width = 1440, |
10432
227077518e00
fix sar for dvcpro hd, patch by Charles Yates, charles dot yates at gmail dot com
bcoudurier
parents:
10409
diff
changeset
|
175 .sar = {{1, 1}, {4, 3}}, |
10409
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
176 .work_chunks = &work_chunks_dv100pali[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
177 .idct_factor = &dv_idct_factor_hd1080[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
178 .pix_fmt = PIX_FMT_YUV422P, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
179 .bpm = 8, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
180 .block_sizes = block_sizes_dv100, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
181 .audio_stride = 108, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
182 .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32kHz */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
183 .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
184 .audio_shuffle = dv_audio_shuffle625, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
185 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
186 { .dsf = 0, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
187 .video_stype = 0x18, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
188 .frame_size = 240000, /* SMPTE-370M - 720p60 100 Mbps */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
189 .difseg_size = 10, /* also known as "DVCPRO HD" */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
190 .n_difchan = 2, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
191 .time_base = { 1001, 60000 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
192 .ltc_divisor = 60, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
193 .height = 720, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
194 .width = 960, |
10432
227077518e00
fix sar for dvcpro hd, patch by Charles Yates, charles dot yates at gmail dot com
bcoudurier
parents:
10409
diff
changeset
|
195 .sar = {{1, 1}, {4, 3}}, |
10409
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
196 .work_chunks = &work_chunks_dv100ntscp[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
197 .idct_factor = &dv_idct_factor_hd720[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
198 .pix_fmt = PIX_FMT_YUV422P, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
199 .bpm = 8, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
200 .block_sizes = block_sizes_dv100, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
201 .audio_stride = 90, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
202 .audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32kHz */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
203 .audio_samples_dist = { 1600, 1602, 1602, 1602, 1602 }, /* per SMPTE-314M */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
204 .audio_shuffle = dv_audio_shuffle525, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
205 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
206 { .dsf = 1, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
207 .video_stype = 0x18, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
208 .frame_size = 288000, /* SMPTE-370M - 720p50 100 Mbps */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
209 .difseg_size = 12, /* also known as "DVCPRO HD" */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
210 .n_difchan = 2, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
211 .time_base = { 1, 50 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
212 .ltc_divisor = 50, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
213 .height = 720, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
214 .width = 960, |
10432
227077518e00
fix sar for dvcpro hd, patch by Charles Yates, charles dot yates at gmail dot com
bcoudurier
parents:
10409
diff
changeset
|
215 .sar = {{1, 1}, {4, 3}}, |
10409
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
216 .work_chunks = &work_chunks_dv100palp[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
217 .idct_factor = &dv_idct_factor_hd720[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
218 .pix_fmt = PIX_FMT_YUV422P, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
219 .bpm = 8, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
220 .block_sizes = block_sizes_dv100, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
221 .audio_stride = 90, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
222 .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32kHz */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
223 .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
224 .audio_shuffle = dv_audio_shuffle625, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
225 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
226 { .dsf = 1, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
227 .video_stype = 0x1, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
228 .frame_size = 144000, /* IEC 61883-5 - 625/50 (PAL) */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
229 .difseg_size = 12, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
230 .n_difchan = 1, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
231 .time_base = { 1, 25 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
232 .ltc_divisor = 25, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
233 .height = 576, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
234 .width = 720, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
235 .sar = {{59, 54}, {118, 81}}, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
236 .work_chunks = &work_chunks_dv25pal[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
237 .idct_factor = &dv_idct_factor_sd[0], |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
238 .pix_fmt = PIX_FMT_YUV420P, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
239 .bpm = 6, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
240 .block_sizes = block_sizes_dv2550, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
241 .audio_stride = 108, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
242 .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32kHz */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
243 .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 }, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
244 .audio_shuffle = dv_audio_shuffle625, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
245 } |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
246 }; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
247 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
248 const DVprofile* ff_dv_frame_profile(const DVprofile *sys, |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
249 const uint8_t* frame, unsigned buf_size) |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
250 { |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
251 int i; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
252 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
253 int dsf = (frame[3] & 0x80) >> 7; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
254 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
255 int stype = frame[80*5 + 48 + 3] & 0x1f; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
256 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
257 /* 576i50 25Mbps 4:1:1 is a special case */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
258 if (dsf == 1 && stype == 0 && frame[5] & 0x07) { |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
259 return &dv_profiles[2]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
260 } |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
261 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
262 for (i=0; i<FF_ARRAY_ELEMS(dv_profiles); i++) |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
263 if (dsf == dv_profiles[i].dsf && stype == dv_profiles[i].video_stype) |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
264 return &dv_profiles[i]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
265 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
266 /* check if old sys matches and assumes corrupted input */ |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
267 if (sys && buf_size == sys->frame_size) |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
268 return sys; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
269 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
270 return NULL; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
271 } |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
272 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
273 const DVprofile* ff_dv_codec_profile(AVCodecContext* codec) |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
274 { |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
275 int i; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
276 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
277 for (i=0; i<FF_ARRAY_ELEMS(dv_profiles); i++) |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
278 if (codec->height == dv_profiles[i].height && |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
279 codec->pix_fmt == dv_profiles[i].pix_fmt && |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
280 codec->width == dv_profiles[i].width) |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
281 return &dv_profiles[i]; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
282 |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
283 return NULL; |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
284 } |
3c13cad19e29
Split parts of dvdata.h into dvdata.c, this ensures that things like
reimar
parents:
diff
changeset
|
285 |