Sprinter Video System (SVS)

Компьютер "Спринтер" http://sprinter.nedopc.org

Moderator: Shaos

User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Post by Vasil Ivanov »

Shaos wrote:
Vasil Ivanov wrote:
Shaos wrote:
CHRV wrote:
Shaos wrote:Да у них не видео, а по большей части мультики двухцветные - их можно сильно сжать даже моим SVS-ом...
Мы на CC06 демонстрировали видео на АТМ Турбо 2+ с СДРОМ, 16 цветное (15 кадров примерно в секунду) со звуком - народ был в шоке.
16 цветов всё-таки маловато будет - даже для чисто чёрно-белого надо 64 минимум, а уж для цветного - 256-цветная палитра это с натяжкой приемлемый минимум (идеально 65536 цветов иметь на экране).
Посидел за твоим видимо-плеером, пока не ясно, отчего не работает.
Как вспомогательное средство, могу бросить сорц плеера flc-файлов,
в свое время дизасмил его. Может аксель-процедуры, которые 100% работают на Спринтере, прикрутишь к себе в svs-плеер ?.

А формат твоего svs-видео (файлов) не секрет ?. Смотрю у тебя там
(в видео-файле) присутствуют какие-то служебные байты, по которым
происходит вызов соотв. процедур обработки.
Я вроде юзал те процедуры что у меня уже работали - надо повнимательнее перечитать сырцы... Формат могу задокументировать - только надо в тетрадках покопаться ;)
Конечно задокументируй формат своего svs-видео. Стройка начинается с туалета, а проекты должны начинаться с документации ;)
Поставь в цикл вызова п/программы "SVS" задержку, миллисекунд на 20 - увидишь в процессе прорисовок кадров появление разных глючков (мусора) на изображении. Чего-то у тебя там не верно вычисляется или это уже сам svs-файл не корректно сконверчен. Смотрел на твоем эмуле.

Задержка на 20 мс.

Code: Select all

   ld    hl,20000          ; 20ms
   dec   hl
   ld    a,l
   or    h
   jr    nz,$-3

P.S. А утиль конвертирующий видео -> svs доступен для масс ?. Если да, то давай делись им ;).
Vasil Ivanov
vasil-i@yandex.ru
User avatar
Shaos
Admin
Posts: 24097
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Мусор (черные точки кое где) - это неправильно сконверчено, я потом это дело поправил - в других более больших роликах искажений нет
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Post by Vasil Ivanov »

Shaos wrote:Мусор (черные точки кое где) - это неправильно сконверчено, я потом это дело поправил - в других более больших роликах искажений нет
Понял. Слушай, а не маловато 8 кадров/сек для видео ?. Это больше выглядит как слайд-шоу (хотя и хорошее). Гораздо лучше смотрится FLC-анимация. Это я к тому, что для нормального (более-менее) просмотра видео, Спринтера не достаточно, нужна дополнительная примочка (или спец-прошивка в ППЛМ), которая будет декодировать видео-поток. Что скажешь ?.
Vasil Ivanov
vasil-i@yandex.ru
User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Post by Vasil Ivanov »

Shaos wrote:Мусор (черные точки кое где) - это неправильно сконверчено, я потом это дело поправил - в других более больших роликах искажений нет
Давай-ка создай svs-файл всего из одного кадра, но с изображением на нем, для тестовых нужд. И не забудь бросить картинку, как оно должно выглядеть. И опубликуй линки на них.
Vasil Ivanov
vasil-i@yandex.ru
User avatar
Shaos
Admin
Posts: 24097
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Vasil Ivanov wrote:
Shaos wrote:Мусор (черные точки кое где) - это неправильно сконверчено, я потом это дело поправил - в других более больших роликах искажений нет
Понял. Слушай, а не маловато 8 кадров/сек для видео ?. Это больше выглядит как слайд-шоу (хотя и хорошее). Гораздо лучше смотрится FLC-анимация. Это я к тому, что для нормального (более-менее) просмотра видео, Спринтера не достаточно, нужна дополнительная примочка (или спец-прошивка в ППЛМ), которая будет декодировать видео-поток. Что скажешь ?.
А FLC-проигрыватель что-то юзает в прошивке?

