Mercurial > libavcodec.hg
annotate dvdata.c @ 11032:01bd040f8607 libavcodec
Unroll main loop so the edge==0 case is seperate.
This allows many things to be simplified away.
h264 decoder is overall 1% faster with a mbaff sample and
0.1% slower with the cathedral sample, probably because the slow loop
filter code must be loaded into the code cache for each first MB of each
row but isnt used for the following MBs.
author | michael |
---|---|
date | Thu, 28 Jan 2010 01:24:25 +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 |