Lines Matching refs:sequence_header
149 bool ObuParser::ParseColorConfig(ObuSequenceHeader* sequence_header) { in ParseColorConfig() argument
151 ColorConfig* const color_config = &sequence_header->color_config; in ParseColorConfig()
154 if (sequence_header->profile == kProfile2 && high_bitdepth) { in ParseColorConfig()
161 if (sequence_header->profile == kProfile1) { in ParseColorConfig()
203 if (sequence_header->profile != kProfile1 && in ParseColorConfig()
204 (sequence_header->profile != kProfile2 || in ParseColorConfig()
208 sequence_header->profile, color_config->bitdepth); in ParseColorConfig()
214 if (sequence_header->profile == kProfile0) { in ParseColorConfig()
217 } else if (sequence_header->profile == kProfile1) { in ParseColorConfig()
256 bool ObuParser::ParseTimingInfo(ObuSequenceHeader* sequence_header) { in ParseTimingInfo() argument
259 sequence_header->timing_info_present_flag = scratch != 0; in ParseTimingInfo()
260 if (!sequence_header->timing_info_present_flag) return true; in ParseTimingInfo()
261 TimingInfo* const info = &sequence_header->timing_info; in ParseTimingInfo()
283 bool ObuParser::ParseDecoderModelInfo(ObuSequenceHeader* sequence_header) { in ParseDecoderModelInfo() argument
284 if (!sequence_header->timing_info_present_flag) return true; in ParseDecoderModelInfo()
287 sequence_header->decoder_model_info_present_flag = scratch != 0; in ParseDecoderModelInfo()
288 if (!sequence_header->decoder_model_info_present_flag) return true; in ParseDecoderModelInfo()
289 DecoderModelInfo* const info = &sequence_header->decoder_model_info; in ParseDecoderModelInfo()
301 bool ObuParser::ParseOperatingParameters(ObuSequenceHeader* sequence_header, in ParseOperatingParameters() argument
305 sequence_header->decoder_model_present_for_operating_point[index] = in ParseOperatingParameters()
307 if (!sequence_header->decoder_model_present_for_operating_point[index]) { in ParseOperatingParameters()
310 OperatingParameters* const params = &sequence_header->operating_parameters; in ParseOperatingParameters()
312 sequence_header->decoder_model_info.encoder_decoder_buffer_delay_length); in ParseOperatingParameters()
315 sequence_header->decoder_model_info.encoder_decoder_buffer_delay_length); in ParseOperatingParameters()
323 ObuSequenceHeader sequence_header = {}; in ParseSequenceHeader() local
330 sequence_header.profile = static_cast<BitstreamProfile>(scratch); in ParseSequenceHeader()
332 sequence_header.still_picture = scratch != 0; in ParseSequenceHeader()
334 sequence_header.reduced_still_picture_header = scratch != 0; in ParseSequenceHeader()
335 if (sequence_header.reduced_still_picture_header) { in ParseSequenceHeader()
336 if (!sequence_header.still_picture) { in ParseSequenceHeader()
341 sequence_header.operating_points = 1; in ParseSequenceHeader()
342 sequence_header.operating_point_idc[0] = 0; in ParseSequenceHeader()
344 ParseBitStreamLevel(&sequence_header.level[0], scratch); in ParseSequenceHeader()
346 if (!ParseTimingInfo(&sequence_header) || in ParseSequenceHeader()
347 !ParseDecoderModelInfo(&sequence_header)) { in ParseSequenceHeader()
353 sequence_header.operating_points = static_cast<int>(1 + scratch); in ParseSequenceHeader()
354 if (operating_point_ >= sequence_header.operating_points) { in ParseSequenceHeader()
358 operating_point_, sequence_header.operating_points - 1); in ParseSequenceHeader()
361 for (int i = 0; i < sequence_header.operating_points; ++i) { in ParseSequenceHeader()
363 sequence_header.operating_point_idc[i] = static_cast<int>(scratch); in ParseSequenceHeader()
365 if (sequence_header.operating_point_idc[i] == in ParseSequenceHeader()
366 sequence_header.operating_point_idc[j]) { in ParseSequenceHeader()
370 i, sequence_header.operating_point_idc[i], j, in ParseSequenceHeader()
371 sequence_header.operating_point_idc[j]); in ParseSequenceHeader()
376 ParseBitStreamLevel(&sequence_header.level[i], scratch); in ParseSequenceHeader()
377 if (sequence_header.level[i].major > 3) { in ParseSequenceHeader()
379 sequence_header.tier[i] = scratch; in ParseSequenceHeader()
381 if (sequence_header.decoder_model_info_present_flag && in ParseSequenceHeader()
382 !ParseOperatingParameters(&sequence_header, i)) { in ParseSequenceHeader()
389 sequence_header.initial_display_delay[i] = 1 + scratch; in ParseSequenceHeader()
395 sequence_header.frame_width_bits = 1 + scratch; in ParseSequenceHeader()
397 sequence_header.frame_height_bits = 1 + scratch; in ParseSequenceHeader()
398 OBU_READ_LITERAL_OR_FAIL(sequence_header.frame_width_bits); in ParseSequenceHeader()
399 sequence_header.max_frame_width = static_cast<int32_t>(1 + scratch); in ParseSequenceHeader()
400 OBU_READ_LITERAL_OR_FAIL(sequence_header.frame_height_bits); in ParseSequenceHeader()
401 sequence_header.max_frame_height = static_cast<int32_t>(1 + scratch); in ParseSequenceHeader()
402 if (!sequence_header.reduced_still_picture_header) { in ParseSequenceHeader()
404 sequence_header.frame_id_numbers_present = scratch != 0; in ParseSequenceHeader()
406 if (sequence_header.frame_id_numbers_present) { in ParseSequenceHeader()
408 sequence_header.delta_frame_id_length_bits = 2 + scratch; in ParseSequenceHeader()
410 sequence_header.frame_id_length_bits = in ParseSequenceHeader()
411 sequence_header.delta_frame_id_length_bits + 1 + scratch; in ParseSequenceHeader()
415 if (sequence_header.frame_id_length_bits > 16) { in ParseSequenceHeader()
417 sequence_header.frame_id_length_bits); in ParseSequenceHeader()
422 sequence_header.use_128x128_superblock = scratch != 0; in ParseSequenceHeader()
424 sequence_header.enable_filter_intra = scratch != 0; in ParseSequenceHeader()
426 sequence_header.enable_intra_edge_filter = scratch != 0; in ParseSequenceHeader()
427 if (sequence_header.reduced_still_picture_header) { in ParseSequenceHeader()
428 sequence_header.force_screen_content_tools = kSelectScreenContentTools; in ParseSequenceHeader()
429 sequence_header.force_integer_mv = kSelectIntegerMv; in ParseSequenceHeader()
432 sequence_header.enable_interintra_compound = scratch != 0; in ParseSequenceHeader()
434 sequence_header.enable_masked_compound = scratch != 0; in ParseSequenceHeader()
436 sequence_header.enable_warped_motion = scratch != 0; in ParseSequenceHeader()
438 sequence_header.enable_dual_filter = scratch != 0; in ParseSequenceHeader()
440 sequence_header.enable_order_hint = scratch != 0; in ParseSequenceHeader()
441 if (sequence_header.enable_order_hint) { in ParseSequenceHeader()
443 sequence_header.enable_jnt_comp = scratch != 0; in ParseSequenceHeader()
445 sequence_header.enable_ref_frame_mvs = scratch != 0; in ParseSequenceHeader()
448 sequence_header.choose_screen_content_tools = scratch != 0; in ParseSequenceHeader()
449 if (sequence_header.choose_screen_content_tools) { in ParseSequenceHeader()
450 sequence_header.force_screen_content_tools = kSelectScreenContentTools; in ParseSequenceHeader()
453 sequence_header.force_screen_content_tools = scratch; in ParseSequenceHeader()
455 if (sequence_header.force_screen_content_tools > 0) { in ParseSequenceHeader()
457 sequence_header.choose_integer_mv = scratch != 0; in ParseSequenceHeader()
458 if (sequence_header.choose_integer_mv) { in ParseSequenceHeader()
459 sequence_header.force_integer_mv = kSelectIntegerMv; in ParseSequenceHeader()
462 sequence_header.force_integer_mv = scratch; in ParseSequenceHeader()
465 sequence_header.force_integer_mv = kSelectIntegerMv; in ParseSequenceHeader()
467 if (sequence_header.enable_order_hint) { in ParseSequenceHeader()
469 sequence_header.order_hint_bits = 1 + scratch; in ParseSequenceHeader()
470 sequence_header.order_hint_shift_bits = in ParseSequenceHeader()
471 Mod32(32 - sequence_header.order_hint_bits); in ParseSequenceHeader()
475 sequence_header.enable_superres = scratch != 0; in ParseSequenceHeader()
477 sequence_header.enable_cdef = scratch != 0; in ParseSequenceHeader()
479 sequence_header.enable_restoration = scratch != 0; in ParseSequenceHeader()
480 if (!ParseColorConfig(&sequence_header)) return false; in ParseSequenceHeader()
482 sequence_header.film_grain_params_present = scratch != 0; in ParseSequenceHeader()
485 sequence_header.ParametersChanged(sequence_header_)) { in ParseSequenceHeader()
495 sequence_header_ = sequence_header; in ParseSequenceHeader()
2920 ObuSequenceHeader sequence_header; in GetAV1CodecConfigurationBox() local
2924 ParseBasicStreamInfo(data, size, &sequence_header, in GetAV1CodecConfigurationBox()
2944 const uint8_t seq_level_idx_0 = ((sequence_header.level[0].major - 2) << 2) | in GetAV1CodecConfigurationBox()
2945 sequence_header.level[0].minor; in GetAV1CodecConfigurationBox()
2946 av1c[1] = (sequence_header.profile << 5) | seq_level_idx_0; in GetAV1CodecConfigurationBox()
2956 static_cast<uint8_t>(sequence_header.color_config.bitdepth > 8); in GetAV1CodecConfigurationBox()
2958 static_cast<uint8_t>(sequence_header.color_config.bitdepth == 12); in GetAV1CodecConfigurationBox()
2960 (sequence_header.tier[0] << 7) | (high_bitdepth << 6) | in GetAV1CodecConfigurationBox()
2962 (static_cast<uint8_t>(sequence_header.color_config.is_monochrome) << 4) | in GetAV1CodecConfigurationBox()
2963 (sequence_header.color_config.subsampling_x << 3) | in GetAV1CodecConfigurationBox()
2964 (sequence_header.color_config.subsampling_y << 2) | in GetAV1CodecConfigurationBox()
2965 sequence_header.color_config.chroma_sample_position; in GetAV1CodecConfigurationBox()
2984 ObuSequenceHeader* sequence_header, in ParseBasicStreamInfo() argument
3043 *sequence_header = parser.sequence_header_; in ParseBasicStreamInfo()