На самом деле мой проигрыватель должен моргать достаточно быстро, если в пределах кадра мало изменений, а вот если много - то будет слайд-шоу, тем не менее совсем программно будет ещё хуже - поэтому акселератор и заюзал.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Post by Vasil Ivanov »

Shaos wrote:
Vasil Ivanov wrote:
Shaos wrote:Мусор (черные точки кое где) - это неправильно сконверчено, я потом это дело поправил - в других более больших роликах искажений нет
Понял. Слушай, а не маловато 8 кадров/сек для видео ?. Это больше выглядит как слайд-шоу (хотя и хорошее). Гораздо лучше смотрится FLC-анимация. Это я к тому, что для нормального (более-менее) просмотра видео, Спринтера не достаточно, нужна дополнительная примочка (или спец-прошивка в ППЛМ), которая будет декодировать видео-поток. Что скажешь ?.
А FLC-проигрыватель что-то юзает в прошивке?

На самом деле мой проигрыватель должен моргать достаточно быстро, если в пределах кадра мало изменений, а вот если много - то будет слайд-шоу, тем не менее совсем программно будет ещё хуже - поэтому акселератор и заюзал.
Конечно FLC-плеер юзает аксель, без него никак.
Не понял, почему ты сказал "совсем программно..." ?. Я имел ввиду, что для декодирования видео-потока нужен "железный" декодер, а не софтовое декодирование, на которое у Спринтера (z80) мощи маловато.
Vasil Ivanov
vasil-i@yandex.ru
User avatar
Shaos
Admin
Posts: 24097
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Vasil Ivanov wrote:Конечно FLC-плеер юзает аксель, без него никак.
Не понял, почему ты сказал "совсем программно..." ?. Я имел ввиду, что для декодирования видео-потока нужен "железный" декодер, а не софтовое декодирование, на которое у Спринтера (z80) мощи маловато.
Ну дык у меня тоже аксель - формат на базе публично доступных команд акселя и создан. Тогда мне не понятно почему оно медленнее FLC получилось. Пока идея лишь в том, что FLC что-то недокументированное юзает.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Post by Vasil Ivanov »

Shaos wrote:
Vasil Ivanov wrote:Конечно FLC-плеер юзает аксель, без него никак.
Не понял, почему ты сказал "совсем программно..." ?. Я имел ввиду, что для декодирования видео-потока нужен "железный" декодер, а не софтовое декодирование, на которое у Спринтера (z80) мощи маловато.
Ну дык у меня тоже аксель - формат на базе публично доступных команд акселя и создан. Тогда мне не понятно почему оно медленнее FLC получилось. Пока идея лишь в том, что FLC что-то недокументированное юзает.
Кста, сорц этого самого FLC-плеера Антона Енина есть в его архиве разных сорцев, что Рома Чунин привозил из Питера.
А по поводу некоторой тормознутости твоего вывода - у тебя местами не оптимально написан код плеера. Мне к примеру не понятна такая твоя конструкция в плеере:

Code: Select all

	ld	a,(hl)
	ex	de,hl
	ld	(hl),a
	ex	de,hl
которая просто заменяется на:

Code: Select all

	ld	a,(hl)
	ld	(de),a
Подкачка файла с диска тоже вносит заметные тормоза. Кста, тебе надо сохранять порт #89, перед началом чтения файла, тогда у тебя не будет мусор на левом крае экрана. Когда то ты писал BMP-вьюер. Он у тебя медленнее выводит картинки на экран, чем GFXVIEW того же Антона Енина. Сорц этого gfxview тоже имеется.
Ничего недокументального не юзается, просто работа кода программ оптимальней написана.

P.S. Однокадровый svs-файлик еще не делал ?.
Vasil Ivanov
vasil-i@yandex.ru
User avatar
Максагор
Senior
Posts: 126
Joined: 08 Jun 2002 19:00
Location: Москва

