From: Boszormenyi Z. <zb...@fr...> - 2003-01-28 12:10:45
|
Hi, I got a movie in mpeg format with an external subtitle file. The subtitle is in microdvd format, so it is frame number based. The subtitles get out of sync quickly, e.g. after ~8 minutes, the subtitles are late by ~20 seconds. Gzipped log of "MPEG2_DEBUG=255 xine movie.mpeg#subtitle:movie.sub" is attached. The interesting parts are: Using MMXEXT for IDCT transform Using MMXEXT for motion compensation (sequence_error) (seq) 592x448 1:1, 30 fps, 104857 kbps, VBV 0 kB <---- 30 FPS and frame size is obviously wrong for the movie. It is the xine logo. (user_data) (group) (picture) I-type temporal_reference 0, vbv_delay 65535 (picture) P-type temporal_reference 1, vbv_delay 65535 (picture) P-type temporal_reference 2, vbv_delay 65535 .... (picture) P-type temporal_reference 15, vbv_delay 65535 (sequence_error) (seq) 352x288 Invalid frame_rate_code, 25 fps, 1120 kbps, VBV 40 kB , CP <---- Later I get this. 25 FPS and the frame size is correct. (group) (picture) I-type temporal_reference 2, vbv_delay 26277 (picture) B-type temporal_reference 0, vbv_delay 21415 (picture) B-type temporal_reference 1, vbv_delay 22011 ... The above message with the correct frame size and frame rate is repeated several times patching libsputext/xine_decoder.c and logging this->img_duration shows that it is using the correct fps value. demux_mpeg/elem/etc. does not provide extra_info.frame_number so a computation is needed obviously. But it seems to be incorrect. An interesting issue is that the "Invalid frame_rate_code" message should be something else because in line 127 in stats.c the fprintf() contains aspect_ratio_information_str [aspect_ratio_information] at that position. I will try this movie+subtitle with mplayer tomorrow. Best regards, Zoltán Böszörményi |