Bug in SMPEG 0.4.5

jorgefm at cirsa.com jorgefm at cirsa.com
Tue Nov 30 05:22:59 EST 2004





Hi folks!

This is my first email to this list i want to know if there is
any development in process. I can't access the cvs web to know the
last modification time.

Anyway, I have the smpeg 0.4.5 with SDL 1.2.7. and i get a segmentation
fault in video/video.cpp. The trace that i get from the core is:

#0  ReconPMBlock (vid_stream=0x88fd7b0, bnum=0, recon_right_for=144284992,
recon_down_for=0, zflag=1)
    at video.cpp:2778
2778                dest[0] = src[0];

(gdb) bt
#0  ReconPMBlock (vid_stream=0x88fd7b0, bnum=0, recon_right_for=144284992,
recon_down_for=0, zflag=1)
    at video.cpp:2778
#1  0xb7e90eb1 in ParseMacroBlock (vid_stream=0x88fd7b0) at video.cpp:2209
#2  0xb7e92924 in mpegVidRsrc (time_stamp=0, vid_stream=0x88fd7b0, first=0)
at video.cpp:1276
#3  0xb7e83d6c in Play_MPEGvideo (udata=0x88fbd60) at MPEGvideo.cpp:253
#4  0xb7f2c3e7 in SDL_RunThread (data=0x88fbd40) at SDL_thread.c:218
#5  0xb7f2c5ec in RunThread (data=0x88fbd40) at SDL_systhread.c:82
#6  0xb7fc7b3c in start_thread () from /lib/tls/libpthread.so.0
#7  0xb7a6e92a in clone () from /lib/tls/libc.so.6

where 'src' and 'dest' are:
(gdb) print src
$1 = (int *) 0x0
(gdb) print dest
$2 = (int *) 0x8999d40

and the 'vid_stream' values are:

(gdb) print *vid_stream
$15 = {h_size = 160, v_size = 128, mb_height = 8, mb_width = 10,
aspect_ratio = 1 '\001', picture_rate = 3 '\003',
  bit_rate = 2875, vbv_buffer_size = 32, const_param_flag = 0,
intra_quant_matrix = {"\b\020\023\026\032\033\035\"",
    "\020\020\026\030\033\035\"%", "\023\026\032\033\035\"\"&",
"\026\026\032\033\035\"%(", "\026\032\033\035 #(0",
    "\032\033\035 #(0:", "\032\033\035\"&.8E", "\033\035#&.8ES"},
non_intra_quant_matrix = {
    "\020\021\022\023\024\025\026\027", "\021\022\023\024\025\026\027\030",
"\022\023\024\025\026\027\030\031",
    "\023\024\025\026\027\030\032\033", "\024\025\026\027\031\032\033\034",
"\025\026\027\030\032\033\034\036",
    "\026\027\030\032\033\034\036\037", "\027\030\031\033\034\036\037!"},
ext_data = 0x0, user_data = 0x82282d0 "",
  group = {drop_flag = 0, tc_hours = 0, tc_minutes = 0, tc_seconds = 0,
tc_pictures = 0, closed_gop = 1,
    broken_link = 0, ext_data = 0x0, user_data = 0x0}, picture = {temp_ref
= 3, code_type = 2, vbv_delay = 35817,
    full_pel_forw_vector = 0, forw_r_size = 0, forw_f = 1,
full_pel_back_vector = 0, back_r_size = 2, back_f = 4,
    extra_info = 0x0, ext_data = 0x0, user_data = 0x0}, slice = {vert_pos =
1, quant_scale = 1, extra_info = 0x0},
  mblock = {mb_address = 0, past_mb_addr = 0, motion_h_forw_code = 0,
motion_h_forw_r = 2, motion_v_forw_code = 0,
    motion_v_forw_r = 2, motion_h_back_code = 0, motion_h_back_r = 1,
motion_v_back_code = 0, motion_v_back_r = 2,
    cbp = 0, mb_intra = 0, bpict_past_forw = 1, bpict_past_back = 0,
past_intra_addr = -2, recon_right_for_prev = 0,
    recon_down_for_prev = 0, recon_right_back_prev = 0,
recon_down_back_prev = 0}, block = {dct_recon = {{130, 129,
        128, 128, 128, 129, 130, 131}, {129, 129, 128, 128, 128, 129, 130,
131}, {129, 129, 128, 128, 128, 129, 130,
        130}, {129, 129, 129, 129, 129, 129, 129, 129}, {129, 129, 129,
129, 129, 129, 129, 128}, {129, 129, 129,
        130, 129, 129, 128, 128}, {129, 129, 130, 130, 130, 129, 128, 128},
{129, 129, 130, 130, 130, 129, 128,
        127}}, dct_dc_y_past = 8192, dct_dc_cr_past = 8192, dct_dc_cb_past
= 8192}, state = 0, bit_offset = 4,
  buffer = 0x898a120, buf_length = 16133, buf_start = 0x89864b8,
noise_base_matrix = {{22801, 3481, 1444, 324, 400,
      25, 100, 9}, {3481, 529, 225, 49, 64, 4, 16, 1}, {1444, 225, 100, 25,
25, 1, 9, 0}, {324, 49, 25, 4, 4, 0, 1,
      0}, {400, 64, 25, 4, 4, 1, 4, 0}, {25, 4, 1, 0, 1, 1, 1, 0}, {100,
16, 9, 1, 1, 1, 1, 0}, {9, 1, 0, 0, 0, 0, 0,
      0}}, max_buf_length = 19999, film_has_ended = 0, num_left = 0,
leftover_bytes = 0, EOF_flag = 0,
  Parse_done = 0, right_for = 0, down_for = 0, right_half_for = 0,
down_half_for = 0, curBits = 2574643520,
  matched_depth = 32, ditherType = 7, ditherFlags = 0x0, totNumFrames = 1,
realTimeStart = 197.29249999999999,
  past = 0x0, future = 0x0, current = 0x88bd620, ring = {0x88bd620,
0x88bd790, 0x88bd900, 0x88bda70, 0x88fdc88},
  rate_deal = 25, _skipFrame = 0, _skipCount = 0, _jumpFrame = -1,
_oneFrameTime = 0.040000000000000001,
  _smpeg = 0x88fbd60, timestamp = 0.036155555555555559, timestamp_mark =
0x8986c9a, timestamp_used = true,
  need_frameadjust = false, current_frame = 1}
(gdb)

I hope this help!
Jorge.




More information about the smpeg mailing list