Post by Максагор »

Shaos wrote:
CHRV wrote:
Shaos wrote:Да у них не видео, а по большей части мультики двухцветные - их можно сильно сжать даже моим SVS-ом...
Мы на CC06 демонстрировали видео на АТМ Турбо 2+ с СДРОМ, 16 цветное (15 кадров примерно в секунду) со звуком - народ был в шоке.
16 цветов всё-таки маловато будет - даже для чисто чёрно-белого надо 64 минимум, а уж для цветного - 256-цветная палитра это с натяжкой приемлемый минимум (идеально 65536 цветов иметь на экране).
Если правильно конвертить, как надо подобрав яркость/контрастность/насыщенность перед конвертацией в 16 цветов, то смотрится очень даже ничего. Если, конечно, смотреть само видео, а не выхваченные в эмуляторе скриншоты - динамика скрашивает отдельные пиксели.

А вообще надо попинать Диму Быстрова на предмет новой версии плеера и конвертера для видео с динамической адаптивной палитрой (тогда каждый кадр будет иметь свою палитру - сейчас же используется стандартная спектрумовская). Тогда, не смотря на то, что в каждом отдельном кадре будет по прежнему 16 цветов, для человека, смотрящего фильм в динамике перед глазами будет ежесекундно проходить вся 64-цветная палитра ATM. Это, конечно, не 64К, но тоже прогресс. Большего железо АТМ просто не позволяет...
Максагор
User avatar
Shaos
Admin
Posts: 24097
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Vasil Ivanov wrote:
Shaos wrote:
Vasil Ivanov wrote:Конечно FLC-плеер юзает аксель, без него никак.
Не понял, почему ты сказал "совсем программно..." ?. Я имел ввиду, что для декодирования видео-потока нужен "железный" декодер, а не софтовое декодирование, на которое у Спринтера (z80) мощи маловато.
Ну дык у меня тоже аксель - формат на базе публично доступных команд акселя и создан. Тогда мне не понятно почему оно медленнее FLC получилось. Пока идея лишь в том, что FLC что-то недокументированное юзает.
Кста, сорц этого самого FLC-плеера Антона Енина есть в его архиве разных сорцев, что Рома Чунин привозил из Питера.
А по поводу некоторой тормознутости твоего вывода - у тебя местами не оптимально написан код плеера. Мне к примеру не понятна такая твоя конструкция в плеере:

Code: Select all

	ld	a,(hl)
	ex	de,hl
	ld	(hl),a
	ex	de,hl
которая просто заменяется на:

Code: Select all

	ld	a,(hl)
	ld	(de),a
Подкачка файла с диска тоже вносит заметные тормоза. Кста, тебе надо сохранять порт #89, перед началом чтения файла, тогда у тебя не будет мусор на левом крае экрана. Когда то ты писал BMP-вьюер. Он у тебя медленнее выводит картинки на экран, чем GFXVIEW того же Антона Енина. Сорц этого gfxview тоже имеется.
Ничего недокументального не юзается, просто работа кода программ оптимальней написана.

P.S. Однокадровый svs-файлик еще не делал ?.
Да - есть что пооптимизить, но ведь это мелочи?
Я тут за главного - если что шлите мыло на me собака shaos точка net
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Shaos wrote:Да - есть что пооптимизить, но ведь это мелочи?
Смотря в каких циклах эти мелочи находятся... ;)

P.S. Пойду качать эмулятор спринтера...
User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Post by Vasil Ivanov »

Shaos wrote:
Vasil Ivanov wrote:
Shaos wrote:
Vasil Ivanov wrote:Конечно FLC-плеер юзает аксель, без него никак.
Не понял, почему ты сказал "совсем программно..." ?. Я имел ввиду, что для декодирования видео-потока нужен "железный" декодер, а не софтовое декодирование, на которое у Спринтера (z80) мощи маловато.
Ну дык у меня тоже аксель - формат на базе публично доступных команд акселя и создан. Тогда мне не понятно почему оно медленнее FLC получилось. Пока идея лишь в том, что FLC что-то недокументированное юзает.
Кста, сорц этого самого FLC-плеера Антона Енина есть в его архиве разных сорцев, что Рома Чунин привозил из Питера.
А по поводу некоторой тормознутости твоего вывода - у тебя местами не оптимально написан код плеера. Мне к примеру не понятна такая твоя конструкция в плеере:

