LINUX.ORG.RU

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

 

Вышла CinelerraGG 2020-08

 ,

Группа Open Source

CinelerraGG — форк нелинейного видеоредактора Cinelerra с наиболее частыми релизами (раз в месяц). Из полезного в этом выпуске:

  • Добавлены горячие клавиши для сохранения сессии (CTRL-S) и отмены (CTRL-Z), в добавление к уже существующим s и z.
  • Новый тип ключевых кадров — bump keyframes. Позволяют создавать резко изменяющиеся параметры, например затухания или скорости.
  • При использовании кривой скорости (перемещение ключевого кадра мышкой с зажатой левой кнопкой) наглядно отрисовывается будущая длина дорожки
  • Языки можно переключать через настройки, а не только через переменные окружения.
  • Улучшения в функции выравнивания по таймкоду.
  • Новые плагины из ffmpeg: minterpolate (смена fps, медленный), allrgb (все цвета из возможных в RGB), allyuv (все цвета из возможных в YUV), cellauto, pullup (обратный telecine), selectivecolor (делает то же, что одноимённый фильтр в Фотошопе), tonemap

Известные баги:

  • Если выделить на таймлайне область, где есть несколько ключевых кадров (например, затухания), но оставить ещё несколько вне зоны выделения — то при выборе пункта «Удалить ключевые кадры» и включённой опции «Ключевые кадры сопровождают правку» ключевые кадры съедут. Временное решение: отключить опцию «Ключевые кадры сопровождают правку» на время удаления ключевых кадров в выделенной области.

    Update: баг оперативно исправили в git.


Bugzilla проекта

Мой Слакбилд с патчами

RPM для Rosa 64-bit

Мануал на англ, 659 стр, сделано в LaTex

PS: исходники в git (cinelerra-gg.org), но можно и в архиве найти тут (cinelerra-gg.org)

>>> Подробности (cinelerra-gg.org)

Andrew-R
()

wine-5.16 и wine-nine-standalone

Обновил wine до 5.16 (32-bit) - отвалились некоторые демки от ATI (Bear, CarPaint, Chimp, DebevecRNL, PipeDream/) и 3DMark2005. Пришлось обновить и wine-nine-standalone до версии 369 (была 340). Обновилось и поехало ...

Andrew-R
()

gimp, фильтры -> декорация -> добавить фаску ...

 

Можно ли поставить толщину больше 30? Пробовал, скидывается на 30 (макс. котjрый можно выбрать в поле ввода стрелочками).

Мне на 300 dpi побольше бы надо ...

gimp-2.10.20

А, и ещё: можно ли к сохранялке Гимпа прикрутить скрипт, который будет делать так:

gs -dSAFER -dBATCH -dNOPAUSE  -sDEVICE=pdfwrite -sColorConversionStrategy=CMYK -dProcessColorModel=/DeviceCMYK -dAutoFilterColorImages=false -dAutoFilterGrayImages=false -dColorImageFilter=/FlateEncode -dGrayImageFilter=/FlateEncode -dDownsampleMonoImages=false -dDownsampleGrayImages=false -sOutputFile=Cover_idea_rus-3-1_cmyk.pdf Cover_idea_rus-3-1.pdf

?

Andrew-R
()

Ускорение видео в firefox на X11/VA-API в nightly?

 ,

Зашёл на phoronix, а там статья

https://www.phoronix.com/scan.php?page=news_item&px=Firefox-80-VA-API-X11

Прошёл по ссылочке на баг 1619523 (ох ты багов наклепали!) а там и вправду:

Martin Stránský [:stransky] (back on Jul 20) Assignee Comment 29 • 23 hours ago So this is done now. Run Firefox with EGL on X11 (set MOZ_X11_EGL=1 env variable) and you get VA-API as well as on Wayland. Status: NEW → RESOLVED Closed: 23 hours ago Resolution: --- → FIXED

[..]

Cristina Coroiu [:ccoroiu] Comment 41 • 14 hours ago bugherder https://hg.mozilla.org/mozilla-central/rev/2b880e8d9143 Status: REOPENED → RESOLVED Closed: 23 hours ago → 14 hours ago status-firefox80: affected → fixed Resolution: --- → FIXED Target Milestone: --- → mozilla80

