libvpx core dump when testing vp9 codec with vpxenc

577 views
Skip to first unread message

wkw...@gmail.com

unread,
Jul 2, 2013, 11:52:01 AM7/2/13
to webm-d...@webmproject.org
The latest experimental branch of libvpx core dumps when trying to encode with the vp9 codec.  I have a test script I use to compare a simple encoding of vp8 and vp9 from a known source.  Anyway, recently
it appears, there's a regression where I now get a seg fault with the vp9 codec.

System: Ubuntu 13.04 x86_x64
built with "--enable-vp8 --enable-vp9 --enable-postprocs --disable-shared"

VP8 Codec Works.. 

+ ffmpeg -i big_buck_bunny_1080p_h264.mov -t 30 -f yuv4mpegpipe -
+ vpxenc -v --codec=vp8 --target-bitrate=1000 -o big_buck_bunny_vp8.webm -
Codec: WebM Project VP8 Encoder v1.2.0-3085-g9536db2
Source file: - Format: YV12
Destination file: big_buck_bunny_vp8.webm
Encoder parameters:
    g_usage                      = 0
    g_threads                    = 0
    g_profile                    = 0
    g_w                          = 1920
    g_h                          = 1080
    g_timebase.num               = 1
    g_timebase.den               = 1000
    g_error_resilient            = 0
    g_pass                       = 0
    g_lag_in_frames              = 0
    rc_dropframe_thresh          = 0
    rc_resize_allowed            = 0
    rc_resize_up_thresh          = 60
    rc_resize_down_thresh        = 30
    rc_end_usage                 = 0
    rc_target_bitrate            = 1000
    rc_min_quantizer             = 4
    rc_max_quantizer             = 63
    rc_undershoot_pct            = 100
    rc_overshoot_pct             = 100
    rc_buf_sz                    = 6000
    rc_buf_initial_sz            = 4000
    rc_buf_optimal_sz            = 5000
    rc_2pass_vbr_bias_pct        = 50
    rc_2pass_vbr_minsection_pct  = 0
    rc_2pass_vbr_maxsection_pct  = 400
    kf_mode                      = 1
    kf_min_dist                  = 0
    kf_max_dist                  = 120

Pass 1/1 frame    1/0          0B       0 us inf ms/f [ETA  unknown] [K   3528F
Pass 1/1 frame    2/1       3528B  311236 us 6.43 fps [ETA  unknown] [K    196F
Pass 1/1 frame  720/720  3956196B  395723 ms 1.82 fps [ETA  unknown] [K
Pass 1/1 frame  720/720  3956196B   43957b/f 1054985b/s  395695 ms (1.82 fps) [K

VP9 Codec crashes


+ ffmpeg -i big_buck_bunny_1080p_h264.mov -t 30 -f yuv4mpegpipe -
+ vpxenc -v --codec=vp9 --target-bitrate=1000 -o big_buck_bunny_vp9.webm -
Codec: WebM Project VP9 Encoder v1.2.0-3085-g9536db2
Source file: - Format: YV12
Destination file: big_buck_bunny_vp9.webm
Encoder parameters:
    g_usage                      = 0
    g_threads                    = 0
    g_profile                    = 0
    g_w                          = 1920
    g_h                          = 1080
    g_timebase.num               = 1
    g_timebase.den               = 1000
    g_error_resilient            = 0
    g_pass                       = 0
    g_lag_in_frames              = 0
    rc_dropframe_thresh          = 0
    rc_resize_allowed            = 0
    rc_resize_up_thresh          = 60
    rc_resize_down_thresh        = 30
    rc_end_usage                 = 0
    rc_target_bitrate            = 1000
    rc_min_quantizer             = 4
    rc_max_quantizer             = 63
    rc_undershoot_pct            = 100
    rc_overshoot_pct             = 100
    rc_buf_sz                    = 6000
    rc_buf_initial_sz            = 4000
    rc_buf_optimal_sz            = 5000
    rc_2pass_vbr_bias_pct        = 50
    rc_2pass_vbr_minsection_pct  = 0
    rc_2pass_vbr_maxsection_pct  = 400
    kf_mode                      = 1
    kf_min_dist                  = 0
    kf_max_dist                  = 120

Pass 1/1 frame    1/0          0B       0 us inf ms/f [ETA  unknown] [K    179F
Pass 1/1 frame    2/1        179B   45952 ms 22976.33 ms/f [ETA  unknown] [K./basic_vpxenc.sh: line 10: 22116 Broken pipe             ffmpeg -i big_buck_bunny_1080p_h264.mov -t 30 -f yuv4mpegpipe - 2> /dev/null
     22117 Segmentation fault      (core dumped) | vpxenc -v --codec=vp9 --target-bitrate=1000 -o big_buck_bunny_vp9.webm -
+ set +x

Ronald Bultje

unread,
Jul 2, 2013, 12:49:35 PM7/2/13
to webm-d...@webmproject.org
Hi,

you seem to be trying to do a 1-pass encode. VP9 currently only supports 2-pass encoding. To do 2-pass encoding using FFmpeg and piped input, do:

ffmpeg -i $file [ff options] -f yuv4mpegpipe - | vpxenc [vpx options] --passes=2 --pass=1 --codec=vp9 --fpf=file.fpf
ffmpeg -i $file [ff options] -f yuv4mpegpipe - | vpxenc [vpx options] --passes=2 --pass=2 --codec=vp9 --fpf=file.fpf

Then it should work. Note that using default options won't necessarily give you the best encoding results, the defaults aren't very well tuned yet. See earlier messages on this mailinglist for best VP9 encoding options, or ask on IRC.

HTH,
Ronald


--
You received this message because you are subscribed to the Google Groups "WebM Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to webm-discuss...@webmproject.org.
To post to this group, send email to webm-d...@webmproject.org.
Visit this group at http://groups.google.com/a/webmproject.org/group/webm-discuss/.
For more options, visit https://groups.google.com/a/webmproject.org/groups/opt_out.
 
 

Reply all
Reply to author
Forward
0 new messages