Home | History | Annotate | Download | only in mpeg2ts

Lines Matching refs:br

51             unsigned pid, ABitReader *br, status_t *err);
56 ABitReader *br, status_t *err);
93 status_t parseProgramMap(ABitReader *br);
111 ABitReader *br);
139 status_t parsePES(ABitReader *br);
187 unsigned pid, ABitReader *br, status_t *err) {
194 *err = parseProgramMap(br);
202 ABitReader *br, status_t *err) {
211 continuity_counter, payload_unit_start_indicator, br);
242 status_t ATSParser::Program::parseProgramMap(ABitReader *br) {
243 unsigned table_id = br->getBits(8);
247 unsigned section_syntax_indicator = br->getBits(1);
251 CHECK_EQ(br->getBits(1), 0u);
252 MY_LOGV(" reserved = %u", br->getBits(2));
254 unsigned section_length = br->getBits(12);
259 MY_LOGV(" program_number = %u", br->getBits(16));
260 MY_LOGV(" reserved = %u", br->getBits(2));
261 MY_LOGV(" version_number = %u", br->getBits(5));
262 MY_LOGV(" current_next_indicator = %u", br->getBits(1));
263 MY_LOGV(" section_number = %u", br->getBits(8));
264 MY_LOGV(" last_section_number = %u", br->getBits(8));
265 MY_LOGV(" reserved = %u", br->getBits(3));
267 unsigned PCR_PID = br->getBits(13);
270 MY_LOGV(" reserved = %u", br->getBits(4));
272 unsigned program_info_length = br->getBits(12);
276 br->skipBits(program_info_length * 8); // skip descriptors
288 unsigned streamType = br->getBits(8);
291 MY_LOGV(" reserved = %u", br->getBits(3));
293 unsigned elementaryPID = br->getBits(13);
296 MY_LOGV(" reserved = %u", br->getBits(4));
298 unsigned ES_info_length = br->getBits(12);
305 br->skipBits(ES_info_length * 8); // skip descriptors
309 MY_LOGV(" tag = 0x%02x", br->getBits(8));
311 unsigned descLength = br->getBits(8);
316 br->skipBits(descLength * 8);
332 MY_LOGV(" CRC = 0x%08x", br->getBits(32));
528 unsigned payload_unit_start_indicator, ABitReader *br) {
576 size_t payloadSizeBits = br->numBitsLeft();
592 memcpy(mBuffer->data() + mBuffer->size(), br->data(), payloadSizeBits / 8);
672 status_t ATSParser::Stream::parsePES(ABitReader *br) {
673 unsigned packet_startcode_prefix = br->getBits(24);
686 unsigned stream_id = br->getBits(8);
689 unsigned PES_packet_length = br->getBits(16);
700 CHECK_EQ(br->getBits(2), 2u);
702 MY_LOGV("PES_scrambling_control = %u", br->getBits(2));
703 MY_LOGV("PES_priority = %u", br->getBits(1));
704 MY_LOGV("data_alignment_indicator = %u", br->getBits(1));
705 MY_LOGV("copyright = %u", br->getBits(1));
706 MY_LOGV("original_or_copy = %u", br->getBits(1));
708 unsigned PTS_DTS_flags = br->getBits(2);
711 unsigned ESCR_flag = br->getBits(1);
714 unsigned ES_rate_flag = br->getBits(1);
717 unsigned DSM_trick_mode_flag = br->getBits(1);
720 unsigned additional_copy_info_flag = br->getBits(1);
723 MY_LOGV("PES_CRC_flag = %u", br->getBits(1));
724 MY_LOGV("PES_extension_flag = %u", br->getBits(1));
726 unsigned PES_header_data_length = br->getBits(8);
736 CHECK_EQ(br->getBits(4), PTS_DTS_flags);
738 PTS = ((uint64_t)br->getBits(3)) << 30;
739 CHECK_EQ(br->getBits(1), 1u);
740 PTS |= ((uint64_t)br->getBits(15)) << 15;
741 CHECK_EQ(br->getBits(1), 1u);
742 PTS |= br->getBits(15);
743 CHECK_EQ(br->getBits(1), 1u);
752 CHECK_EQ(br->getBits(4), 1u);
754 DTS = ((uint64_t)br->getBits(3)) << 30;
755 CHECK_EQ(br->getBits(1), 1u);
756 DTS |= ((uint64_t)br->getBits(15)) << 15;
757 CHECK_EQ(br->getBits(1), 1u);
758 DTS |= br->getBits(15);
759 CHECK_EQ(br->getBits(1), 1u);
770 br->getBits(2);
772 uint64_t ESCR = ((uint64_t)br->getBits(3)) << 30;
773 CHECK_EQ(br->getBits(1), 1u);
774 ESCR |= ((uint64_t)br->getBits(15)) << 15;
775 CHECK_EQ(br->getBits(1), 1u);
776 ESCR |= br->getBits(15);
777 CHECK_EQ(br->getBits(1), 1u);
780 MY_LOGV("ESCR_extension = %u", br->getBits(9));
782 CHECK_EQ(br->getBits(1), 1u);
790 CHECK_EQ(br->getBits(1), 1u);
791 MY_LOGV("ES_rate = %u", br->getBits(22));
792 CHECK_EQ(br->getBits(1), 1u);
797 br->skipBits(optional_bytes_remaining * 8);
807 if (br->numBitsLeft() < dataLength * 8) {
810 br->numBitsLeft(), dataLength * 8);
815 CHECK_GE(br->numBitsLeft(), dataLength * 8);
818 PTS_DTS_flags, PTS, DTS, br->data(), dataLength);
820 br->skipBits(dataLength * 8);
824 br->data(), br->numBitsLeft() / 8);
826 size_t payloadSizeBits = br->numBitsLeft();
833 br->skipBits(PES_packet_length * 8);
836 br->skipBits(PES_packet_length * 8);
849 ABitReader br(mBuffer->data(), mBuffer->size());
851 status_t err = parsePES(&br);
950 ABitReader br((const uint8_t *)data, kTSPacketSize);
951 return parseTS(&br);
991 void ATSParser::parseProgramAssociationTable(ABitReader *br) {
992 unsigned table_id = br->getBits(8);
996 unsigned section_syntax_indictor = br->getBits(1);
1000 CHECK_EQ(br->getBits(1), 0u);
1001 MY_LOGV(" reserved = %u", br->getBits(2));
1003 unsigned section_length = br->getBits(12);
1007 MY_LOGV(" transport_stream_id = %u", br->getBits(16));
1008 MY_LOGV(" reserved = %u", br->getBits(2));
1009 MY_LOGV(" version_number = %u", br->getBits(5));
1010 MY_LOGV(" current_next_indicator = %u", br->getBits(1));
1011 MY_LOGV(" section_number = %u", br->getBits(8));
1012 MY_LOGV(" last_section_number = %u", br->getBits(8));
1018 unsigned program_number = br->getBits(16);
1021 MY_LOGV(" reserved = %u", br->getBits(3));
1024 MY_LOGV(" network_PID = 0x%04x", br->getBits(13));
1026 unsigned programMapPID = br->getBits(13);
1052 MY_LOGV(" CRC = 0x%08x", br->getBits(32));
1056 ABitReader *br, unsigned PID,
1067 unsigned skip = br->getBits(8);
1068 br->skipBits(skip * 8);
1071 CHECK((br->numBitsLeft() % 8) == 0);
1072 status_t err = section->append(br->data(), br->numBitsLeft() / 8);
1121 br, &err)) {
1138 void ATSParser::parseAdaptationField(ABitReader *br, unsigned PID) {
1139 unsigned adaptation_field_length = br->getBits(8);
1142 unsigned discontinuity_indicator = br->getBits(1);
1148 br->skipBits(2);
1149 unsigned PCR_flag = br->getBits(1);
1154 br->skipBits(4);
1155 uint64_t PCR_base = br->getBits(32);
1156 PCR_base = (PCR_base << 1) | br->getBits(1);
1158 br->skipBits(6);
1159 unsigned PCR_ext = br->getBits(9);
1165 (188 - br->numBitsLeft() / 8);
1186 br->skipBits(adaptation_field_length * 8 - numBitsRead);
1190 status_t ATSParser::parseTS(ABitReader *br) {
1193 unsigned sync_byte = br->getBits(8);
1196 MY_LOGV("transport_error_indicator = %u", br->getBits(1));
1198 unsigned payload_unit_start_indicator = br->getBits(1);
1201 MY_LOGV("transport_priority = %u", br->getBits(1));
1203 unsigned PID = br->getBits(13);
1206 MY_LOGV("transport_scrambling_control = %u", br->getBits(2));
1208 unsigned adaptation_field_control = br->getBits(2);
1211 unsigned continuity_counter = br->getBits(4);
1217 parseAdaptationField(br, PID);
1224 br, PID, continuity_counter, payload_unit_start_indicator);