Opened 11 years ago

Closed 10 years ago

#2582 closed defect (needs_more_info)

buffer underflows encoding HD video to ntsc-dvd

Reported by: SullaFelix Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug: Since upgrading to v1.0.5 (and now 1.0.6) I've been getting hundreds of buffer underflows converting my HD video to DVD format, specifically NTSC format. I don't do anything special to the video to encode them and even video I've successfully encoded before are giving underflows when before they encoded cleanly.

How to reproduce:

% ffmpeg -i input -target ntsc-dvd output

ffmpeg version 1.0.6 Copyright (c) 2000-2013 the FFmpeg developers
  built on May 12 2013 19:17:16 with gcc 4.7.2 (GCC) 20121109 (Red Hat 4.7.2-8)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-libass --enable-libcdio --enable-libcelt --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
  libavutil      51. 73.101 / 51. 73.101
  libavcodec     54. 59.100 / 54. 59.100
  libavformat    54. 29.104 / 54. 29.104
  libavdevice    54.  2.101 / 54.  2.101
  libavfilter     3. 17.100 /  3. 17.100
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100


Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Attachments (2)

FFMPEG.noerr.txt (2.6 KB ) - added by SullaFelix 11 years ago.
clean encoding setting the video buffer to 0k
FFMPEG.underflow.txt (55.6 KB ) - added by SullaFelix 11 years ago.
same file with standard ffmpeg command line, video buffer not changed.

Download all attachments as: .zip

Change History (7)

by SullaFelix, 11 years ago

Attachment: FFMPEG.noerr.txt added

clean encoding setting the video buffer to 0k

by SullaFelix, 11 years ago

Attachment: FFMPEG.underflow.txt added

same file with standard ffmpeg command line, video buffer not changed.

comment:1 by SullaFelix, 11 years ago

Summary: buffer underflows ecoding HD video to ntsc-dvdbuffer underflows encoding HD video to ntsc-dvd

Additional info I left out of the original ticket. I can get a clean encode of the file ONLY if I set the video buffer (using -b:v) to 0k.

comment:2 by Carl Eugen Hoyos, 11 years ago

Please test current git head.

in reply to:  2 comment:3 by SullaFelix, 11 years ago

Replying to cehoyos:

Please test current git head.

It appears to work much better, however, I can't verify that the version I built has the same compile options as the 1.0.6 version that Fedora 18 has. This is the configure line I used:

./configure --libdir=/usr/lib64 --arch=x86_64 --optflags='-02 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-libass --enable-libcdio --enable-libcelt --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect

However, I get different output when viewing version information on mine:

[markh@augustus ffmpeg]$ ./ffmpeg -version
ffmpeg version N-53202-g85e8a11
built on May 17 2013 10:44:54 with gcc 4.7.2 (GCC) 20121109 (Red Hat 4.7.2-8)
configuration: --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
libavutil 52. 33.100 / 52. 33.100
libavcodec 55. 10.100 / 55. 10.100
libavformat 55. 7.100 / 55. 7.100
libavdevice 55. 0.100 / 55. 0.100
libavfilter 3. 68.101 / 3. 68.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102

Compared to the Fedora version:

ffmpeg version 1.0.6 Copyright (c) 2000-2013 the FFmpeg developers

built on May 12 2013 19:17:16 with gcc 4.7.2 (GCC) 20121109 (Red Hat 4.7.2-8)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-libass --enable-libcdio --enable-libcelt --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 51. 73.101 / 51. 73.101
libavcodec 54. 59.100 / 54. 59.100
libavformat 54. 29.104 / 54. 29.104
libavdevice 54. 2.101 / 54. 2.101
libavfilter 3. 17.100 / 3. 17.100
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100

I am not a n00b at building and compiling source, but I've never compiled ffmpeg before so I'm not sure if I'm missing something. I want to make sure that the problem is in ffmpeg and not in a compile option from the Fedora guys.

comment:4 by Carl Eugen Hoyos, 11 years ago

Please always start with ./configure && make then add external libraries if you need them.
Some of the configure options you used look broken (or at least useless) to me.

Could you elaborate if there is an issue with current git head? Or with 1.2? If not, I will close this ticket.
If it is really a regression, it could be fixed, but this would at least require a reproducible test case (that I so far do not see).

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

comment:5 by Carl Eugen Hoyos, 10 years ago

Resolution: needs_more_info
Status: newclosed
Note: See TracTickets for help on using tickets.