Andrew-R
()

Вышла CinelerraGG 2020.04

 

*Добавлена сборка для Ubuntu 20* с минимальным тестированием.
* Ubuntu 19 статическая сборка в этом месяце ещё есть, но к cледующему наверное уберут, если не будет спроса.
*Добавлена сборка под Fedora 32 .

*копия releasenotes.pdf 
Cinelerra-GG (Version Infinity) Release Notes for 04/01/2020-04/30/2020 Спасибо пользователю *RafaMar* за тестирование, видеотуториалы и перевод на испанский. Мануал частично переведён на испанский пользователем *Sergio*. https://cinelerra-gg.org/download/CinelerraGG_Manual_Spanish.pdf 1. Четыре оптимизации в коде: 1) Ускорение отображения линий (по следам форумной переписки). 2) Перерисовка видео и аудио на таймлайне была ускорена. 3) Использование нескольких потоков при загрузке аудио и видео миниатюр на таймлайн - до этого прорисовка аудио ждала окончания декодирования и прорисовки видео-дорожек. 4) Аппаратное ускорение через vdpau было несколько улучшено для работы с видео (например от камер GoPro) h.264 CONSTRAINED_BASELINE (пользователь с ником Ig0r довёл дело до победного конца). 2. *Улучшения в видеоскопе, как в виде дополнительного окна в композиторе так и в виде плагина. - Сглаженный вектороскоп (по просьбе Sam'а ). - Добавлены опции векторного круга – none, All, Hue, IQ (with I for skin tones and Q for grass?), Поддержка пользовательских настроечных кругов в вектороскопе (Andrea и IgorBeg). - Размещение элементов в окне было переработано (IgorBeg/Sam). - Switched the Hue and Saturation values from the top line to a popup instead. - Добавлена конопка “*Refresh on Stop*” так что вектороскоп обновляется только когда вы ставите видео на паузу. (Sam). Работает только в вектороскопе вызванном из окон композитора или просмотрщика. 3. Баг с перезаписью исходного видео был пофикшен. (спасибо RafaMar за анализ и инструкцию по воссозданию бага) см. BT #71, note 3228+. 4. *Улучшения в юзабельности:* Переключение на использование 90% jpeg вместо png для эффектов переходов. Добавлено 17 новых форм для переходов (RafaMar). Возможность использования png версий сохранена. Добавлен плагин для размывания конкретной области (BoxBlur) (Andrea). *Таскаемая мышкой область в плагине Титры теперь автоматически выключает подобное поведение в других плагинах, использующих тот же механизм. (попросил RafaMar ). *Доступны опции «собрать плагины» и «вставить плагины», а также сохренение стэка операций в подкаталог Клипы (Sam, BT #84). Нажмите среднюю кнопку мыши на дорожке для активации этого режима (последние два пункта в меню). Ожидается дальшейшая работа над этим режимом в текущем месяце. Испанский перевод и советы дня обновлены (RafaMar). Множественные багфиксы. Например, пофикшен баг с перемещением по ключевым кадрам путём нажатия клавиши «k». Улучшена работа на экранах xinerama с разрешением 2560x1080. Улучшена загрузка jpeg и png в режиме ускорения VAAPI.

Заметки к релизу [eng]
Загрузить статические сборки
git (cinelerra-gg.org)

Andrew-R
()

PCEm 16 вышел

 

PCem v16 вышел, изменения с версии v15 :

    Новые эмулируемые машины - Commodore SL386SX-25, ECS 386/32, Goldstar GDC-212M, Hyundai Super-286TR, IBM PS/1 Model 2133 (EMEA 451), Itautec Infoway Multimidia, Samsung SPC-4620P, Leading Edge Model M
    Новые видеокарты - ATI EGA Wonder 800+, AVGA2, Cirrus Logic GD5428, IBM 1MB SVGA Adapter/A
    Добавлена новая звуковая карта - Aztech Sound Galaxy Pro 16 AB (Washington)
    Добавлена новая SCSI карта   - IBM SCSI Adapter with Cache (с кэшем)
    Поддержка эмуляции FPU на машинах младше -486 
    Многочисленные багфиксы
    Разное не вошедшее  в этот changelog

