[Cin] Patches again - filepng, opencv config
Andrew Randrianasulu
randrianasulu at gmail.com
Mon Mar 30 02:59:43 CEST 2020
В сообщении от Monday 30 March 2020 03:48:42 Good Guy написал(а):
> Sorry, we figured out what happened. I was fooled by the filepng
> write_frame function. It uses a test to see if what it is writing can be a
> "direct_copy". So... whenever I added your patch to test it, and ran the
> png render, my test data was a png, and it always just copied it instead of
> testing your patch. I was tricked into believing your patch had no
> effect. That was incorrect, it is needed. Turns out the swap is to
> present the data in network order to the interface. My mistake...
>
> When I used a synthetic render (gradient only), the writer can't just copy
> it. It has to be compressed. The test indicates your mod is needed for
> sure. I added the change just as soon as I realized what had happened.
>
> Well, just goes to show that good testing is the road to hell.
Oh, thanks A LOT for this update, now I can leave my machine compiling,
my dog sleeping, and do the same until he wake me up in the morning!
>
>
> On Thu, Mar 26, 2020 at 8:46 PM Andrew Randrianasulu <
> randrianasulu at gmail.com> wrote:
>
> > Sorry for insisting on this filepng part - but it was my work,
> > and I dislike to ship broken feature!
> >
> > I actually tested Cinelerra git on Ubuntu Live DVD, and
> > _16 bit_ pngs were broken there without it.
> >
> > It was as simple as
> > 1) opening the video
> > 2) setting project to rgba-float color format.
> > 3) trying to save png (from non-black area of timeline)
> > and set options to "with alpha, 16 bits".
> >
> > By default Cin adds encoded results into resources and on new tracks -
> > you clearly can see it will be black/broken. 8-bits PNGs are OK.
> >
> > Ubuntu image I used:
> > http://mirror.yandex.ru/ubuntu-cdimage/xubuntu/releases/18.04/release/
> > xubuntu-18.04.4-desktop-amd64.iso
> > <http://mirror.yandex.ru/ubuntu-cdimage/xubuntu/releases/18.04/release/xubuntu-18.04.4-desktop-amd64.iso>
> > - 1.4 Gb
> >
> > Then I created 4 Gb file in tmpfs, formatted it with btrfs with
> > compression, and booted Live image:
> >
> > guest at slax:/dev/shm$ wget
> > http://mirror.yandex.ru/ubuntu-cdimage/xubuntu/releases/18.04/release/xubuntu-18.04.4-desktop-amd64.iso
> > --2020-03-25
> > <http://mirror.yandex.ru/ubuntu-cdimage/xubuntu/releases/18.04/release/xubuntu-18.04.4-desktop-amd64.iso--2020-03-25>
> > 13:55:42--
> > http://mirror.yandex.ru/ubuntu-cdimage/xubuntu/releases/18.04/release/xubuntu-18.04.4-desktop-amd64.iso
> > Распознаётся mirror.yandex.ru… 213.180.204.183, 2a02:6b8::183
> > Подключение к mirror.yandex.ru|213.180.204.183|:80... соединение
> > установлено.
> > HTTP-запрос отправлен. Ожидание ответа… 200 OK
> > Длина: 1534459904 (1,4G) [application/octet-stream]
> > Сохранение в: «xubuntu-18.04.4-desktop-amd64.iso»
> >
> > xubuntu-18.04.4-desktop-amd64.iso
> > 100%[==============================================================================================================>]
> > 1,43G 8,26MB/s за 6m 40s
> >
> > 2020-03-25 14:02:28 (3,66 MB/s) - «xubuntu-18.04.4-desktop-amd64.iso»
> > сохранён [1534459904/1534459904]
> >
> > guest at slax:/dev/shm$ qemu-sy
> > qemu-system-aarch64 qemu-system-i386 qemu-system-mips
> > qemu-system-nios2 qemu-system-riscv64
> > qemu-system-sparc64 qemu-system-xtensaeb
> > qemu-system-alpha qemu-system-lm32 qemu-system-mips64
> > qemu-system-or1k qemu-system-s390x qemu-system-tricore
> > qemu-system-arm qemu-system-m68k qemu-system-mips64el
> > qemu-system-ppc qemu-system-sh4
> > qemu-system-unicore32
> > qemu-system-cris qemu-system-microblaze qemu-system-mipsel
> > qemu-system-ppc64 qemu-system-sh4eb qemu-system-x86_64
> > qemu-system-hppa qemu-system-microblazeel qemu-system-moxie
> > qemu-system-riscv32 qemu-system-sparc qemu-system-xtensa
> > guest at slax:/dev/shm$ qemu-system-x86_64 -m 2000 -display sdl,gl=on
> > -soundhw es1370 -usb -cdrom xubuntu-18.04.4-desktop-amd64.iso
> > qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate
> > memory
> > guest at slax:/dev/shm$ qemu-system-x86_64 -m 2000 -display sdl,gl=on
> > -soundhw es1370 -usb -cdrom xubuntu-18.04.4-desktop-amd64.iso
> > guest at slax:/dev/shm$ qemu-system-x86_64 -m 2000 -display sdl,gl=on
> > -soundhw es1370 -usb -cdrom xubuntu-18.04.4-desktop-amd64.iso -enable-kvm
> > -smp 3
> > guest at slax:/dev/shm$ qemu-system-x86_64 -m 2000 -display sdl,gl=on
> > -soundhw es1370 -usb -cdrom xubuntu-18.04.4-desktop-amd64.iso -enable-kvm
> > -smp 3
> > guest at slax:/dev/shm$ dd if=/dev/zero of=4Gb bs=1k count=4M
> > 4194304+0 записей получено
> > 4194304+0 записей отправлено
> > 4294967296 байт (4,3 GB, 4,0 GiB) скопирован, 20,7155 s, 207 MB/s
> > guest at slax:/dev/shm$ qemu-system-x86_64 -m 2000 -display sdl,gl=on
> > -soundhw es1370 -usb -cdrom xubuntu-18.04.4-desktop-amd64.iso -enable-kvm
> > -smp 4 -hda 4Gb
> > WARNING: Image format was not specified for '4Gb' and probing guessed raw.
> > Automatically detecting the format is dangerous for raw images,
> > write operations on block 0 will be restricted.
> > Specify the 'raw' format explicitly to remove the restrictions.
> >
> > in just a hour I had compiled Cinelerra (by copying git tree from host
> > BEFORE launching qemu)
> >
> > Note, in such mem-restricted VM you want to use zram (not default in this
> > ubuntu flavor):
> > as root
> > modprobe zram
> > echo 1000000000 > /sys/block/zram0/disksize
> > mkswap /dev/zram0
> > swapon /dev/zram0
> >
> > this will create 1Gb sized compressed swap in ram
> >
> > I even send email from this virtual setup, but it apparently was stuck in
> > moderation
> > due to size (over 750 kb).
> >
> > NOW, I found something really weird!
> > Patch as attached worked on 64-bit Ubuntu,
> > but for my system I *must*
> > place this call to png_set_swap(png_ptr); differently, not before
> > png_write_info(png_ptr, info_ptr);
> > but AFTER! I actually left both there ....
> >
> > Still, this is something strange, I'll try to contact libpng author about
> > this.....
> >
> > Also, I attach my current OpenCV tweaks - trim out unneeded stuff,
> > fixing two typos, adding -stdc++11 line for my odd system.
> >
> > I still use opencv-20180401.tgz
> >
> > I also have two lame (mp3lame) patches, but will send them separately.
> > --
> > Cin mailing list
> > Cin at lists.cinelerra-gg.org
> > https://lists.cinelerra-gg.org/mailman/listinfo/cin
> >
>
More information about the Cin
mailing list