Субтитры: не отображаются спецэффекты [Исправлено]

Автор V0lt, 17 октября 2017, 18:14:53

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

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

V0lt

Субтитры - lb.ass.
Длительность 1 минута 19 сек, спецэффекты начинаются на 52 секунде.

Картинка как у нас и как должно быть
https://i.imgur.com/gbwfQdQ.jpg
Баг проявляется при уменьшении кадра или размера "холста" субтитров (уточнить).

Пишут, что раньше работало.
Работает MPC-BE 1.4.3.5114, не работает в 1.4.3.5151 (проверил Evgeniy1990).
Работает MPC-HC 1.7.6.0 (ebc29cf) от 05.07.2014, не работает в 1.7.6.177 (6ddd19b) от 24.08.2014.

Evgeniy1990

Цитата: V0ltСубтитры - lb.ass.
Длительность 1 минута 19 сек, спецэффекты начинаются на 52 секунде.

Картинка как у нас и как должно быть
https://i.imgur.com/gbwfQdQ.jpg

Пишут, что раньше работало. Пока не проверял.
Проверил субтитры. Да, действительно, спецэффекты, показанные на скриншоте внизу на 52 секунде не работают.
Но, даже в последней git-версии MPC-HC 1.7.13.112 https://nightly.mpc-hc.org/ они также не работают.
[merge_posts_bbcode]Добавлено: 2017-10-18 00:51:44[/merge_posts_bbcode]

Цитата: V0ltПишут, что раньше работало. Пока не проверял.
Правильно, раньше действительно работал этот спецэффект на 52 секунде и ему подобные.

Итак, я решил найти конкретный билд, в котором произошла поломка. В общем, буду искать.
Скажу сразу, это будет непросто, но я не сдамся.

Текущий диапазон: [1.4.1.4712 -> 1.4.4.104]

Продолжаю искать...

[merge_posts_bbcode]Добавлено: 2017-10-18 01:03:07[/merge_posts_bbcode]

Новый диапазон: [1.4.2.4752 -> 1.4.3.5854]
Новый диапазон: [1.4.2.4752 -> 1.4.3.5600]
Новый диапазон: [1.4.3.5001 -> 1.4.3.5208]
Новый диапазон: [1.4.3.5114 -> 1.4.3.5151]
[merge_posts_bbcode]Добавлено: 2017-10-18 01:46:15[/merge_posts_bbcode]

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

Текущий диапазон: [1.4.3.5114 -> 1.4.3.5151]

Скриншот: https://yadi.sk/i/na-8fvU53Nqs4N

Теперь останется сделать одно из двух:

1. Найти список изменений из старого (прежнего) SVN-хранилища, входящих в данный диапазон.
2. Попробовать поискать еще более ранние билды до 1.4.3.5151.
[merge_posts_bbcode]Добавлено: 2017-10-18 02:18:00[/merge_posts_bbcode]

Список изменений, входящих в данный диапазон [1.4.3.5114->1.4.3.5151], из прежнего хранилища, я нашел.

Вот он:

5150        szl          /     Обновление: ffmpeg 2.2.x git-a7bb22c5.      
5149        szl          /     Обновление: libwebp 0.4.0 git-c6461bfd.      
5148        szl          /     Изменение: Обновлен Немецкий перевод (автор Klaus).      
5147        v0lt         /     Исправлена сборка внешнего VSFilter после 5138.      
5146        v0lt         /     Исправлена сборка внешнего MPEG-2 Video Decoder-а после 5137.
5145        aleksoid     /     Изменение : AVISplitter - дополнен список ID кодеков, являющимися H.264 видео(список взят в ffmpeg); так же для H.264 необходимо парсить данные, чтобы корректно формировался выходной MediaType(необходимо декодеру, к примеру, чтобы определить параметры потока) - это исправляет невозможность декодером определить несовместимый с DXVA поток H.264;
5144        v0lt         /     Упрощенная проверка наличия в системе DAEMON Tools Lite. Проверяем только наличие исполняемого файла, не проверяем количество приводов.
5143        aleksoid     /     Изменение : парсинг/рендеринг субтитров формата VobSub - перенос кода из MPC-HC(большое спасибо их команде), т.к. там внедрили поддержку так называемых "анимационных" субтитров(обычно используется для добавления эффектов появления/затухания); TODO - сделать тоже самое для Mpeg2DecFilter и его встроенного механизма вывода субтитров;
5142        aleksoid     /     Изменение : MP4Splitter - исправлена обработка VobSub субтитров, в некоторых случаях неверно задавался размер при заполнении extradata, в результате чего субтитры не отображались;
5141        v0lt         /     Исправлена проблема с открытием образа, если ранее был открыт другой файл. Не ждем завершения процесса демонтирования образа в DTLite.      
5140        v0lt         /     Демонтируем образ в DAEMON Tools Lite после завершения воспроизведения. Косметика.
5139        aleksoid     /     Изменение : Mpeg2DecFilter - избавились от лишнего и неиспользуемого кода. Передача сигнала от пина субтитров(обработка субтитров и меню) в сам фильтр декодера для отрисовки осуществляем через поток, чтобы избавит нас от возможных проблем с залочиванием и т.д., спасибо автору LAV за его код;
5138        aleksoid     /     Изменение : Косметика;
5137        aleksoid     /     Изменение : Решили проблему с зависанием на некоторых DVD на анимированном меню в состоянии пауза на встроенном Mpeg2DecFilter(используем хак - глобальную переменную); TODO - сделать это "правильно";      
5136        aleksoid     /     Изменение : Оптимизация кода SeekBar и окна превью на таскбаре(Win 7 и выше), спасибо команде MPC-HC; косметика;      
5135        aleksoid     /     Изменение : Небольшое исправление авто-загрузки аудио-файлов и субтитров;      
5134        v0lt         /     Отключил поддержку DAEMON Tools Lite.
5133        v0lt         /     Фильтруем файлы образов по расширению внутри класса DiskImage. Это исключает некорректное монтирование обычных медиафайлов.
5132        v0lt         /     Для того чтобы не было лишних окон, путь к DTLite.exe берем из реестра и проверяем наличие исполняемого файла.      
5131        v0lt         /     Исправлены ошибки после 5130 и добавлен код для поддержки DAEMON Tools Lite.
                    Код поддержки DAEMON Tools Lite отключен.