Подробности

Andrew-R
()

Нашёл скрипт для преобразования материалов из Blender internal в LuxRender

 ,

Скрипт:

https://bitbucket.org/MarsThunder/blender-python/src/master/

Описание на английском:

https://blenderartists.org/t/addon-plugin-luxrender-material-converter/657286/52

На 2.79b поехал, только я его обозвал после установки из zip-архива «__init__.py » (в его внутренней директории в пользовательском профиле Блендера - ~/.config/blender/2.79/scripts/addons/MarsThunder-blender-python-a309f1b2553a/)

Проблема в том, что он похоже не конвертирует материал на выбранном в текущий момент времени объекте - а на вкладку материалы, где его кнопка прописана - без щелчка-выделения на каком-нибудь объекте и заходе в свойства его материалов мне не попасть ...

Обошёл созданием одного лишнего объекта сразу после импорта сцены, на который я и встаю, и через материалы которого и жму кнопочку Convert all materials.

Вроде работает. Но я что-то в настройках Люксовой камеры накрутил, и теперь рендер-то заканчивает консольный luxconsole, а вот сам Блендер того, по ошибке шины (!) падает ....

Может кто достаточно хорошо знает Блендеровские питоновые API чтобы этот баг поправить?

Andrew-R
()

Luxrender 1.6 и новый Python 3.7.2

Да, некрокомпиляция, но просто интересно стало (у друга такой же рендер под Вин, а я уже собрал Blender 2.79b под новый питон .. пересобирать всё (python, boost, blender + deps, lux) сильно не хочется, а превьюшки материала были бы полезны .... Они делаются через pylux который по умолчанию не собирается на новом Питоне, ругаясь на pyobject в недрах Lux-16/python/pycontext.h

Лукс брал отсюда:

https://github.com/LuxRender/Lux/releases До этого естественно сам LuxRender-1.6 и все его зависимости ....

Собрать-то я его собрал (на boost-1.69), но вот именно с питонобиндингами проблема ..

я пробовал тупо заменить pyContex на pyContext_lux, но что-то я запутался, и всё равно он на одну строчку ругался, а когда я её закомментировал - файлы so получались загружаемые, но превьюхи всё равно не было ;} Ну и Блендер на выходе намертво вис ...

class pyContext_lux
{
public:
        pyContext_lux(std::string _name)
        {
                //System wide init
                boost::call_once(&luxInit, luxInitFlag);

                //Here we create a new context
                name = _name;
                createNewContext(_name);
                // LOG(LUX_INFO,LUX_NOERROR)<<"Created new context : '"<<name<<"'";
        }

        ~pyContext_lux()
        {
                //destroy threads
                BOOST_FOREACH(boost::thread *t,pyLuxWorldEndThreads)
                {
                        delete(t);
                }
                pyLuxWorldEndThreads.clear();

                // Close any active net connections
                boost::python::list server_list( getRenderingServersStatus() );
                for(boost::python::ssize_t n=0; n<boost::python::len(server_list); n++)
                {
                        RenderingServerInfo RSI = boost::python::extract<RenderingServerInfo>(server_list[n]);
                        context->RemoveServer( RSI );
                }

                // free the context
                delete context;
                context = NULL;
        }

и ниже

        void motionInstance(const char *name, float startTime, float endTime, const char *toTransform)
        {
                checkActiveContext();
                context->MotionInstance(std::string(name), startTime, endTime, std::string(toTransform));
        }

        void worldEnd() //launch luxWorldEnd() into a thread
        {
                checkActiveContext();
                //pyLuxWorldEndThreads.push_back(new boost::thread( boost::bind(&PyContext::pyWorldEnd, this) ));
        }

        void loadFLM(const char* name)
        {
                checkActiveContext();
                context->LoadFLM(std::string(name));
        }

Вот эту строчку //pyLuxWorldEndThreads.push_back(new boost::thread( boost::bind(&PyContext::pyWorldEnd, this) )); я и закомментировал .... иначе вообще не собиралось....

Может кто подскажет, что делать?

Andrew-R
()

Собрал предшественника Синелерры - Broadcast2000!

