I tried cinepack encoder, it was single-threaded, and for 720x400 movie fragment (25 sec) encoding was finished in 16 min, with nearly 4Ghz AMD processor! Also, I tried dca/MLP/truehd audio encoders from ffmpeg, but they all require 'strict=-2", and I got few BOOBYs along the way: guest@slax:/dev/shm$ cin Cinelerra Infinity - built: Oct 13 2019 04:15:15 git://git.cinelerra-gg.org/goodguy/cinelerra.git (c) 2006-2019 Heroine Virtual Ltd. by Adam Williams (c) 2007-2019 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. BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase8draw_boxEiiiiP9BC_Pixmap+0x27) [0x8826767] cin(_ZN10BC_TextBox4drawEi+0x79) [0x87fe789] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase8draw_boxEiiiiP9BC_Pixmap+0x27) [0x8826767] cin(_ZN10BC_TextBox11draw_borderEv+0x67) [0x87fe567] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase8draw_boxEiiiiP9BC_Pixmap+0x27) [0x8826767] cin(_ZN10BC_TextBox11draw_borderEv+0xb4) [0x87fe5b4] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x85) [0x88287a5] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0xe0) [0x8828800] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x157) [0x8828877] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x1bb) [0x88288db] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x22c) [0x882894c] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x287) [0x88289a7] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x2fb) [0x8828a1b] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x353) [0x8828a73] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] [truehd @ 0xe2b1a680] The encoder 'truehd' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it. FFMPEG::open_encoder err: Experimental feature int FFMPEG::open_encoder(const char*, const char*): open failed truehd:/dev/shm/cinepack.qt FFStream::encode_frame: encode failed. file: /dev/shm/cinepack.qt err: Недопустимый аргумент FFStream::flush failed :file:/dev/shm/cinepack.qt err: Операция не позволена Render::render_single: Session finished. [truehd @ 0xe9e03e40] The encoder 'truehd' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it. FFMPEG::open_encoder err: Experimental feature int FFMPEG::open_encoder(const char*, const char*): open failed truehd:/dev/shm/cinepack.qt FFStream::encode_frame: encode failed. file: /dev/shm/cinepack.qt err: Недопустимый аргумент FFStream::flush failed :file:/dev/shm/cinepack.qt err: Операция не позволена Render::render_single: Session finished. BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase8draw_boxEiiiiP9BC_Pixmap+0x27) [0x8826767] cin(_ZN10BC_TextBox4drawEi+0x79) [0x87fe789] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase8draw_boxEiiiiP9BC_Pixmap+0x27) [0x8826767] cin(_ZN10BC_TextBox11draw_borderEv+0x67) [0x87fe567] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase8draw_boxEiiiiP9BC_Pixmap+0x27) [0x8826767] cin(_ZN10BC_TextBox11draw_borderEv+0xb4) [0x87fe5b4] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x85) [0x88287a5] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0xe0) [0x8828800] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x157) [0x8828877] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x1bb) [0x88288db] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x22c) [0x882894c] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x287) [0x88289a7] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x2fb) [0x8828a1b] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase14draw_3d_borderEiiiiiiii+0x353) [0x8828a73] cin(_ZN10BC_TextBox11draw_borderEv+0x112) [0x87fe612] cin(_ZN10BC_TextBox4drawEi+0x134) [0x87fe844] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee] FFMPEG::encode_activate: write header failed /dev/shm/cinepack.qt err: Недопустимый аргумент Render::render_single: Session finished. Render::render_single: Session finished. Trying to stop such ultralong encode via pressing single red X near rendering progress bar in main CinGG window not resulted in immediate stopping, it was doing something for few more minutes, I watched output file still growing with du -h file, but then end result was viewable in mplayer: mplayer /dev/shm/cinepack.qt MPlayer SVN-r38152-5.5.0 (C) 2000-2019 MPlayer Team 224 audio & 466 video codecs Playing /dev/shm/cinepack.qt. libavformat version 58.33.100 (internal) libavformat file format detected. [mov,mp4,m4a,3gp,3g2,mj2 @ 0x5758c9e0]Protocol name not provided, cannot determine if input is local or a network protocol, buffers and access patterns cannot be configured optimally without knowing the protocol [lavf] stream 0: video (cinepak), -vid 0 [lavf] stream 1: audio (pcm_mulaw), -aid 0, -alang rus VIDEO: [cvid] 720x400 24bpp 25.000 fps 3793.2 kbps (463.0 kbyte/s) ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family libavcodec version 58.59.102 (internal) Selected video codec: [ffcvid] vfm: ffmpeg (FFmpeg Cinepak Video) ========================================================================== Clip info: major_brand: qt minor_version: 512 compatible_brands: qt encoder: Lavf58.29.100 Load subtitles in /dev/shm/ ========================================================================== Forced audio codec: mad Opening audio decoder: [alaw] aLaw/uLaw audio decoder AUDIO: 48000 Hz, 2 ch, s16le, 768.0 kbit/50.00% (ratio: 96000->192000) Selected audio codec: [ulaw] afm: alaw (uLaw) ========================================================================== AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample) Starting playback... Could not find matching colorspace - retrying with -vf scale... Opening video filter: [scale] Movie-Aspect is 1.80:1 - prescaling to correct movie aspect. [swscaler @ 0x57820140]bicubic scaler, from rgb24 to yuv420p using MMXEXT VO: [vdpau] 720x400 => 720x400 Planar YV12 Movie-Aspect is 1.80:1 - prescaling to correct movie aspect. VO: [vdpau] 720x400 => 720x400 Planar YV12 A: 25.0 V: 25.8 A-V: -0.840 ct: 0.012 0/ 0 2% 19% 0.2% 40 0
Andrew:
I tried cinepack encoder, it was single-threaded, and for 720x400 movie fragment (25 sec) encoding was finished in 16 min, with nearly 4Ghz AMD processor!
Well, gg is adding the cinepak.qt opt file even though it is very slow. He ran the profiler (prof2) included in the CinGG git, and discovered that 89% of the time was spent in "avpriv_do_elbg" - an error minimization loop. Here is that code: /* This loop evaluate the actual Voronoi partition. It is the most costly part of the algorithm. */ for (i=0; i < numpoints; i++) { best_dist = distance_limited(elbg->points + i*elbg->dim, elbg->codebook + best_idx*elbg->dim, dim, INT_MAX); for (k=0; k < elbg->numCB; k++) { dist = distance_limited(elbg->points + i*elbg->dim, elbg->codebook + k*elbg->dim, dim, best_dist); if (dist < best_dist) { best_dist = dist; best_idx = k; } }
Also, I tried dca/MLP/truehd audio encoders from ffmpeg, but they all require 'strict=-2", and I got few BOOBYs along the way:
BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase8draw_boxEiiiiP9BC_Pixmap+0x27) [0x8826767] cin(_ZN10BC_TextBox4drawEi+0x79) [0x87fe789] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee]
Bummer on hitting the "Booby Trap". Neither gg nor I can catch this and this time he could not determine the cause and thinks it might have to do with the order in which the popup box is closed. If you produce it again and remember the order of the closure and how closed like clicking on the red X or the window x, let us know the steps to reproduce. GG does not want these boobies around.
Trying to stop such ultralong encode via pressing single red X near rendering progress bar in main CinGG window not resulted in immediate stopping, it was doing something for few more minutes, I watched output file still growing with du -h file, but then end result was viewable in mplayer:
Yes, the above is true. The reason is probably that cinepak codec error minimization loop is so intensive, that it is busy and does not allow for handling the interruption.
В сообщении от Tuesday 29 October 2019 01:25:52 Phyllis Smith написал(а):
Andrew:
I tried cinepack encoder, it was single-threaded, and for 720x400 movie fragment (25 sec) encoding was finished in 16 min, with nearly 4Ghz AMD processor!
Well, gg is adding the cinepak.qt opt file even though it is very slow. He ran the profiler (prof2) included in the CinGG git, and discovered that 89% of the time was spent in "avpriv_do_elbg" - an error minimization loop. Here is that code:
/* This loop evaluate the actual Voronoi partition. It is the most costly part of the algorithm. */ for (i=0; i < numpoints; i++) { best_dist = distance_limited(elbg->points + i*elbg->dim, elbg->codebook + best_idx*elbg->dim, dim, INT_MAX); for (k=0; k < elbg->numCB; k++) { dist = distance_limited(elbg->points + i*elbg->dim, elbg->codebook + k*elbg->dim, dim, best_dist); if (dist < best_dist) { best_dist = dist; best_idx = k; } }
Just out of curiocity I found this thread: https://forum.videohelp.com/threads/388428-Cinepak-video-encoding and there someone said official Cinepack encoder was also able to run very slowly :} ------------ Also, unlike Msv1, it has in its vfw and qt implementations, a bug where if you go above a certain bitrate it will slow encoding to a crawl (sometimes freezing altogether). ------------ :} so, may be not going into high-bitrate territory will save some time?
Also, I tried dca/MLP/truehd audio encoders from ffmpeg, but they all require 'strict=-2", and I got few BOOBYs along the way:
BOOBY! cin(_Z5boobyv+0x2f) [0x881369f] cin(_ZN13BC_WindowBase8draw_boxEiiiiP9BC_Pixmap+0x27) [0x8826767] cin(_ZN10BC_TextBox4drawEi+0x79) [0x87fe789] cin(_ZN16BC_ScrollTextBox6updateEPKc+0xd5) [0x8806e25] cin(_ZN15FFOptionsDialog17handle_done_eventEi+0x122) [0x8565ad2] cin(_ZN15BC_DialogThread3runEv+0xe9) [0x87b8d49] cin(_ZN6Thread10entrypointEPv+0x3f) [0x883bf1f] /lib/libpthread.so.0(+0x66f2) [0xf753e6f2] /lib/libc.so.6(clone+0x6e) [0xf70021ee]
Bummer on hitting the "Booby Trap". Neither gg nor I can catch this and this time he could not determine the cause and thinks it might have to do with the order in which the popup box is closed. If you produce it again and remember the order of the closure and how closed like clicking on the red X or the window x, let us know the steps to reproduce. GG does not want these boobies around.
May be you already fixed those :}
Trying to stop such ultralong encode via pressing single red X near rendering progress bar in main CinGG window not resulted in immediate stopping, it was doing something for few more minutes, I watched output file still growing with du -h file, but then end result was viewable in mplayer:
Yes, the above is true. The reason is probably that cinepak codec error minimization loop is so intensive, that it is busy and does not allow for handling the interruption.
Yeah, not much can be done about this .... Thanks!
participants (2)
-
Andrew Randrianasulu -
Phyllis Smith