5130        v0lt         /     Монтирование ISO-образов вынесено в отдельный независимый класс DiskImage.
5129        v0lt         /     Корректировка русского перевода для r5128.
5128        v0lt         /     Вывод дополнительной информации о несовместимости DVD регионов диска, привода и декодера.      
5127        v0lt         /     mpc-hc 467ae98c8e. Async Reader: Initialize a member variable in the constructor.
                    Fixes CID 966379.
5126        aleksoid     /     Изменение : MP4Splitter - исправлено проигрывание некоторых .MOV с PCM дорожкой, когда наблюдалось ускоренное воспроизведение;      
5125        v0lt         /     STS: косметика.
5124        v0lt         /     STS: Исправлена работа функции static int GetInt() для 16-ричных чисел.      
5123        aleksoid     /     Изменение : Замена nullptr -> NULL, дабы не разводить колхоз в коде :)      
5122        aleksoid     /     Изменение : После слияния кода из MPC-HC - обнаружилась ошибка в парсинге субтитров, некоторые значения принимали неверные значения(функция wcstol() имеет ограничение в 0x7FFFFFFF), как результат - субтитры/тени отображались с некорректными цветами;
5121        v0lt         /     mpc-hc 39bda5ee3b. CBaseDispatch: Remove duplicated sanity check.
                    Fixes CID 1224558.
                    mpc-hc ec37d9a274. BaseClasses/wxutil.cpp: Ensure freed memory can\'t be reused by mistake.
                    Fixes CID 1224550.
                    mpc-hc 796e9b71b5. Remove dead conditional.
                    mpc-hc 321aaf540e. Use the proper type for `bool`.      
5120        v0lt         /     DEBUG_NEW -> DNew.
5119        v0lt         /     Rasterizer: удалена очень сомнительная оптимизация.
5118        v0lt         /     RTS: косметическая синхронизация с MPC-HC.
5117        v0lt         /     mpc-hc 5edd3205ef. RTS: Optimize alpha mask creation. Over 5 times faster than before for inversed subtitles.      
5116        v0lt         /     mpc-hc 231f8d9f38. RTS: Use SSE2 conversion for rounding.      
5115        v0lt         /     mpc-hc dd44bd9d62. RTS: Fix artifacts after scaling due to improper rounding.

[merge_posts_bbcode]Добавлено: 2017-10-18 02:29:27[/merge_posts_bbcode]

Отсекаем все лишние изменения и оставляем только те из них, которые относятся к обработке субтитров, при использовании ISR. А это как раз такие проектные файлы, как RTS, STS, Rasterizer.

5143        aleksoid     /     Изменение : парсинг/рендеринг субтитров формата VobSub - перенос кода из MPC-HC(большое спасибо их команде), т.к. там внедрили поддержку так называемых "анимационных" субтитров(обычно используется для добавления эффектов появления/затухания);
5125        v0lt         /     STS: косметика.
5124        v0lt         /     STS: Исправлена работа функции static int GetInt() для 16-ричных чисел.
5122        aleksoid     /     Изменение : После слияния кода из MPC-HC - обнаружилась ошибка в парсинге субтитров, некоторые значения принимали неверные значения(функция wcstol() имеет ограничение в 0x7FFFFFFF), как результат - субтитры/тени отображались с некорректными цветами;
5119        v0lt         /     Rasterizer: удалена очень сомнительная оптимизация.
5118        v0lt         /     RTS: косметическая синхронизация с MPC-HC.
5117        v0lt         /     mpc-hc 5edd3205ef. RTS: Optimize alpha mask creation. Over 5 times faster than before for inversed subtitles.      
5116        v0lt         /     mpc-hc 231f8d9f38. RTS: Use SSE2 conversion for rounding.      
5115        v0lt         /     mpc-hc dd44bd9d62. RTS: Fix artifacts after scaling due to improper rounding.

