buffer underflow - processing VOB files

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

buffer underflow - processing VOB files

Bob DeCarlo
Hi,This is my first post to ffmpeg, please advise if I misplaced this issue.I have been using ffmpeg for many years and now have an issue with the latest version:ffmpeg-20180731-481741e-win64-static

When transcoding a VOB, ntsc-dvd, I get "buffer underflow" errors.  This is especially true when using a delayed start time.  I originally discovered the problem on my own Linux build and reproduced it using pre built executables from: //ffmpeg.zeranoe.com/builds/win64/static/

I managed to isolate the problem between two zeranoe builds:ffmpeg-20180329-e5819fa-win64-static - seems to work correctly
ffmpeg-20180330-cdd6a52-win64-static - generates "buffer underflow"

The resulting output file from the problematic builds also generate errors when processed by dvdauthor.
Below is the console output from the error'ed case case followed by the good case between two versions produced with a day of each other.  I will continue to study the problem and post more information as I collect it and upon request.  Hopefully this can get resolved.  Do I need to change some arguments, is this a new bug or is what I am trying to do no longer supported??(Note:  I have not yet discovered where to put my sample files, I will continue looking)Thanks a lot!
This is the latest version:c:\Developer>cd ffmpeg-20180731-481741e-win64-static\bin
c:\Developer\ffmpeg-20180731-481741e-win64-static\bin>ffmpeg.exe -i ../../20180726_150335-phasebtop1.vob -ss 10 -target
ntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y bob.VOB -v debugffmpeg version N-91548-g481741ece0 Copyright (c) 2000-2018 the FFmpeg developers  built with gcc 7.3.1 (GCC) 20180722  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth  libavutil      56. 18.102 / 56. 18.102  libavcodec     58. 22.100 / 58. 22.100  libavformat    58. 17.101 / 58. 17.101  libavdevice    58.  4.101 / 58.  4.101  libavfilter     7. 26.100 /  7. 26.100  libswscale      5.  2.100 /  5.  2.100  libswresample   3.  2.100 /  3.  2.100  libpostproc    55.  2.100 / 55.  2.100Splitting the commandline.Reading option '-i' ... matched as input url with argument '../../20180726_150335-phasebtop1.vob'.Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '10'.Reading option '-target' ... matched as option 'target' (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50"with optional prefixes "pal-", "ntsc-" or "film-")) with argument 'ntsc-dvd'.Reading option '-flags' ... matched as AVOption 'flags' with argument '+cgop+ilme+ildct'.Reading option '-alternate_scan' ... matched as AVOption 'alternate_scan' with argument '1'.Reading option '-top' ... matched as option 'top' (top=1/bottom=0/auto=-1 field first) with argument '1'.Reading option '-g' ... matched as AVOption 'g' with argument '15'.Reading option '-sc_threshold' ... matched as AVOption 'sc_threshold' with argument '1000000000'.Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.Reading option 'bob.VOB' ... matched as output url.Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.Finished splitting the commandline.Parsing a group of options: global .Applying option y (overwrite output files) with argument 1.Applying option v (set logging level) with argument debug.Successfully parsed a group of options.Parsing a group of options: input url ../../20180726_150335-phasebtop1.vob.Successfully parsed a group of options.Opening an input file: ../../20180726_150335-phasebtop1.vob.[NULL @ 0000000000613ec0] Opening '../../20180726_150335-phasebtop1.vob' for reading[file @ 00000000006145c0] Setting default whitelist 'file,crypto'[mpeg @ 0000000000613ec0] Format mpeg probed with size=2048 and score=26[mpeg @ 0000000000613ec0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:0[mpeg @ 0000000000613ec0] probing stream 1 pp:2500[mpeg @ 0000000000613ec0] Probe with size=2011, packets=1 detected mpegvideo with score=25[mpeg @ 0000000000613ec0] probed stream 1[mpeg2video @ 0000000000614b80] Format yuv420p chosen by get_format().[mpeg @ 0000000000613ec0] max_analyze_duration 5000000 reached at 5005000 microseconds st:1[mpeg @ 0000000000613ec0] start time for stream 0 is not set in estimate_timings_from_pts[mpeg @ 0000000000613ec0] After avformat_find_stream_info() pos: 0 bytes read:3559568 seeks:2 frames:299Input #0, mpeg, from '../../20180726_150335-phasebtop1.vob':  Duration: 00:01:30.93, start: 0.528033, bitrate: 5065 kb/s    Stream #0:0[0x1bf], 0, 1/90000: Data: dvd_nav_packet, 0/1    Stream #0:1[0x1e0], 152, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(tv, top first, left), 720x480 [SAR 8:9 DAR 4:3], 0/1, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc    Stream #0:2[0x80], 147, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/sSuccessfully opened the file.Parsing a group of options: output url bob.VOB.Applying option ss (set the start time offset) with argument 10.Applying option target (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50" with optional prefixes "pal-", "ntsc-" or "film-")) with argument ntsc-dvd.Applying option top (top=1/bottom=0/auto=-1 field first) with argument 1.Successfully parsed a group of options.Opening an output file: bob.VOB.[file @ 00000000028c7740] Setting default whitelist 'file,crypto'Successfully opened the file.detected 8 logical coresStream mapping:  Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg2video (native))  Stream #0:2 -> #0:1 (ac3 (native) -> ac3 (native))Press [q] to stop, [?] for helpcur_dts is invalid (this is harmless if it occurs once at the start per stream)[graph_1_in_0_2 @ 000000000061b540] Setting 'time_base' to value '1/48000'[graph_1_in_0_2 @ 000000000061b540] Setting 'sample_rate' to value '48000'[graph_1_in_0_2 @ 000000000061b540] Setting 'sample_fmt' to value 'fltp'[graph_1_in_0_2 @ 000000000061b540] Setting 'channel_layout' to value '0x3'[graph_1_in_0_2 @ 000000000061b540] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3[format_out_0_1 @ 0000000002aac640] Setting 'sample_fmts' to value 'fltp'[format_out_0_1 @ 0000000002aac640] Setting 'sample_rates' to value '48000'[format_out_0_1 @ 0000000002aac640] Setting 'channel_layouts' to value '0x4|0x3|0x103|0x7|0x603|0x33|0x107|0x607|0x37|0xc|0xb|0x10b|0xf|0x60b|0x3b|0x10f|0x60f|0x3f'[AVFilterGraph @ 0000000002aa8e00] query_formats: 5 queried, 12 merged, 0 already done, 0 delayedcur_dts is invalid (this is harmless if it occurs once at the start per stream)[mpeg2video @ 0000000002ae1e00] Format yuv420p chosen by get_format().cur_dts is invalid (this is harmless if it occurs once at the start per stream)[graph 0 input from stream 0:1 @ 0000000002ac9540] Setting 'video_size' to value '720x480'[graph 0 input from stream 0:1 @ 0000000002ac9540] Setting 'pix_fmt' to value '0'[graph 0 input from stream 0:1 @ 0000000002ac9540] Setting 'time_base' to value '1/90000'[graph 0 input from stream 0:1 @ 0000000002ac9540] Setting 'pixel_aspect' to value '8/9'[graph 0 input from stream 0:1 @ 0000000002ac9540] Setting 'sws_param' to value 'flags=2'[graph 0 input from stream 0:1 @ 0000000002ac9540] Setting 'frame_rate' to value '30000/1001'[graph 0 input from stream 0:1 @ 0000000002ac9540] w:720 h:480 pixfmt:yuv420p tb:1/90000 fr:30000/1001 sar:8/9 sws_param:flags=2[scaler_out_0_0 @ 000000000284dc40] Setting 'w' to value '720'[scaler_out_0_0 @ 000000000284dc40] Setting 'h' to value '480'[scaler_out_0_0 @ 000000000284dc40] Setting 'flags' to value 'bicubic'[scaler_out_0_0 @ 000000000284dc40] w:720 h:480 flags:'bicubic' interl:0[format @ 0000000002aa8600] Setting 'pix_fmts' to value 'yuv420p'[AVFilterGraph @ 0000000002aa8880] query_formats: 6 queried, 5 merged, 0 already done, 0 delayed[scaler_out_0_0 @ 000000000284dc40] w:720 h:480 fmt:yuv420p sar:8/9 -> w:720 h:480 fmt:yuv420p sar:8/9 flags:0x4[mpeg2video @ 000000000297b940] intra_quant_bias = 96 inter_quant_bias = 0Output #0, dvd, to 'bob.VOB':  Metadata:    encoder         : Lavf58.17.101    Stream #0:0, 0, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(top first, left), 720x480 [SAR 8:9 DAR 4:3], 0/1, q=2-31, 6000 kb/s, 29.97 fps, 90k tbn, 29.97 tbc    Metadata:      encoder         : Lavc58.22.100 mpeg2video    Side data:      cpb: bitrate max/min/avg: 9000000/0/6000000 buffer size: 1835008 vbv_delay: -1    Stream #0:1, 0, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, delay 256, 448 kb/s    Metadata:      encoder         : Lavc58.22.100 ac3cur_dts is invalid (this is harmless if it occurs once at the start per stream)    Last message repeated 295 timescur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x    Last message repeated 299 timescur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x    Last message repeated 289 timescur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x    Last message repeated 285 timescur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x    Last message repeated 54 times[dvd @ 000000000297a600] First SCR: 0 First DTS: 45000[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 535200, current: 535200; changing to 535201. This may result in incorrect timestamps in the output file.[dvd @ 000000000297a600] buffer underflow st=1 bufi=1175 size=1792=6409.3kbits/s speed= 2.5x[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 1263840, current: 1263840; changing to 1263841. This may result in incorrect timestamps in the output file.[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 1992480, current: 1992480; changing to 1992481. This may result in incorrect timestamps in the output file.[dvd @ 000000000297a600] buffer underflow st=1 bufi=1173 size=1792[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 4152480, current: 4152480; changing to 4152481. This may result in incorrect timestamps in the output file.[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 4881120, current: 4881120; changing to 4881121. This may result in incorrect timestamps in the output file.[dvd @ 000000000297a600] buffer underflow st=1 bufi=1177 size=1792[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 5609760, current: 5609760; changing to 5609761. This may result in incorrect timestamps in the output file.[dvd @ 000000000297a600] buffer underflow st=1 bufi=1176 size=1792[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 6338400, current: 6338400; changing to 6338401. This may result in incorrect timestamps in the output file.[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 7067040, current: 7067040; changing to 7067041. This may result in incorrect timestamps in the output file.[dvd @ 000000000297a600] buffer underflow st=1 bufi=1174 size=1792[out_0_0 @ 000000000284db40] EOF on sink link out_0_0:default.[out_0_1 @ 0000000002aac540] EOF on sink link out_0_1:default.No more output streams to write to, finishing.frame= 2425 fps=326 q=3.3 Lsize=   65038kB time=00:01:20.89 bitrate=6586.6kbits/s speed=10.9xvideo:59318kB audio:4424kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.032480%Input file #0 (../../20180726_150335-phasebtop1.vob):  Input stream #0:0 (data): 0 packets read (0 bytes);  Input stream #0:1 (video): 2725 packets read (51214402 bytes); 2725 frames decoded;  Input stream #0:2 (audio): 2840 packets read (5089280 bytes); 2840 frames decoded (4362240 samples);  Total: 5565 packets (56303682 bytes) demuxedOutput file #0 (bob.VOB):  Output stream #0:0 (video): 2425 frames encoded; 2425 packets muxed (60742090 bytes);  Output stream #0:1 (audio): 2528 frames encoded (3882240 samples); 2528 packets muxed (4530176 bytes);  Total: 4953 packets (65272266 bytes) muxed5565 frames successfully decoded, 0 decoding errors[AVIOContext @ 00000000028a2440] Statistics: 0 seeks, 32357 writeouts[AVIOContext @ 000000000061c840] Statistics: 61134992 bytes read, 2 seeksc:\Developer\ffmpeg-20180731-481741e-win64-static\bin>
------------------------------------------------------------------------

This is the first problematic version:c:\Developer\ffmpeg-20180330-cdd6a52-win64-static\bin>ffmpeg.exe -i ../../20180726_150335-phasebtop1.vob -ss 10 -targetntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y bob.VOB -v debugffmpeg version N-90535-gcdd6a525e4 Copyright (c) 2000-2018 the FFmpeg developers  built with gcc 7.3.0 (GCC)  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth  libavutil      56. 12.100 / 56. 12.100  libavcodec     58. 16.100 / 58. 16.100  libavformat    58. 10.100 / 58. 10.100  libavdevice    58.  2.100 / 58.  2.100  libavfilter     7. 13.100 /  7. 13.100  libswscale      5.  0.102 /  5.  0.102  libswresample   3.  0.101 /  3.  0.101  libpostproc    55.  0.100 / 55.  0.100Splitting the commandline.Reading option '-i' ... matched as input url with argument '../../20180726_150335-phasebtop1.vob'.Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '10'.Reading option '-target' ... matched as option 'target' (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50"with optional prefixes "pal-", "ntsc-" or "film-")) with argument 'ntsc-dvd'.Reading option '-flags' ... matched as AVOption 'flags' with argument '+cgop+ilme+ildct'.Reading option '-alternate_scan' ... matched as AVOption 'alternate_scan' with argument '1'.Reading option '-top' ... matched as option 'top' (top=1/bottom=0/auto=-1 field first) with argument '1'.Reading option '-g' ... matched as AVOption 'g' with argument '15'.Reading option '-sc_threshold' ... matched as AVOption 'sc_threshold' with argument '1000000000'.Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.Reading option 'bob.VOB' ... matched as output url.Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.Finished splitting the commandline.Parsing a group of options: global .Applying option y (overwrite output files) with argument 1.Applying option v (set logging level) with argument debug.Successfully parsed a group of options.Parsing a group of options: input url ../../20180726_150335-phasebtop1.vob.Successfully parsed a group of options.Opening an input file: ../../20180726_150335-phasebtop1.vob.[NULL @ 0000000000393ec0] Opening '../../20180726_150335-phasebtop1.vob' for reading[file @ 00000000003945c0] Setting default whitelist 'file,crypto'[mpeg @ 0000000000393ec0] Format mpeg probed with size=2048 and score=26[mpeg @ 0000000000393ec0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:0[mpeg @ 0000000000393ec0] probing stream 1 pp:2500[mpeg @ 0000000000393ec0] Probe with size=2011, packets=1 detected mpegvideo with score=25[mpeg @ 0000000000393ec0] probed stream 1[mpeg2video @ 0000000000394b80] Format yuv420p chosen by get_format().[mpeg @ 0000000000393ec0] max_analyze_duration 5000000 reached at 5005000 microseconds st:1[mpeg @ 0000000000393ec0] start time for stream 0 is not set in estimate_timings_from_pts[mpeg @ 0000000000393ec0] After avformat_find_stream_info() pos: 0 bytes read:3559568 seeks:2 frames:299Input #0, mpeg, from '../../20180726_150335-phasebtop1.vob':  Duration: 00:01:30.93, start: 0.528033, bitrate: 5065 kb/s    Stream #0:0[0x1bf], 0, 1/90000: Data: dvd_nav_packet, 0/1    Stream #0:1[0x1e0], 152, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(tv, top first, left), 720x480 [SAR 8:9 DAR 4:3], 0/1, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc    Stream #0:2[0x80], 147, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/sSuccessfully opened the file.Parsing a group of options: output url bob.VOB.Applying option ss (set the start time offset) with argument 10.Applying option target (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50" with optional prefixes "pal-", "ntsc-" or "film-")) with argument ntsc-dvd.Applying option top (top=1/bottom=0/auto=-1 field first) with argument 1.Successfully parsed a group of options.Opening an output file: bob.VOB.[file @ 000000000039c080] Setting default whitelist 'file,crypto'Successfully opened the file.detected 8 logical coresStream mapping:  Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg2video (native))  Stream #0:2 -> #0:1 (ac3 (native) -> ac3 (native))Press [q] to stop, [?] for helpcur_dts is invalid (this is harmless if it occurs once at the start per stream)[graph_1_in_0_2 @ 0000000002a1d340] Setting 'time_base' to value '1/48000'[graph_1_in_0_2 @ 0000000002a1d340] Setting 'sample_rate' to value '48000'[graph_1_in_0_2 @ 0000000002a1d340] Setting 'sample_fmt' to value 'fltp'[graph_1_in_0_2 @ 0000000002a1d340] Setting 'channel_layout' to value '0x3'[graph_1_in_0_2 @ 0000000002a1d340] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3[format_out_0_1 @ 00000000003e0bc0] Setting 'sample_fmts' to value 'fltp'[format_out_0_1 @ 00000000003e0bc0] Setting 'sample_rates' to value '48000'[format_out_0_1 @ 00000000003e0bc0] Setting 'channel_layouts' to value '0x4|0x3|0x103|0x7|0x603|0x33|0x107|0x607|0x37|0xc|0xb|0x10b|0xf|0x60b|0x3b|0x10f|0x60f|0x3f'[AVFilterGraph @ 0000000002a1e040] query_formats: 5 queried, 12 merged, 0 already done, 0 delayedcur_dts is invalid (this is harmless if it occurs once at the start per stream)[mpeg2video @ 00000000003fdd40] Format yuv420p chosen by get_format().cur_dts is invalid (this is harmless if it occurs once at the start per stream)[graph 0 input from stream 0:1 @ 00000000026eb640] Setting 'video_size' to value '720x480'[graph 0 input from stream 0:1 @ 00000000026eb640] Setting 'pix_fmt' to value '0'[graph 0 input from stream 0:1 @ 00000000026eb640] Setting 'time_base' to value '1/90000'[graph 0 input from stream 0:1 @ 00000000026eb640] Setting 'pixel_aspect' to value '8/9'[graph 0 input from stream 0:1 @ 00000000026eb640] Setting 'sws_param' to value 'flags=2'[graph 0 input from stream 0:1 @ 00000000026eb640] Setting 'frame_rate' to value '30000/1001'[graph 0 input from stream 0:1 @ 00000000026eb640] w:720 h:480 pixfmt:yuv420p tb:1/90000 fr:30000/1001 sar:8/9 sws_param:flags=2[scaler_out_0_0 @ 000000000272cac0] Setting 'w' to value '720'[scaler_out_0_0 @ 000000000272cac0] Setting 'h' to value '480'[scaler_out_0_0 @ 000000000272cac0] Setting 'flags' to value 'bicubic'[scaler_out_0_0 @ 000000000272cac0] w:720 h:480 flags:'bicubic' interl:0[format @ 00000000027e7880] Setting 'pix_fmts' to value 'yuv420p'[AVFilterGraph @ 0000000002a1e940] query_formats: 6 queried, 5 merged, 0 already done, 0 delayed[scaler_out_0_0 @ 000000000272cac0] w:720 h:480 fmt:yuv420p sar:8/9 -> w:720 h:480 fmt:yuv420p sar:8/9 flags:0x4[mpeg2video @ 00000000003966c0] intra_quant_bias = 96 inter_quant_bias = 0Output #0, dvd, to 'bob.VOB':  Metadata:    encoder         : Lavf58.10.100    Stream #0:0, 0, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(left), 720x480 [SAR 8:9 DAR 4:3], 0/1, q=2-31, 6000 kb/s, 29.97 fps, 90k tbn, 29.97 tbc    Metadata:      encoder         : Lavc58.16.100 mpeg2video    Side data:      cpb: bitrate max/min/avg: 9000000/0/6000000 buffer size: 1835008 vbv_delay: -1    Stream #0:1, 0, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, delay 256, 448 kb/s    Metadata:      encoder         : Lavc58.16.100 ac3cur_dts is invalid (this is harmless if it occurs once at the start per stream)    Last message repeated 303 timescur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x    Last message repeated 291 timescur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x    Last message repeated 309 timescur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x    Last message repeated 69 times[ac3 @ 00000000003fe1c0] Multiple frames in a packet.cur_dts is invalid (this is harmless if it occurs once at the start per stream)    Last message repeated 229 timescur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x    Last message repeated 18 times[dvd @ 00000000003fe600] First SCR: 0 First DTS: 45000[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 538080, current: 538080; changing to 538081. This may result in incorrect timestamps in the output file.[dvd @ 00000000003fe600] buffer underflow st=1 bufi=1398 size=1792[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 1266720, current: 1266720; changing to 1266721. This may result in incorrect timestamps in the output file.[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 1995360, current: 1995360; changing to 1995361. This may result in incorrect timestamps in the output file.[dvd @ 00000000003fe600] buffer underflow st=1 bufi=1396 size=1792[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 4155360, current: 4155360; changing to 4155361. This may result in incorrect timestamps in the output file.[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 4884000, current: 4884000; changing to 4884001. This may result in incorrect timestamps in the output file.[dvd @ 00000000003fe600] buffer underflow st=1 bufi=1400 size=1792[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 5612640, current: 5612640; changing to 5612641. This may result in incorrect timestamps in the output file.[dvd @ 00000000003fe600] buffer underflow st=1 bufi=1399 size=1792=6560.2kbits/s speed=10.3x[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 6341280, current: 6341280; changing to 6341281. This may result in incorrect timestamps in the output file.[dvd @ 00000000003fe600] buffer underflow st=1 bufi=1398 size=1792[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 7069920, current: 7069920; changing to 7069921. This may result in incorrect timestamps in the output file.[dvd @ 00000000003fe600] buffer underflow st=1 bufi=1397 size=1792[out_0_0 @ 000000000272c900] EOF on sink link out_0_0:default.[out_0_1 @ 00000000003e0a00] EOF on sink link out_0_1:default.No more output streams to write to, finishing.frame= 2425 fps=321 q=3.3 Lsize=   65038kB time=00:01:20.89 bitrate=6586.6kbits/s speed=10.7xvideo:59318kB audio:4424kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.032480%Input file #0 (../../20180726_150335-phasebtop1.vob):  Input stream #0:0 (data): 0 packets read (0 bytes);  Input stream #0:1 (video): 2725 packets read (51214402 bytes); 2725 frames decoded;  Input stream #0:2 (audio): 2831 packets read (5089280 bytes); 2840 frames decoded (4362240 samples);  Total: 5556 packets (56303682 bytes) demuxedOutput file #0 (bob.VOB):  Output stream #0:0 (video): 2425 frames encoded; 2425 packets muxed (60742090 bytes);  Output stream #0:1 (audio): 2528 frames encoded (3882240 samples); 2528 packets muxed (4530176 bytes);  Total: 4953 packets (65272266 bytes) muxed5565 frames successfully decoded, 0 decoding errors[AVIOContext @ 000000000039c140] Statistics: 0 seeks, 32357 writeouts[AVIOContext @ 000000000039c840] Statistics: 61134992 bytes read, 2 seeks
c:\Developer\ffmpeg-20180330-cdd6a52-win64-static\bin>


------------------------------------------------------------------------This is the last seemingly OK version (build 1 day older):c:\Developer\ffmpeg-20180329-e5819fa-win64-static\bin>
c:\Developer\ffmpeg-20180329-e5819fa-win64-static\bin>ffmpeg.exe -i ../../20180726_150335-phasebtop1.vob -ss 10 -targetntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y bob.VOB -v debugffmpeg version N-90480-ge5819fa629 Copyright (c) 2000-2018 the FFmpeg developers  built with gcc 7.3.0 (GCC)  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth  libavutil      56. 12.100 / 56. 12.100  libavcodec     58. 16.100 / 58. 16.100  libavformat    58. 10.100 / 58. 10.100  libavdevice    58.  2.100 / 58.  2.100  libavfilter     7. 13.100 /  7. 13.100  libswscale      5.  0.102 /  5.  0.102  libswresample   3.  0.101 /  3.  0.101  libpostproc    55.  0.100 / 55.  0.100Splitting the commandline.Reading option '-i' ... matched as input url with argument '../../20180726_150335-phasebtop1.vob'.Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '10'.Reading option '-target' ... matched as option 'target' (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50"with optional prefixes "pal-", "ntsc-" or "film-")) with argument 'ntsc-dvd'.Reading option '-flags' ... matched as AVOption 'flags' with argument '+cgop+ilme+ildct'.Reading option '-alternate_scan' ... matched as AVOption 'alternate_scan' with argument '1'.Reading option '-top' ... matched as option 'top' (top=1/bottom=0/auto=-1 field first) with argument '1'.Reading option '-g' ... matched as AVOption 'g' with argument '15'.Reading option '-sc_threshold' ... matched as AVOption 'sc_threshold' with argument '1000000000'.Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.Reading option 'bob.VOB' ... matched as output url.Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.Finished splitting the commandline.Parsing a group of options: global .Applying option y (overwrite output files) with argument 1.Applying option v (set logging level) with argument debug.Successfully parsed a group of options.Parsing a group of options: input url ../../20180726_150335-phasebtop1.vob.Successfully parsed a group of options.Opening an input file: ../../20180726_150335-phasebtop1.vob.[NULL @ 00000000005a3ec0] Opening '../../20180726_150335-phasebtop1.vob' for reading[file @ 00000000005a45c0] Setting default whitelist 'file,crypto'[mpeg @ 00000000005a3ec0] Format mpeg probed with size=2048 and score=26[mpeg @ 00000000005a3ec0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:0[mpeg @ 00000000005a3ec0] probing stream 1 pp:2500[mpeg @ 00000000005a3ec0] Probe with size=2011, packets=1 detected mpegvideo with score=25[mpeg @ 00000000005a3ec0] probed stream 1[mpeg2video @ 00000000005a4b80] Format yuv420p chosen by get_format().[mpeg @ 00000000005a3ec0] max_analyze_duration 5000000 reached at 5005000 microseconds st:1[mpeg @ 00000000005a3ec0] start time for stream 0 is not set in estimate_timings_from_pts[mpeg @ 00000000005a3ec0] After avformat_find_stream_info() pos: 0 bytes read:3559568 seeks:2 frames:299Input #0, mpeg, from '../../20180726_150335-phasebtop1.vob':  Duration: 00:01:30.93, start: 0.528033, bitrate: 5065 kb/s    Stream #0:0[0x1bf], 0, 1/90000: Data: dvd_nav_packet, 0/1    Stream #0:1[0x1e0], 152, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(tv, top first, left), 720x480 [SAR 8:9 DAR 4:3], 0/1, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc    Stream #0:2[0x80], 147, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/sSuccessfully opened the file.Parsing a group of options: output url bob.VOB.Applying option ss (set the start time offset) with argument 10.Applying option target (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50" with optional prefixes "pal-", "ntsc-" or "film-")) with argument ntsc-dvd.Applying option top (top=1/bottom=0/auto=-1 field first) with argument 1.Successfully parsed a group of options.Opening an output file: bob.VOB.[file @ 00000000005abf40] Setting default whitelist 'file,crypto'Successfully opened the file.detected 8 logical coresStream mapping:  Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg2video (native))  Stream #0:2 -> #0:1 (ac3 (native) -> ac3 (native))Press [q] to stop, [?] for helpcur_dts is invalid (this is harmless if it occurs once at the start per stream)[graph_1_in_0_2 @ 000000000272fe80] Setting 'time_base' to value '1/48000'[graph_1_in_0_2 @ 000000000272fe80] Setting 'sample_rate' to value '48000'[graph_1_in_0_2 @ 000000000272fe80] Setting 'sample_fmt' to value 'fltp'[graph_1_in_0_2 @ 000000000272fe80] Setting 'channel_layout' to value '0x3'[graph_1_in_0_2 @ 000000000272fe80] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3[format_out_0_1 @ 0000000002834ec0] Setting 'sample_fmts' to value 'fltp'[format_out_0_1 @ 0000000002834ec0] Setting 'sample_rates' to value '48000'[format_out_0_1 @ 0000000002834ec0] Setting 'channel_layouts' to value '0x4|0x3|0x103|0x7|0x603|0x33|0x107|0x607|0x37|0xc|0xb|0x10b|0xf|0x60b|0x3b|0x10f|0x60f|0x3f'[AVFilterGraph @ 0000000002851140] query_formats: 5 queried, 12 merged, 0 already done, 0 delayedcur_dts is invalid (this is harmless if it occurs once at the start per stream)[mpeg2video @ 00000000005a68c0] Format yuv420p chosen by get_format().cur_dts is invalid (this is harmless if it occurs once at the start per stream)[graph 0 input from stream 0:1 @ 000000000258d140] Setting 'video_size' to value '720x480'[graph 0 input from stream 0:1 @ 000000000258d140] Setting 'pix_fmt' to value '0'[graph 0 input from stream 0:1 @ 000000000258d140] Setting 'time_base' to value '1/90000'[graph 0 input from stream 0:1 @ 000000000258d140] Setting 'pixel_aspect' to value '8/9'[graph 0 input from stream 0:1 @ 000000000258d140] Setting 'sws_param' to value 'flags=2'[graph 0 input from stream 0:1 @ 000000000258d140] Setting 'frame_rate' to value '30000/1001'[graph 0 input from stream 0:1 @ 000000000258d140] w:720 h:480 pixfmt:yuv420p tb:1/90000 fr:30000/1001 sar:8/9 sws_param:flags=2[scaler_out_0_0 @ 000000000272cdc0] Setting 'w' to value '720'[scaler_out_0_0 @ 000000000272cdc0] Setting 'h' to value '480'[scaler_out_0_0 @ 000000000272cdc0] Setting 'flags' to value 'bicubic'[scaler_out_0_0 @ 000000000272cdc0] w:720 h:480 flags:'bicubic' interl:0[format @ 00000000025e0240] Setting 'pix_fmts' to value 'yuv420p'[AVFilterGraph @ 0000000002851a40] query_formats: 6 queried, 5 merged, 0 already done, 0 delayed[scaler_out_0_0 @ 000000000272cdc0] w:720 h:480 fmt:yuv420p sar:8/9 -> w:720 h:480 fmt:yuv420p sar:8/9 flags:0x4[mpeg2video @ 000000000060fb00] intra_quant_bias = 96 inter_quant_bias = 0Output #0, dvd, to 'bob.VOB':  Metadata:    encoder         : Lavf58.10.100    Stream #0:0, 0, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(left), 720x480 [SAR 8:9 DAR 4:3], 0/1, q=2-31, 6000 kb/s, 29.97 fps, 90k tbn, 29.97 tbc    Metadata:      encoder         : Lavc58.16.100 mpeg2video    Side data:      cpb: bitrate max/min/avg: 9000000/0/6000000 buffer size: 1835008 vbv_delay: -1    Stream #0:1, 0, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, delay 256, 448 kb/s    Metadata:      encoder         : Lavc58.16.100 ac3cur_dts is invalid (this is harmless if it occurs once at the start per stream)    Last message repeated 293 timescur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x    Last message repeated 289 timescur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x    Last message repeated 289 timescur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x    Last message repeated 291 timescur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x    Last message repeated 60 times[dvd @ 000000000060e480] First SCR: 0 First DTS: 45000[out_0_0 @ 000000000258d240] EOF on sink link out_0_0:default.rate=6564.5kbits/s speed=10.6x[out_0_1 @ 0000000002834d00] EOF on sink link out_0_1:default.No more output streams to write to, finishing.frame= 2425 fps=324 q=3.3 Lsize=   65038kB time=00:01:20.89 bitrate=6586.6kbits/s speed=10.8xvideo:59318kB audio:4424kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.032480%Input file #0 (../../20180726_150335-phasebtop1.vob):  Input stream #0:0 (data): 0 packets read (0 bytes);  Input stream #0:1 (video): 2725 packets read (51214402 bytes); 2725 frames decoded;  Input stream #0:2 (audio): 2840 packets read (5089280 bytes); 2840 frames decoded (4362240 samples);  Total: 5565 packets (56303682 bytes) demuxedOutput file #0 (bob.VOB):  Output stream #0:0 (video): 2425 frames encoded; 2425 packets muxed (60742090 bytes);  Output stream #0:1 (audio): 2528 frames encoded (3882240 samples); 2528 packets muxed (4530176 bytes);  Total: 4953 packets (65272266 bytes) muxed5565 frames successfully decoded, 0 decoding errors[AVIOContext @ 00000000005ac000] Statistics: 0 seeks, 32357 writeouts[AVIOContext @ 00000000005ac840] Statistics: 61134992 bytes read, 2 seeks
c:\Developer\ffmpeg-20180329-e5819fa-win64-static\bin>

