Важная информация

User Tag List

Показано с 1 по 10 из 10

Тема: CD-ROM

  1. #1
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Благодарностей: 1071
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation CD-ROM

    Пишем плейер видео (со звуком) с CD-ROM'а.

    При чтении CD наблюдается торможение между секторами. Насколько сильно тормозит - зависит от конкретного привода. Как бороться? Пробовали и команду #EB, и команду #28 - эффект одинаковый.

    У кого-нибудь работало блочное чтение секторов с CD-ROM?

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,948
    Благодарностей: 1520
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone
    Пишем плейер видео (со звуком) с CD-ROM'а.

    При чтении CD наблюдается торможение между секторами. Насколько сильно тормозит - зависит от конкретного привода. Как бороться? Пробовали и команду #EB, и команду #28 - эффект одинаковый.

    У кого-нибудь работало блочное чтение секторов с CD-ROM?
    Блочное работало, хотя по каким-то причинам потом от него отказались.
    Лучше всего себя показал CD-ROM Asus, хуже всего работали всяческие
    Combo & RW.

  4. #3
    Veteran Аватар для SMT
    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Благодарностей: 30
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    насколько тормозит? может, после чтения очередного сектора дать команду на следующий, а DRQ пусть висит, пока данные не понадобятся...или так тоже не успевает?

    буферизация сильно испортит скорость?
    Последний раз редактировалось SMT; 04.01.2006 в 08:57.

  5. #4
    Veteran Аватар для jtn
    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,147
    Благодарностей: 5
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я пожалуй порассуждаю как теоретик:
    данные с диска читаются гораздо медленнее чем даже минимальная скорость привода, т.е.
    1x - 176kb/s. А поскольку сектора не буферизируются (в часности т.к. не используется команда блочного чтения), то получается временной "зазор" - время ожидания, когда диск встанет на нужный сектор.
    Теперь, что можно тут сделать. Команду блочного чтения я бы все-таки не стал использовать, ввиду её не стабильности - по крайней мере, неизвестно как она будет выполняться на других приводах.
    Остаются варианты:
    1) синхронное чтение - как посоветовал SMT, пробовать после чтения одного сектора сразу давать команду чтения другого - по идее привод должен считать в буфер, а из буфера читать уж когда нам будет нужно.
    2) полностью рассинхронизовать чтение-вывод (видимо, нельзя будет грузить прямо в экран...)

    p.s. поздравляю AlCo с выходом в сеть - первое значимое событие 2006 года o_O

  6. #5
    Veteran Аватар для SMT
    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Благодарностей: 30
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ещё кеш в приводе на 1-2mb - обычное дело. можно попробовать дать команды чтения на несколько секторов вперёд, не читая данные (на эмуляторе такой номер не пройдёт). потом уже должно из кеша приходить без задержек


    поздравляю AlCo с выходом в сеть - первое значимое событие 2006 года
    хе-хе. попробую угадать: вторым значимым событием станет уход AlCo из сети или прекращение выпуска IG,ACE,PT,RAR,ALASM,... ^_^


    Добавлено:
    в эмуляторе вариант #1 тоже будет работать неправильно, потому что при посылке пакета эмуль заодно читает данные в свой буфер. так что реал рулит

  7. #6
    Master Аватар для Surfin_Bird
    Регистрация
    03.02.2005
    Адрес
    Беларусь, Минск
    Сообщений
    831
    Благодарностей: 38
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так, народ! Это уже делали Newart cо одним товарищем!!! Давайте дружно из запинаем, чтобы они откопали исходники и конвертилки!!!!!!!

  8. #7
    Moderator Аватар для rajdee
    Регистрация
    15.01.2005
    Адрес
    Novomoskovsk
    Сообщений
    180
    Благодарностей: 53
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Surfin' Bird
    Так, народ! Это уже делали Newart cо одним товарищем!!! Давайте дружно из запинаем, чтобы они откопали исходники и конвертилки!!!!!!!
    Разработками в этой области, помимо newart и hedgehog, также занимался psb^halloween^triumph, но ввиду своей скромности, этот факт остался малоизвестен общественности.

  9. #8
    Master Аватар для Surfin_Bird
    Регистрация
    03.02.2005
    Адрес
    Беларусь, Минск
    Сообщений
    831
    Благодарностей: 38
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не знаю, как вас всех, а меня этот факт просто бесит! Какого хрена нужно что-то делать, а потом ложить на это х.. и, что вообще подрасстрельно - херить исходники!?!?!?!?
    Тем более что результат-то был офигенный!
    Личная просьба к тем, кто делает это сейчас: КОПИРУЙТЕ ИСХОДНИКИ НА ВИНТ И НА РЕЗЕРВНУЮ ДИСКЕТУ!!!!!!
    Личная просьба к тем, кто делал это раньше: НАЙДИТЕ, ПОЖАЛУЙСТА, ИСХОДНИКИ ИЛИ РАБОЧИЕ КОНВЕРТИЛКИ И ПЛЕЕРЫ!!!!

  10. #9
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Благодарностей: 1071
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SMT
    насколько тормозит? может, после чтения очередного сектора дать команду на следующий, а DRQ пусть висит, пока данные не понадобятся...или так тоже не успевает?
    так и сделано. но проблема в том, что данные надобятся сразу же...
    команда чтения (пробовали и #BE, и #28) с заданием >1 секторов виснет в цикле опроса DRQ. а если 1 сектор, то работает.

    Цитата Сообщение от SMT
    буферизация сильно испортит скорость?
    да.
    вот расчётные данные:
    в одном кадре сжатого 16-цветного видео около 14.5k (считая со звуком). видео сжато по знакоместам. одно знакоместо (оно состоит из двух полузнакомест - чётныеи нечётные пары столбцов) строится 1152 тактов, за это время проигрывается 4 кванта звука. коэффициент турбирования АТМ на данной задаче - ориентировочно 1.45. поэтому частота звука около 17500 Гц. один сектор звука приходится на 7 секторов видео. данные одного знакоместа (с координатами) занимают 36 байт. поэтому в одном секторе помещается 113 полузнакомест. частота кадров 10 fps, но она немного плывёт в зависимости от подвижности видео. итого в среднем 338 знакомест на кадр.

    Цитата Сообщение от SMT
    дать команды чтения на несколько секторов вперёд, не читая данные (на эмуляторе такой номер не пройдёт)
    я вообще сомневаюсь, что этот номер где-то пройдёт :-/

    PSB был запрошен сутки назад, но не ответил.

    P.S. я в инете потому, что сижу у Shiru, а потом вы меня в инете не найдёте :P

  11. #10
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Благодарностей: 1071
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Величина задержки между секторами, видимо, не больше 10% от общего времени чтения данных.
    В общем, есть положительные результаты: удалось подогнать звук к видео и уже можно смотреть ролики с небольшим искажением звука (потрескивание)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •