NetLab · Rules · Torrent Tracker · Have a problem? · Eng/Rus | Помощь Поиск Участники Галерея Календарь |
Здравствуйте Гость ( Вход | Регистрация | Активация ) | Повторно выслать письмо для активации |
Страницы: (4) [1] 2 3 4 > ( К непрочитанному сообщению ) |
Переворот иврита в прошивках МТК, На примере APEX DVX - 811 |
|
Отправлено: 01-01-2006, 02:37
(post 1, #520797)
|
||
Member Группа: Members Сообщений: 134 Рейтинг:0% |
При сравнении старой и новой прошивки от APEX DVX - 811, которые любезно предоставили мне grif и Rusk, обнаружилась новая функция. Живет она в ARM коде и вызывается непосредственно перед показом субтитра. Содержит в себе длинный цикл, первым действием которго идет сравнение регистра R0 с 0х80, т.е. проверяется - с нижней или верхней таблицей ASCII имеем дело. Все это, а также то что новая прошивка умеет переворачивать иврит, заставило меня предположить, что найденная функция и является ответственной за данный фичер. Прилагаю листинг дизассемблера. P.S. Анализ кода сделан на основе документа "MPEG4 Subtitle Display in ARM", автор New Age Это сообщение отредактировал(а) moroz - 01-01-2006, 03:21 Присоединённый файл ( Кол-во скачиваний: 84 ) Listing.zip |
||
|
Отправлено: 01-01-2006, 16:49
(post 2, #520957)
|
||
Pro Member Группа: Members Сообщений: 738 Рейтинг:0% |
Посмотрел. Сложновато мне... |
||
|
Отправлено: 01-01-2006, 17:28
(post 3, #520968)
|
||
Member Группа: Members Сообщений: 134 Рейтинг:0% |
Сложновато - в смысле внедрить в другие прошивки? Или в смысле досконально понять саму функцию? |
||
|
Отправлено: 01-01-2006, 18:03
(post 4, #520980)
|
||
Pro Member Группа: Members Сообщений: 738 Рейтинг:0% |
Я её вообще не понимаю, какое уж там досконально. Внедрить без понимания тем более не выйдет. |
||
|
Отправлено: 01-01-2006, 20:11
(post 5, #521007)
|
||
Member Группа: Members Сообщений: 134 Рейтинг:0% |
Ну конечно выйдет. Я в тебя верю! А если серьезно: 1. Функция не принимает никаких аргументов и ничего не возвращает - это видно из того, как ее вызывают. 2. Внутри функции нет НИ ОДНОЙ внешней ссылки, кроме pARM_Shared_Memory - ее найти не проблема. Т.е. мы имеем вещь в себе, просто создана для того чтобы ее взяли и перенесли как она есть в другую прошивку. Ты ведь на этом собаку съел. А как именно она работает - не все ли равно? Это сообщение отредактировал(а) moroz - 01-01-2006, 20:19 |
||
|
Отправлено: 01-01-2006, 22:30
(post 6, #521068)
|
||
Pro Member Группа: Members Сообщений: 738 Рейтинг:0% |
Не так всё просто - она может и получать аргументы и возвращать результаты при помощи этой самой общей памяти, причём что там где находится зависит от прошивки. |
||
|
Отправлено: 02-01-2006, 00:16
(post 7, #521107)
|
||
Member Группа: Members Сообщений: 134 Рейтинг:0% |
Пардон, функция принимает аргументы и возвращает значение либо через стек, либо через регистры . Если ты имел в виду, что она может читать и изменять статическую память (в частности общую) - с этим трудно поспорить: должна же такая функция что-нибудь делать . В нашем конкретном случае нас интересует только структура самого субтитра, который лежит в этой памяти. В данной прошивке выглядит она так: по оффсету 0 - ничего. По крайней мере я не видел, что кто-то пользуется. по оффсету 1 - длина субтитра. по оффсету 2 и далее - непосредственно строка. Может эта структура отличаться в другой прошивке? Теоретически - да. Практически - вряд-ли. Но даже в этом случае можно будет разницу отследить по тому, как другие известные функции пользуются этой памятью. |
||
|
Отправлено: 02-01-2006, 00:58
(post 8, #521130)
|
||
Pro Member Группа: Members Сообщений: 738 Рейтинг:0% |
Слушай, если ты так хорошо во всём разобрался, почему бы тебе самому не попробовать встроить эту функцию ? Вот лично мне неясно как она определяет, включен иврит или русский (а на апексе переворачивать или не переворачивать определяется именно этим). Даже если я знаю где это определено в меню, я ещё не выяснил как в АРМ получают доступ к выбранному значению. А без этого как я проверю работоспособность непонятного мне куска кода ? |
||
|
Отправлено: 02-01-2006, 19:29
(post 9, #521409)
|
||
Member Группа: Members Сообщений: 134 Рейтинг:0% |
Да нет, такое мне не под силу. Ну, значить, не судьба покаместь... |
||
|
Отправлено: 23-02-2006, 21:54
(post 10, #555703)
|
||||
Member Группа: Members Сообщений: 134 Рейтинг:0% |
Я сабфиксом никогда не пользовался, у меня своя утилитка написана. Она это дело специально отлавливает. Самый надежный способ узнать - проверить на практике. Кривой файл у тебя уже есть.
Ультимативных проверок у меня нет. Могу предложить простенький тест, на котором я отлаживал свои первые версии. Это "обязательная программа". Каждый уважающий себя алгоритм переворота обязан его выполнить правильно, т.е. на экране строчки должны изображаться точно так же, как они видны, скажем, в ноутпаде. Только обрати внимание, что это неправильный файл. Надо его немного исправить (времена, разбить по 2-3 строчки и т.д) Это сообщение отредактировал(а) moroz - 23-02-2006, 22:12 Присоединённый файл ( Кол-во скачиваний: 78 ) Test.srt |
||||
|
Отправлено: 23-02-2006, 22:01
(post 11, #555711)
|
||
Member Группа: Members Сообщений: 134 Рейтинг:0% |
Вот еще. Это файл с субтитрами, в котором одна из моих старых версий давала ошибки. Первой строчкой идут названия файлов, а дальше проблемная строчка. Скобками я пока не занимался, но вот одна такая строка: ( -תורגם ע"י: חומוס_צ'יפס_סלט ( -חומוס правая скобка может оказаться зеркально развернутой. Добавлено О господи, что стряслось с ивритской строкой!!! Ладно, я ее добавил прямо в файл первым номером. Это сообщение отредактировал(а) moroz - 23-02-2006, 22:07 Присоединённый файл ( Кол-во скачиваний: 120 ) Errors.srt |
||
|
Отправлено: 23-02-2006, 22:59
(post 12, #555746)
|
||
Member Группа: Members Сообщений: 184 Рейтинг:0% |
moroz Спасибо за файлы. Мне не совсем понятно почему в Errors.srt ты создал такое количество строк?Почему нельзя было сразу сделать его 2-3 строчным? ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Интересуют ли тебя результаты моего тестирования?Это я к тому что бы не писать об этом впустую. Это сообщение отредактировал(а) ivani4 - 23-02-2006, 23:03 |
||
|
Отправлено: 23-02-2006, 23:53
(post 13, #555785)
|
||
Pro Member Группа: Members Сообщений: 738 Рейтинг:0% |
Лично меня - очень интересуют. Думаю, что не ошибусь, если скажу, что moroz-а тоже. Это сообщение отредактировал(а) cax - 23-02-2006, 23:53 |
||
|
Отправлено: 24-02-2006, 00:09
(post 14, #555793)
|
||
Member Группа: Members Сообщений: 134 Рейтинг:0% |
Просто я проверял алгоритм на своей утилите, а ей без разницы. Извини что заставил тебя поработать. А результат, конечно, интересует. Но только чтобы он оказался достаточно плохим! |
||
|
Отправлено: 24-02-2006, 09:05
(post 15, #555943)
|
||
Member Группа: Members Сообщений: 184 Рейтинг:0% |
moroz Дело не в том что ты заставил меня работать.Просто я не уверен что изменённый мною файл будет выглядеть так как хотелось бы тебе. |
||
Страницы: (4) [1] 2 3 4 > |