mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-24 11:54:01 +00:00
Merged 2362
This commit is contained in:
parent
96ccead7aa
commit
84a99509bd
@ -1,5 +1,8 @@
|
||||
2004-10-16 Moritz Bunkus <moritz@bunkus.org>
|
||||
|
||||
* mkvmerge: bug fix: If LFE is on for DTS then the number of
|
||||
channels is one more than what the DTS frame header says.
|
||||
|
||||
* mkvmerge: bug fix: Timecodes for Vorbis were wrong on rare
|
||||
occasions (when reading laced Vorbis from a Matroska file and
|
||||
changing the lacing, e.g. when splitting for the second and all
|
||||
|
@ -413,3 +413,59 @@ dts_14_to_dts_16(const unsigned short *src,
|
||||
src += 8;
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
operator!=(const dts_header_t &l,
|
||||
const dts_header_t &r) {
|
||||
//if (l.frametype != r.frametype) return true;
|
||||
//if (l.deficit_sample_count != r.deficit_sample_count) return true;
|
||||
if (l.crc_present != r.crc_present)
|
||||
return true;
|
||||
if (l.num_pcm_sample_blocks != r.num_pcm_sample_blocks)
|
||||
return true;
|
||||
if (l.frame_byte_size != r.frame_byte_size)
|
||||
return true;
|
||||
if (l.audio_channels != r.audio_channels)
|
||||
return true;
|
||||
if (l.core_sampling_frequency != r.core_sampling_frequency)
|
||||
return true;
|
||||
if (l.transmission_bitrate != r.transmission_bitrate)
|
||||
return true;
|
||||
if (l.embedded_down_mix != r.embedded_down_mix)
|
||||
return true;
|
||||
if (l.embedded_dynamic_range != r.embedded_dynamic_range)
|
||||
return true;
|
||||
if (l.embedded_time_stamp != r.embedded_time_stamp)
|
||||
return true;
|
||||
if (l.auxiliary_data != r.auxiliary_data)
|
||||
return true;
|
||||
if (l.hdcd_master != r.hdcd_master)
|
||||
return true;
|
||||
if (l.extension_audio_descriptor != r.extension_audio_descriptor)
|
||||
return true;
|
||||
if (l.extended_coding != r.extended_coding)
|
||||
return true;
|
||||
if (l.audio_sync_word_in_sub_sub != r.audio_sync_word_in_sub_sub)
|
||||
return true;
|
||||
if (l.lfe_type != r.lfe_type)
|
||||
return true;
|
||||
if (l.predictor_history_flag != r.predictor_history_flag)
|
||||
return true;
|
||||
if (l.multirate_interpolator != r.multirate_interpolator)
|
||||
return true;
|
||||
if (l.encoder_software_revision != r.encoder_software_revision)
|
||||
return true;
|
||||
if (l.copy_history != r.copy_history)
|
||||
return true;
|
||||
if (l.source_pcm_resolution != r.source_pcm_resolution)
|
||||
return true;
|
||||
if (l.source_surround_in_es != r.source_surround_in_es)
|
||||
return true;
|
||||
if (l.front_sum_difference != r.front_sum_difference)
|
||||
return true;
|
||||
if (l.surround_sum_difference != r.surround_sum_difference)
|
||||
return true;
|
||||
if (l.dialog_normalization_gain != r.dialog_normalization_gain)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
@ -173,4 +173,7 @@ inline double get_dts_packet_length_in_nanoseconds(const struct dts_header_s
|
||||
void MTX_DLL_API dts_14_to_dts_16(const unsigned short *src,
|
||||
unsigned long srcwords,
|
||||
unsigned short *dst);
|
||||
|
||||
bool MTX_DLL_API operator!=(const dts_header_t &l, const dts_header_t &r);
|
||||
|
||||
#endif // __DTSCOMMON_H
|
||||
|
@ -26,62 +26,6 @@
|
||||
|
||||
using namespace libmatroska;
|
||||
|
||||
bool
|
||||
operator!=(const dts_header_t &l,
|
||||
const dts_header_t &r) {
|
||||
//if (l.frametype != r.frametype) return true;
|
||||
//if (l.deficit_sample_count != r.deficit_sample_count) return true;
|
||||
if (l.crc_present != r.crc_present)
|
||||
return true;
|
||||
if (l.num_pcm_sample_blocks != r.num_pcm_sample_blocks)
|
||||
return true;
|
||||
if (l.frame_byte_size != r.frame_byte_size)
|
||||
return true;
|
||||
if (l.audio_channels != r.audio_channels)
|
||||
return true;
|
||||
if (l.core_sampling_frequency != r.core_sampling_frequency)
|
||||
return true;
|
||||
if (l.transmission_bitrate != r.transmission_bitrate)
|
||||
return true;
|
||||
if (l.embedded_down_mix != r.embedded_down_mix)
|
||||
return true;
|
||||
if (l.embedded_dynamic_range != r.embedded_dynamic_range)
|
||||
return true;
|
||||
if (l.embedded_time_stamp != r.embedded_time_stamp)
|
||||
return true;
|
||||
if (l.auxiliary_data != r.auxiliary_data)
|
||||
return true;
|
||||
if (l.hdcd_master != r.hdcd_master)
|
||||
return true;
|
||||
if (l.extension_audio_descriptor != r.extension_audio_descriptor)
|
||||
return true;
|
||||
if (l.extended_coding != r.extended_coding)
|
||||
return true;
|
||||
if (l.audio_sync_word_in_sub_sub != r.audio_sync_word_in_sub_sub)
|
||||
return true;
|
||||
if (l.lfe_type != r.lfe_type)
|
||||
return true;
|
||||
if (l.predictor_history_flag != r.predictor_history_flag)
|
||||
return true;
|
||||
if (l.multirate_interpolator != r.multirate_interpolator)
|
||||
return true;
|
||||
if (l.encoder_software_revision != r.encoder_software_revision)
|
||||
return true;
|
||||
if (l.copy_history != r.copy_history)
|
||||
return true;
|
||||
if (l.source_pcm_resolution != r.source_pcm_resolution)
|
||||
return true;
|
||||
if (l.source_surround_in_es != r.source_surround_in_es)
|
||||
return true;
|
||||
if (l.front_sum_difference != r.front_sum_difference)
|
||||
return true;
|
||||
if (l.surround_sum_difference != r.surround_sum_difference)
|
||||
return true;
|
||||
if (l.dialog_normalization_gain != r.dialog_normalization_gain)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
dts_packetizer_c::dts_packetizer_c(generic_reader_c *nreader,
|
||||
const dts_header_t &dtsheader,
|
||||
track_info_c *nti)
|
||||
@ -212,7 +156,11 @@ void
|
||||
dts_packetizer_c::set_headers() {
|
||||
set_codec_id(MKV_A_DTS);
|
||||
set_audio_sampling_freq((float)first_header.core_sampling_frequency);
|
||||
set_audio_channels(first_header.audio_channels);
|
||||
if ((first_header.lfe_type == dts_header_t::lfe_64) ||
|
||||
(first_header.lfe_type == dts_header_t::lfe_128))
|
||||
set_audio_channels(first_header.audio_channels + 1);
|
||||
else
|
||||
set_audio_channels(first_header.audio_channels);
|
||||
|
||||
generic_packetizer_c::set_headers();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user