Lines Matching refs:mpeg4_avc
125 pub mpeg4_avc: Mpeg4Avc, field
131 mpeg4_avc: Mpeg4Avc::new(), in new()
136 self.mpeg4_avc.sps.clear(); in clear_sps_data()
137 self.mpeg4_avc.sps_annexb_data.clear(); in clear_sps_data()
141 self.mpeg4_avc.pps.clear(); in clear_pps_data()
142 self.mpeg4_avc.pps_annexb_data.clear(); in clear_pps_data()
152 self.mpeg4_avc.profile = bytes_reader.read_u8()?; in decoder_configuration_record_load()
154 self.mpeg4_avc.compatibility = bytes_reader.read_u8()?; in decoder_configuration_record_load()
156 self.mpeg4_avc.level = bytes_reader.read_u8()?; in decoder_configuration_record_load()
158 self.mpeg4_avc.nalu_length = (bytes_reader.read_u8()? & 0x03) + 1; in decoder_configuration_record_load()
161 self.mpeg4_avc.nb_sps = bytes_reader.read_u8()? & 0x1F; in decoder_configuration_record_load()
163 if self.mpeg4_avc.nb_sps > 0 { in decoder_configuration_record_load()
167 for i in 0..self.mpeg4_avc.nb_sps as usize { in decoder_configuration_record_load()
185 (self.mpeg4_avc.width, self.mpeg4_avc.height) = sps_parser.parse()?; in decoder_configuration_record_load()
187 log::info!("mpeg4 avc profile: {}", self.mpeg4_avc.profile); in decoder_configuration_record_load()
188 log::info!("mpeg4 avc compatibility: {}", self.mpeg4_avc.compatibility); in decoder_configuration_record_load()
189 log::info!("mpeg4 avc level: {}", self.mpeg4_avc.level); in decoder_configuration_record_load()
192 self.mpeg4_avc.width, in decoder_configuration_record_load()
193 self.mpeg4_avc.height in decoder_configuration_record_load()
196 self.mpeg4_avc.sps.push(sps_data); in decoder_configuration_record_load()
197 self.mpeg4_avc.sps_annexb_data.write(&H264_START_CODE)?; in decoder_configuration_record_load()
198 self.mpeg4_avc in decoder_configuration_record_load()
200 .write(&self.mpeg4_avc.sps[i].data[..])?; in decoder_configuration_record_load()
203 self.mpeg4_avc.nb_pps = bytes_reader.read_u8()?; in decoder_configuration_record_load()
205 if self.mpeg4_avc.nb_pps > 0 { in decoder_configuration_record_load()
209 for i in 0..self.mpeg4_avc.nb_pps as usize { in decoder_configuration_record_load()
216 self.mpeg4_avc.pps.push(pps_data); in decoder_configuration_record_load()
217 self.mpeg4_avc.pps_annexb_data.write(&H264_START_CODE)?; in decoder_configuration_record_load()
218 self.mpeg4_avc in decoder_configuration_record_load()
220 .write(&self.mpeg4_avc.pps[i].data[..])?; in decoder_configuration_record_load()
248 .prepend(&self.mpeg4_avc.pps_annexb_data.get_current_bytes()[..])?; in h264_mp4toannexb()
250 .prepend(&self.mpeg4_avc.sps_annexb_data.get_current_bytes()[..])?; in h264_mp4toannexb()
267 for _ in 0..self.mpeg4_avc.nalu_length { in read_nalu_size()
278 let nalu_length = self.mpeg4_avc.nalu_length; in write_nalu_size()
303 bytes_writer.write_u8(self.mpeg4_avc.profile)?; in decoder_configuration_record_save()
304 bytes_writer.write_u8(self.mpeg4_avc.compatibility)?; in decoder_configuration_record_save()
305 bytes_writer.write_u8(self.mpeg4_avc.level)?; in decoder_configuration_record_save()
306 bytes_writer.write_u8((self.mpeg4_avc.nalu_length - 1) | 0xFC)?; in decoder_configuration_record_save()
309 bytes_writer.write_u8(self.mpeg4_avc.nb_sps | 0xE0)?; in decoder_configuration_record_save()
310 for i in 0..self.mpeg4_avc.nb_sps as usize { in decoder_configuration_record_save()
311 bytes_writer.write_u16::<BigEndian>(self.mpeg4_avc.sps[i].len() as u16)?; in decoder_configuration_record_save()
312 bytes_writer.write(&self.mpeg4_avc.sps[i].data[..])?; in decoder_configuration_record_save()
316 bytes_writer.write_u8(self.mpeg4_avc.nb_pps)?; in decoder_configuration_record_save()
317 for i in 0..self.mpeg4_avc.nb_pps as usize { in decoder_configuration_record_save()
318 bytes_writer.write_u16::<BigEndian>(self.mpeg4_avc.pps[i].len() as u16)?; in decoder_configuration_record_save()
319 bytes_writer.write(&self.mpeg4_avc.pps[i].data[..])? in decoder_configuration_record_save()
322 match self.mpeg4_avc.profile { in decoder_configuration_record_save()
324 bytes_writer.write_u8(0xFC | self.mpeg4_avc.chroma_format_idc)?; in decoder_configuration_record_save()
325 bytes_writer.write_u8(0xF8 | self.mpeg4_avc.bit_depth_luma_minus8)?; in decoder_configuration_record_save()
326 bytes_writer.write_u8(0xF8 | self.mpeg4_avc.bit_depth_chroma_minus8)?; in decoder_configuration_record_save()