public ELDSpecificConfig(int channelConfiguration, BitReaderBuffer bitReaderBuffer) { this.frameLengthFlag = bitReaderBuffer.readBool(); this.aacSectionDataResilienceFlag = bitReaderBuffer.readBool(); this.aacScalefactorDataResilienceFlag = bitReaderBuffer.readBool(); this.aacSpectralDataResilienceFlag = bitReaderBuffer.readBool(); this.ldSbrPresentFlag = bitReaderBuffer.readBool(); if (ldSbrPresentFlag) { ldSbrSamplingRate = bitReaderBuffer.readBool(); ldSbrCrcFlag = bitReaderBuffer.readBool(); ld_sbr_header(channelConfiguration, bitReaderBuffer);
public sbr_header(BitReaderBuffer b) { bs_amp_res = b.readBool(); bs_start_freq = b.readBits(4); bs_stop_freq = b.readBits(4); bs_xover_band = b.readBits(3); bs_reserved = b.readBits(2); bs_header_extra_1 = b.readBool(); bs_header_extra_2 = b.readBool(); if (bs_header_extra_1) { bs_freq_scale = b.readBits(2); bs_alter_scale = b.readBool(); bs_noise_bands = b.readBits(2); } if (bs_header_extra_2) { bs_limiter_bands = b.readBits(2); bs_limiter_gains = b.readBits(2); bs_interpol_freq = b.readBool(); } bs_smoothing_mode = b.readBool(); } }
private int parse0x05Unit(ByteBuffer nal) { int visual_object_verid = 0; BitReaderBuffer brb = new BitReaderBuffer(nal); boolean is_visual_object_identifier = brb.readBool(); if (is_visual_object_identifier) { visual_object_verid = brb.readBits(4); int visual_object_priority = brb.readBits(3); } return visual_object_verid; }
private void parse0x20Unit(ByteBuffer nal, int visual_object_verid, VisualSampleEntry mp4v) { BitReaderBuffer brb = new BitReaderBuffer(nal); boolean random_accessible_vol = brb.readBool(); int video_object_type_indication = brb.readBits(8); boolean is_object_layer_identifier = brb.readBool(); int video_object_layer_verid = visual_object_verid; if (is_object_layer_identifier) { boolean vol_control_parameters = brb.readBool(); if (vol_control_parameters) { int chroma_format = brb.readBits(2); boolean low_delay = brb.readBool(); boolean vbv_parameters = brb.readBool(); if (vbv_parameters) { throw new RuntimeException("Implemented when needed"); boolean marker_bit = brb.readBool(); vop_time_increment_resolution = brb.readBits(16); marker_bit = brb.readBool(); boolean fixed_vop_rate = brb.readBool(); if (fixed_vop_rate) { LOG.info("Fixed Frame Rate"); brb.readBool(); int video_object_layer_width = brb.readBits(13); mp4v.setWidth(video_object_layer_width); brb.readBool(); int video_object_layer_height = brb.readBits(13); mp4v.setHeight(video_object_layer_height); brb.readBool();
extensionAudioObjectType = getAudioObjectType(bitReaderBuffer); if (extensionAudioObjectType == 5) { sbrPresentFlag = bitReaderBuffer.readBool(); if (sbrPresentFlag) { extensionSamplingFrequencyIndex = bitReaderBuffer.readBits(4); innerSyncExtensionType = syncExtensionType = bitReaderBuffer.readBits(11); //10101001000 if (syncExtensionType == 0x548) { psPresentFlag = bitReaderBuffer.readBool(); sbrPresentFlag = bitReaderBuffer.readBool(); if (sbrPresentFlag) { extensionSamplingFrequencyIndex = bitReaderBuffer.readBits(4);
public ELDSpecificConfig(int channelConfiguration, BitReaderBuffer bitReaderBuffer) { this.frameLengthFlag = bitReaderBuffer.readBool(); this.aacSectionDataResilienceFlag = bitReaderBuffer.readBool(); this.aacScalefactorDataResilienceFlag = bitReaderBuffer.readBool(); this.aacSpectralDataResilienceFlag = bitReaderBuffer.readBool(); this.ldSbrPresentFlag = bitReaderBuffer.readBool(); if (ldSbrPresentFlag) { ldSbrSamplingRate = bitReaderBuffer.readBool(); ldSbrCrcFlag = bitReaderBuffer.readBool(); ld_sbr_header(channelConfiguration, bitReaderBuffer);
public sbr_header(BitReaderBuffer b) { bs_amp_res = b.readBool(); bs_start_freq = b.readBits(4); bs_stop_freq = b.readBits(4); bs_xover_band = b.readBits(3); bs_reserved = b.readBits(2); bs_header_extra_1 = b.readBool(); bs_header_extra_2 = b.readBool(); if (bs_header_extra_1) { bs_freq_scale = b.readBits(2); bs_alter_scale = b.readBool(); bs_noise_bands = b.readBits(2); } if (bs_header_extra_2) { bs_limiter_bands = b.readBits(2); bs_limiter_gains = b.readBits(2); bs_interpol_freq = b.readBool(); } bs_smoothing_mode = b.readBool(); } }
private int parse0x05Unit(ByteBuffer nal) { int visual_object_verid = 0; BitReaderBuffer brb = new BitReaderBuffer(nal); boolean is_visual_object_identifier = brb.readBool(); if (is_visual_object_identifier) { visual_object_verid = brb.readBits(4); int visual_object_priority = brb.readBits(3); } return visual_object_verid; }
private void parse0x20Unit(ByteBuffer nal, int visual_object_verid, VisualSampleEntry mp4v) { BitReaderBuffer brb = new BitReaderBuffer(nal); boolean random_accessible_vol = brb.readBool(); int video_object_type_indication = brb.readBits(8); boolean is_object_layer_identifier = brb.readBool(); int video_object_layer_verid = visual_object_verid; if (is_object_layer_identifier) { boolean vol_control_parameters = brb.readBool(); if (vol_control_parameters) { int chroma_format = brb.readBits(2); boolean low_delay = brb.readBool(); boolean vbv_parameters = brb.readBool(); if (vbv_parameters) { throw new RuntimeException("Implemented when needed"); boolean marker_bit = brb.readBool(); vop_time_increment_resolution = brb.readBits(16); marker_bit = brb.readBool(); boolean fixed_vop_rate = brb.readBool(); if (fixed_vop_rate) { LOG.info("Fixed Frame Rate"); brb.readBool(); int video_object_layer_width = brb.readBits(13); mp4v.setWidth(video_object_layer_width); brb.readBool(); int video_object_layer_height = brb.readBits(13); mp4v.setHeight(video_object_layer_height); brb.readBool();
extensionAudioObjectType = getAudioObjectType(bitReaderBuffer); if (extensionAudioObjectType == 5) { sbrPresentFlag = bitReaderBuffer.readBool(); if (sbrPresentFlag) { extensionSamplingFrequencyIndex = bitReaderBuffer.readBits(4); innerSyncExtensionType = syncExtensionType = bitReaderBuffer.readBits(11); //10101001000 if (syncExtensionType == 0x548) { psPresentFlag = bitReaderBuffer.readBool(); sbrPresentFlag = bitReaderBuffer.readBool(); if (sbrPresentFlag) { extensionSamplingFrequencyIndex = bitReaderBuffer.readBits(4);