Lines Matching refs:dsh
143 static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb, in parse_source_parameters() argument
155 dsh->width = get_interleaved_ue_golomb(gb); /* [DIRAC_STD] FRAME_WIDTH */ in parse_source_parameters()
156 dsh->height = get_interleaved_ue_golomb(gb); /* [DIRAC_STD] FRAME_HEIGHT */ in parse_source_parameters()
164 dsh->chroma_format = get_interleaved_ue_golomb(gb); in parse_source_parameters()
165 if (dsh->chroma_format > 2U) { in parse_source_parameters()
168 dsh->chroma_format); in parse_source_parameters()
176 dsh->interlaced = get_interleaved_ue_golomb(gb); in parse_source_parameters()
177 if (dsh->interlaced > 1U) in parse_source_parameters()
182 dsh->frame_rate_index = get_interleaved_ue_golomb(gb); in parse_source_parameters()
184 if (dsh->frame_rate_index > 10U) in parse_source_parameters()
187 if (!dsh->frame_rate_index) { in parse_source_parameters()
195 if (dsh->frame_rate_index > 0) { in parse_source_parameters()
196 if (dsh->frame_rate_index <= 8) in parse_source_parameters()
197 frame_rate = ff_mpeg12_frame_rate_tab[dsh->frame_rate_index]; in parse_source_parameters()
200 frame_rate = dirac_frame_rate[dsh->frame_rate_index - 9]; in parse_source_parameters()
202 dsh->framerate = frame_rate; in parse_source_parameters()
208 dsh->aspect_ratio_index = get_interleaved_ue_golomb(gb); in parse_source_parameters()
210 if (dsh->aspect_ratio_index > 6U) in parse_source_parameters()
213 if (!dsh->aspect_ratio_index) { in parse_source_parameters()
214 dsh->sample_aspect_ratio.num = get_interleaved_ue_golomb(gb); in parse_source_parameters()
215 dsh->sample_aspect_ratio.den = get_interleaved_ue_golomb(gb); in parse_source_parameters()
220 if (dsh->aspect_ratio_index > 0) in parse_source_parameters()
221 dsh->sample_aspect_ratio = in parse_source_parameters()
222 dirac_preset_aspect_ratios[dsh->aspect_ratio_index - 1]; in parse_source_parameters()
227 dsh->clean_width = get_interleaved_ue_golomb(gb); in parse_source_parameters()
229 dsh->clean_height = get_interleaved_ue_golomb(gb); in parse_source_parameters()
231 dsh->clean_left_offset = get_interleaved_ue_golomb(gb); in parse_source_parameters()
233 dsh->clean_right_offset = get_interleaved_ue_golomb(gb); in parse_source_parameters()
241 dsh->pixel_range_index = get_interleaved_ue_golomb(gb); in parse_source_parameters()
243 if (dsh->pixel_range_index > 4U) in parse_source_parameters()
247 if (!dsh->pixel_range_index) { in parse_source_parameters()
252 dsh->color_range = luma_offset ? AVCOL_RANGE_MPEG in parse_source_parameters()
258 if (dsh->pixel_range_index > 0) { in parse_source_parameters()
259 idx = dsh->pixel_range_index - 1; in parse_source_parameters()
261 dsh->color_range = pixel_range_presets[idx].color_range; in parse_source_parameters()
264 dsh->bit_depth = luma_depth; in parse_source_parameters()
267 dsh->pixel_range_index += dsh->pixel_range_index == 1; in parse_source_parameters()
269 if (dsh->pixel_range_index < 2U) in parse_source_parameters()
272 dsh->pix_fmt = dirac_pix_fmt[dsh->chroma_format][dsh->pixel_range_index-2]; in parse_source_parameters()
273 ret = av_pix_fmt_get_chroma_sub_sample(dsh->pix_fmt, &chroma_x_shift, &chroma_y_shift); in parse_source_parameters()
277 if ((dsh->width % (1<<chroma_x_shift)) || (dsh->height % (1<<chroma_y_shift))) { in parse_source_parameters()
286 idx = dsh->color_spec_index = get_interleaved_ue_golomb(gb); in parse_source_parameters()
288 if (dsh->color_spec_index > 4U) in parse_source_parameters()
291 dsh->color_primaries = dirac_color_presets[idx].color_primaries; in parse_source_parameters()
292 dsh->colorspace = dirac_color_presets[idx].colorspace; in parse_source_parameters()
293 dsh->color_trc = dirac_color_presets[idx].color_trc; in parse_source_parameters()
295 if (!dsh->color_spec_index) { in parse_source_parameters()
300 dsh->color_primaries = dirac_primaries[idx]; in parse_source_parameters()
306 dsh->colorspace = AVCOL_SPC_BT709; in parse_source_parameters()
308 dsh->colorspace = AVCOL_SPC_BT470BG; in parse_source_parameters()
312 dsh->color_trc = AVCOL_TRC_BT709; in parse_source_parameters()
315 idx = dsh->color_spec_index; in parse_source_parameters()
316 dsh->color_primaries = dirac_color_presets[idx].color_primaries; in parse_source_parameters()
317 dsh->colorspace = dirac_color_presets[idx].colorspace; in parse_source_parameters()
318 dsh->color_trc = dirac_color_presets[idx].color_trc; in parse_source_parameters()
329 AVDiracSeqHeader *dsh; in av_dirac_parse_sequence_header() local
334 dsh = av_mallocz(sizeof(*dsh)); in av_dirac_parse_sequence_header()
335 if (!dsh) in av_dirac_parse_sequence_header()
343 dsh->version.major = get_interleaved_ue_golomb(&gb); in av_dirac_parse_sequence_header()
344 dsh->version.minor = get_interleaved_ue_golomb(&gb); in av_dirac_parse_sequence_header()
345 dsh->profile = get_interleaved_ue_golomb(&gb); in av_dirac_parse_sequence_header()
346 dsh->level = get_interleaved_ue_golomb(&gb); in av_dirac_parse_sequence_header()
351 if (dsh->version.major < 2 && log_ctx) in av_dirac_parse_sequence_header()
353 else if (dsh->version.major > 2 && log_ctx) in av_dirac_parse_sequence_header()
362 dsh->width = dirac_source_parameters_defaults[video_format].width; in av_dirac_parse_sequence_header()
363 dsh->height = dirac_source_parameters_defaults[video_format].height; in av_dirac_parse_sequence_header()
364 dsh->chroma_format = dirac_source_parameters_defaults[video_format].chroma_format; in av_dirac_parse_sequence_header()
365 dsh->interlaced = dirac_source_parameters_defaults[video_format].interlaced; in av_dirac_parse_sequence_header()
366 dsh->top_field_first = dirac_source_parameters_defaults[video_format].top_field_first; in av_dirac_parse_sequence_header()
367 dsh->frame_rate_index = dirac_source_parameters_defaults[video_format].frame_rate_index; in av_dirac_parse_sequence_header()
368 dsh->aspect_ratio_index = dirac_source_parameters_defaults[video_format].aspect_ratio_index; in av_dirac_parse_sequence_header()
369 dsh->clean_width = dirac_source_parameters_defaults[video_format].clean_width; in av_dirac_parse_sequence_header()
370 dsh->clean_height = dirac_source_parameters_defaults[video_format].clean_height; in av_dirac_parse_sequence_header()
371 dsh->clean_left_offset = dirac_source_parameters_defaults[video_format].clean_left_offset; in av_dirac_parse_sequence_header()
372 dsh->clean_right_offset = dirac_source_parameters_defaults[video_format].clean_right_offset; in av_dirac_parse_sequence_header()
373 dsh->pixel_range_index = dirac_source_parameters_defaults[video_format].pixel_range_index; in av_dirac_parse_sequence_header()
374 dsh->color_spec_index = dirac_source_parameters_defaults[video_format].color_spec_index; in av_dirac_parse_sequence_header()
378 ret = parse_source_parameters(dsh, &gb, log_ctx); in av_dirac_parse_sequence_header()
394 *pdsh = dsh; in av_dirac_parse_sequence_header()
397 av_freep(&dsh); in av_dirac_parse_sequence_header()