LINUX.ORG.RU

Вышел MPlayerXP-0.7.1

 , , ,


0

0

MPlayerXP — медиаплеер, созданный на основе MPlayer с новым многопоточным ядром. Новое ядро обеспечивает лучшее использование процессора и значительно улучшает производительность декодирования видео. Основная цель проекта — это получение постоянной нагрузки на процессор на протяжении воспроизведения фильма.

>>> Подробности



Проверено: Shaman007 ()

Ответ на: комментарий от mono

>а что мешает добавить такую функциональность в основную ветку? не понимаю причин форкоклепания..

Они быстрее удавятся, чем многопоточность в mplayer добавят.

nick
() автор топика
Ответ на: комментарий от Aceler

> Новое ядро обеспечивает лучшую утилизацию процессора

>Оно сразу палит его и превращает в легко перерабатываемую биомассу?

оно превращает его в корм для демонов

anonymous
()
Ответ на: комментарий от mono

Если добавить в основную ветку то автор будет лишь еще одним разработчиком, а так он себя ощущает творцом чего-то нового (не важно что он ни кому не нужен).

KKV
()

>Основная цель проекта — это получение постоянной нагрузки на процессор на протяжении воспроизведения фильма.

А нормальный гуй и ДВД-меню не цели проекта? Значит очередная игрушка для видеоператофф (mencoder) и бенчмарк для Фороникса. И ни разу не "медиаплеер".

Небесспорному VLC ничего не угрожает.(((

anonymous
()
Ответ на: комментарий от KKV

>Если добавить в основную ветку то автор будет лишь еще одним
>разработчиком, а так он себя ощущает творцом чего-то нового (не важно
>что он ни кому не нужен).
Если MPlayerXP не нужен конкретно тебе - не юзай и пользуйся DOS подобным однонитевым mplayerhq, который не умеет грузить более одного прцессора.

nick
() автор топика
Ответ на: комментарий от nick

>>а что мешает добавить такую функциональность в основную ветку? не понимаю причин форкоклепания..

>Они быстрее удавятся, чем многопоточность в mplayer добавят.

почему? все так плохо?

mono ★★★★★
()
Ответ на: комментарий от anonymous

>А нормальный гуй и ДВД-меню не цели проекта?
Это тоже цели. Всё это уже не первый год сидит в ТУДУ! А ДВД-меню однажды в каком-то CVS снапшоте даже показывал что-то на экране

nick
() автор топика
Ответ на: комментарий от mono

>Они быстрее удавятся, чем многопоточность в mplayer добавят.
>почему? все так плохо?

там в своё время так много ругани было по поводу изгнания нитей из проекта, что mplayer просто потерял уважение в моих глазах. После ухода Arpi желающих бэкпортировать нити из mplayerxp не нашлось.

nick
() автор топика
Ответ на: комментарий от nick

>>Они быстрее удавятся, чем многопоточность в mplayer добавят. >>почему? все так плохо?

>там в своё время так много ругани было по поводу изгнания нитей из проекта, что mplayer просто потерял уважение в моих глазах. После ухода Arpi желающих бэкпортировать нити из mplayerxp не нашлось.

Все понятно.

Ты, как я понял и есть разработчик... Тогда удачи! По-моему очень нужная штука. Под маком собрать получится? думаю основная проблема в libthread..

mono ★★★★★
()
Ответ на: комментарий от nick

>Они быстрее удавятся, чем многопоточность в mplayer добавят.

жареный петух клюнет в причинное место - живо добавят

anonymous
()
Ответ на: комментарий от mono

>Ты, как я понял и есть разработчик... Тогда удачи! По-моему очень
>нужная штука.
Спасибо!

>Под маком собрать получится? думаю основная проблема в
>libthread..
С точки зрения общей теории проект должен собираться везде, где есть gnu среда разработки = bash + gcc + glibc. Под маком вроде как должны быть нити. В крайнем случае в их нужно добавить в 771 строку configure:

for _ld_i in "-lpthreadGC2" "-lpthread" "-pthread" "" ; do

nick
() автор топика
Ответ на: комментарий от anonymous_num_0

>Я правильно понимаю, что этот плеер будет работать только под Windows?
неправильно. XP это eXtraPerformance, а не WinXP

nick
() автор топика
Ответ на: комментарий от anonymous_num_0

>Я правильно понимаю, что этот плеер будет работать только под Windows? Если бы так было, я думаю сюда эту новость не запостили бы.

KKV
()

быдло-поделие :-) MPlayer и без того использует треды... хотя, каждый на это смотрит по своему :-)

AlannY
()

Угу, "получение постоянно 100%-й нагрузки на процессор". :)

anonymous
()
Ответ на: комментарий от nick

>Надо будет попробовать. А то глупо, когда одно ядро загружено на >100%, три простаивают, а плавности проигрывания нет...
>У меня есть видео, которое страшно тормозит, потому как одно ядро

>загружено на 100%, а второе простаивает. Видео при этом тормозит. -Этот

>модифицированный MPlayer решит мою проблему?

----------

Вообщето mplayer эту фишку давно поддерживает, если что
использование 2-х ядер для двухядерных процессоров
mplayer -lavdopts threads=2 filename
а вообще RTFM!!!

anonymous
()
Ответ на: комментарий от gronius

>А откуда libpthread можно выкопать и дать ему? Заранее спасибо.
/lib/libpthread.so
/lib64/libpthread.so

мой скрипт для компиляции glibc, обратите внимание на --enable-add-ons=nptl,libidn (нужное подправьте сами):

#!/bin/sh
# stage 1
_cflags="-O3 -mmmx -m3dnow -msse -msse2 -msse3 -msse4a -mabm -mcx16 -msahf -mveclibabi=acml -mfpmath=387,sse -mfancy-math-387 -funroll-all-loops -ftree-loop-optimize -ftree-vect-loop-version -ftree-vectorize -fomit-frame-pointer -finline-functions-called-once -funit-at-a-time -pipe"

_do32=yes
_do64=no
_dolocale=no

_make="make -j 4"

# 32-bit phase
if test "$_do32" = "yes" ; then
_lib="lib"
_prefix="/usr"
_exec_prefix="/"
_libdir="$_exec_prefix/$_lib"

export CC="gcc -m32"
export CXX="gcc -m32"
export ABI=32
_asflags="-Wa,--32"
export ASFLAGS="$_asflags"
export CFLAGS="-march=athlon-xp $_cflags"
export CXXFLAGS="-march=athlon-xp $_cflags"
export CPPFLAGS="-march=athlon-xp $_cflags"
../glibc-2.8/configure --build="i686-pc-linux-gnu" --prefix="$_prefix" --exec-prefix="$_exec_prefix" --libdir="$_libdir" --enable-add-ons=nptl,libidn --enable-kernel=2.6 --enable-shared --disable-debug --disable-profile --without-cvs --with-header=/usr/include --without-gd --disable-sanity-checks --with-tls
$_make all || exit
fi
# 64-bit phase
if test "$_do64" = "yes" ; then
make distclean

_lib="lib64"
_prefix="/usr"
_exec_prefix="/"
_libdir="$_exec_prefix/$_lib"

export ABI=64
export ASFLAGS_config="--64"
export CFLAGS="-m64 -march=amdfam10 $_cflags"
export CXXFLAGS="-m64 -march=amdfam10 $_cflags"
export CPPFLAGS="-m64 -march=amdfam10 $_cflags"
../glibc-2.8/configure --prefix="$_prefix" --exec-prefix="$_exec_prefix" --libdir="$_libdir" --enable-add-ons=nptl,libidn --enable-kernel=2.6 --enable-shared --disable-debug --disable-profile --without-cvs --with-header=/usr/include --without-gd --disable-sanity-checks --with-tls
$_make all || exit
fi
ldconfig

# stage 2
if test "$_dolocale" = "yes" ; then
export CFLAGS="-m64 -march=amdfam10 $_cflags"
make -j 4 localedata/install-locales
localedef -i ru_RU -f UTF-8 ru_RU
fi

nick
() автор топика
Ответ на: комментарий от anonymous

>Вообщето mplayer эту фишку давно поддерживает, если что
>использование 2-х ядер для двухядерных процессоров
>mplayer -lavdopts threads=2 filename
>а вообще RTFM!!!

начиная с gcc-4.4+ rjvgbkbnt все проекты:
CFLAGS += -ftree-parallelize-loops=4 -fopenmp

и они все будут многонитевыми!

nick
() автор топика
Ответ на: комментарий от anonymous

Ананимус очнулся от праздника. С Рождеством тебя.

KKV
()

Хе-хе, у меня вон за окошком салюты громыхают. :d

anonymous
()

Большинство тормозящих hd/blue-ray видеорипов и ремуксов разжевываются штатными средствами mplayer -lavdopts threads=4. Протестуйте.

shahid ★★★★★
()
Ответ на: комментарий от shahid

