Проблемы с енкодингом в AC3 если источник > 48 КГц [Исправлено]

Автор Aleksoid1978, 08 февраля 2016, 10:29:07

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Aleksoid1978

Собственно сабж. Если источник к примеру имеет частоту 96 КГц и мы кодируем в AC3 48 КГц - то на выходе имеем различные временные метки, из-за этого происходит сброс данных в самом декодере и далее в аудио-рендерере.

Вот коротенький пример с TrueHD 96 КГц https://yadi.sk/i/lRSr0EQCoUa8N. Тоже самое и с DTS-HD ну или FLAC, главное чтобы частота > 48 КГц
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

А в старых версиях, в которых нет автоматического определения поддержки битрима, тоже плохо? На каком рендерере проверять?

Из твоего сообщения мне не понятно, проблема именно в метках, в переключении или в процессе преобразования частоты?

Сам пока не могу проверить, не хватает HDMI провода до телевизора. :)
[merge_posts_bbcode]Добавлено: 2016-02-08 18:50:58[/merge_posts_bbcode]

У меня, кстати, предложение по генерируемым медиатипам выходного пина.
1. Если выбран битстрим соответствующий исходному формату, то этот битстрим идет первым медиатипом.
2. Если исходный формат многоканальный и не AC3, и задействована галка "Кодировать в AC3", то добавляем следующим медиатипом битсрим кодированного AC3.
3. Ну и наконец медиатип декодированого PCM формата.


И все, в декодере никаких автоматических переключений. Пусть аудиорендерер сам переключает к нужному медиатипу, ему лучше знать, на что железо способно и в каком оно состоянии.

Aleksoid1978

Проблема именно во временных метках, при энкодинге 96 -> 48 происходит их изменение, в результате чего разрывы в синхронизации и т.д. Проблема эта(я так понимаю) была всегда и не зависит не от какого определения битстрима и т.д.

По поводу генерируемым медиатипам выходного пина - у нас и так сперва генерится для SPDIF/Bitstream(если галки есть) и далее следует уже для PCM. Проблема в том что после декодера идет не аудио-рендерер, а аудио-переключатель(а за ним может еще другой фильтр и т.д.). А аудио-переключатель берет на вход любой медиатип. Поэтому и приходится придумывать различные "костыли". Ну это уже отдельная тема :)

[merge_posts_bbcode]Добавлено: 2016-02-09 19:24:33[/merge_posts_bbcode]

Исправлено в 1166.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215