http://bugs.cinelerra.org/show_bug.cgi?id=229
Summary: A different sort of problem with mpeg2enc - I think
Product: Cinelerra
Version: 2.0
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: major
Priority: High
Component: Rendering
AssignedTo: [email protected]
ReportedBy: [EMAIL PROTECTED]
This is my first bug report so I am prepared for guidance on how I should be
doing this.
I am running FC4, x86_64
I am having problems with mpeg2enc for rendering in cinelerra. From the
developer mailing list I know there are known problems with the parameters
passed to mpeg2enc but my own problem seems like a different one.
I experience Render errors when trying to render PAL video as MPEG2. The errors
were initially fairly random (extensive searching for parameters to avoid the
errors failed). The render errors with mpeg2enc have become more numerous and
now I have no success at all.
I switched a few days ago from heroine warrior rpms to building cinelerra org
from svn, hoping this would help. As with the heroine code Mpeg2 rendering
worked sometimes and sometimes failed as I fiddled with the parameters until it
stopped working altogether. I have cleared the ~/.bcast directory several times
but this does not seem to help.
I tried running under gdb. I ran a render to Mpeg video and discovered that
cinelerra was looking for mpeg2enc.plugin in /usr/local/lib/cinelerra. The
mpeg2enc plugin doesn't seemed to be installed here. Making a link to the
plugin failed and I actually copied the file mpeg2enc from /usr/lib64/cinelerra
into this directory. Was this wrong? (being a 64 bit executable rather than 32
bit?).
After tweaking various settings to deal with errors that arose the furthest I
could get in rendering by this method was:
**ERROR: [mpeg2enc.plugin] Could not read YUV4MPEG2 header: system error (failed
read/write)!
So I tried a trick which I discovered on the cinelerra developers mailing list,
to render to yuv4mpeg referencing a pipe command contained in a seperate shell
script file. The pipe command in the shell script was:
#/usr/bin/bash
y4munsharp | yuvmedianfilter -T 3 -t 0 | mpeg2enc -v 2 -q 4 -f 3 -g 6 -G 9 -b $1
-o $2
This seemed to trigger different types of errors with the same base result -
failure to render to mpeg2 video.
The output (mpeg2enc at verbosity 1):
***********************************
...
0x12a8bf0 File::write_lock File::write_frames *
BC_Signals::dump_buffers: buffer table size=0
BC_Signals::delete_temps: deleting 0 temp files
SigHandler::signal_handler total files=1
Closing /home/gray/video/temp/pollyYUV
INFO: [yuvmedianfilter] frames=0 avg=0
INFO: [mpeg2enc] Signaling last frame = -1
INFO: [mpeg2enc] SETTING MMX and MMX for QUANTIZER!
INFO: [mpeg2enc] NEW GOP INIT length 9
/home/gray/cine_render.sh: line 2: 32673 Done y4munsharp
32674 | yuvmedianfilter -T 3 -t 0
32675 Segmentation fault | mpeg2enc -v 1 -q 4 -f 3 -g 6 -G 9 -b $1 -o
$2
*************************************
Output of a gdb backtrace (mpeg2enc verbosity 2)
*************************************
[Thread 1220598112 (LWP 2394) exited]
[New Thread 1220598112 (LWP 2397)]
trying popen(~/cine_render.sh 2000 /home/gray/video/temp/polly2YUV)
Detaching after fork from child process 2398.
INFO: [y4munsharp] Luma radius: 3.000000
INFO: [y4munsharp] Luma amount: 0.300000
INFO: [y4munsharp] Luma threshold: 4
INFO: [yuvmedianfilter] fast 0, weight type 0
INFO: [mpeg2enc] SETTING EXTENDED MMX for MOTION!
INFO: [mpeg2enc] SETTING SSE and MMX for TRANSFORM!
INFO: [mpeg2enc] SETTING EXTENDED MMX for PREDICTION!
INFO: [mpeg2enc] Selecting generic MPEG2 output profile
INFO: [mpeg2enc] Assuming norm PAL
INFO: [mpeg2enc] Interlaced input - selecting interlaced encoding.
INFO: [mpeg2enc] Encoding MPEG-2 video to /home/gray/video/temp/polly2YUV
INFO: [mpeg2enc] Horizontal size: 720 pel
INFO: [mpeg2enc] Vertical size: 576 pel
INFO: [mpeg2enc] Aspect ratio code: 1 = 1:1 pixels
INFO: [mpeg2enc] Frame rate code: 3 = 25.0 (PAL/SECAM VIDEO / converted
FILM)
INFO: [mpeg2enc] Bitrate: 2000 KBit/s
INFO: [mpeg2enc] Quality factor: 4 (Quantisation = 4) (1=best, 31=worst)
INFO: [mpeg2enc] Field order for input: top-field-first
INFO: [mpeg2enc] Sequence unlimited length
INFO: [mpeg2enc] Search radius: 16
INFO: [mpeg2enc] DualPrime: no
INFO: [mpeg2enc] Using one-pass rate controller
INFO: [mpeg2enc] GOP SIZE RANGE 6 TO 9
INFO: [mpeg2enc] Setting colour/gamma parameters to "PAL B/G"
INFO: [mpeg2enc] Progressive format frames = 0
INFO: [mpeg2enc] Using default unmodified quantization matrices
INFO: [mpeg2enc] Buffering 21 frames
[New Thread 1419905376 (LWP 2399)]
[Thread 1419905376 (LWP 2399) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1335986528 (LWP 2384)]
0x0000003b15173d94 in memcpy () from /lib64/libc.so.6
(gdb) backtrace
#0 0x0000003b15173d94 in memcpy () from /lib64/libc.so.6
#1 0x00002aaaaabef7ee in img_copy_plane (dst=0x2aaabaef6120 "",
dst_wrap=Variable "dst_wrap" is not available.
)
at imgconvert.c:582
#2 0x00002aaaaabf83dd in img_convert (dst=0x4fa13fb0, dst_pix_fmt=Variable
"dst_pix_fmt" is not available.
)
at imgconvert.c:2104
#3 0x0000000000550bba in FFMPEG::convert_cmodel (picture_in=0x14173a0,
pix_fmt_in=PIX_FMT_YUV411P, width_in=720, height_in=576,
frame_out=0x14174c0) at ffmpeg.C:217
#4 0x000000000057dfd1 in FileYUV::write_frames (this=0x1264f70, layers=Variable
"layers" is not available.
)
at fileyuv.C:185
#5 0x0000000000556d71 in File::write_frames (this=0x1262f60,
frames=0x1414e00, len=dwarf2_read_address: Corrupted DWARF expression.
) at file.C:849
#6 0x00000000005df6eb in PackageRenderer::direct_frame_copy (this=0x4fa17b00,
edl=Variable "edl" is not available.
) at packagerenderer.C:705
#7 0x00000000005df7bd in PackageRenderer::do_video (this=0x4fa17b00)
at packagerenderer.C:336
#8 0x00000000005dfd65 in PackageRenderer::render_package (this=0x4fa17b00,
package=0x132c950) at packagerenderer.C:594
#9 0x000000000061968e in Render::render (this=0x10f9d50, test_overwrite=1,
asset=Variable "asset" is not available.
) at render.C:768
#10 0x000000000061a0c1 in Render::run (this=0x10f9d50) at render.C:353
#11 0x00002aaaab3e1876 in Thread::entrypoint (parameters=Variable "parameters"
is not available.
) at thread.C:46
#12 0x0000003b15e0697c in start_thread () from /lib64/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#13 0x0000003b151c9c2e in clone () from /lib64/libc.so.6
#14 0x0000000000000000 in ?? ()
***********************************************
Then - when continued on gdb
***********************************************
...
Closing /home/gray/video/temp/polly2YUV
INFO: [yuvmedianfilter] frames=0 avg=0
--DEBUG: [mpeg2enc] End of input stream detected
INFO: [mpeg2enc] Signaling last frame = -1
INFO: [mpeg2enc] SETTING MMX and MMX for QUANTIZER!
--DEBUG: [mpeg2enc] Split len = 0
INFO: [mpeg2enc] NEW GOP INIT length 9
[New Thread 1419905376 (LWP 2475)]
[New Thread 1440885088 (LWP 2476)]
[New Thread 1451374944 (LWP 2477)]
[New Thread 1461864800 (LWP 2478)]
[New Thread 1472354656 (LWP 2479)]
[New Thread 1482844512 (LWP 2480)]
[New Thread 1503824224 (LWP 2482)]
[New Thread 1493334368 (LWP 2481)]
/home/gray/cine_render.sh: line 2: 2400 Done y4munsharp
2401 | yuvmedianfilter -T 3 -t 0
2402 Segmentation fault | mpeg2enc -v 2 -q 4 -f 3 -g 6 -G 9 -b $1 -o
$2
Program exited normally.
************************************************
(representing a crash from a user point of view)
Perhaps this is an mpeg2enc bug. If so no one else I can find has reported it.
Any suggestions at all?
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
_______________________________________________
Cinelerra mailing list
[email protected]
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra