Opened 10 years ago

Closed 10 years ago

#3224 closed defect (fixed)

avcodec/dvbsub: bad display definition segment management

Reported by: Pierre-Yves Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: dvbsub
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Hi all,

When playing the sample file attached, the subtitle are not displayed because on issue within DVBSub.
Given ETSI EN 300 743 V1.3.1 (2006-11), 7.2.1 Display definition segment,
display window parameters are given in this order XMin, XMax, YMin, YMax if
display_window_flag is set, but here this is not the case.

How to reproduce:

% ffplay HD_subs_1080_win_33a_cut.ts
ffmpeg version 2.1.1
ffplay version 2.1.1 
built on on Dec 13 2013 10:02:45 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: 
  libavutil      52. 48.101 / 52. 48.101
  libavcodec     55. 39.101 / 55. 39.101
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104

Log:

ffplay version 2.1.1 Copyright (c) 2003-2013 the FFmpeg developers
  built on Dec 13 2013 10:02:45 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: 
  libavutil      52. 48.101 / 52. 48.101
  libavcodec     55. 39.101 / 55. 39.101
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
[mpegts @ 0x7f6da40008c0] Format mpegts probed with size=2048 and score=100
[mpegts @ 0x7f6da40008c0] stream=0 stream_type=1b pid=5de prog_reg_desc=
[mpegts @ 0x7f6da40008c0] stream=1 stream_type=6 pid=5e1 prog_reg_desc=
[mpegts @ 0x7f6da40008c0] stream=2 stream_type=3 pid=5e8 prog_reg_desc=
[mpegts @ 0x7f6da40008c0] stream=3 stream_type=6 pid=400 prog_reg_desc=
[mpegts @ 0x7f6da40008c0] File position before avformat_find_stream_info() is 0
[h264 @ 0x7f6da4003020] non-existing SPS 0 referenced in buffering period
[h264 @ 0x7f6da4003020] non-existing PPS referenced
[h264 @ 0x7f6da4003020] non-existing SPS 0 referenced in buffering period
[h264 @ 0x7f6da4003020] non-existing PPS 0 referenced
[h264 @ 0x7f6da4003020] decode_slice_header error
[h264 @ 0x7f6da4003020] non-existing PPS 0 referenced
[h264 @ 0x7f6da4003020] decode_slice_header error
[h264 @ 0x7f6da4003020] non-existing PPS 0 referenced
[h264 @ 0x7f6da4003020] decode_slice_header error
[h264 @ 0x7f6da4003020] non-existing PPS 0 referenced
[h264 @ 0x7f6da4003020] decode_slice_header error
[h264 @ 0x7f6da4003020] non-existing PPS 0 referenced
[h264 @ 0x7f6da4003020] decode_slice_header error
[h264 @ 0x7f6da4003020] non-existing PPS 0 referenced
[h264 @ 0x7f6da4003020] decode_slice_header error
[h264 @ 0x7f6da4003020] no frame!
[h264 @ 0x7f6da4003020] Frame num gap 24 21
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
[h264 @ 0x7f6da4003020] Frame num gap 24 22
[h264 @ 0x7f6da4003020] no picture ooo
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120561872 (pts 5120561872, duration 2160) in the queue
    Last message repeated 3 times
[h264 @ 0x7f6da4003020] no picture ooo
[h264 @ 0x7f6da4003020] no picture 
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120572672 (pts 5120572672, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120583472 (pts 5120583472, duration 2160) in the queue
    Last message repeated 3 times
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120594272 (pts 5120594272, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120605072 (pts 5120605072, duration 2160) in the queue
    Last message repeated 3 times
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120615872 (pts 5120615872, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120626672 (pts 5120626672, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120637472 (pts 5120637472, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120648272 (pts 5120648272, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120659072 (pts 5120659072, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120669872 (pts 5120669872, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120680672 (pts 5120680672, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120691472 (pts 5120691472, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120702272 (pts 5120702272, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120713072 (pts 5120713072, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120723872 (pts 5120723872, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120734672 (pts 5120734672, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120745472 (pts 5120745472, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120756272 (pts 5120756272, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120767072 (pts 5120767072, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] first_dts 5120551072 not matching first dts 5120777872 (pts 5120777872, duration 2160) in the queue
    Last message repeated 3 times
[mpegts @ 0x7f6da40008c0] Probe buffer size limit of 5000000 bytes reached
[mpegts @ 0x7f6da40008c0] Stream #3: not enough frames to estimate rate; consider increasing probesize
[mpegts @ 0x7f6da40008c0] PES packet size mismatch
    Last message repeated 1 times
[mpegts @ 0x7f6da40008c0] File position after avformat_find_stream_info() is 0
Input #0, mpegts, from '/local/frq08952/Videos/HD_subs_1080_win_33a.ts':
  Duration: 00:04:03.61, start: 56894.964711, bitrate: 15858 kb/s
  Program 37060 
    Metadata:
      service_name    : BBC HD KW
      service_provider: 
    Stream #0:0[0x5de], 59, 1/90000: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 1/50, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x5e1](eng), 86, 1/90000: Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:2[0x5e8](eng), 110, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s
    Stream #0:3[0x400](eng), 1, 1/90000: Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
detected 8 logical cores
[ffplay_abuffer @ 0x7f6da400ce80] Setting 'sample_rate' to value '48000'
[ffplay_abuffer @ 0x7f6da400ce80] Setting 'sample_fmt' to value 'fltp'
[ffplay_abuffer @ 0x7f6da400ce80] Setting 'channels' to value '6'
[ffplay_abuffer @ 0x7f6da400ce80] Setting 'time_base' to value '1/48000'
[ffplay_abuffer @ 0x7f6da400ce80] Setting 'channel_layout' to value '0x60f'
[ffplay_abuffer @ 0x7f6da400ce80] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x60f
[ffplay_abuffersink @ 0x7f6da40bbc40] auto-inserting filter 'auto-inserted resampler 0' between the filter 'ffplay_abuffer' and the filter 'ffplay_abuffersink'
[AVFilterGraph @ 0x7f6da4003c40] query_formats: 2 queried, 0 merged, 3 already done, 0 delayed
[auto-inserted resampler 0 @ 0x7f6da4009e60] ch:6 chl:5.1(side) fmt:fltp r:48000Hz -> ch:6 chl:5.1(side) fmt:s16 r:48000Hz
Audio frame changed from rate:48000 ch:6 fmt:fltp layout:5.1(side) serial:-1 to rate:48000 ch:2 fmt:fltp layout:stereo serial:1
    nan A-V:    nan fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
[ffplay_abuffer @ 0x7f6d98004780] Setting 'sample_rate' to value '48000'
[ffplay_abuffer @ 0x7f6d98004780] Setting 'sample_fmt' to value 'fltp'
[ffplay_abuffer @ 0x7f6d98004780] Setting 'channels' to value '2'
[ffplay_abuffer @ 0x7f6d98004780] Setting 'time_base' to value '1/48000'
[ffplay_abuffer @ 0x7f6d98004780] Setting 'channel_layout' to value '0x3'
[ffplay_abuffer @ 0x7f6d98004780] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3
[ffplay_abuffersink @ 0x7f6d98005ee0] auto-inserting filter 'auto-inserted resampler 0' between the filter 'ffplay_abuffer' and the filter 'ffplay_abuffersink'
[AVFilterGraph @ 0x7f6d98003ee0] query_formats: 2 queried, 0 merged, 3 already done, 0 delayed
1.000000 0.000000 
0.000000 1.000000 
0.000000 0.000000 
0.000000 0.000000 
0.000000 0.000000 
0.000000 0.000000 
[auto-inserted resampler 0 @ 0x7f6d98007100] ch:2 chl:stereo fmt:fltp r:48000Hz -> ch:6 chl:5.1(side) fmt:s16 r:48000Hz
[h264 @ 0x7f6da4079940] Frame num gap 24 21
[h264 @ 0x7f6da4079940] Frame num gap 24 22
[h264 @ 0x7f6da4079940] no picture 
56895.00 A-V:    nan fd=   0 aq=  376KB vq=11964KB sq=    0B f=0/0   
56895.03 A-V:    nan fd=   0 aq=  477KB vq=15048KB sq=    0B f=0/0   
Video frame changed from size:0x0 format:none serial:-1 to size:1920x1080 format:yuv420p serial:1
[ffplay_buffer @ 0x7f6d900d7e80] Setting 'video_size' to value '1920x1080'
[ffplay_buffer @ 0x7f6d900d7e80] Setting 'pix_fmt' to value '0'
[ffplay_buffer @ 0x7f6d900d7e80] Setting 'time_base' to value '1/90000'
[ffplay_buffer @ 0x7f6d900d7e80] Setting 'pixel_aspect' to value '1/1'
[ffplay_buffer @ 0x7f6d900d7e80] Setting 'frame_rate' to value '25/1'
[ffplay_buffer @ 0x7f6d900d7e80] w:1920 h:1080 pixfmt:yuv420p tb:1/90000 fr:25/1 sar:1/1 sws_param:
[ffplay_crop @ 0x7f6d906bf420] Setting 'out_w' to value 'floor(in_w/2)*2'
[ffplay_crop @ 0x7f6d906bf420] Setting 'out_h' to value 'floor(in_h/2)*2'
[AVFilterGraph @ 0x7f6d900d80e0] query_formats: 3 queried, 2 merged, 0 already done, 0 delayed
[ffplay_crop @ 0x7f6d906bf420] w:1920 h:1080 sar:1/1 -> w:1920 h:1080 sar:1/1

simple patch sent to ffmpeg-devel.
Regards

Change History (10)

comment:1 by Carl Eugen Hoyos, 10 years ago

Is the problem reproducible with current git head?
Please provide the sample.

comment:2 by Pierre-Yves, 10 years ago

Yes this is fully reproducible on the git head.
I will try to upstream the sample on FTP.

comment:3 by Pierre-Yves, 10 years ago

Sample upstream within FFMpeg FTP.
HD_subs_1080_win_33a_cut.ts

comment:4 by Carl Eugen Hoyos, 10 years ago

Version: 2.1.1git-master

The sample you uploaded shows no subtitles here with ffplay, neither with nor without your patch. Could you upload a longer sample?

Last edited 10 years ago by Carl Eugen Hoyos (previous) (diff)

comment:5 by Pierre-Yves, 10 years ago

That weird. I checked on my side without problem.
Within Video I've uploaded, there is only 1 sub(2 regions) displayed at the very end of it: "'Chances are, you migh end up \n somewhere like this."

I can upload the whole video which is 480MB, but I'm surprised.

in reply to:  5 comment:6 by Carl Eugen Hoyos, 10 years ago

Replying to PierreYves_ST:

That weird. I checked on my side without problem.

Could you test the uploaded sample (again)?
http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket3224/

comment:7 by Pierre-Yves, 10 years ago

Gasp the uploaded Video is half of the size. It should be 10MB only 5.5MB on your side
I will re-upload the media ... but how can I know if media has been properly uploaded ?

in reply to:  7 comment:8 by Carl Eugen Hoyos, 10 years ago

Replying to PierreYves_ST:

but how can I know if media has been properly uploaded ?

Iirc, my ftp client tells me how much data was uploaded.

comment:9 by Pierre-Yves, 10 years ago

Hello,

I've re-uploaded the file, but renamed it as HD_subs_1080_win_33a_cut2.ts since I can't overwrite my own file.

This files should be 10.5MB, this is what Filezilla told me ;)
Let me know

comment:10 by Carl Eugen Hoyos, 10 years ago

Reproduced by developer: set
Resolution: fixed
Status: newclosed

Thank you for the sample and the patch!

Note: See TracTickets for help on using tickets.