>Большинство тормозящих hd/blue-ray видеорипов и ремуксов разжевываются штатными средствами mplayer -lavdopts threads=4. Протестуйте.

mplayer юзает ffmpeg'овсие нити, которые дают параллелизм на этапе декодирования кадра. Mplayerxp юзает свои нити, которые обеспечивают decoding-ahead, т.е. он может на 40 секунд вперёд фильм в память разжать, чего не может hq.

nick
() автор топика

_XP_ - это какбэ то о чем я подумал?

ПС: Уже пора бы с Висты названия драть, а они еще с ХП не все содрали...

anonymous
()
Ответ на: комментарий от nick

> Mplayerxp юзает свои нити, которые обеспечивают decoding-ahead, т.е. он может на 40 секунд вперёд фильм в память разжать, чего не может hq

Это всё очень замечательно.
Но... Дурацкий вопрос: мне от этого что?
Вот, например, блю-рей диск. Видео hd1080, стандартно 24гб в одном файле .m2ts. H.264+AC3.
На ноуте, turion x2 вообще не тормозит, если открывать на 4 потока, и местами/изредка подтормаживает, если открывать в 2 потока. В однопоточном режиме mplayer вообще не успевает декодить любую область в фильме. В добавок, прокручивает фильм вперед-назад за мизерное время.

Какие заметные/ощутимые выгоды конечному юзеру даст сабж?

shahid ★★★★★
()

новым многопоточным ядре опасносте!!11 онотоле одобряе!!11

ch__
()
Ответ на: комментарий от anonymous

>_XP_ - это какбэ то о чем я подумал?
>ПС: Уже пора бы с Висты названия драть, а они еще с ХП не все содрали...

Дети в подвале в Гейтса играли,
Стасика Биллом зачем-то назвали.
В Стасика воткнут лом и топор,
Все же не любит Windows Егор.

nick
() автор топика
Ответ на: комментарий от shahid

>Какие заметные/ощутимые выгоды конечному юзеру даст сабж?
равномерность декодирования потока.

nick
() автор топика
Ответ на: комментарий от nick

>XP это eXtraPerformance, а не WinXP

Пора уже MPlayerVista-0.7.1 выпускать, а потом и MPlayer-7.0 посвещенной вынь семь.

anonymous
()

смиренно прочитал весь топик, но так ине понял, есть ли бох. одна дезинформация какая-то про плэер.

d_a ★★★★★
()

>MPlayerXP — медиаплеер, созданный на основе MPlayer с новым многопоточным ядром.

Простите, господа, но разве -lavdopts threads=<1-8> в классическом MPlayer не дает того же самого? Или это только я посмел заглянуть в man mplayer?

Praporshik ★★
()
Ответ на: комментарий от anonymous

>Пора уже MPlayerVista-0.7.1 выпускать, а потом и MPlayer-7.0 посвещенной вынь семь.

MplayerXP компилится под MinGW и следовательно работает под Vista-64!
XP не имеет отношения к WinXP!
По вашему Athlon-XP тоже ready for windows only?

nick
() автор топика
Ответ на: комментарий от Praporshik

>Простите, господа, но разве -lavdopts threads=<1-8> в классическом
>MPlayer не дает того же самого? Или это только я посмел заглянуть в
>man mplayer?

mplayer -lavdopts threads=<1-8> это принципиально другая философия нежели mplayerxp -xp 4!
Если вас мучают сомнения по поводу того зачем в linux так много плееров, то оконных менеджеров в линуксе ещё больше, а плейеров под windows - несметное множество! Почему так?

nick
() автор топика
Ответ на: комментарий от nick

>Если вас мучают сомнения по поводу того зачем в linux так много плееров, то оконных менеджеров в линуксе ещё больше, а плейеров под windows - несметное множество! Почему так?

Да мне пофигу почему так. Я спросил: это оно или нет. Если нет - тогда посмотрим, если "свободное сочинение на тему" - найдется чем поинтереснее заняться.

Praporshik ★★
()
Ответ на: комментарий от shahid

>Ладно, будем считать я не осилил mplayerxp.

Надо будет издать брошюрку что-то типа: compiling mplayerxp from scratch

nick
() автор топика

Ужас, как у них на сайте всё прокручивается мерзко, по кускам. А внизу страницы что-то непонятное. Чё к чему?

Jayrome ★★★★★
()

>Основная цель проекта — это получение постоянной нагрузки на процессор на протяжении воспроизведения фильма.

Таки совсем нечем процессор загрузить?

AVL2 ★★★★★
()