 , ,

ЖЖ:

https://randrianasulu.livejournal.com/17521.html

Будет забавно, если кто-нибудь соберёт под x86-64 :}

UPD: залил на github https://github.com/Randrianasulu/broadcast2000/commits/master

Andrew-R
()
ГалереяСкриншоты (не подтверждено)

У меня сгорел БП, сижу с Селерона ...

 

Вот с такого:

( читать дальше... )

Andrew-R
()

Выложил мои хаки KDE3 на github

 

Ужасайтесь (хотя digikam вроде бы скомпилялся вчера. И даже картинки показывает)

https://github.com/Randrianasulu/kde3-hacks-slackbuild

Andrew-R
()

Я переоткрыл для себя lowres ....

ЖЖ конечно ....

Но я внезапно осознал, что параметр -lavdopts lowres=1 всё ещё работает, и даже можно сделать так:

taskset -c 0 qemu-i386 -cpu pentium2 /usr/bin/mplayer /home/guest/botva/vid/my_dogs/01-jan-2009/mvi_0626.avi -lavdopts lowres=1 -quiet -benchmark

И оно будет декодироваться в половину разрешения (для mjpeg, mpeg1/2, dv, flv1, mpeg4/xvid). Надо же, а я думал как народ на п166ммх видео divx играл ..у меня что-то в своё время этот параметр не работал, а сейчас смотри-ка, работает, можно на тостерах HD смотреть

Andrew-R
()

Вышла новая версия видеоредактора CinelerraGG - 19.10

 , ,

Вышла новая версия видеоредактора CinelerraGG - 19.10
Группа Мультимедиа

Поскольку график релизов помесячный - то, наверное, можно сказать, что это номер версии.

Из главного:

  • 15 тысяч строчек рефакторинга для худо-бедно, но вроде рабочей поддержки HiDPI мониторов (4k+). Задаётся масштаб в настройках, ещё можно через переменную окружения изменить: BC_SCALE=2.0 путь_к_исполняемому_файлу_cin — всё станет в 2 раза больше. Можно указывать дробные значения, например, 1.2;
  • встроенная библиотека libdav1d обновлена до версии 0.5 - заметное на глаз ускорение декодирования AV1;
  • 25 новых переходов (диагональные, звезды, облака ….);
  • слегка ускорен сам код, который эти переходы считает;
  • добавлены файлы opt для более простого кодирования в avi (dv, xvid, asv1/2) и utcodec/magicyuv (для захвата экрана).

Ещё я поковырялся в файле переводов … Результат … хм. Нуждается в дальнейшей доработке. Но я ещё в код полез, выяснять почему мои DV не крутятся обратно так же быстро, как вперёд, завёл багу, изучал откуда растёт понятие таймкод … в общем переводческие баги шлите мне, адрес в файле ru.po

Есть бага (у разработчика не воспроизводится пока): если на видео-дорожку положить эффект гистограммы, и ещё какой-то эффект, запустить этот пирог на проигрывание, и попробовать через контекстное меню эффекта НАД гистограммой сместить его вниз - сегфолт.

Скачивать, как обычно - тут:

https://www.cinelerra-gg.org/downloads/#packages

>>> Подробности (cinelerra-gg.org)

Andrew-R
()

Патч для kdenetwork-3.5.10 / smb4 !

root@slax6:/tmp/kdenetwork-3.5.10# cat smb4.patch
--- filesharing/advanced/kcm_sambaconf/sambafile.cpp.orig       2019-10-07 21:43:41.216000000 +0000
+++ filesharing/advanced/kcm_sambaconf/sambafile.cpp    2019-10-07 21:47:35.336000000 +0000
@@ -356,6 +356,12 @@
     if (_parmOutput.find("3") > -1)
       _sambaVersion = 3;
   }
+
+  if (testParam.start(KProcess::Block,KProcess::Stdout)) {
+    if (_parmOutput.find("4") > -1)
+      _sambaVersion = 4;
+  }
+

   kdDebug(5009) << "Samba version = " << _sambaVersion << endl;

@@ -373,7 +379,7 @@
   testParam << "testparm";
   testParam << "-s";

-  if (getSambaVersion() == 3)
+  if ((getSambaVersion() == 3) || (getSambaVersion() == 4))
      testParam << "-v";


Иначе все опции настройки Самы были затенённые/нерабочие.

Andrew-R
()

Пересобрал свой liveCD со Слакварью 14.1

 ,

Привет, ЛОР!

Решил я тут свой LiveCD пересобрать немного. Пересобрал ... На qemu и vmware запускается, на диск (700 Мб) прожигается. Решил, а почему бы и не поделится?

https://yadi.sk/d/rVOOfEtO4dIx4w

sha256sum CDROM-4.4.194_2.iso
bb125e26ccb57e9403837231d5a7ee6748f8befd0874965c29570800929f0346  CDROM-4.4.194_2.iso

Ещё один апдейт, обновил libjpeg-turbo (до 1.5.3), ctorrent, добавил glspt (граф. менеджер обновлений), теперь вроде апдейт неломает систему, но с зависимостями по-прежнему слака ….

Добавил dmraid, обновил MPlayer (до 1.2.1 из Слаквари-14.2), Midnight Commander (до 4.8.22), добавил sox

Грузить можно с slax autoexec=kdm (если с Х автоконфигом всё ок)

qemu-system-i386 -cdrom /dev/shm/CDROM-4.4.194_2.iso -m 256 -display sdl,gl=on -enable-kvm -usb -soundhw es1370 -cpu pentium

Ядро 4.14.194, gcc - 4.8.2, glibc - 2.17, seamoney 2.46 (новее скорее всего без апдейта gcc не собрать), llvm 3.6/mesa 17.0.7, X server 1.14, gimp 2.8.18, Cinelerra-CV 2.3 (+faac, faad, x264), ffmpeg 2.8.15, KDE 3.5.10, gparted, sane / cups / gphoto, ctorrent, lftp и ещё всякая всячина про которую я забыл

Правда, репа slackonly для 14.1 [1] давно не обновлялась, но там сами настроите по своему вкусу.

Пароли такие же, как в Slax6 - root/toor, guest/guest

[1] - https://packages.slackonly.com/pub/packages/14.1-x86/

Скачивайте, пробуйте, делитесь пожеланиями в комментах .....

Andrew-R
()

Firestorm работает через apulse

 ,

Просто хочу сказать спасибо i-rinat за его работу. 32-битный Phoenix_FirestormOS-Release_i686_6.0.2.56680 (клиент для Second Life и OpenSimulator) звучал через alsa, но только если вокруг не было других звуковых приложений. Через apulse запускается и играет параллельно с xmms к примеру, а ещё кажется заработала запись через snd-loop/alsa loopback!

Andrew-R
()

У кого-нибудь есть PPC mac + Rage 128 video?

 , , ,

А то один из разработчиков qemu пытается потихоньку эмуляцию rv100/r128 сделать, но она работает сейчас на i386 госте, а на qemu-system-ppc только в MorphOS работает, Линукс либо вообще ничего не показывает (чёрный экран на драйвере r128), либо цвета на Fbdev глючат (при глубине цвета 15 bpp).

https://osdn.net/projects/qmiga/wiki/SubprojectAti

для тестов используется finnix и Lubuntu

https://www.finnix.org/

http://cdimage.ubuntu.com/lubuntu/releases/16.04/release/

./ppc-softmmu/qemu-system-ppc -M mac99,via=pmu -L ../queue-vga/pc-bios -cdrom /mnt/sdb1/PPC-img/lubuntu-16.04-desktop-powerpc.iso -m 512  -display sdl  -device ati-vga,guest_hwcursor=true  -d guest_errors,unimp -boot d -cpu G3 -g 1024x768x24

кусок про -L можно пропустить, это я указываю путь к свежему нерелизному выпуску ati-bios , с которым на i386 заработал ddc/edid.

https://git.kraxel.org/cgit/seabios/tree/vgabios-ati.bin?h=ati

На qemu-system-i386 только некоторые LiveCD работают, нужно загрузить aty128fb, и указать опцию UseFBDev «1» в xorg.conf (это недостаток эмуляции, там сейчас только 2D часть эмулируется, да и то не полностью).

В общем даже x86 комп с реальной r128 пригодился бы, а то непонятно где глюки драйвера, а где - эмуляции....

Andrew-R
()

Вбил поддержку libdav1d в MPlayer

Index: etc/codecs.conf
===================================================================
--- etc/codecs.conf     (revision 38140)
+++ etc/codecs.conf     (working copy)
@@ -8,6 +8,14 @@
 ;=============================================================================
 ;                   VIDEO CODECS
 ;=============================================================================
+videocodec av1
+  info "AV1"
+  status working
+  driver ffmpeg
+  dll libdav1d
+  format 0x31305641
+  format 0x31307661
+  out YV12

 videocodec ffiff
   info "FFmpeg IFF ANIM/ILBM/PBM/RGB8/RGBN"

Index: configure
===================================================================
--- configure   (revision 38140)
+++ configure   (working copy)
@@ -797,6 +797,7 @@
 _joystick=no
 crystalhd=auto
 _xvid=auto
+_libdav1d=yes
 _xvid_lavc=auto
 _x264=auto
 _x264_lavc=auto
@@ -7405,6 +7406,28 @@
 fi
 echores "$_xvid"

+echocheck "libdav1d"
+if test "$_libdav1d" = auto ; then
+  _xvid=no
+  for ld_tmp in "-ldav1d"  "-ldav1d $ld_pthread" ; do
+    statement_check dav1d.h 'xvid_plugin_ssim_t xs; xvid_global(0, 0, 0, 0)' $ld_tmp &&
+      extra_ldflags="$extra_ldflags $ld_tmp" && _xvid=yes && break
+  done
+fi
+
+if test "$_libdav1d" = yes ; then
+  def_libdav1d='#define CONFIG_LIBDAV1D 1'
+  libavdecoders="$libavdecoders LIBDAV1D_DECODER"
+  extra_ldflags="$extra_ldflags -ldav1d"
+else
+  def_libdav1d='#undef CONFIG_LIBDAV1D'
+  #nocodecmodules="libdav1d $nocodecmodules"
+fi
+echores "$_libdav1d"
+
+
+
+
 echocheck "Xvid two pass plugin"
 if test "$_mencoder" = yes && test "$_xvid" = yes && test "$_xvid_lavc" = auto ; then
   statement_check xvid.h 'xvid_plugin_2pass2_t s; s.vbv_size = 0' && _xvid_lavc=yes
@@ -9419,6 +9442,7 @@
 #define CONFIG_WMA_FREQS 1
 #define CONFIG_WMV2DSP 1

+
 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
 #ifndef MP_DEBUG
 #define HAVE_EBP_AVAILABLE 1
@@ -9426,7 +9450,7 @@
 #define HAVE_EBP_AVAILABLE 0
 #endif

-#define FFMPEG_CONFIGURATION "--enable-gpl --enable-postproc"
+#define FFMPEG_CONFIGURATION "--enable-gpl --enable-postproc --enable-libdav1d"
 #define FFMPEG_LICENSE "GPL version 2 or later"

 #define LIBAV_CONFIGURATION FFMPEG_CONFIGURATION

Как можно заметить, автодетект я неосилил пока, его надо из ffmpeg-овского configure тащить ....

Вроде даже и работает, хоть и ругается:
[libdav1d @ 0x57678b00]The deprecated avcodec_decode_* API cannot return all the frames for this decoder. Some frames will be dropped. Update your code to the new decoding API

Andrew-R
()

Cinelerra-GG and av1

 

Вот, сделал небольшой хак к Cin-GG, теперь она воспроизводит 1280x720 AV1 видео на полной скорости. (вкомпилял ffmpeg.gt + libdav1d 0.3.0)

Хак - https://www.cinelerra-gg.org/bugtracker/view.php?id=214

