27 #ifndef AVCODEC_DVDATA_H
28 #define AVCODEC_DVDATA_H
101 2, 3, 4, 5, 6, 7, 8, 16, 18, 20, 22, 24, 28, 52
108 131072, 257107, 257107, 242189, 252167, 242189, 235923, 237536,
109 237536, 235923, 229376, 231390, 223754, 231390, 229376, 222935,
110 224969, 217965, 217965, 224969, 222935, 200636, 218652, 211916,
111 212325, 211916, 218652, 200636, 188995, 196781, 205965, 206433,
112 206433, 205965, 196781, 188995, 185364, 185364, 200636, 200704,
113 200636, 185364, 185364, 174609, 180568, 195068, 195068, 180568,
114 174609, 170091, 175557, 189591, 175557, 170091, 165371, 170627,
115 170627, 165371, 160727, 153560, 160727, 144651, 144651, 136258,
118 131072, 242189, 257107, 237536, 229376, 200636, 242189, 223754,
119 224969, 196781, 262144, 242189, 229376, 200636, 257107, 237536,
120 211916, 185364, 235923, 217965, 229376, 211916, 206433, 180568,
121 242189, 223754, 224969, 196781, 211916, 185364, 235923, 217965,
122 200704, 175557, 222935, 205965, 200636, 185364, 195068, 170627,
123 229376, 211916, 206433, 180568, 200704, 175557, 222935, 205965,
124 175557, 153560, 188995, 174609, 165371, 144651, 200636, 185364,
125 195068, 170627, 175557, 153560, 188995, 174609, 165371, 144651,
129 32768, 16710, 16710, 17735, 17015, 17735, 18197, 18079,
130 18079, 18197, 18725, 18559, 19196, 18559, 18725, 19284,
131 19108, 19692, 19692, 19108, 19284, 21400, 19645, 20262,
132 20214, 20262, 19645, 21400, 22733, 21845, 20867, 20815,
133 20815, 20867, 21845, 22733, 23173, 23173, 21400, 21400,
134 21400, 23173, 23173, 24600, 23764, 22017, 22017, 23764,
135 24600, 25267, 24457, 22672, 24457, 25267, 25971, 25191,
136 25191, 25971, 26715, 27962, 26715, 29642, 29642, 31536,
139 32768, 17735, 16710, 18079, 18725, 21400, 17735, 19196,
140 19108, 21845, 16384, 17735, 18725, 21400, 16710, 18079,
141 20262, 23173, 18197, 19692, 18725, 20262, 20815, 23764,
142 17735, 19196, 19108, 21845, 20262, 23173, 18197, 19692,
143 21400, 24457, 19284, 20867, 21400, 23173, 22017, 25191,
144 18725, 20262, 20815, 23764, 21400, 24457, 19284, 20867,
145 24457, 27962, 22733, 24600, 25971, 29642, 21400, 23173,
146 22017, 25191, 24457, 27962, 22733, 24600, 25971, 29642,
153 128, 16, 16, 17, 17, 17, 18, 18,
154 18, 18, 18, 18, 19, 18, 18, 19,
155 19, 19, 19, 19, 19, 42, 38, 40,
156 40, 40, 38, 42, 44, 43, 41, 41,
157 41, 41, 43, 44, 45, 45, 42, 42,
158 42, 45, 45, 48, 46, 43, 43, 46,
159 48, 49, 48, 44, 48, 49, 101, 98,
160 98, 101, 104, 109, 104, 116, 116, 123,
163 128, 16, 16, 17, 17, 17, 25, 25,
164 25, 25, 26, 25, 26, 25, 26, 26,
165 26, 27, 27, 26, 26, 42, 38, 40,
166 40, 40, 38, 42, 44, 43, 41, 41,
167 41, 41, 43, 44, 91, 91, 84, 84,
168 84, 91, 91, 96, 93, 86, 86, 93,
169 96, 197, 191, 177, 191, 197, 203, 197,
170 197, 203, 209, 219, 209, 232, 232, 246,
173 128, 16, 16, 17, 17, 17, 18, 18,
174 18, 18, 18, 18, 19, 18, 18, 19,
175 19, 19, 19, 19, 19, 42, 38, 40,
176 40, 40, 38, 42, 44, 43, 41, 41,
177 41, 41, 43, 44, 68, 68, 63, 63,
178 63, 68, 68, 96, 92, 86, 86, 92,
179 96, 98, 96, 88, 96, 98, 202, 196,
180 196, 202, 208, 218, 208, 232, 232, 246,
183 128, 24, 24, 26, 26, 26, 36, 36,
184 36, 36, 36, 36, 38, 36, 36, 38,
185 38, 38, 38, 38, 38, 84, 76, 80,
186 80, 80, 76, 84, 88, 86, 82, 82,
187 82, 82, 86, 88, 182, 182, 168, 168,
188 168, 182, 182, 192, 186, 192, 172, 186,
189 192, 394, 382, 354, 382, 394, 406, 394,
190 394, 406, 418, 438, 418, 464, 464, 492,
194 { 0, 30, 60, 20, 50, 80, 10, 40, 70 },
195 { 6, 36, 66, 26, 56, 86, 16, 46, 76 },
196 { 12, 42, 72, 2, 32, 62, 22, 52, 82 },
197 { 18, 48, 78, 8, 38, 68, 28, 58, 88 },
198 { 24, 54, 84, 14, 44, 74, 4, 34, 64 },
200 { 1, 31, 61, 21, 51, 81, 11, 41, 71 },
201 { 7, 37, 67, 27, 57, 87, 17, 47, 77 },
202 { 13, 43, 73, 3, 33, 63, 23, 53, 83 },
203 { 19, 49, 79, 9, 39, 69, 29, 59, 89 },
204 { 25, 55, 85, 15, 45, 75, 5, 35, 65 },
208 { 0, 36, 72, 26, 62, 98, 16, 52, 88},
209 { 6, 42, 78, 32, 68, 104, 22, 58, 94},
210 { 12, 48, 84, 2, 38, 74, 28, 64, 100},
211 { 18, 54, 90, 8, 44, 80, 34, 70, 106},
212 { 24, 60, 96, 14, 50, 86, 4, 40, 76},
213 { 30, 66, 102, 20, 56, 92, 10, 46, 82},
215 { 1, 37, 73, 27, 63, 99, 17, 53, 89},
216 { 7, 43, 79, 33, 69, 105, 23, 59, 95},
217 { 13, 49, 85, 3, 39, 75, 29, 65, 101},
218 { 19, 55, 91, 9, 45, 81, 35, 71, 107},
219 { 25, 61, 97, 15, 51, 87, 5, 41, 77},
220 { 31, 67, 103, 21, 57, 93, 11, 47, 83},
229 112, 112, 112, 112, 80, 80, 0, 0,
233 80, 80, 80, 80, 80, 80, 64, 64,
259 #define DV_PROFILE_IS_HD(p) ((p)->video_stype & 0x10)
260 #define DV_PROFILE_IS_1080i50(p) (((p)->video_stype == 0x14) && ((p)->dsf == 1))
261 #define DV_PROFILE_IS_720p50(p) (((p)->video_stype == 0x18) && ((p)->dsf == 1))
265 #define DV_PROFILE_BYTES (6*80)
270 #define DV_MAX_FRAME_SIZE 576000
278 const uint8_t* frame,
unsigned buf_size);
282 uint8_t seq_num, uint8_t dif_num,
286 buf[1] = (seq_num << 4) |
296 if (syb_num == 0 || syb_num == 6) {
301 else if (syb_num == 11) {
const DVprofile * avpriv_dv_codec_profile(AVCodecContext *codec)
static const int dv_iweight_bits
static const uint8_t dv_audio_shuffle525[10][9]
static const int dv_iweight_248[64]
static const int dv_iweight_720_y[64]
static const uint8_t dv_quant_offset[4]
const DVprofile * avpriv_dv_frame_profile(const DVprofile *sys, const uint8_t *frame, unsigned buf_size)
static const int dv_weight_88[64]
int audio_samples_dist[5]
const uint8_t * block_sizes
static const uint8_t dv_quant_areas[4]
static const uint8_t dv_quant_shifts[22][4]
uint16_t mb_coordinates[5]
static const int dv_iweight_1080_y[64]
The "inverse" DV100 weights are actually just the spec weights (zig-zagged).
static const uint8_t dv_audio_shuffle625[12][9]
static const uint8_t block_sizes_dv2550[8]
static const int dv_iweight_1080_c[64]
struct DVwork_chunk DVwork_chunk
static const uint8_t block_sizes_dv100[8]
struct DVprofile DVprofile
static const int dv_iweight_88[64]
static const int dv_weight_bits
main external API structure.
static const int dv_weight_248[64]
rational number numerator/denominator
static const uint8_t dv100_qstep[16]
static int dv_write_ssyb_id(uint8_t syb_num, uint8_t fr, uint8_t *buf)
const uint8_t(* audio_shuffle)[9]
static int dv_write_dif_id(enum dv_section_type t, uint8_t chan_num, uint8_t seq_num, uint8_t dif_num, uint8_t *buf)
static const av_unused int dv_audio_frequency[3]
DVwork_chunk * work_chunks
static const int dv_iweight_720_c[64]