---------------------------------------------------------------------------------------------
Thank you for looking!-Bob



_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: buffer underflow - processing VOB files

Moritz Barsnick
On Thu, Aug 02, 2018 at 02:18:17 +0000, Bob DeCarlo wrote:
> Hi,This is my first post to ffmpeg, please advise if I misplaced this issue.

No, it's correct here.

Thanks for providing full information, and even figuring out which
version introduced your issue. But may I kindly ask you to resend the
email with different formatting?

It looks like this:
http://ffmpeg.org/pipermail/ffmpeg-user/2018-August/040799.html
for most people receiving it, and it's hard to make out the details.

Thanks,
Moritz
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

buffer underflow - processing VOB files

Bob DeCarlo
In reply to this post by Bob DeCarlo
Hi, (plain text repost)
This is my first post to ffmpeg, please advise if I misplaced this issue.
I have been using ffmpeg for many years and now have an issue with the latest version:
ffmpeg-20180731-481741e-win64-static

When transcoding a VOB, ntsc-dvd, I get "buffer underflow" errors.  This is especially true when using a delayed start time.  I originally discovered the problem on my own Linux build and reproduced it using pre built executables from:
 //ffmpeg.zeranoe.com/builds/win64/static/

I managed to isolate the problem between two zeranoe builds:
ffmpeg-20180329-e5819fa-win64-static - seems to work correctly
ffmpeg-20180330-cdd6a52-win64-static - generates "buffer underflow"

The resulting output file from the problematic builds also generate errors when processed by dvdauthor.

Below is the console output from the error'ed case case followed by the good case between two versions produced with a day of each other.  I will continue to study the problem and post more information as I collect it and upon request.  Hopefully this can get resolved.  Do I need to change some arguments, is this a new bug or is what I am trying to do no longer supported??
(Note:  I have not yet discovered where to put my sample files, I will continue looking)
Thanks a lot!

This is the latest version:
c:\Developer>cd ffmpeg-20180731-481741e-win64-static\bin
c:\Developer\ffmpeg-20180731-481741e-win64-static\bin>ffmpeg.exe -i ../../20180726_150335-phasebtop1.vob -ss 10 -target
ntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y bob.VOB -v debug
ffmpeg version N-91548-g481741ece0 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.1 (GCC) 20180722
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enabl
e-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-l
ibtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --en
able-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-l
ibvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enabl
e-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 18.102 / 56. 18.102
  libavcodec     58. 22.100 / 58. 22.100
  libavformat    58. 17.101 / 58. 17.101
  libavdevice    58.  4.101 / 58.  4.101
  libavfilter     7. 26.100 /  7. 26.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Splitting the commandline.
Reading option '-i' ... matched as input url with argument '../../20180726_150335-phasebtop1.vob'.
Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '10'.
Reading option '-target' ... matched as option 'target' (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50"
with optional prefixes "pal-", "ntsc-" or "film-")) with argument 'ntsc-dvd'.
Reading option '-flags' ... matched as AVOption 'flags' with argument '+cgop+ilme+ildct'.
Reading option '-alternate_scan' ... matched as AVOption 'alternate_scan' with argument '1'.
Reading option '-top' ... matched as option 'top' (top=1/bottom=0/auto=-1 field first) with argument '1'.
Reading option '-g' ... matched as AVOption 'g' with argument '15'.
Reading option '-sc_threshold' ... matched as AVOption 'sc_threshold' with argument '1000000000'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option 'bob.VOB' ... matched as output url.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option y (overwrite output files) with argument 1.
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url ../../20180726_150335-phasebtop1.vob.
Successfully parsed a group of options.
Opening an input file: ../../20180726_150335-phasebtop1.vob.
[NULL @ 0000000000613ec0] Opening '../../20180726_150335-phasebtop1.vob' for reading
[file @ 00000000006145c0] Setting default whitelist 'file,crypto'
[mpeg @ 0000000000613ec0] Format mpeg probed with size=2048 and score=26
[mpeg @ 0000000000613ec0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:0
[mpeg @ 0000000000613ec0] probing stream 1 pp:2500
[mpeg @ 0000000000613ec0] Probe with size=2011, packets=1 detected mpegvideo with score=25
[mpeg @ 0000000000613ec0] probed stream 1
[mpeg2video @ 0000000000614b80] Format yuv420p chosen by get_format().
[mpeg @ 0000000000613ec0] max_analyze_duration 5000000 reached at 5005000 microseconds st:1
[mpeg @ 0000000000613ec0] start time for stream 0 is not set in estimate_timings_from_pts
[mpeg @ 0000000000613ec0] After avformat_find_stream_info() pos: 0 bytes read:3559568 seeks:2 frames:299
Input #0, mpeg, from '../../20180726_150335-phasebtop1.vob':
  Duration: 00:01:30.93, start: 0.528033, bitrate: 5065 kb/s
    Stream #0:0[0x1bf], 0, 1/90000: Data: dvd_nav_packet, 0/1
    Stream #0:1[0x1e0], 152, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(tv, top first, left), 720x480
 [SAR 8:9 DAR 4:3], 0/1, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:2[0x80], 147, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
Successfully opened the file.
Parsing a group of options: output url bob.VOB.
Applying option ss (set the start time offset) with argument 10.
Applying option target (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50" with optional prefixes "pal-", "n
tsc-" or "film-")) with argument ntsc-dvd.
Applying option top (top=1/bottom=0/auto=-1 field first) with argument 1.
Successfully parsed a group of options.
Opening an output file: bob.VOB.
[file @ 00000000028c7740] Setting default whitelist 'file,crypto'
Successfully opened the file.
detected 8 logical cores
Stream mapping:
  Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
  Stream #0:2 -> #0:1 (ac3 (native) -> ac3 (native))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[graph_1_in_0_2 @ 000000000061b540] Setting 'time_base' to value '1/48000'
[graph_1_in_0_2 @ 000000000061b540] Setting 'sample_rate' to value '48000'
[graph_1_in_0_2 @ 000000000061b540] Setting 'sample_fmt' to value 'fltp'
[graph_1_in_0_2 @ 000000000061b540] Setting 'channel_layout' to value '0x3'
[graph_1_in_0_2 @ 000000000061b540] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3
[format_out_0_1 @ 0000000002aac640] Setting 'sample_fmts' to value 'fltp'
[format_out_0_1 @ 0000000002aac640] Setting 'sample_rates' to value '48000'
[format_out_0_1 @ 0000000002aac640] Setting 'channel_layouts' to value '0x4|0x3|0x103|0x7|0x603|0x33|0x107|0x607|0x37|0x
c|0xb|0x10b|0xf|0x60b|0x3b|0x10f|0x60f|0x3f'
[AVFilterGraph @ 0000000002aa8e00] query_formats: 5 queried, 12 merged, 0 already done, 0 delayed
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[mpeg2video @ 0000000002ae1e00] Format yuv420p chosen by get_format().
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[graph 0 input from stream 0:1 @ 0000000002ac9540] Setting 'video_size' to value '720x480'
[graph 0 input from stream 0:1 @ 0000000002ac9540] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:1 @ 0000000002ac9540] Setting 'time_base' to value '1/90000'
[graph 0 input from stream 0:1 @ 0000000002ac9540] Setting 'pixel_aspect' to value '8/9'
[graph 0 input from stream 0:1 @ 0000000002ac9540] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:1 @ 0000000002ac9540] Setting 'frame_rate' to value '30000/1001'
[graph 0 input from stream 0:1 @ 0000000002ac9540] w:720 h:480 pixfmt:yuv420p tb:1/90000 fr:30000/1001 sar:8/9 sws_param
:flags=2
[scaler_out_0_0 @ 000000000284dc40] Setting 'w' to value '720'
[scaler_out_0_0 @ 000000000284dc40] Setting 'h' to value '480'
[scaler_out_0_0 @ 000000000284dc40] Setting 'flags' to value 'bicubic'
[scaler_out_0_0 @ 000000000284dc40] w:720 h:480 flags:'bicubic' interl:0
[format @ 0000000002aa8600] Setting 'pix_fmts' to value 'yuv420p'
[AVFilterGraph @ 0000000002aa8880] query_formats: 6 queried, 5 merged, 0 already done, 0 delayed
[scaler_out_0_0 @ 000000000284dc40] w:720 h:480 fmt:yuv420p sar:8/9 -> w:720 h:480 fmt:yuv420p sar:8/9 flags:0x4
[mpeg2video @ 000000000297b940] intra_quant_bias = 96 inter_quant_bias = 0
Output #0, dvd, to 'bob.VOB':
  Metadata:
    encoder         : Lavf58.17.101
    Stream #0:0, 0, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(top first, left), 720x480 [SAR 8:9 DAR
 4:3], 0/1, q=2-31, 6000 kb/s, 29.97 fps, 90k tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc58.22.100 mpeg2video
    Side data:
      cpb: bitrate max/min/avg: 9000000/0/6000000 buffer size: 1835008 vbv_delay: -1
    Stream #0:1, 0, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, delay 256, 448 kb/s
    Metadata:
      encoder         : Lavc58.22.100 ac3
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
    Last message repeated 295 times
cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x
    Last message repeated 299 times
cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x
    Last message repeated 289 times
cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x
    Last message repeated 285 times
cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x
    Last message repeated 54 times
[dvd @ 000000000297a600] First SCR: 0 First DTS: 45000
[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 535200, current: 535200; changing to 535201.
 This may result in incorrect timestamps in the output file.
[dvd @ 000000000297a600] buffer underflow st=1 bufi=1175 size=1792=6409.3kbits/s speed= 2.5x
[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 1263840, current: 1263840; changing to 12638
41. This may result in incorrect timestamps in the output file.
[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 1992480, current: 1992480; changing to 19924
81. This may result in incorrect timestamps in the output file.
[dvd @ 000000000297a600] buffer underflow st=1 bufi=1173 size=1792
[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 4152480, current: 4152480; changing to 41524
81. This may result in incorrect timestamps in the output file.
[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 4881120, current: 4881120; changing to 48811
21. This may result in incorrect timestamps in the output file.
[dvd @ 000000000297a600] buffer underflow st=1 bufi=1177 size=1792
[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 5609760, current: 5609760; changing to 56097
61. This may result in incorrect timestamps in the output file.
[dvd @ 000000000297a600] buffer underflow st=1 bufi=1176 size=1792
[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 6338400, current: 6338400; changing to 63384
01. This may result in incorrect timestamps in the output file.
[dvd @ 000000000297a600] Non-monotonous DTS in output stream 0:1; previous: 7067040, current: 7067040; changing to 70670
41. This may result in incorrect timestamps in the output file.
[dvd @ 000000000297a600] buffer underflow st=1 bufi=1174 size=1792
[out_0_0 @ 000000000284db40] EOF on sink link out_0_0:default.
[out_0_1 @ 0000000002aac540] EOF on sink link out_0_1:default.
No more output streams to write to, finishing.
frame= 2425 fps=326 q=3.3 Lsize=   65038kB time=00:01:20.89 bitrate=6586.6kbits/s speed=10.9x
video:59318kB audio:4424kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.032480%
Input file #0 (../../20180726_150335-phasebtop1.vob):
  Input stream #0:0 (data): 0 packets read (0 bytes);
  Input stream #0:1 (video): 2725 packets read (51214402 bytes); 2725 frames decoded;
  Input stream #0:2 (audio): 2840 packets read (5089280 bytes); 2840 frames decoded (4362240 samples);
  Total: 5565 packets (56303682 bytes) demuxed
Output file #0 (bob.VOB):
  Output stream #0:0 (video): 2425 frames encoded; 2425 packets muxed (60742090 bytes);
  Output stream #0:1 (audio): 2528 frames encoded (3882240 samples); 2528 packets muxed (4530176 bytes);
  Total: 4953 packets (65272266 bytes) muxed
5565 frames successfully decoded, 0 decoding errors
[AVIOContext @ 00000000028a2440] Statistics: 0 seeks, 32357 writeouts
[AVIOContext @ 000000000061c840] Statistics: 61134992 bytes read, 2 seeks
c:\Developer\ffmpeg-20180731-481741e-win64-static\bin>------------------------------------------------------------------------

This is the first problematic version:
c:\Developer\ffmpeg-20180330-cdd6a52-win64-static\bin>ffmpeg.exe -i ../../20180726_150335-phasebtop1.vob -ss 10 -target
ntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y bob.VOB -v debug
ffmpeg version N-90535-gcdd6a525e4 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enabl
e-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-l
ibtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --en
able-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-l
ibvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enabl
e-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 12.100 / 56. 12.100
  libavcodec     58. 16.100 / 58. 16.100
  libavformat    58. 10.100 / 58. 10.100
  libavdevice    58.  2.100 / 58.  2.100
  libavfilter     7. 13.100 /  7. 13.100
  libswscale      5.  0.102 /  5.  0.102
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Splitting the commandline.
Reading option '-i' ... matched as input url with argument '../../20180726_150335-phasebtop1.vob'.
Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '10'.
Reading option '-target' ... matched as option 'target' (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50"
with optional prefixes "pal-", "ntsc-" or "film-")) with argument 'ntsc-dvd'.
Reading option '-flags' ... matched as AVOption 'flags' with argument '+cgop+ilme+ildct'.
Reading option '-alternate_scan' ... matched as AVOption 'alternate_scan' with argument '1'.
Reading option '-top' ... matched as option 'top' (top=1/bottom=0/auto=-1 field first) with argument '1'.
Reading option '-g' ... matched as AVOption 'g' with argument '15'.
Reading option '-sc_threshold' ... matched as AVOption 'sc_threshold' with argument '1000000000'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option 'bob.VOB' ... matched as output url.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option y (overwrite output files) with argument 1.
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url ../../20180726_150335-phasebtop1.vob.
Successfully parsed a group of options.
Opening an input file: ../../20180726_150335-phasebtop1.vob.
[NULL @ 0000000000393ec0] Opening '../../20180726_150335-phasebtop1.vob' for reading
[file @ 00000000003945c0] Setting default whitelist 'file,crypto'
[mpeg @ 0000000000393ec0] Format mpeg probed with size=2048 and score=26
[mpeg @ 0000000000393ec0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:0
[mpeg @ 0000000000393ec0] probing stream 1 pp:2500
[mpeg @ 0000000000393ec0] Probe with size=2011, packets=1 detected mpegvideo with score=25
[mpeg @ 0000000000393ec0] probed stream 1
[mpeg2video @ 0000000000394b80] Format yuv420p chosen by get_format().
[mpeg @ 0000000000393ec0] max_analyze_duration 5000000 reached at 5005000 microseconds st:1
[mpeg @ 0000000000393ec0] start time for stream 0 is not set in estimate_timings_from_pts
[mpeg @ 0000000000393ec0] After avformat_find_stream_info() pos: 0 bytes read:3559568 seeks:2 frames:299
Input #0, mpeg, from '../../20180726_150335-phasebtop1.vob':
  Duration: 00:01:30.93, start: 0.528033, bitrate: 5065 kb/s
    Stream #0:0[0x1bf], 0, 1/90000: Data: dvd_nav_packet, 0/1
    Stream #0:1[0x1e0], 152, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(tv, top first, left), 720x480
 [SAR 8:9 DAR 4:3], 0/1, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:2[0x80], 147, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
Successfully opened the file.
Parsing a group of options: output url bob.VOB.
Applying option ss (set the start time offset) with argument 10.
Applying option target (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50" with optional prefixes "pal-", "n
tsc-" or "film-")) with argument ntsc-dvd.
Applying option top (top=1/bottom=0/auto=-1 field first) with argument 1.
Successfully parsed a group of options.
Opening an output file: bob.VOB.
[file @ 000000000039c080] Setting default whitelist 'file,crypto'
Successfully opened the file.
detected 8 logical cores
Stream mapping:
  Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
  Stream #0:2 -> #0:1 (ac3 (native) -> ac3 (native))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[graph_1_in_0_2 @ 0000000002a1d340] Setting 'time_base' to value '1/48000'
[graph_1_in_0_2 @ 0000000002a1d340] Setting 'sample_rate' to value '48000'
[graph_1_in_0_2 @ 0000000002a1d340] Setting 'sample_fmt' to value 'fltp'
[graph_1_in_0_2 @ 0000000002a1d340] Setting 'channel_layout' to value '0x3'
[graph_1_in_0_2 @ 0000000002a1d340] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3
[format_out_0_1 @ 00000000003e0bc0] Setting 'sample_fmts' to value 'fltp'
[format_out_0_1 @ 00000000003e0bc0] Setting 'sample_rates' to value '48000'
[format_out_0_1 @ 00000000003e0bc0] Setting 'channel_layouts' to value '0x4|0x3|0x103|0x7|0x603|0x33|0x107|0x607|0x37|0x
c|0xb|0x10b|0xf|0x60b|0x3b|0x10f|0x60f|0x3f'
[AVFilterGraph @ 0000000002a1e040] query_formats: 5 queried, 12 merged, 0 already done, 0 delayed
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[mpeg2video @ 00000000003fdd40] Format yuv420p chosen by get_format().
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[graph 0 input from stream 0:1 @ 00000000026eb640] Setting 'video_size' to value '720x480'
[graph 0 input from stream 0:1 @ 00000000026eb640] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:1 @ 00000000026eb640] Setting 'time_base' to value '1/90000'
[graph 0 input from stream 0:1 @ 00000000026eb640] Setting 'pixel_aspect' to value '8/9'
[graph 0 input from stream 0:1 @ 00000000026eb640] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:1 @ 00000000026eb640] Setting 'frame_rate' to value '30000/1001'
[graph 0 input from stream 0:1 @ 00000000026eb640] w:720 h:480 pixfmt:yuv420p tb:1/90000 fr:30000/1001 sar:8/9 sws_param
:flags=2
[scaler_out_0_0 @ 000000000272cac0] Setting 'w' to value '720'
[scaler_out_0_0 @ 000000000272cac0] Setting 'h' to value '480'
[scaler_out_0_0 @ 000000000272cac0] Setting 'flags' to value 'bicubic'
[scaler_out_0_0 @ 000000000272cac0] w:720 h:480 flags:'bicubic' interl:0
[format @ 00000000027e7880] Setting 'pix_fmts' to value 'yuv420p'
[AVFilterGraph @ 0000000002a1e940] query_formats: 6 queried, 5 merged, 0 already done, 0 delayed
[scaler_out_0_0 @ 000000000272cac0] w:720 h:480 fmt:yuv420p sar:8/9 -> w:720 h:480 fmt:yuv420p sar:8/9 flags:0x4
[mpeg2video @ 00000000003966c0] intra_quant_bias = 96 inter_quant_bias = 0
Output #0, dvd, to 'bob.VOB':
  Metadata:
    encoder         : Lavf58.10.100
    Stream #0:0, 0, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(left), 720x480 [SAR 8:9 DAR 4:3], 0/1,
 q=2-31, 6000 kb/s, 29.97 fps, 90k tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc58.16.100 mpeg2video
    Side data:
      cpb: bitrate max/min/avg: 9000000/0/6000000 buffer size: 1835008 vbv_delay: -1
    Stream #0:1, 0, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, delay 256, 448 kb/s
    Metadata:
      encoder         : Lavc58.16.100 ac3
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
    Last message repeated 303 times
cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x
    Last message repeated 291 times
cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x
    Last message repeated 309 times
cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x
    Last message repeated 69 times
[ac3 @ 00000000003fe1c0] Multiple frames in a packet.
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
    Last message repeated 229 times
cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x
    Last message repeated 18 times
[dvd @ 00000000003fe600] First SCR: 0 First DTS: 45000
[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 538080, current: 538080; changing to 538081.
 This may result in incorrect timestamps in the output file.
[dvd @ 00000000003fe600] buffer underflow st=1 bufi=1398 size=1792
[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 1266720, current: 1266720; changing to 12667
21. This may result in incorrect timestamps in the output file.
[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 1995360, current: 1995360; changing to 19953
61. This may result in incorrect timestamps in the output file.
[dvd @ 00000000003fe600] buffer underflow st=1 bufi=1396 size=1792
[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 4155360, current: 4155360; changing to 41553
61. This may result in incorrect timestamps in the output file.
[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 4884000, current: 4884000; changing to 48840
01. This may result in incorrect timestamps in the output file.
[dvd @ 00000000003fe600] buffer underflow st=1 bufi=1400 size=1792
[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 5612640, current: 5612640; changing to 56126
41. This may result in incorrect timestamps in the output file.
[dvd @ 00000000003fe600] buffer underflow st=1 bufi=1399 size=1792=6560.2kbits/s speed=10.3x
[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 6341280, current: 6341280; changing to 63412
81. This may result in incorrect timestamps in the output file.
[dvd @ 00000000003fe600] buffer underflow st=1 bufi=1398 size=1792
[dvd @ 00000000003fe600] Non-monotonous DTS in output stream 0:1; previous: 7069920, current: 7069920; changing to 70699
21. This may result in incorrect timestamps in the output file.
[dvd @ 00000000003fe600] buffer underflow st=1 bufi=1397 size=1792
[out_0_0 @ 000000000272c900] EOF on sink link out_0_0:default.
[out_0_1 @ 00000000003e0a00] EOF on sink link out_0_1:default.
No more output streams to write to, finishing.
frame= 2425 fps=321 q=3.3 Lsize=   65038kB time=00:01:20.89 bitrate=6586.6kbits/s speed=10.7x
video:59318kB audio:4424kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.032480%
Input file #0 (../../20180726_150335-phasebtop1.vob):
  Input stream #0:0 (data): 0 packets read (0 bytes);
  Input stream #0:1 (video): 2725 packets read (51214402 bytes); 2725 frames decoded;
  Input stream #0:2 (audio): 2831 packets read (5089280 bytes); 2840 frames decoded (4362240 samples);
  Total: 5556 packets (56303682 bytes) demuxed
Output file #0 (bob.VOB):
  Output stream #0:0 (video): 2425 frames encoded; 2425 packets muxed (60742090 bytes);
  Output stream #0:1 (audio): 2528 frames encoded (3882240 samples); 2528 packets muxed (4530176 bytes);
  Total: 4953 packets (65272266 bytes) muxed
5565 frames successfully decoded, 0 decoding errors
[AVIOContext @ 000000000039c140] Statistics: 0 seeks, 32357 writeouts
[AVIOContext @ 000000000039c840] Statistics: 61134992 bytes read, 2 seeks

c:\Developer\ffmpeg-20180330-cdd6a52-win64-static\bin>


------------------------------------------------------------------------
This is the last seemingly OK version (build 1 day older):
c:\Developer\ffmpeg-20180329-e5819fa-win64-static\bin>
c:\Developer\ffmpeg-20180329-e5819fa-win64-static\bin>ffmpeg.exe -i ../../20180726_150335-phasebtop1.vob -ss 10 -target
ntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y bob.VOB -v debug
ffmpeg version N-90480-ge5819fa629 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enabl
e-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-l
ibtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --en
able-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-l
ibvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libmfx --enable-amf --enable-ffnvcodec --en
able-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 12.100 / 56. 12.100
  libavcodec     58. 16.100 / 58. 16.100
  libavformat    58. 10.100 / 58. 10.100
  libavdevice    58.  2.100 / 58.  2.100
  libavfilter     7. 13.100 /  7. 13.100
  libswscale      5.  0.102 /  5.  0.102
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Splitting the commandline.
Reading option '-i' ... matched as input url with argument '../../20180726_150335-phasebtop1.vob'.
Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '10'.
Reading option '-target' ... matched as option 'target' (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50"
with optional prefixes "pal-", "ntsc-" or "film-")) with argument 'ntsc-dvd'.
Reading option '-flags' ... matched as AVOption 'flags' with argument '+cgop+ilme+ildct'.
Reading option '-alternate_scan' ... matched as AVOption 'alternate_scan' with argument '1'.
Reading option '-top' ... matched as option 'top' (top=1/bottom=0/auto=-1 field first) with argument '1'.
Reading option '-g' ... matched as AVOption 'g' with argument '15'.
Reading option '-sc_threshold' ... matched as AVOption 'sc_threshold' with argument '1000000000'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option 'bob.VOB' ... matched as output url.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option y (overwrite output files) with argument 1.
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url ../../20180726_150335-phasebtop1.vob.
Successfully parsed a group of options.
Opening an input file: ../../20180726_150335-phasebtop1.vob.
[NULL @ 00000000005a3ec0] Opening '../../20180726_150335-phasebtop1.vob' for reading
[file @ 00000000005a45c0] Setting default whitelist 'file,crypto'
[mpeg @ 00000000005a3ec0] Format mpeg probed with size=2048 and score=26
[mpeg @ 00000000005a3ec0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:0
[mpeg @ 00000000005a3ec0] probing stream 1 pp:2500
[mpeg @ 00000000005a3ec0] Probe with size=2011, packets=1 detected mpegvideo with score=25
[mpeg @ 00000000005a3ec0] probed stream 1
[mpeg2video @ 00000000005a4b80] Format yuv420p chosen by get_format().
[mpeg @ 00000000005a3ec0] max_analyze_duration 5000000 reached at 5005000 microseconds st:1
[mpeg @ 00000000005a3ec0] start time for stream 0 is not set in estimate_timings_from_pts
[mpeg @ 00000000005a3ec0] After avformat_find_stream_info() pos: 0 bytes read:3559568 seeks:2 frames:299
Input #0, mpeg, from '../../20180726_150335-phasebtop1.vob':
  Duration: 00:01:30.93, start: 0.528033, bitrate: 5065 kb/s
    Stream #0:0[0x1bf], 0, 1/90000: Data: dvd_nav_packet, 0/1
    Stream #0:1[0x1e0], 152, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(tv, top first, left), 720x480
 [SAR 8:9 DAR 4:3], 0/1, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:2[0x80], 147, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
Successfully opened the file.
Parsing a group of options: output url bob.VOB.
Applying option ss (set the start time offset) with argument 10.
Applying option target (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50" with optional prefixes "pal-", "n
tsc-" or "film-")) with argument ntsc-dvd.
Applying option top (top=1/bottom=0/auto=-1 field first) with argument 1.
Successfully parsed a group of options.
Opening an output file: bob.VOB.
[file @ 00000000005abf40] Setting default whitelist 'file,crypto'
Successfully opened the file.
detected 8 logical cores
Stream mapping:
  Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
  Stream #0:2 -> #0:1 (ac3 (native) -> ac3 (native))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[graph_1_in_0_2 @ 000000000272fe80] Setting 'time_base' to value '1/48000'
[graph_1_in_0_2 @ 000000000272fe80] Setting 'sample_rate' to value '48000'
[graph_1_in_0_2 @ 000000000272fe80] Setting 'sample_fmt' to value 'fltp'
[graph_1_in_0_2 @ 000000000272fe80] Setting 'channel_layout' to value '0x3'
[graph_1_in_0_2 @ 000000000272fe80] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3
[format_out_0_1 @ 0000000002834ec0] Setting 'sample_fmts' to value 'fltp'
[format_out_0_1 @ 0000000002834ec0] Setting 'sample_rates' to value '48000'
[format_out_0_1 @ 0000000002834ec0] Setting 'channel_layouts' to value '0x4|0x3|0x103|0x7|0x603|0x33|0x107|0x607|0x37|0x
c|0xb|0x10b|0xf|0x60b|0x3b|0x10f|0x60f|0x3f'
[AVFilterGraph @ 0000000002851140] query_formats: 5 queried, 12 merged, 0 already done, 0 delayed
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[mpeg2video @ 00000000005a68c0] Format yuv420p chosen by get_format().
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[graph 0 input from stream 0:1 @ 000000000258d140] Setting 'video_size' to value '720x480'
[graph 0 input from stream 0:1 @ 000000000258d140] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:1 @ 000000000258d140] Setting 'time_base' to value '1/90000'
[graph 0 input from stream 0:1 @ 000000000258d140] Setting 'pixel_aspect' to value '8/9'
[graph 0 input from stream 0:1 @ 000000000258d140] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:1 @ 000000000258d140] Setting 'frame_rate' to value '30000/1001'
[graph 0 input from stream 0:1 @ 000000000258d140] w:720 h:480 pixfmt:yuv420p tb:1/90000 fr:30000/1001 sar:8/9 sws_param
:flags=2
[scaler_out_0_0 @ 000000000272cdc0] Setting 'w' to value '720'
[scaler_out_0_0 @ 000000000272cdc0] Setting 'h' to value '480'
[scaler_out_0_0 @ 000000000272cdc0] Setting 'flags' to value 'bicubic'
[scaler_out_0_0 @ 000000000272cdc0] w:720 h:480 flags:'bicubic' interl:0
[format @ 00000000025e0240] Setting 'pix_fmts' to value 'yuv420p'
[AVFilterGraph @ 0000000002851a40] query_formats: 6 queried, 5 merged, 0 already done, 0 delayed
[scaler_out_0_0 @ 000000000272cdc0] w:720 h:480 fmt:yuv420p sar:8/9 -> w:720 h:480 fmt:yuv420p sar:8/9 flags:0x4
[mpeg2video @ 000000000060fb00] intra_quant_bias = 96 inter_quant_bias = 0
Output #0, dvd, to 'bob.VOB':
  Metadata:
    encoder         : Lavf58.10.100
    Stream #0:0, 0, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(left), 720x480 [SAR 8:9 DAR 4:3], 0/1,
 q=2-31, 6000 kb/s, 29.97 fps, 90k tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc58.16.100 mpeg2video
    Side data:
      cpb: bitrate max/min/avg: 9000000/0/6000000 buffer size: 1835008 vbv_delay: -1
    Stream #0:1, 0, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, delay 256, 448 kb/s
    Metadata:
      encoder         : Lavc58.16.100 ac3
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
    Last message repeated 293 times
cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x
    Last message repeated 289 times
cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x
    Last message repeated 289 times
cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x
    Last message repeated 291 times
cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x
    Last message repeated 60 times
[dvd @ 000000000060e480] First SCR: 0 First DTS: 45000
[out_0_0 @ 000000000258d240] EOF on sink link out_0_0:default.rate=6564.5kbits/s speed=10.6x
[out_0_1 @ 0000000002834d00] EOF on sink link out_0_1:default.
No more output streams to write to, finishing.
frame= 2425 fps=324 q=3.3 Lsize=   65038kB time=00:01:20.89 bitrate=6586.6kbits/s speed=10.8x
video:59318kB audio:4424kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.032480%
Input file #0 (../../20180726_150335-phasebtop1.vob):
  Input stream #0:0 (data): 0 packets read (0 bytes);
  Input stream #0:1 (video): 2725 packets read (51214402 bytes); 2725 frames decoded;
  Input stream #0:2 (audio): 2840 packets read (5089280 bytes); 2840 frames decoded (4362240 samples);
  Total: 5565 packets (56303682 bytes) demuxed
Output file #0 (bob.VOB):
  Output stream #0:0 (video): 2425 frames encoded; 2425 packets muxed (60742090 bytes);
  Output stream #0:1 (audio): 2528 frames encoded (3882240 samples); 2528 packets muxed (4530176 bytes);
  Total: 4953 packets (65272266 bytes) muxed
5565 frames successfully decoded, 0 decoding errors
[AVIOContext @ 00000000005ac000] Statistics: 0 seeks, 32357 writeouts
[AVIOContext @ 00000000005ac840] Statistics: 61134992 bytes read, 2 seeks

c:\Developer\ffmpeg-20180329-e5819fa-win64-static\bin>

---------------------------------------------------------------------------------------------

Thank you for looking!
-Bob




_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

buffer underflow - processing VOB files

Bob DeCarlo
Thanks for the initial feedback....
I switched back to Linux where I can build various versions of the code checked out from git. 

The issue is reproduced at node:
0b86ea03d8415b5a3a6b07f3012a8097bca26ea5

This node seems OK ( the same sha as the OK zeranoe build) :
e5819fa62930966e6fb905cef21c985b91631d87

Unfortunately, the commit nodes I tested between the two stated above resulted as core dumps (WIP perhaps?).  Therefore it will be more difficult to isolate the problem to a specific commit. There are about 28 commits between the two.

$ ./ffmpeg -i ~/Videos/in.VOB -ss 50 -target ntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y out.VOB -v debug
ffmpeg version N-90519-g91bb871376 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --prefix=./ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I./ffmpeg_build/include --extra-ldflags=-L./ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=./bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
  libavutil      56. 12.100 / 56. 12.100
  libavcodec     58. 16.100 / 58. 16.100
  libavformat    58. 10.100 / 58. 10.100
  libavdevice    58.  2.100 / 58.  2.100
  libavfilter     7. 13.100 /  7. 13.100
  libswscale      5.  0.102 /  5.  0.102
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Splitting the commandline.
Reading option '-i' ... matched as input url with argument '/home/jti/Videos/in.VOB'.
Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '50'.
Reading option '-target' ... matched as option 'target' (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50" with optional prefixes "pal-", "ntsc-" or "film-")) with argument 'ntsc-dvd'.
Reading option '-flags' ... matched as AVOption 'flags' with argument '+cgop+ilme+ildct'.
Reading option '-alternate_scan' ... matched as AVOption 'alternate_scan' with argument '1'.
Reading option '-top' ... matched as option 'top' (top=1/bottom=0/auto=-1 field first) with argument '1'.
Reading option '-g' ... matched as AVOption 'g' with argument '15'.
Reading option '-sc_threshold' ... matched as AVOption 'sc_threshold' with argument '1000000000'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option 'out.VOB' ... matched as output url.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option y (overwrite output files) with argument 1.
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url /home/jti/Videos/in.VOB.
Successfully parsed a group of options.
Opening an input file: /home/jti/Videos/in.VOB.
[NULL @ 0x562f8b323c80] Opening '/home/jti/Videos/in.VOB' for reading
[file @ 0x562f8b3247c0] Setting default whitelist 'file,crypto'
[mpeg @ 0x562f8b323c80] Format mpeg probed with size=2048 and score=26
[mpeg @ 0x562f8b323c80] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:0
[mpeg @ 0x562f8b323c80] probing stream 1 pp:2500
[mpeg @ 0x562f8b323c80] Probe with size=2011, packets=1 detected mpegvideo with score=25
[mpeg @ 0x562f8b323c80] probed stream 1
[mpeg2video @ 0x562f8b327ac0] Format yuv420p chosen by get_format().
[mpeg @ 0x562f8b323c80] max_analyze_duration 5000000 reached at 5005000 microseconds st:1
[mpeg @ 0x562f8b323c80] start time for stream 0 is not set in estimate_timings_from_pts
[mpeg @ 0x562f8b323c80] After avformat_find_stream_info() pos: 0 bytes read:3625104 seeks:2 frames:298
Input #0, mpeg, from '/home/jti/Videos/in.VOB':
  Duration: 00:02:53.86, start: 0.528033, bitrate: 6494 kb/s
    Stream #0:0[0x1bf], 0, 1/90000: Data: dvd_nav_packet, 0/1
    Stream #0:1[0x1e0], 152, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(tv, top first, left), 720x480 [SAR 32:27 DAR 16:9], 0/1, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:2[0x80], 146, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
Successfully opened the file.
Parsing a group of options: output url out.VOB.
Applying option ss (set the start time offset) with argument 50.
Applying option target (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50" with optional prefixes "pal-", "ntsc-" or "film-")) with argument ntsc-dvd.
Applying option top (top=1/bottom=0/auto=-1 field first) with argument 1.
Successfully parsed a group of options.
Opening an output file: out.VOB.
[file @ 0x562f8b3fc840] Setting default whitelist 'file,crypto'
Successfully opened the file.
detected 8 logical cores
Stream mapping:
  Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
  Stream #0:2 -> #0:1 (ac3 (native) -> ac3 (native))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
*** stack smashing detected ***: <unknown> terminated
Aborted (core dumped)



------------------------------------------------------------------------------------------------
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

buffer underflow - processing VOB files

Bob DeCarlo



I located the fix for the core dump issue and create a patch:

$ git diff 91bb871376730a2394ed0ae1a3fd4295977002d3 0b86ea03d8415b5a3a6b07f3012a8097bca26ea5 >p.patch
Next, I applied this patch to commits and found this commit to be the one that causes by buffer under-run issue: 

$ git checkout ae9297097696f3d06417a6e8a5368d5f38a6edb4$ git apply p.patch # fixes core dump
... configure and make...
./ffmpeg -i ~/Videos/in.VOB -ss 50 -target ntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y out.VOB -v debug
The issue is reproduced and I believe  ae9297097696f3d06417a6e8a5368d5f38a6edb4 is where the issue was introduced, just after e5819fa62930966e6fb905cef21c985b91631d87.  I see from the code that some changes were made in ac3.

-Bob


_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: buffer underflow - processing VOB files

Paul B Mahol
On 8/2/18, Bob DeCarlo <[hidden email]> wrote:

>
>
>
> I located the fix for the core dump issue and create a patch:
>
> $ git diff 91bb871376730a2394ed0ae1a3fd4295977002d3
> 0b86ea03d8415b5a3a6b07f3012a8097bca26ea5 >p.patch
> Next, I applied this patch to commits and found this commit to be the one
> that causes by buffer under-run issue:
>
> $ git checkout ae9297097696f3d06417a6e8a5368d5f38a6edb4$ git apply p.patch #
> fixes core dump
> ... configure and make...
> ./ffmpeg -i ~/Videos/in.VOB -ss 50 -target ntsc-dvd -flags +cgop+ilme+ildct
> -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y out.VOB -v debug
> The issue is reproduced and I believe
> ae9297097696f3d06417a6e8a5368d5f38a6edb4 is where the issue was introduced,
> just after e5819fa62930966e6fb905cef21c985b91631d87.  I see from the code
> that some changes were made in ac3.

Please share patch and input files.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

buffer underflow - processing VOB files

Bob DeCarlo
>Please share patch and input files.
Thanks Paul...
I generated the patch using git diff, this is not my code- just trying to be clear.  I found that the core dump was solved by this code change which allowed me to locate the code change that causes my buffer underrun problem.  Below are the contents of the patch. 

(  I cannot seem to access upload.ffmpeg.org, maybe my company firewall is blocking.  I will try again later.)

$ git diff 91bb871376730a2394ed0ae1a3fd4295977002d3
> 0b86ea03d8415b5a3a6b07f3012a8097bca26ea5 >p.patch

# This fixes the core dump issue, not the underrrun issue
$ cat p.patch
diff --git a/libavcodec/ac3.h b/libavcodec/ac3.h
index 5c9c37727e..f8f6a81f45 100644
--- a/libavcodec/ac3.h
+++ b/libavcodec/ac3.h
@@ -28,6 +28,7 @@
 #define AVCODEC_AC3_H
 
 #define AC3_MAX_CODED_FRAME_SIZE 3840 /* in bytes */
+#define EAC3_MAX_CHANNELS 16          /**< maximum number of channels in EAC3 */
 #define AC3_MAX_CHANNELS 7            /**< maximum number of channels, including coupling channel */
 #define CPL_CH 0                      /**< coupling channel index */
 
diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index ac5c6d636a..b14d2e74ac 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -1488,7 +1488,7 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data,
     int blk, ch, err, offset, ret;
     int got_independent_frame = 0;
     const uint8_t *channel_map;
-    uint8_t extended_channel_map[AC3_MAX_CHANNELS * 2];
+    uint8_t extended_channel_map[EAC3_MAX_CHANNELS];
     const SHORTFLOAT *output[AC3_MAX_CHANNELS];
     enum AVMatrixEncoding matrix_encoding;
     AVDownmixInfo *downmix_info;
@@ -1685,7 +1685,7 @@ dependent_frame:
         avctx->bit_rate    = s->bit_rate + s->prev_bit_rate;
     }
 
-    for (ch = 0; ch < 16; ch++)
+    for (ch = 0; ch < EAC3_MAX_CHANNELS; ch++)
         extended_channel_map[ch] = ch;
 
     if (s->frame_type == EAC3_FRAME_TYPE_DEPENDENT) {
@@ -1698,7 +1698,7 @@ dependent_frame:
 
         channel_layout = ich_layout;
         for (ch = 0; ch < 16; ch++) {
-            if (s->channel_map & (1 << (15 - ch))) {
+            if (s->channel_map & (1 << (EAC3_MAX_CHANNELS - ch - 1))) {
                 channel_layout |= custom_channel_map_locations[ch][1];
             }
         }
@@ -1706,8 +1706,8 @@ dependent_frame:
         avctx->channel_layout = channel_layout;
         avctx->channels = av_get_channel_layout_nb_channels(channel_layout);
 
-        for (ch = 0; ch < 16; ch++) {
-            if (s->channel_map & (1 << (15 - ch))) {
+        for (ch = 0; ch < EAC3_MAX_CHANNELS; ch++) {
+            if (s->channel_map & (1 << (EAC3_MAX_CHANNELS - ch - 1))) {
                 if (custom_channel_map_locations[ch][0]) {
                     int index = av_get_channel_layout_channel_index(channel_layout,
                                                                     custom_channel_map_locations[ch][1]);
diff --git a/libavcodec/ac3dec.h b/libavcodec/ac3dec.h
index ae5ef4bbc9..ce1434b55c 100644
--- a/libavcodec/ac3dec.h
+++ b/libavcodec/ac3dec.h
@@ -242,12 +242,12 @@ typedef struct AC3DecodeContext {
 ///@name Aligned arrays
     DECLARE_ALIGNED(16, int,   fixed_coeffs)[AC3_MAX_CHANNELS][AC3_MAX_COEFS];       ///< fixed-point transform coefficients
     DECLARE_ALIGNED(32, INTFLOAT, transform_coeffs)[AC3_MAX_CHANNELS][AC3_MAX_COEFS];   ///< transform coefficients
-    DECLARE_ALIGNED(32, INTFLOAT, delay)[2 * AC3_MAX_CHANNELS][AC3_BLOCK_SIZE];         ///< delay - added to the next block
+    DECLARE_ALIGNED(32, INTFLOAT, delay)[EAC3_MAX_CHANNELS][AC3_BLOCK_SIZE];         ///< delay - added to the next block
     DECLARE_ALIGNED(32, INTFLOAT, window)[AC3_BLOCK_SIZE];                              ///< window coefficients
     DECLARE_ALIGNED(32, INTFLOAT, tmp_output)[AC3_BLOCK_SIZE];                          ///< temporary storage for output before windowing
-    DECLARE_ALIGNED(32, SHORTFLOAT, output)[2 * AC3_MAX_CHANNELS][AC3_BLOCK_SIZE];            ///< output after imdct transform and windowing
+    DECLARE_ALIGNED(32, SHORTFLOAT, output)[EAC3_MAX_CHANNELS][AC3_BLOCK_SIZE];            ///< output after imdct transform and windowing
     DECLARE_ALIGNED(32, uint8_t, input_buffer)[AC3_FRAME_BUFFER_SIZE + AV_INPUT_BUFFER_PADDING_SIZE]; ///< temp buffer to prevent overread
-    DECLARE_ALIGNED(32, SHORTFLOAT, output_buffer)[2 * AC3_MAX_CHANNELS][AC3_BLOCK_SIZE * 6];  ///< final output buffer
+    DECLARE_ALIGNED(32, SHORTFLOAT, output_buffer)[EAC3_MAX_CHANNELS][AC3_BLOCK_SIZE * 6];  ///< final output buffer
 ///@}
 } AC3DecodeContext;

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

buffer underflow - processing VOB files

Bob DeCarlo
Hi Paul,
(greatly appreciate your interest)

The patch that fixes the core dump I think was added by you:
commit 0b86ea03d8415b5a3a6b07f3012a8097bca26ea5
Author: Paul B Date:   Fri Mar 30 10:14:48 2018 +0200   
avcodec/ac3: fix out of array access introduced previously       
Signed-off-by: Paul B

I'm not 100% sure but this change is where I think the underflow issue came into play:
commit ae9297097696f3d06417a6e8a5368d5f38a6edb4 (HEAD)
Author: Paul B
Date:   Mon Mar 26 13:47:29 2018 +0200   
avcodec/eac3: add support for dependent stream       
Signed-off-by: Paul B




_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: buffer underflow - processing VOB files

Paul B Mahol
On 8/2/18, Bob DeCarlo <[hidden email]> wrote:

> Hi Paul,
> (greatly appreciate your interest)
>
> The patch that fixes the core dump I think was added by you:
> commit 0b86ea03d8415b5a3a6b07f3012a8097bca26ea5
> Author: Paul B Date:   Fri Mar 30 10:14:48 2018 +0200
> avcodec/ac3: fix out of array access introduced previously
> Signed-off-by: Paul B
>
> I'm not 100% sure but this change is where I think the underflow issue came
> into play:
> commit ae9297097696f3d06417a6e8a5368d5f38a6edb4 (HEAD)
> Author: Paul B
> Date:   Mon Mar 26 13:47:29 2018 +0200
> avcodec/eac3: add support for dependent stream
> Signed-off-by: Paul B

Without sample we can not help you.

Upload it with any service that provides such thing.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: buffer underflow - processing VOB files

Carl Zwanzig
On 8/2/2018 11:39 AM, Paul B Mahol wrote:
> Without sample we can not help you.

Sure 'we' can, an input sample isn't needed to review the patch. (A sample
is only needed to _test_ the patch.)

(It really looks like Bob's helping the ffmpeg community, not the other way
around; he found a problem, ran down the cause, provided a patch. That's a
lot more that many readers do. The least anyone else can do is look at the
code.)

z!
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: buffer underflow - processing VOB files

Paul B Mahol
On 8/2/18, Carl Zwanzig <[hidden email]> wrote:

> On 8/2/2018 11:39 AM, Paul B Mahol wrote:
>> Without sample we can not help you.
>
> Sure 'we' can, an input sample isn't needed to review the patch. (A sample
> is only needed to _test_ the patch.)
>
> (It really looks like Bob's helping the ffmpeg community, not the other way
> around; he found a problem, ran down the cause, provided a patch. That's a
> lot more that many readers do. The least anyone else can do is look at the
> code.)

Patch is invalid.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: buffer underflow - processing VOB files

Carl Eugen Hoyos-2
In reply to this post by Carl Zwanzig
2018-08-02 20:47 GMT+02:00, Carl Zwanzig <[hidden email]>:
> On 8/2/2018 11:39 AM, Paul B Mahol wrote:
>> Without sample we can not help you.
>
> Sure 'we' can, an input sample isn't needed to review the patch.

> (A sample is only needed to _test_ the patch.)

This is not completely true.

> (It really looks like Bob's helping the ffmpeg community, not the
> other way around; he found a problem, ran down the cause,

> provided a patch.

Suggesting a revert is not the same as providing a patch.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

buffer underflow - processing VOB files

Bob DeCarlo
All,
I sent out a google drive link. Let me know if this is OK.

phasebtop1ntscdvd.VOB is a sample file created using a recent FFMPEG version from a video capture device.  The text file shows the text output of that recording.  This file reproduces the underflow issue as previously described.  Maybe there is problem is here? 

I also included VTS_01_1.VOB which was recorded by a Panasonic DVD recorder.  I see that the issue is NOT reproduced using this as input file.  - new information - Does this help? 

In summary:
build from: e5819fa62930966e6fb905cef21c985b91631d87
and test:
./ffmpeg -i ~/Videos/phasebtop1ntscdvd.VOB -ss 50 -target ntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y out.VOB -v debug
The result seems good.
------
build from: ae9297097696f3d06417a6e8a5368d5f38a6edb4
and test:
./ffmpeg -i ~/Videos/phasebtop1ntscdvd.VOB -ss 50 -target ntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y out.VOB -v debug
The result core dumps.
----
Apply p.patch, rebuild, and retest.  The result is underflow which is the issue I am reporting.
----

Note: FFMPEG has been a useful tool for splicing, lowering bitrate, etc,,, and repairing video files.  That is why this came up as an issue.

Whatever you need me to do next, please ask...
Thanks!
Bob

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

buffer underflow - processing VOB files

Bob DeCarlo

>All,
>I sent out a google drive link. Let me know if this is OK.

Just wondering if the video files were received or if I need to use a different method to submit them?
Thanks,
Bob
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: buffer underflow - processing VOB files

Carl Eugen Hoyos-2
2018-08-08 0:21 GMT+02:00, Bob DeCarlo <[hidden email]>:

>>I sent out a google drive link. Let me know if this is OK.
>
> Just wondering if the video files were received or if I need to use
> a different method to submit them?

While this method is unorthodox and makes helping you needlessly
difficult, the bigger issue is that while your original mail only
mentions vob input, your private message starts with iec input,
making it impossible for me to understand what you would
like to report.

Sorry, Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

buffer underflow - processing VOB files

Bob DeCarlo

>While this method is unorthodox and makes helping you needlessly
>difficult,

Sorry, I'm still learning the ropes... I found //streams.videolan.org/upload/ and placed the one  phasebtop1ntscdvd.VOB file there.  It this proper?  I did not have a TRAC number to fill in.
>the bigger issue is that while your original mail only
>mentions vob input, your private message starts with iec input,
>making it impossible for me to understand what you would
>ike to report.

The iec input code was to only show how the phasebtop1ntscdvd.VOB file was created and I thought it might be useful information.
This problem I am reporting can be reproduced simply with this:
./ffmpeg -i phasebtop1ntscdvd.VOB -ss 50 -target ntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y out.VOB -v debug

>Sorry, Carl EugenNP- Thank you.Bob
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: buffer underflow - processing VOB files

Bob DeCarlo
 Hi Carl Eugen and Paul,
I dug into the source code and found the line of code causing the problem, referring to commit:
ae9297097696f3d06417a6e8a5368d5f38a6edb4

I rolled back this one line of code and the issue went away:

diff --git a/libavcodec/ac3_parser.c b/libavcodec/ac3_parser.cindex f4618bf215..1015245a90 100644--- a/libavcodec/ac3_parser.c+++ b/libavcodec/ac3_parser.c@@ -218,8 +218,8 @@ static int ac3_sync(uint64_t state, AACAC3ParseContext *hdr_info,     else if (hdr_info->codec_id == AV_CODEC_ID_NONE)         hdr_info->codec_id = AV_CODEC_ID_AC3; +    *need_next_header = (hdr.frame_type != EAC3_FRAME_TYPE_AC3_CONVERT);     *new_frame_start  = (hdr.frame_type != EAC3_FRAME_TYPE_DEPENDENT);-    *need_next_header = *new_frame_start || (hdr.frame_type != EAC3_FRAME_TYPE_AC3_CONVERT);     return hdr.frame_size; }

I reviewed the change set of ae9297097696f3d06417a6e8a5368d5f38a6edb4and see support for 16 channel audio was added.  For the legacy case, it looks like functionality should be maintained with the exception of setting "need_next_header".  My rollback likely breaks the new EAC3 but I just want to show what I think is breaking my test case.

My hope is that you will review this change set, and specifically this one line of code, to see if you possibly agree. You may not need to try my sample, the problem may be visible to you in just reviewing the code.

Thanks and Regards,
Bob



_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: buffer underflow - processing VOB files

Bob DeCarlo

 Hi Carl Eugen and Paul,

I dug into the source code and found the line of code causing the problem, referring to commit:
ae9297097696f3d06417a6e8a5368d5f38a6edb4

I rolled back this one line of code and the issue went away:

diff --git a/libavcodec/ac3_parser.c b/libavcodec/ac3_parser.c
index f4618bf215..1015245a90 100644
--- a/libavcodec/ac3_parser.c
+++ b/libavcodec/ac3_parser.c
@@ -218,8 +218,8 @@ static int ac3_sync(uint64_t state, AACAC3ParseContext *hdr_info,
     else if (hdr_info->codec_id == AV_CODEC_ID_NONE)
         hdr_info->codec_id = AV_CODEC_ID_AC3;
 
+    *need_next_header = (hdr.frame_type != EAC3_FRAME_TYPE_AC3_CONVERT);
     *new_frame_start  = (hdr.frame_type != EAC3_FRAME_TYPE_DEPENDENT);
-    *need_next_header = *new_frame_start || (hdr.frame_type != EAC3_FRAME_TYPE_AC3_CONVERT);
     return hdr.frame_size;
 }


I reviewed the change set of ae9297097696f3d06417a6e8a5368d5f38a6edb4and see support for 16 channel audio was added.  For the legacy case, it looks like functionality should be maintained with the exception of setting "need_next_header".  My rollback likely breaks the new EAC3 but I just want to show what I think is breaking my test case.

My hope is that you will review this change set, and specifically this one line of code, to see if you possibly agree. You may not need to try my sample, the problem may be visible to you in just reviewing the code.

Thanks and Regards,
Bob

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".