diff --git a/cinelerra-5.1/cinelerra/ffmpeg.C b/cinelerra-5.1/cinelerra/ffmpeg.C
index 3bb9dd8..e87cfa5 100644
--- a/cinelerra-5.1/cinelerra/ffmpeg.C
+++ b/cinelerra-5.1/cinelerra/ffmpeg.C
@@ -374,7 +374,18 @@ int FFStream::decode_activate()
                }
                while( ret >= 0 && st != 0 && !reading ) {
                        AVCodecID codec_id = st->codecpar->codec_id;
- AVCodec *decoder = avcodec_find_decoder(codec_id);
+ /* hack */
+ // AVCodec *decoder = avcodec_find_decoder(codec_id);
+
+ // const char* lib_aom_name = "libaom-av1";
+ const AVCodecDescriptor *descr = avcodec_descriptor_get(codec_id);
+ AVCodec *decoder = NULL;
+ decoder = avcodec_find_decoder(codec_id);
+ if ( descr->id == AV_CODEC_ID_AV1) {
+ decoder = avcodec_find_decoder_by_name("libdav1d");
+ }
+
+
                        avctx = avcodec_alloc_context3(decoder);
                        if( !avctx ) {
                                eprintf(_("cant allocate codec context\n"));
@@ -1543,6 +1554,7 @@ FFMPEG::FFMPEG(FileBase *file_base)
        has_audio = has_video = 0;
        opts = 0;
        opt_duration = -1;
+ opt_force_video_decoder = 0;
        opt_video_filter = 0;
        opt_audio_filter = 0;
        opt_hw_dev = 0;
@@ -2007,6 +2019,8 @@ int FFMPEG::read_options(FILE *fp, const char *options, AVDictionary *&opts)
                if( !ret ) {
                        if( !strcmp(key, "duration") )
                                opt_duration = strtod(val, 0);
+ else if( !strcmp(key, "force_video_decoder") )
+ opt_force_video_decoder = cstrdup(val);
                        else if( !strcmp(key, "video_filter") )
                                opt_video_filter = cstrdup(val);
                        else if( !strcmp(key, "audio_filter") )
diff --git a/cinelerra-5.1/cinelerra/ffmpeg.h b/cinelerra-5.1/cinelerra/ffmpeg.h
index b4867b8..e13504e 100644
--- a/cinelerra-5.1/cinelerra/ffmpeg.h
+++ b/cinelerra-5.1/cinelerra/ffmpeg.h
@@ -329,6 +329,7 @@ public:
        char *opt_video_filter;
        char *opt_audio_filter;
        char *opt_hw_dev;
+ char *opt_force_video_decoder;
        char file_format[BCTEXTLEN];
        int fflags;

Компилять:

export EXTRA_LIBS=" -lOpenCL -ldav1d"
export FFMPEG_EXTRA_CFG=" --enable-opencl --enable-libdav1d"
setarch i686 ./configure --with-git-ffmpeg=https://git.ffmpeg.org/ffmpeg.git --with-single-user 

Также видны разные фильтры от FFmpeg'а. Комплексные графы там не сделать, но просто как эффект к треку - должно сработать. (я пробовал scale_vaapi, но он что-то не заработал. Впрочем, они и с нормальным ffmpeg не работал .. завёл баг на месу)

Andrew-R
()

В Cinelerra-GG добавили поддержку аппаратного декодирования!

Ставим libva-dev, libvdpau-dev Собираем из git (либы должны подхватится автодетектом)

https://git.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=shortlog;h=HEAD

Ставим драйвер видеовывода «X11» или «X11-OpenGL» Запускаем так:

CIN_HW_DEV=vaapi cin (AMD, intel, nouveau [vp2-5])
CIN_HW_DEV=vdpau cin (nvidia proprietary, probably open-source AMD mesa with vdpau state tracker)

Загружаем видео (я пробовал на mpeg2 ts, без реклока видеодекодера работает шибко медленно, но не крашится)

CIN_HW_DEV=vaapi cin
Cinelerra Infinity - built: Apr 25 2019 18:53:16
git://git.cinelerra-gg.org/goodguy/cinelerra.git
(c) 2006-2018 Heroine Virtual Ltd. by Adam Williams
(c) 2007-2018 cin5 derivative by W.P. Morrow aka goodguy
Cinelerra is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. There is absolutely no warranty for Cinelerra.

libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/X11R7/lib/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/X11R7/lib/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/X11R7/lib/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
Session time: 0:04:12
Cpu time: user: 0:00:13.844 sys: 0:00:02.309
Andrew-R
()