LINUX.ORG.RU

Сообщения Andrew-R

 

поддержка wmapro в ffmpeg

Уже в пути

svn co svn://svn.mplayerhq.hu/soc/wmapro/

Играет потихоньку.

Очень кстати, с учётом удаления win32codecs. (в wmv3/wmapro изредка, но попадаются документальные фильмы).

Andrew-R
()

[MIPS notebook] Belco Alpha-400

http://multimedia.cx/eggs/got-a-cheap-mips-subnotebook/#more-839 А это кажется её процессор/чипсет http://www.rockbox.org/twiki/bin/view/Main/IngenicJz47xx

Забавная машинка.

А также в ядро включили-таки squashfs. Одним патчем меньше. 3 hours ago Linus Torvalds Merge git://git./linux/kernel/git/pkl/squashfs-linus

Andrew-R
()

[возможно брюзжание] Можно пожжужать?

Навеяно http://www.haiku-os.org/blog/mmu_man/2008-11-03/say_what_you_want_from_us_but...

Вкратце - "не все люди в этом мире желают сидеть на x86" (А разработчики альтернативных осей - не могут по понятным причинам использовать линуксовые драйвера даже на x86. Особенно те, где открыта только небольшая часть, интерфейс для общения с бинарным модулем. Другая причина - плохо документированный, брошенный код - но IMHO это не чисто линуксовая проблема.)

Решил вот поделится своим мнением по поводу открытых архитектур. Я не обладаю достаточными знаниями чтобы утверждать чем MIPS, ARM, SH4 (используемые во многих устройствах бытовой электроники) лучше один другого. Но я могу судить с точки зрения продвинутого пользователя, который не чурается заглядывать в исходники, но при этом желает иметь систему чуть быстрее чем z80.

Ассоциация с z80 не случайна - даже этот крайне маломощный (8 бит регистры и шина данных, 7Mhz тактовая - максимальная скорость переброски данных в районе 1 Мегабайта в секунду, меньше миллиона операций в секунду) процессор был достаточным для однозадачного пргограммирования многих довольно ресурсоёмких задач, и моё первое знакомство с причудами схемотехники и понятием "архитектура компьютера" пришло именно со знакомства с разными русскими Спектрум-ориентированными сайтами в районе 2000-го года.

[link block 0 http://zx.pk.ru/ "Спринтер" и всё такое. ]

Именно тогда я узнал про кульный компьютер Amiga и его подход к мультимедиа (графика высокого разрешения, цифровой звук, видео) как к спец-задачам, лучше всего выполянемым спец-процессорами. Намного позже я узнал некоторые подробности про высокопроизводительные рабочие станции SGI. Используя очень умно запрограммированные спец-контроллеры для повторяющихся вычислений 3D-графики на разных этапах построения картинки + специализированное железо для перевода векторного представления графики в растровое первые графические терминалы SGI показывали крайне интересные результаты на очень маломощном по сегодняшним меркам процессоре. Но наверное самое главное - в поисках информации о работе этих древних по нынешним меркам машин я нашел большое количество информации по теории работы с 3-d графикой на _не очень сложных_ примерах, и самое важное - как это сделано в железе. То есть - более всестороннее и глубокое понимание того, как это делается. Вообще, понимание того как работает информационная машина (компьютер), умение модифицировать его поведение, то есть умение быть когда надо чуть-чуть программистом я считаю важнейшм преимуществом пользователя открытых опереационных систем. А воспитание и "разгон" (к вершинам знаний) такого пользователя - важной задачей ПО с открытми исходниками и лицензиями. К сожалению, когда радость творчества перерастает в рутину (нет дров на контроллер винчестера, нет дров на контроллер USB, нет дров на контроллер сетевой карты, нет дров на .... ) у многих хороших программистов опускаются руки. Вот чтобы такое не происходило и важны открытые спецификации на железо. (плюс разумеется умение и желание работать сообща, иногда талантливые разработчики ведут себя не очень честно и проталкивают собственное решение проблем технических с помощью социального давления. Пример есть в листе v4l , не говоря уже про тоже имеющюй отношение к личности разработчика пример с Гансом Рейзером).

[ link blok 1 http://www.futuretech.blinkenlights.nl/o2/ http://www.futuretech.blinkenlights.nl/iris-faq.html http://www.archive.org/details/Computer1984_6

В Гугле например находится статья "The Geometry Engine: A VLSI Geometry System for Graphics", с картинками и пояснениями (англ, естественно) Было очень познавательно. ]

К сожалнию или к счастью, сегодня на дворе самый конец (окнец? намёк на вездесущие пока винды ....) 2008-го года, и просто красивой 3d-картинкой или _цифровым_ звуком никого не удивишь. Огромные потоки цифровой информации генерируются самим домашним пользователем, и он желает чтобы компютер на его столе был не просто игрушкой для программирования самого себя, но и помогал в обработке этой цифровой информации. И тут спектрум-подобные машины к примеру просто остаются за бортом, потому что даже с использованием всех возможных ухищрений объёмы информации измеряемые в мегабайтах в секунду, с жестким условием реалтайм-отображения им просто не по зубам. Картинка размером 1024*768*24 бит - мой рабочий монитор сейчас - занимает больше двух мегабайт в памяти. С учетом того что таких и даже бОльших картинок обычно не одна, а к примеру 4 (четыре рабочих стола в E16 - очень удобно), то объем необходимой оперативной памяти автоматически устремляется в самом идеальном случае к десяткам мегабайт. Необходимость совершать какие-то действия над подобными картинками приводит к необходимости очень высокого быстродействия памяти, шины данных, процессора. (что получается когда шина становится бутылочным горлышком - можно наблюдать на примере открытого смартфона Neo FreeRunner и его видеоподсистемы, где экран 640*480*16 бит подсоединен к видеоакселератору, который черпает данные из памяти через канал шириной меньше чем ISA-шина. 8 мегабайт в секунду, примерно. Подробности в листе рассылки OpenMoko. Или нечто аналогичное для шины Zorro II на Амиге, про которую я узнал из линксового драйвера для фреймбуфера, drivers/video/fm2fb.c) А это - усложнение схемотехники за пределы доступного обычному юзеру с паяльником. Слишком высокие частоты, слишком большое количество проводников. Нет, продвинутый пользователь, кто на работе имеет дело с подобными высоокочастотыми устройствами может и в домашних условиях нарисовать платку, способную работать, и даже стабльно. Но пока такое умение довольно редкое. А значит, железо по-любому будет производить кто-то другой, пользователь же должен просто иметь возможность собрать из блоков то что ему нужно (для экспериментов, удовольствия, или помощи в работе) и запрограммировать получившийся агрегат в меру своих умений (а это обычно для сложных много(суб)процессорных машин выливается в использование идей, алгоритмов и кода других разработчиков - иначе просто не получается.)

Мне кажется, архитектура графстанции начального уровня SGI O2 очень хорошо отражает идею использования дополнительного программируемого элемента (Image Co-Processor), выделенного для быстрой переброски графических и видео данных, с конвертацией на лету по фиксированным (YUV <-> RGB) и/или по загружаемым алгоритмам. Оригинальное (и к сожалению - проприетарное, закрытое и фактически утерянное для масс) программное обеспечениие в составе ОС Irix использовало данный сопроцессор для декодирования сжатых видео потоков, работы с изображениями, OpenGL. На данный момент существует только крайне экспериментальный и заброшенный драйвер для этого сопроцессора, вместе с очень сырым патчем к старым binutils для использования в качестве именно _программируемого_ элемента. Не говоря уже про систему _отображения_, дисплейный контроллер, знания о работе и программировании которого (необходимо для работы Xfree/Xorg с современными библиотеками GUI поверх с приемлимой скоростью) появились в открытом доступе только в этом году, благодаря старанию разработчика из NetBSD.

http://my.opera.com/Macallan/blog/index.dml/tag/O2

Andrew-R
()

новость из git xf86-video-ati

сама новость укладывается в несколько строчек:

-------
Make VSync for EXA and Xv configurable Alex Deucher
Optimise RADEONWaitForVLine Pierre Ossman
Improve tearing avoidance for Xvideo in two steps Pierre Ossman
First pass at tear-free accel Alex Deucher
Switch r200 Xv to use rect lists rather than quads to avoid tearing
-------

что в переводе с технического на русский означает что изображение, выводимое через Xvideo на видеокартах r200-r500 не должно теперь (по идее) "разрываться" при просмотре, в комментарии сказано что радеоны от r300 и выше теперь используют один большой треугольник с видео, обрезанный аппаратно до прямоугольника - так получается рендерить видео в один проход, что совместно с изменениями в EXA позволяет синхронизировать изображение с разверткой. Есть специальная опция которая это включает: EXAVSync

А также чуть раньше была добавлена возможность автоматического включения бикубического масштабирования при масштабировании больше 200% (при меньших значениях изображение от бикубической фильтрации было замыленным). Ставится через атрибут xvideo XV_BICUBIC (ставим xvattr, если еще не установлен)

Тестируем, радуемся (или плачемся в багзиллу)
Andrew-R
()

[offtop, retro, eng] - gaming on SGI machines in 1989

http://groups.google.com/group/comp.sys.sgi/browse_thread/thread/418d43968608...#

Лётчики-самолётчики.

При отсутствии другого компа можно было развлекаться убийством себя своей же ракетой ... А владельцы "мощной тачки" всегда имели преимущество в реакции (больше FPS). Так что до какой-то степени авиасимы - классика игр. Linux'а тогда еще не было - зато уже было(о) GNU и был Emacs.

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

ffmpeg-mt (SMP h.264)

Нашел такую штуку:

http://gitorious.org/projects/ffmpeg/repos/ffmpeg-mt

И там к примеру за 14 октября Add multithreading for PAFF/MBAFF.

Скачал, собрал (были проблемы с libswscale). Вроде работает, но у меня одноядерник. Кто может с реальной многоядерной или многопроцессорной системой проверить? Там есть патчик простенький для mplayer - его пока не пробовал, не успел.

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

SGI O2 (web links)

Хм. А машинка-то оказывается даже без своего знаменитого аппаратного ускорения видео и OpenGL весьма неплоха ....

http://home.tal.org/~milang/o2/

особенно вот это, http://home.tal.org/~milang/o2/7.html (gnome, mplayer -vo x11, 352x240 mpeg1 clip, sound enabled, no scaling) И это все на mips 180 Mhz, 512 kb L2 cache, 128Mb ram, 2.5Gb SCSI disk

http://www.in4tec-mbh.com/O2@600/advantage.html Или вот тут модифицированная машинка - 600Mhz cpu-mod, потребляет в целом, по словам автора 70 ватт. Почти достаточно для просмотра DVD - правда под родной Irix (но mplayer судя по всему тот самый, линуксовый)

В принципе есть маленький шанс допилить аппаратный видеоускоритель для простейших (2d/xv) задач - но таких машин раз два и все .... может лет через 10 будет реплика на FPGA, как сейчас NATAMI или Minimig (amiga-like компы)

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

g3dvl on nv40 [blog]

 

http://img70.imageshack.us/my.php?image=nv40xvmc2ra9.png

Работает, работает :) Первый раз, когда я вижу аппаратно ускоренное (замедленное в данном случае, ибо все сыро до невозможности) видео в открытом драйвере, не просто CSC and scaling (преобразование цвета и масштабирование) а настоящий видеодекодинг!

http://www.bitblit.org/gsoc/g3dvl/index.shtml - страничка проекта
http://gitweb.freedesktop.org/?p=nouveau/mesa.git;a=shortlog;h=gallium-0.1
- а это исходный код.

собрал, поправив makefiles, положил libnouveau_dri.so в /usr/local/lib, ldconfig, далее

LD_PRELOAD=/home/guest/source/nv-experimental/gallium-0.1/mesa/src/libXvMC/libX vMCg3dvl.so mplayer -fs /home/guest/documents/video/20070715-Full-Immersion.mpg -quiet -vo xvmc -vc ffmpeg12mc -vf-clr

В отличие от 3D драйвера оно не потребовало SSE, хотя в ходе грядущих оптимизаций может быть всякое.

Однако круто, круче наверное только вот этот коммит в 2d-драйвере:

nv50: support YUY2 in textured video adaptor


>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

[mini-HOWTO] засыпание в файл

kernel 2.6.25.10 and suspend-to-disk

Задали тут вопросец на #radeon, у кого 
машина после обновления drm/libdrm  перестала нормально засыпать-просыпаться? Поскольку у меня 
радеон, хоть и старый (rv280, radeon9200se) 
решил проверить и понял что swap-partition 
у меня не наблюдается (256 Мб памяти).


прочитал 
Documentation/power/swsusp-and-swap-files.txt

скомпилировал и поставил suspend-0.8 с http://suspend.sourceforge.net/
(потребовал libx86 с http://www.codon.org.uk/~mjg59/libx86/downloads/, взял Libx86 1.1).

Потом сделал как советовалось в документации:
dd if=/dev/zero of=/swap.file bs=1024 count=400000 (у меня корень на /dev/hdc1 , у вас будет свое устройство, размер свап-файла в этом примере около 400 Мб)

mkswap /swap.file

swapon /swap.file
cd /home/guest/source/suspend-0.8 (тут у меня лежат сырцы суспенд-0.8)
./swap-offset /swap.file (узнал смещение начала файла)

А потом простое echo disk > /sys/power/state НЕ СРАБОТАЛО.

Оказалось нужно СНАЧАЛА было добавить в параметры ядру resume= and resume_offset= . 

Сделал в lilo.conf:
 append="nocd nopcmcia max_loop=255 nohotplug vt.default_utf8=0 resume=/dev/hdc1 resume_offset=168582"

(resume_offset сказала прога swap-offset, в инете видел патчик на -mm ядро который добавлял нужную инфу прямо в лог ядра, но в майнлайне его все еще нет, по крайней мере не в 2.6.25)

вот теперь (после перезагрузки с указанными параметрами)
echo disk > /sys/power/state

работает как надо!

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

[cvs log] nouveau xvmc

http://nouveau.cvs.sourceforge.net/nouveau/nv40_xvmc/

как предупреждает разработчик, там даже вывода на экран пока не реализовано, либа просто делает Motion Compensation силами аппаратного декодера на nv4x. Подробнее процесс описан в исходниках, и тут: http://nouveau.freedesktop.org/wiki/jb17bsome

Еще один проект: http://www.bitblit.org/gsoc/g3dvl/index.shtml Железонезависимое (в известных пределах) аппаратное ускорение mpeg2, в перспективе и других форматов.

разработчик уже засветился на #nouveau.

А в ffmpeg добавили поддержку libdirac и libschroedinger, идет работа над MLP, E-AC3, rv30/40. Что не может не радовать....

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

[lj] Compiz

Что-то он мне не очень понравился:

1. Для сборки зачем-то требует xcb-x11 (пришлось пересобрать libX11) 2. Для запуска на AIGLX надо указывать export LIBGL_ALWAYS_INDIRECT=1 3. Для настройки ему нужен gconf-editor, ибо ручками через gconftool-2 как-то совсем неудобно. 4. И все равно свою роль (крашнуть Х) он не выполнил. 5. И по-умолчанию фон там какой-то чёрный, я поначалу чуть терминал в этой темноте не потерял.

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

HDMI audio

http://lists.freedesktop.org/archives/xorg/2008-March/034122.html

"HDMI places the audio data in the various video blanking intervals instead of using a separate wire (wire appears to be more expensive than I remember). Because of this, the available bandwidth for audio data depends on the video mode in use (!), so the video driver has to tell the audio driver about the current video mode."

Чем-то вин-модем по идеологии напоминает. Для уменьшения стоимости применяются весьма неудобные с точки зрения программирования на низком уровне решения.

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

[ATI][test] textured video

 ,

С последними фиксами (на сейчас это git commit 68888189cf8d460ef6f8f2f1431a6ffe9fcd8134, for xf86-video-ati) вполне работоспособно на моей древней тачанке. (duron-950)



Radeon overclock 0.6e by Hasw (hasw@hasw.net)

Found ATI card on 01:00, device id: 0x5964
I/O base address: 0xc800
Video BIOS shadow found @ 0xc0000
Reference clock from BIOS: 27.0 MHz
Memory size: 65536 kB
Memory channels: 0, CD,CH only: 0
tRcdRD:   6
tRcdWR:   3
tRP:      6
tRAS:     14
tRRD:     3
tR2W-CL:  3
tWR:      4
tW2R:     2
tW2Rsb:   1
tR2R:     2
tRFC:     18
tWL(0.5): 2
tCAS:     3
tCMD:     0
tSTR:     1
XTAL: 27.0 MHz, RefDiv: 45

Core: 200.25 MHz, Mem: 265.50 MHz

root@slax:~# cat /proc/cpuinfo 
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 3
model name      : AMD Duron(tm) Processor
stepping        : 1
cpu MHz         : 950.122
cache size      : 64 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow up
bogomips        : 1902.15
clflush size    : 32

И бенчамарк:
mplayer -quiet -fs -benchmark first_200s.avi  -vo xv:port=58 -nosound

VDec: vo config request - 1920 x 1080 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 1920x1080 => 1920x1080 Planar YV12  [fs]
[ASPECT] Warning: No suitable new res found!
[ASPECT] Warning: No suitable new res found!
[ASPECT] Warning: No suitable new res found!
[ASPECT] Warning: No suitable new res found!
[ASPECT] Warning: No suitable new res found!


BENCHMARKs: VC: 161.898s VO: 105.340s A:   0.000s Sys:   2.943s =  270.182s
BENCHMARK%: VC: 59.9221% VO: 38.9885% A:  0.0000% Sys:  1.0894% = 100.0000%

для обычного оверлея то же самое, на порт 57:


Starting playback...
VDec: vo config request - 1920 x 1080 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 1920x1080 => 1920x1080 Planar YV12  [fs]
[ASPECT] Warning: No suitable new res found!
[ASPECT] Warning: No suitable new res found!
[ASPECT] Warning: No suitable new res found!
[ASPECT] Warning: No suitable new res found!
[ASPECT] Warning: No suitable new res found!


BENCHMARKs: VC: 152.683s VO:  73.113s A:   0.000s Sys:   2.552s =  228.348s
BENCHMARK%: VC: 66.8642% VO: 32.0180% A:  0.0000% Sys:  1.1177% = 100.0000%

Т.е. в 1.5 раза медленнее новый адаптер. И настроек яркости/контраста в нем пока нет. Однако прогресс огромный. За 4 дня из страшного тормоза получилась вполне юзабельная штука. Желающие могут посмотреть в исходниках как это произошло. Вот за это я и люблю open source. 

PS Сколько там официальная команда  линуксовых драйверописателей ATI осиливала textured video для своих чипов? Со всеми спеками .... 

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

[AMD] Зарелизила документацию по r500

 

http://lists.freedesktop.org/archives/xorg/2008-February/033090.html

Также внутри описано что изменялось в 3D железе этих видеокарт на протяжении "жизни" чипов серий r300/r400.

Ура!

PS: кто-нибудь еще год назад верил, что это будет возможно?

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

Пора ставить nouveau

Тут кто-то грозился, что как только увидет q3 - начнет пробовать сабж. Пожалуйста - демонстрация OpenArena на ноуте с nvidia/nouveau.

http://mirror.linux.org.au/pub/linux.conf.au/2008/Fri/mel8-081.ogg

(у меня оно (nouveau @ nv44) в q3 demo имеет некоторые проблемы со стенами - они временами прозрачные. что неудобно. Однако по сравнению с 12 fps - 20 безусловный прогресс.)

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

[FFmpeg-cvslog] r11806 [mbaff spatial direct]

http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-February/011546.html

сижу, компилю....

Теперь из "больших" h264 задач для ffmpeg только распараллеливание на n ядер осталось нереализованным?

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

[blog] добил TNT2

 

О 16 метрах видеорамы. Стоит в системе с Duron-950, в agp слоте, с программной стороны Nouveau сегодняшний, Х-сервер от 21 декабря, Mplayer тоже свежий. Крутит фильмы на ура. (DV pal 720*576, x264 640*480 ну и что попроще там) Единственное что пришлось сделать - добавить

Section "Extensions" Option "Composite" "disable" EndSection

в xorg.conf

Вот и спорь после это на ЛОРе с анонимусами....

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

Очередной скрин про видеокарту

http://img292.imageshack.us/my.php?image=radeonpaltvoutrv280fixeoq9.jpg

С час назад Alex Deucher зафиксил PAL tv-out. Я проверил - вроде работает, через тюнер :) Только radeon 9200se/64Mb vram неслабо тормозит с включенными композит-эффектами на разрешении 1824х768 (суммарное для моника 1024*768 и видеовыхода 800х600). Вращение десктопа (через 3D движок), OpenGL, xvideo - все вроде работает как надо.

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

У кого есть nv1x, nv2x, nv3x with DVI and TFT?

Только что на #nouveau просили помочь с этими картами.

Интересует конкретно DVI порт, и именно цифровое подключение.

http://nouveau.freedesktop.org/wiki/MmioTraceHowto И еще интересно узнать детали, куда конкретно разведен dvi порт, на сам чип nvidia или на внешний чип-трансмиттер.

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()

Nouveau DRI: q3 arena demo screenshot.

http://img87.imageshack.us/my.php?image=nouveauq3demosb1.jpg

Как легко видеть - есть существенные проблемы с видением сквозь непрозрачные по идее статуи. И прочие артефакты. Скорость в 12 ФПС в режиме 800*600 тоже не фонтан. Но изображение есть, и это не может не радовать. Gens-OpenGL тоже работает. Перестал работать Mplayer -vo gl:yuv=2 и выше (пиксельные шейдеры для преобразования yuv->rgb) Драйвер качнул отсюда:

http://gitweb.freedesktop.org/?p=users/darktama/mesa;a=shortlog;h=gallium-0.1

В mesa/configs/linux-dri поменял intel_winsys на nouveau_winsys. Собрал

make linux-dri-x86 OPT_FLAGS="-O2 -pipe -fno-strict-aliasing"

В 2D-драйвере пришлось отключить NOUVEAU_EXA_PIXMAPS в nouveau_local.h (отключено по дефолту, если установить в 1 будет быстрее работать 2D на X-сервере с поддержкой EXA 2.4 (git master), но квака тогда при старте всю машину вешает).

>>> Подробности (Invalid URL, no host part!)

Andrew-R
()