Lines Matching defs: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);
234 status_t ATSParser::Program::parseProgramMap(ABitReader *br) {
235 unsigned table_id = br->getBits(8);
239 unsigned section_syntax_indicator = br->getBits(1);
243 CHECK_EQ(br->getBits(1), 0u);
244 MY_LOGV(" reserved = %u", br->getBits(2));
246 unsigned section_length = br->getBits(12);
251 MY_LOGV(" program_number = %u", br->getBits(16));
252 MY_LOGV(" reserved = %u", br->getBits(2));
253 MY_LOGV(" version_number = %u", br->getBits(5));
254 MY_LOGV(" current_next_indicator = %u", br->getBits(1));
255 MY_LOGV(" section_number = %u", br->getBits(8));
256 MY_LOGV(" last_section_number = %u", br->getBits(8));
257 MY_LOGV(" reserved = %u", br->getBits(3));
259 unsigned PCR_PID = br->getBits(13);
262 MY_LOGV(" reserved = %u", br->getBits(4));
264 unsigned program_info_length = br->getBits(12);
268 br->skipBits(program_info_length * 8); // skip descriptors
280 unsigned streamType = br->getBits(8);
283 MY_LOGV(" reserved = %u", br->getBits(3));
285 unsigned elementaryPID = br->getBits(13);
288 MY_LOGV(" reserved = %u", br->getBits(4));
290 unsigned ES_info_length = br->getBits(12);
297 br->skipBits(ES_info_length * 8); // skip descriptors
301 MY_LOGV(" tag = 0x%02x", br->getBits(8));
303 unsigned descLength = br->getBits(8);
308 br->skipBits(descLength * 8);
324 MY_LOGV(" CRC = 0x%08x", br->getBits(32));
516 unsigned payload_unit_start_indicator, ABitReader *br) {
554 size_t payloadSizeBits = br->numBitsLeft();
570 memcpy(mBuffer->data() + mBuffer->size(), br->data(), payloadSizeBits / 8);
650 status_t ATSParser::Stream::parsePES(ABitReader *br) {
651 unsigned packet_startcode_prefix = br->getBits(24);
664 unsigned stream_id = br->getBits(8);
667 unsigned PES_packet_length = br->getBits(16);
678 CHECK_EQ(br->getBits(2), 2u);
680 MY_LOGV("PES_scrambling_control = %u", br->getBits(2));
681 MY_LOGV("PES_priority = %u", br->getBits(1));
682 MY_LOGV("data_alignment_indicator = %u", br->getBits(1));
683 MY_LOGV("copyright = %u", br->getBits(1));
684 MY_LOGV("original_or_copy = %u", br->getBits(1));
686 unsigned PTS_DTS_flags = br->getBits(2);
689 unsigned ESCR_flag = br->getBits(1);
692 unsigned ES_rate_flag = br->getBits(1);
695 unsigned DSM_trick_mode_flag = br->getBits(1);
698 unsigned additional_copy_info_flag = br->getBits(1);
701 MY_LOGV("PES_CRC_flag = %u", br->getBits(1));
702 MY_LOGV("PES_extension_flag = %u", br->getBits(1));
704 unsigned PES_header_data_length = br->getBits(8);
714 CHECK_EQ(br->getBits(4), PTS_DTS_flags);
716 PTS = ((uint64_t)br->getBits(3)) << 30;
717 CHECK_EQ(br->getBits(1), 1u);
718 PTS |= ((uint64_t)br->getBits(15)) << 15;
719 CHECK_EQ(br->getBits(1), 1u);
720 PTS |= br->getBits(15);
721 CHECK_EQ(br->getBits(1), 1u);
730 CHECK_EQ(br->getBits(4), 1u);
732 DTS = ((uint64_t)br->getBits(3)) << 30;
733 CHECK_EQ(br->getBits(1), 1u);
734 DTS |= ((uint64_t)br->getBits(15)) << 15;
735 CHECK_EQ(br->getBits(1), 1u);
736 DTS |= br->getBits(15);
737 CHECK_EQ(br->getBits(1), 1u);
748 br->getBits(2);
750 uint64_t ESCR = ((uint64_t)br->getBits(3)) << 30;
751 CHECK_EQ(br->getBits(1), 1u);
752 ESCR |= ((uint64_t)br->getBits(15)) << 15;
753 CHECK_EQ(br->getBits(1), 1u);
754 ESCR |= br->getBits(15);
755 CHECK_EQ(br->getBits(1), 1u);
758 MY_LOGV("ESCR_extension = %u", br->getBits(9));
760 CHECK_EQ(br->getBits(1), 1u);
768 CHECK_EQ(br->getBits(1), 1u);
769 MY_LOGV("ES_rate = %u", br->getBits(22));
770 CHECK_EQ(br->getBits(1), 1u);
775 br->skipBits(optional_bytes_remaining * 8);
785 if (br->numBitsLeft() < dataLength * 8) {
788 br->numBitsLeft(), dataLength * 8);
793 CHECK_GE(br->numBitsLeft(), dataLength * 8);
796 PTS_DTS_flags, PTS, DTS, br->data(), dataLength);
798 br->skipBits(dataLength * 8);
802 br->data(), br->numBitsLeft() / 8);
804 size_t payloadSizeBits = br->numBitsLeft();
811 br->skipBits(PES_packet_length * 8);
814 br->skipBits(PES_packet_length * 8);
827 ABitReader br(mBuffer->data(), mBuffer->size());
829 status_t err = parsePES(&br);
926 ABitReader br((const uint8_t *)data, kTSPacketSize);
927 return parseTS(&br);
954 void ATSParser::parseProgramAssociationTable(ABitReader *br) {
955 unsigned table_id = br->getBits(8);
959 unsigned section_syntax_indictor = br->getBits(1);
963 CHECK_EQ(br->getBits(1), 0u);
964 MY_LOGV(" reserved = %u", br->getBits(2));
966 unsigned section_length = br->getBits(12);
970 MY_LOGV(" transport_stream_id = %u", br->getBits(16));
971 MY_LOGV(" reserved = %u", br->getBits(2));
972 MY_LOGV(" version_number = %u", br->getBits(5));
973 MY_LOGV(" current_next_indicator = %u", br->getBits(1));
974 MY_LOGV(" section_number = %u", br->getBits(8));
975 MY_LOGV(" last_section_number = %u", br->getBits(8));
981 unsigned program_number = br->getBits(16);
984 MY_LOGV(" reserved = %u", br->getBits(3));
987 MY_LOGV(" network_PID = 0x%04x", br->getBits(13));
989 unsigned programMapPID = br->getBits(13);
1015 MY_LOGV(" CRC = 0x%08x", br->getBits(32));
1019 ABitReader *br, unsigned PID,
1030 unsigned skip = br->getBits(8);
1031 br->skipBits(skip * 8);
1035 CHECK((br->numBitsLeft() % 8) == 0);
1036 status_t err = section->append(br->data(), br->numBitsLeft() / 8);
1082 br, &err)) {
1099 void ATSParser::parseAdaptationField(ABitReader *br, unsigned PID) {
1100 unsigned adaptation_field_length = br->getBits(8);
1103 unsigned discontinuity_indicator = br->getBits(1);
1109 br->skipBits(2);
1110 unsigned PCR_flag = br->getBits(1);
1115 br->skipBits(4);
1116 uint64_t PCR_base = br->getBits(32);
1117 PCR_base = (PCR_base << 1) | br->getBits(1);
1119 br->skipBits(6);
1120 unsigned PCR_ext = br->getBits(9);
1126 (188 - br->numBitsLeft() / 8);
1147 br->skipBits(adaptation_field_length * 8 - numBitsRead);
1151 status_t ATSParser::parseTS(ABitReader *br) {
1154 unsigned sync_byte = br->getBits(8);
1157 MY_LOGV("transport_error_indicator = %u", br->getBits(1));
1159 unsigned payload_unit_start_indicator = br->getBits(1);
1162 MY_LOGV("transport_priority = %u", br->getBits(1));
1164 unsigned PID = br->getBits(13);
1167 MY_LOGV("transport_scrambling_control = %u", br->getBits(2));
1169 unsigned adaptation_field_control = br->getBits(2);
1172 unsigned continuity_counter = br->getBits(4);
1178 parseAdaptationField(br, PID);
1185 br, PID, continuity_counter, payload_unit_start_indicator);