Code: Select all

	ld	a,(hl)
	ex	de,hl
	ld	(hl),a
	ex	de,hl
которая просто заменяется на:

Code: Select all

	ld	a,(hl)
	ld	(de),a
Подкачка файла с диска тоже вносит заметные тормоза. Кста, тебе надо сохранять порт #89, перед началом чтения файла, тогда у тебя не будет мусор на левом крае экрана. Когда то ты писал BMP-вьюер. Он у тебя медленнее выводит картинки на экран, чем GFXVIEW того же Антона Енина. Сорц этого gfxview тоже имеется.
Ничего недокументального не юзается, просто работа кода программ оптимальней написана.

P.S. Однокадровый svs-файлик еще не делал ?.
Да - есть что пооптимизить, но ведь это мелочи?
Согласен, это все мелочевка, да и разговор не о том начинался. Давай ваяй однокадровый svs-файлик.
Vasil Ivanov
vasil-i@yandex.ru
User avatar
Shaos
Admin
Posts: 24097
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Vasil Ivanov wrote:Давай ваяй однокадровый svs-файлик.
Ок - надо портануть конвертилку в линух. Я щас дома только линухом пользуюсь, а старая конвертилка была в 2003 году под винду писана, правда на универсальном движке, т.е. портируемо.
Я тут за главного - если что шлите мыло на me собака shaos точка net
Shiru Otaku
Retired
Posts: 490
Joined: 16 Mar 2002 17:00

Post by Shiru Otaku »

А вообще надо попинать Диму Быстрова на предмет новой версии плеера и конвертера для видео с динамической адаптивной палитрой (тогда каждый кадр будет иметь свою палитру - сейчас же используется стандартная спектрумовская). Тогда, не смотря на то, что в каждом отдельном кадре будет по прежнему 16 цветов, для человека, смотрящего фильм в динамике перед глазами будет ежесекундно проходить вся 64-цветная палитра ATM. Это, конечно, не 64К, но тоже прогресс. Большего железо АТМ просто не позволяет...
Не получится ничего, это мы с ним давно уже обсуждали. Дело в том, что каждый кадр обновляется не весь экран, а только его часть. Т.е. одновременно на экране могут находится знакоместа с предыдущего, пре-предыдущего, и так далее кадров. И полностью экран перерисовывается кадра за 3-4.
User avatar
Shaos
Admin
Posts: 24097
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shiru Otaku wrote:
А вообще надо попинать Диму Быстрова на предмет новой версии плеера и конвертера для видео с динамической адаптивной палитрой (тогда каждый кадр будет иметь свою палитру - сейчас же используется стандартная спектрумовская). Тогда, не смотря на то, что в каждом отдельном кадре будет по прежнему 16 цветов, для человека, смотрящего фильм в динамике перед глазами будет ежесекундно проходить вся 64-цветная палитра ATM. Это, конечно, не 64К, но тоже прогресс. Большего железо АТМ просто не позволяет...
Не получится ничего, это мы с ним давно уже обсуждали. Дело в том, что каждый кадр обновляется не весь экран, а только его часть. Т.е. одновременно на экране могут находится знакоместа с предыдущего, пре-предыдущего, и так далее кадров. И полностью экран перерисовывается кадра за 3-4.
Ну ведь это можно предусматривать - т.е. менять только те цвета, которые уже не присутствуют на экране. В моём SVS палитра как раз динамическая, но я честно говоря не помню насколько детально я анализировал использование цветов в "просвечивающих" из прошлого пикселах.
Я тут за главного - если что шлите мыло на me собака shaos точка net