Как мы видим, изменений в плане обработки субтитров из другого проекта "MPC-HC" было перенесено немало.
Аж целый десяток. Так что неудивительно, что возникла поломка в обработке различных спецэффектов.
[merge_posts_bbcode]Добавлено: 2017-10-18 02:50:31[/merge_posts_bbcode]

В общем, другая команда разработчиков, другого проекта "MPC-HC", сначала внесла свои изменения в обработку субтитров, добавив данный косяк, а мы просто подряд все эти изменения начали переносить, при этом, тщательно не проверив и не протестировав их на различных анимационных субтитрах.
Отсюда, соответственно, мы имеем поломку, связанную с обработкой спецэффектов.
Она просто перестала работать, вот и все.

Поскольку, мне не удалось отыскать более ранние билды после 5115 и до 5150, единственным решением будет по очереди, а если точнее, то по одному откатывать каждое изменение и проверять работоспособность данного спецэффекта.

Особенно сомнительными и подозрительными являются изменения: 5115, 5122, 5143.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

А вот у меня как в полный экран :)


P.S. В окне нет спецэффектов ...
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

Evgeniy1990
ЦитироватьСписок изменений, входящих в данный диапазон [1.4.3.5114->1.4.3.5151], из прежнего хранилища, я нашел.
Напомни где он лежит?

Надо будет еще в MCP-HC поискать. Скорее всего ихние оптимизации повлияли.
MPC-HC old versions
[merge_posts_bbcode]Добавлено: 2017-10-18 06:39:50[/merge_posts_bbcode]

Обновил первое сообщение.
Работало в MPC-HC 1.7.0.7858 (a1ef5bd).
[merge_posts_bbcode]Добавлено: 2017-10-18 06:44:20[/merge_posts_bbcode]

Aleksoid1978
Так и запишем - проверять в уменьшеном окне. :)

Aleksoid1978

Ну по идее и надо в HC искать, ибо у нас и история svn отсутствует.
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

Evgeniy1990

Цитата: Aleksoid1978Ну по идее и надо в HC искать, ибо у нас и история svn отсутствует.
Историю (список изменений) и с прежнего SVN я вам выложил (с 5115 по 5150).
Проблема в том, что отсутствует не сама история (список изменений), а исходные коды этих изменений.

Согласен, что нужно искать в проекте "MPC-HC", но у них там попробуй чего найди...

Цитата: V0ltНапомни где он лежит?
У меня. :) Я в свое время сохранял полностью все логи изменений. И, как оказалось, не зря.

В общем, необходимо отыскать следующие git-номера, исходя из изменений:

1. mpc-hc dd44bd9d62
2. mpc-hc 231f8d9f38
3. mpc-hc 5edd3205ef

[merge_posts_bbcode]Добавлено: 2017-10-18 13:20:46[/merge_posts_bbcode]

Нашел:

https://github.com/mpc-hc/mpc-hc/commit/dd44bd9d62
https://github.com/mpc-hc/mpc-hc/commit/231f8d9f38
https://github.com/mpc-hc/mpc-hc/commit/5edd3205ef

[merge_posts_bbcode]Добавлено: 2017-10-18 13:29:55[/merge_posts_bbcode]

Вот именно с этих первых трех коммитов и надо начать проверять.  
Взять откатить зеленые (новые) изменения и вернуть красные (старые, исходные) по одному, а лучше все сразу, скомпилировать билд и проверить в нем эти субтитры с этим спецэффектом.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

А вот кто будет это делать ...

P.S. Скажу точно что не 2 последних. Да и на счет первого коммита не уверен что он мог поломать - ибо там наоборот, добавили точность убрав преобразования типов. Хотя всякое может быть - но нет времени проверять, надо много строчек перелапатить ))
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

Evgeniy1990

Цитата: Aleksoid1978А вот кто будет это делать ...

P.S. Скажу точно что не 2 последних. Да и на счет первого коммита не уверен что он мог поломать - ибо там наоборот, добавили точность убрав преобразования типов. Хотя всякое может быть - но нет времени проверять, надо много строчек перелапатить ))
Я могу попробовать, просто по очереди, начиная с первого изменения, откатывать, а далее уже собирать и проверять.
Затем остальные точно также. Вроде не сложно, благо исходный (красный) код перед глазами.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt

Добавил информацию по MPC-HC в первое сообщение.
Все изменения в папке Subtitle от 05.07.2014 до 24.08.2014 на одной сранице:
https://github.com/mpc-hc/mpc-hc/commits/develop?after=5b96d63c388e34aae856224b77246de617470ce6+0&path[]=src&path[]=Subtitles

Aleksoid1978

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