Давным-давно (в 1998 году) решил я проапгрейдить свой видак на что-нибудь новое и клевое и увидел в одной конторе видеокарту ASUS 3DPV3000TV . И так она мне понравилась - крутая гайка RIVA-128, память 4 Mb и ,главное - видео вход ! У меня тогда стояло S3 Trio 64V+ 2 Mb и улучшение было значительным. Однако что делать с видео входом я тогда еще не знал (не было источника сигналов).
Все поменялось через пару месяцев когда я приобрел видеомагнитофон, а телевизора у меня конечно не было и покупать его совсем не хотелось. Вот тут то и возникла идея - надо видик смотреть через этот видеовход !
На сидюке с картой давалась программа просмотра видео LIVE3000 v 1.20. После ознакомления с "возможностями" программы возникло легкое разочарование. Изображение было почему-то приплюснутым (как я понял позднее оно состояло из 240 строк вместо 288), SECAM конечно отсутствовал и ни про какое capture конечно не могло быть и речи. Все в общем как с обычными советскими вещами - ты покупаешь в магазине вещь, сразу ее разбираешь, собираешь и после этого она работает долго , хорошо и качественно (главное конечно чтобы при этом не осталось лишних деталей...).
Сначала конечно пришлось сделать SECAM - после ознакомления со спецификацией чипа PHILIPS SAA7111A которую раздавали прямо на сайте производителя это оказалось совсем не трудно (использовался только HIEW). Однако со строками все оказалось чуть сложнее. Пришло пожождать пока ASUS разродился следующей версией Живья 3000 2.20. Эта версия была существенно лучше первой. В ней стало правильное количество строк в полукадре и после аналогичной доработки (SECAM'a конечно опять не было) изображение стало вполне смотрябельным. Однако присмотревшись к нему повнимательнее удалось увидеть что, к сожалению, на экране отображалось только одно поле видеосигнала. В то время как в версии 1.20 были оба (правда сплющенные). С этим поделать ничего также не удалось и пришлось ждать следующей версии.
И тут случилась беда. Эти уродцы не доделав одну гайку выпустили новую - RIVA TNT . Понятно конечно что людям хотелось кушать (а еще наверно по кабакам ходить) и лучшим способом убедить пользователей заплатить деньги за новую клевую гайку конечно было бросить поддерживать старую. Следующая версия программы уже была переименована в LIVE3400 v 3.00 потому, что новая клевая видеокарта называлась ASUS V3400-TV . После некоторой доработки (при помощи замены 7Xh на EBh) а также ставшей уже традиционной доделкой SECAM данная версия стала лучшей во всех отношениях т.е. не месте были оба поля и в них были все строки ("Наконец-то Шеф !"). Потом ASUSTEK выпустил много последующих версий этого живья (сейчас последняя версия называется ASUSLIVE 4.6) при этом в них периодически возникали то улучшения, то ухудшения (периодически (от версии к версии) пропадало второе поле, потом появлялось , начиная с кокой-то версии появился наконец официально SECAM, а также появилась вроде поддержка V3000, однако только на просмотр), но я оставил эту доработанную LIVE3400 V 3.00 отчасти потому что от добра добра не ищут. Как нетрудно догадаться речь тут шла о работе только из-под WIN-9X (конкретно Windows98/SE) - в NT-образных ОС ситуация значительно хуже (реально там вообще ничего не работает). Среди великого множества разнообразных драйверов фактически имеется выбор только между двумя вариантами:
Версия 2.07
Версия 3.41b2
При этом версия 3.41 вроде бы быстрее в смысле 3D (однако это спорно) , но если вам нужен нормальный просмотр видео и при этом также и возможность использовать прямойХ 8:, то выбора нет вовсе - это версия 2.07. Поэтому все дальнейшие программы подразумевают у вас наличие именно этой версии драйверов.
После удачной организации просмотра некоторое время я был вполне доволен результатом, но потом захотелось большего - каптурить. С драйверами 2.07 поставлялся capture driver v 1.1.0.0. Через него живье могло записывать файлы с разрешением 352х288 (были и еще более мелкие разрешения, но какой от них толк ?) в форматах 8,16 и 24 бит. Также можно было использовать системные кодеки. Были предприняты многочисленные попытки что-нибудь скаптурить, но реально ничего не получилось. Лучшее достижение это 20 кадров в сек 16 бит (hi-color). Сказать, что это отстой - значит ничего не сказать. Я тогда подумал, что дело в компьютере - 208 Мгц K6 и 64 М памяти не были последним писком для 2000 года. И вот в январе 2001 года компьютер был улучшен - DURON-700 (@763) 128 M и видак ASUS V3000ZX-TV - таже RIVA-128 , 8 Мб и AGP 2x вместо PCI. Я нажал кноку "Cpture" и ... 352*288 25 кадров 16 бит HiColor. Вот тут-то мне и стало грустно. Поколебавшившись некоторое время я произвел полный REVERSE Ingeneering этого каптуре драйвера. Что я там увидел описать словами очень трудно (на ум приходят одни междометья). Я сразу понял что этот драйвер всего лишь навеска на объект VIDEOPORT из Прямого Х. Он (драйвер) запускал ПрямойХ, получал адрес оверлея с видео изображением и по море поступления кадров распихивал их в пользовательские буфера. Причем в буфере изображение хранилось в формате UYVY, а затем программно (да еще и с ошибками) преобразовывалось драйвером в RGB (8,16 или 24 бит). Таким образом основное, что он делал - это висел на прерывании от видеокарты, проверял а не пришел ли следующий кадр и перегонял его в буфер и все. Меня конечно удивило почему это занимает так много времени, что даже на таком быстром (для начала 2001 года )компьютере это все так тормозит. Поэтому я решил улучшить драйвер (попутно встроив в него уже сколько раз делавшуюся поддержку SECAM). Сначала я выкинул ненужный мне HICOLOR16 и заменил его на простую пересылку (REPZ MOVSD) - получилась поддержка формата UYVY. Кстати сказать с более новыми картами ASUSTEK стал поставлять очень хорошие программные кодеки ASUSASV1 и ASUSASV2, но они работают только если входной поток в формате UYVY. После этой переделки кодек ASV1 заработал и 352*288*25 TRue Color - VideoCD quality стало доступно правда на грани производительности. После этого я решил выяснить, что же занимает основное время и оказалось - ПЕРЕСЫЛ из памяти видеокарты в основную память. Был написан маленький тест и вот его результаты:
Measuring for 640x480x16 Frame Buffer... Reading Speed (MOVSD): +7.5900 Writing Speed (MOVSD): +176.0486 Reading Speed (MMX-MOVQ): +13.8191 Writing Speed (MMX-MOVQ): +212.3061 Measuring for 640x480x32 Frame Buffer... Reading Speed (MOVSD): +7.3207 Writing Speed (MOVSD): +176.0571 Reading Speed (MMX-MOVQ): +13.2067 Writing Speed (MMX-MOVQ): +212.3085 Measuring for 800x600x16 Frame Buffer... Reading Speed (MOVSD): +7.3862 Writing Speed (MOVSD): +176.2608 Reading Speed (MMX-MOVQ): +13.5299 Writing Speed (MMX-MOVQ): +212.3031 Measuring for 800x600x32 Frame Buffer... Reading Speed (MOVSD): +6.9686 Writing Speed (MOVSD): +176.2605 Reading Speed (MMX-MOVQ): +12.5814 Writing Speed (MMX-MOVQ): +212.3087 Measuring for 1024x768x16 Frame Buffer... Reading Speed (MOVSD): +7.1438 Writing Speed (MOVSD): +175.9130 Reading Speed (MMX-MOVQ): +12.9114 Writing Speed (MMX-MOVQ): +212.3093 Measuring for 1024x768x32 Frame Buffer... Reading Speed (MOVSD): +6.7881 Writing Speed (MOVSD): +173.9056 Reading Speed (MMX-MOVQ): +12.2923 Writing Speed (MMX-MOVQ): +212.3085
Циферки справа это скорость пересыла в мегабайтах в секунду. При этом были включены и AGP 2X и WRITE COMBINING - без них скорости пересыла в видеокарту примерно в два раза хуже, но нас то интересует пересыл оттуда !. А там цифры просто смехотворные ! Вот он и тормоз да еще какой. Ведь если сосчитать скажем для разрешения 352*288, то получается что пересыл занимает около 70% всего времени работы. А за оставшиеся 30% надо это упаковать и записать на винт. Работа с большими разрешениями вообще невозможна в принципе. Ну рецепт ясен - надо делать пересыл через MMX инструкции. После перехода на такой пересыл даже на машине с процем Cyrix M2 200 Mhz стало без потерь кадров каптурится 352*288*25*ASV2. Однако захотелось еще больше. Ведь видно, что в принципе на быстром процессоре можно попробовать увеличить размеры изображения. Каптуре драйвер был еще раз переделан - из него были выброшены идиотские мелкие разрешения, а оставлены самые нужные: 352*288,704*288,352*576,704*576. В последнем из них невозможно получить 25 кадров потому, что как ни крути 14 мб/c меньше чем 20. Но в обоих промежуточных разрешениях достигнуты прекрасные результаты (25 кадров без потерь ) на грани проиводительности процессора AMD DURON-763. Кроме того пришлось еще и подправить кодек ASUSASV2 , потому что он зачем-то проверял производителя видеокарты и драйверов для нее. Попытки дальнейшего увеличения скорости пересыла (путем перемещения оверлея в нелокальную видеопамять )успехом не увенчались - видимо основной видеодрайвер не поддерживает видеооверлей в нелокальной видеопамяти.
Следует заметить, что пока происходили описанные выше события у меня был только эпизодический доступ в интернет, поэтому я не знал о существовании такой продвинутой программы как Video Live . Программа в целом очень хорошая однако для владельцев V3000 она не дает практически ничего. Сначала я было подумал, что этот Лукин все сломал и все может, но потом понял, что он просто прямо вызывает ПрямойХ вместо каптуре драйвера. Также его программа не работает (с V3000) под NT образными ОС. Но под 98 она отличная альтернатива живью (по крайней мере в смысле показа).
На этом исчерпывается для горемычных владельцев видеокарт на базе RIVA128 и RIVA128ZX набор программного обеспечения в сфере видео. Это тем более обидно, что по качеству собственно оцифровки видео они ничем не уступают более новым и дорогим картам. Более того для NT-образных ОС вы не найдете и нормального драйвера для 3D - хороший тест для этого известный всем скрин-савер-аквариум. Под 98 и HICOLOR рыбы еще будут плавать как надо но вот под 2000 или в TRUE COLOR ... А ведь причина этого видимо просто в том, что чипы NV3 делались NVIDIA совместно с STmicroelictronics в те времена, когда NVIDIA еще не была безусловным монополистом на рынке видеокарт. И ST microelectronics до сих пор видимо является владельцем каких-то прав на эти гайки, а кто же будет поддерживать конкурента ? И если на NV3 есть хоть какая-то документация, то найти хотя бы даже такое описание на RIVA TNT/TNT2 или GFX практически невозможно.
Ну не будем о грустном. Совсем недавно мне удалось снова проапгрейдить видеокарту - теперь уже на следующую модель того же ряда: ASUS V3400TV она имеет 16 М видеопамяти и базируется на первой гайке NVIDIA без ST - RIVA TNT. Что можно сказать об этой карте ? Ну рыбы конечно плавают везде. Имеется большое количество драйверов - все самые последние драйверы от NVIDIA поддерживают ее (однако сильно сомневаюсь, что замена драйверов на новые ведет к каким-то улучшениям ) однако было замечено, что под 98 только драйвера версии 2.25 (самые древние) работают с видеовходом правильно. Все остальные попросту путают поля ! Т.е. иногда мне кажется , что в них совсем нет никакой синхронизации с полями входного видеосигнала. Так что делайте выводы сами. Под 2000 вообще песня. Имеется ASUS каптуре драйвер ACAP2000, представляющий собой просто перекомпилированный драйвер ACAPNT. Работает он так что лучше бы не работал - 352*288*25*ASV2 еще удается скаптурить (но не всегда !). Единственное спасение - программа Лукина - показывает неплохо, но каптурит надежно только одно поле т.е. 704*288. При попытке скаптурить два поля результат не определен и зависит от фазы Луны и всего такого. Вообще в конференциях много говорилось о том что два поля - это изначально криво - будут зазубрины на краях движущихся объектов и т.д. Но это далеко не всегда так. Если каптурить ПРАВИЛЬНЫЙ МАТЕРИАЛ, то никаких артефактов движения при правильном драйвере видеокарты и правильном каптуре драйвере не будет. Правильный материал - это в первую очередь кинофильм. Пусть даже и принятый с ТВ. В таком материале изначально нет разницы во времени между полями т.к. фильм снимали КИНОКАМЕРОЙ НА ПЛЕНКУ на 24 кадра и по телику он обычно идет просто чуть-чуть быстрее (на 1/24 секунды). Кроме того сейчас пошла мода показывать фильмы с DVD а там если кинофильм оцифровывают то тоже с пленки высокого разрешения и 24 кадра. Конечно если кто-то захочет скаптурить сериал про дона Педро, то ему не повезло - придется использовать только одно поле - их снимают ТЕЛЕВИЗИОННОЙ камерой. Отсюда видно что для теста всей системы каптурения достаточно иметь записанный на видеокассете проверенный кинофильм.
С точки зрения скоростных характеристик под ДОС (да кому-то это еще интересно) карта разочаровала, т.к. оказалась медленнее чем RIVA ZX:
Vendor ID:10DE, Device ID:0020 Takt=762981223 Base=D4000000 Measuring for 640x480x16 Frame Buffer... Reading Speed (MOVSD): +6.5130 Writing Speed (MOVSD): +131.7222 Reading Speed (MMX-MOVQ): +11.9194 Writing Speed (MMX-MOVQ): +217.0478 Measuring for 640x480x32 Frame Buffer... Reading Speed (MOVSD): +6.1917 Writing Speed (MOVSD): +127.4590 Reading Speed (MMX-MOVQ): +11.8844 Writing Speed (MMX-MOVQ): +217.2696 Measuring for 800x600x16 Frame Buffer... Reading Speed (MOVSD): +6.4580 Writing Speed (MOVSD): +129.7694 Reading Speed (MMX-MOVQ): +11.8351 Writing Speed (MMX-MOVQ): +217.0844 Measuring for 800x600x32 Frame Buffer... Reading Speed (MOVSD): +6.3603 Writing Speed (MOVSD): +122.7132 Reading Speed (MMX-MOVQ): +11.0459 Writing Speed (MMX-MOVQ): +216.9790 Measuring for 1024x768x16 Frame Buffer... Reading Speed (MOVSD): +6.4047 Writing Speed (MOVSD): +123.2777 Reading Speed (MMX-MOVQ): +11.6452 Writing Speed (MMX-MOVQ): +216.9419 Measuring for 1024x768x32 Frame Buffer... Reading Speed (MOVSD): +6.2731 Writing Speed (MOVSD): +109.3529 Reading Speed (MMX-MOVQ): +11.4672 Writing Speed (MMX-MOVQ): +210.5374
Для большинства ДОС приложений имеет значение запись через MOVSD (ну не знают они MMX) а она почти в полтора раза медленнее ! И даже разгоном памяти до 150 Mhz ( что правда начисто вырубило все 3D функции) ее удалось довести только до 160 Mb/s ( а RIVA ZX без всякого разгона - 178 !) Я например смотрю под ДОС DIVx фильмы и на этой TNT стало ощутимо медленнее.
После публикации статьи прошло время - многие пишут что не могут достать драйвер версии 2.07 - хоть мне это и странно- но видимо это так, поэтому ВОТ ОН - ASUS driver for V3000/ZX V 2.07
Ну и конечно вышла промашка с разрекламированным каптуре драйвером А ВОТ И ОН - fast ASUSCAP.DRV with 704x576 UYVY
Некоторые люди пишут, что не могут достать драйвер версии 2.25 для V3400/V3800 - единственный драйвер из виденных мною, который правильно каптурит в формате 704х576 (т.е. имеет синхронизацию полей), поэтому ВОТ ОН - ASUS driver for V3400/3800 TV V 2.25 for WIN9X
If you have any suggestions, questions, money, work etc, please E-MAIL me: