Prez
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору 0Vovan0 Цитата: В общем то сделать так уже попробовал, на компьютере играется как надо, и ничего лишнего непонтяного ненадо править . Что скажеш? | Прежде всего зря ты сюда это бахнул. Лучше бы было выложить архив, как я просил. Во всех отношениях лучше. И пост меньше и мне много понятнее было бы. Авторинг диска похож на авторинг DVD Maestro, но нестандартный. В стандартном то же самое, но задействованы другие регистры. А поэтому надо взглянуть, что там еще наворочено. В приведенной PGC (в стандартном авторинге это VMGM PGC 2) проверяется значение регистра GPRM3 (в стандартном GPRM4), в котором задается цифирь запуска нужного Title и Chapter в нем. Старший байт содержит номер чаптера и заносится в GPRM5 (GPRM6), младший соответственно номер тайтла GPRM3 (GPRM4). Эти значения можно задать и явно (старший байт GPRM3 будет = 0), тогда вычисление вначале выполняться не будет (условие в строке 3) а сразу пойдет анализ на какой Title переходить (строка 8). При переходе на нужный Title из GPRM5 таким же анализом будет вынут номер чаптера и сделан переход на него. Как правило задают одно значение GPRM3, содержащее при необходимости оба параметра. Например, Set GPRM3 = 773 (00000011 00000101), что означает переход на Title 5 и на Chapter 3 в нем. Теперь как безопасно менять. Надо пройти весь путь по всем PGC с рекламой, которые проигрываются до фильма/меню, собрать все меняющиеся по пути значения регистров GPRM, удалить дубликаты, засунуть все эти изменения в ту же FP_PGC (если все команды там будут разрешены) и зарулить выполнение куда тебе надо. Если что-то будет запрещено (к примеру, установка параметров звука/субтитров/углов, то это надо будет перенести в оставшиеся VTS. Я всегда делаю так, сокращая количество мусора на диске. Либо можно использовать Kill playback. Но тогда останется мусор). Ты сделал правильно, за исключением сбора значений всех этих регистров. Могут быть падлянки в диске в виде нарушения навигации, если что-то не было проиграно (проверка значений регистров). Я такое встречал ну очень редко, но попадалось. Цитата: Directshow фильтр навигации по двд, типа двд-движок. | Даже не знал об этом. Как-то трудно представляемо как сия навигация должна взаимодействовать с плеером (тем же MPC) и диском/приводом/драйверами. Её функции? В любом случае у PowerDVD все свое. Цитата: В принципе за мпс пока замечал только косяки с нажатием на некоторые кнопочки | Когда я его пробовал, то не работали переходы между Title. Плюс кнопки в меню можно нажимать только мышью (не проверить режима Autoaction в меню). Плюс какие-то проблемы с субтитрами были. В общем, как я и писал, "на посмотреть" сойдет, особенно если есть проблемы с лицензированием. Для проверок дисков его пользовать явно не стОит. Цитата: как понимаю править это стоит всегда и плохого ничего не случится точно | Плохого точно не случится. Я правлю всегда. Но проверяю диск потом. Чтобы было понятно, как это работает и делать или не делать. Плеер имеет системные регистры для хранения текущих номеров потоков звука, субтитров, углов. Пишу для звука, но это относится и к остальным тоже. Для звука выделен SPRM1. Этот регистр инициализируется при вставке нового диска или включении плеера. Также его значение может меняться при переходах между VTS. При старте, если не задать никакого звука (и этого не сделано в диске), то плеер попытается сам установить дорожку в соответствии со своими предустановками. Если в предустановках задан русский, к примеру, то плеер будет искать дорожку в текущем VTS с русским языком и поместит ее номер в SPRM1. Если не найдет, то поставит первый по счету язык (или как там запрограммировано его ПЗУ). Если явно выбрать дорожку, то она и будет установлена в данном VTS и ее номер занесен в SPRM1. При переходе между VTS-ами значение регистра SPRM1 не меняется, если новый VTS содержит равное или большее количество дорожек (а именно это количество и прописано в VTSI_MAT). Если меньшее, то будет установлена дорожка с меньшим номером, не превышающим значения в таблице в соответствии с правилами, как при старте диска. Последствия понятны. Если основной фильм имеет 4 дорожки, а допы всего 2, то установки для 3 и 4 дорожки фильма потеряются при переходе в домен допов, если об этом грамотно не позаботился автор диска. И вернувшись в фильм ты получишь другую дорожку звука. Чтобы этого не происходило есть два пути - тупо задать во всех VTS максимальное число дорожек, внеся глюк в диск, зато не заморачиваясь. Либо проанализировать ситуацию и запоминать установки при выходе из тех VTS, в которых число дорожек больше (или VTS важнее), а затем по возврату в них, восстанавливать эти значения. Это уже красиво и профессионально, но геморно. Надо думать головой, что многие не любят делать. Я считаю, что и оставить как есть - глюк, и исправить не проверив - тоже может быть глюк. Оба разумеется некритичные. Но это глюки. Цитата: Если несложно можеш пояснить примерно как это делать? | Если по всем правилам, то сложно. Точнее сложновато так вот через конфу все расписывать. Давай его архив из PgcEdit_backup. Там должны быть только все файлы IFO и файл menubuttons. Ну и до понедельника минимум. У меня инета не будет. Если просто "залечить" и это устроит, то нужно открыть его в PgcEdit, принудительно создать во всем диске Timemap для всех Title (Rebuild all timemaps of DVD), затем открыть Title playmap table (кнопка таблички с зеленым треугольником) и поснимать руками все птички в колонке "Not one sequential Title". Нажать Ок. Записать диск. Попробовать. |