а у меня одно йадро дома :'(
а на работе я фильмы не смотрю.

Komintern ★★★★★
()

1. убрать чекинг gcc и pthread

2. из Makefile в целях install: наверное следует убрать внезапный 
[BSD-only] параметр -p из команды install - у меня ошибку выдает с 
ним. В man об этом параметре тоже ничего нет.
install (GNU coreutils) 6.12. 
И вообще как-то странно: инсталл посреди компиляции :D

3. rpm x86_64 : http://uploaded.to/?id=g1f8bk

drwxr-xr-x    2 root    root                0 Янв  6 23:30 /lib64
-rw-r--r--    1 root    root             4088 Дек  3 05:27 /lib64/crt1.o
-rw-r--r--    1 root    root             3184 Дек  3 05:27 /lib64/crti.o
-rw-r--r--    1 root    root             2616 Дек  3 05:27 /lib64/crtn.o
drwxr-xr-x    2 root    root                0 Янв  6 23:30 /usr
drwxr-xr-x    2 root    root                0 Янв  6 23:30 /usr/bin
lrwxrwxrwx    1 root    root                7 Янв  6 23:30 /usr/bin/gcc -> gcc-4.3
-rwxr-xr-x    1 root    root          1638280 Янв  6 23:30 /usr/bin/mplayerxp
drwxr-xr-x    2 root    root                0 Янв  6 23:30 /usr/lib64
drwxr-xr-x    2 root    root                0 Янв  6 23:30 /usr/lib64/gcc
drwxr-xr-x    2 root    root                0 Янв  6 23:30 /usr/lib64/gcc/x86_64-suse-linux
drwxr-xr-x    2 root    root                0 Янв  6 23:30 /usr/lib64/gcc/x86_64-suse-linux/4.3
-rwxr-xr-x    1 root    root           117760 Дек  3 10:35 /usr/lib64/gcc/x86_64-suse-linux/4.3/collect2
-rw-r--r--    1 root    root             2528 Дек  3 10:35 /usr/lib64/gcc/x86_64-suse-linux/4.3/crtbegin.o
-rw-r--r--    1 root    root             1928 Дек  3 10:35 /usr/lib64/gcc/x86_64-suse-linux/4.3/crtend.o
-rw-r--r--    1 root    root              170 Дек  3 10:35 /usr/lib64/gcc/x86_64-suse-linux/4.3/libgomp.spec
....
                          ЛОЛШТО??777

shahid ★★★★★
()
Ответ на: комментарий от nick

> Это значит, что configure не нашёл libpthread и нашёл thread в libc, а там они - урезанные, с weak_alias'ами.

А ты не мог бы сборочку на PPA или OBS или ещё куда (к альтам, например)?

Aceler ★★★★★
()
Ответ на: комментарий от alex_custov

> checkinstall походу

Да, скорее всего он что-то перемудрил.
Ладно, кому нужны 64-битные бинарники - вытащит их из rpm ;) ибо быстрого workaround для этой траблы не знаю.

shahid ★★★★★
()

система сборки у него просто ппц. как уже говорили инсталл прям в процессе компиляции. Error: Lib pthread not found. (needed by xp mode) хз почему. ну и валится прям в начале

ct36_3dnow.c: В функции ‘dct36_3dnow’: dct36_3dnow.c:548: ошибка: не найден регистр класса ‘GENERAL_REGS’ для загрузки операндов ‘asm’ dct36_3dnow.c:37: ошибка: ‘asm’ operand has impossible constraints

prizident ★★★★★
()
Ответ на: комментарий от prizident

Полную строку команды gcc в студию!

//Гугл намекает, что флаги компиляции неверные. 
http://laurikari.net/pipermail/tre-general/2007-April/000143.html

Я cкомпилил с 
CFLAGS="-O4 -march=k8 -mtune=k8 -pipe -s -ftree-vectorize -fopenmp"
LDFLAGS="-s -Wl,-O1,-zdynsort,-z,combreloc,-hashval,--as-needed,--enable-new-dtags -Bdirect"
под amd64.

shahid ★★★★★
()
Ответ на: комментарий от Frosty

> А какой смысл от многопоточного софта на одноядерном процессоре при
> выполнении линейных операций?


Например задача эффективного использования IO кэша. Декодирование идет в потоке, который не зависит от своенравного IO. Неплохо звучит, а?

Можно, конечно, эту задачу решить без использования многопоточности. Но решение в конечном итоге сведется к изобретению своего шедулера.

eXOR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.