[Cin] Patches again - filepng, opencv config

Good Guy good1.2guy at gmail.com
Mon Mar 30 02:48:42 CEST 2020


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.


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20200329/677a04e2/attachment.html>


More information about the Cin mailing list