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()); }
hdmv_textst_packetizer_c::hdmv_textst_packetizer_c(generic_reader_c *p_reader, track_info_c &p_ti, memory_cptr const &dialog_style_segment) : generic_packetizer_c{p_reader, p_ti} { m_ti.m_private_data = dialog_style_segment->clone(); set_track_type(track_subtitle); // set_default_compression_method(COMPRESSION_ZLIB); }
void generic_packetizer_c::set_codec_private(memory_cptr const &buffer) { if (buffer && buffer->get_size()) { m_hcodec_private = buffer->clone(); if (m_track_entry) GetChild<KaxCodecPrivate>(*m_track_entry).CopyBuffer(static_cast<binary *>(m_hcodec_private->get_buffer()), m_hcodec_private->get_size()); } else m_hcodec_private.reset(); }
void analyze_header_removal_compressor_c::compress(memory_cptr &buffer) { ++m_packet_counter; if (!m_bytes.is_set()) { m_bytes = memory_cptr(buffer->clone()); return; } unsigned char *current = buffer->get_buffer(); unsigned char *saved = m_bytes->get_buffer(); size_t i, new_size = 0; for (i = 0; i < std::min(buffer->get_size(), m_bytes->get_size()); ++i, ++new_size) if (current[i] != saved[i]) break; m_bytes->set_size(new_size); }
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 xtr_mpeg1_2_video_c::handle_codec_state(memory_cptr &codec_state) { m_content_decoder.reverse(codec_state, CONTENT_ENCODING_SCOPE_CODECPRIVATE); m_seq_hdr = codec_state->clone(); }
void vc1::es_parser_c::add_post_frame_extra_data(memory_cptr packet) { m_post_frame_extra_data.push_back(memory_cptr(packet->clone())); }