void vc1::es_parser_c::handle_entrypoint_packet(memory_cptr packet) { add_pre_frame_extra_data(packet); if (!m_raw_entrypoint.is_set()) m_raw_entrypoint = memory_cptr(packet->clone()); }
void vc1::es_parser_c::handle_entrypoint_packet(memory_cptr packet) { if (!postpone_processing(packet)) add_pre_frame_extra_data(packet); if (!m_raw_entrypoint) m_raw_entrypoint = memory_cptr(packet->clone()); }
void vc1::es_parser_c::handle_sequence_header_packet(memory_cptr packet) { flush_frame(); add_pre_frame_extra_data(packet); vc1::sequence_header_t seqhdr; if (!vc1::parse_sequence_header(packet->get_buffer(), packet->get_size(), seqhdr)) return; m_seqhdr_changed = !m_seqhdr_found || (packet->get_size() != m_raw_seqhdr->get_size()) || memcmp(packet->get_buffer(), m_raw_seqhdr->get_buffer(), packet->get_size()); memcpy(&m_seqhdr, &seqhdr, sizeof(vc1::sequence_header_t)); m_raw_seqhdr = memory_cptr(packet->clone()); m_seqhdr_found = true; if (!m_default_duration_forced && m_seqhdr.framerate_flag && (0 != m_seqhdr.framerate_num) && (0 != m_seqhdr.framerate_den)) m_default_duration = 1000000000ll * m_seqhdr.framerate_num / m_seqhdr.framerate_den; }
void dirac::es_parser_c::handle_auxiliary_data_unit(memory_cptr packet) { add_pre_frame_extra_data(packet); }