[FFmpeg-trac] #4076(undetermined:new): Poor performance when using unsharp filter on multiple outputs
FFmpeg
trac at avcodec.org
Tue Nov 4 05:32:56 CET 2014
#4076: Poor performance when using unsharp filter on multiple outputs
-------------------------------------+-------------------------------------
Reporter: speaker219 | Owner:
Type: defect | Status: new
Priority: normal | Component:
Version: git-master | undetermined
Keywords: unsharp | Resolution:
Blocking: | Blocked By:
Analyzed by developer: 0 | Reproduced by developer: 0
-------------------------------------+-------------------------------------
Comment (by speaker219):
Yep, same issue when using a file as input with -vcodec mpeg4, notice the
poor performance on the first run (using unsharp filter on both outputs):
~60 fps when using unsharp filter on both outputs, ~94 fps when only using
on one. CPU usage is well below 50% on both runs.
Using unsharp on both:
{{{
cmd>ffmpeg -t 60 -i "testfile.mkv" -vcodec mpeg4 -vf
"unsharp=5:5:0.2:5:5:0.0" -maxrate 1600k -bufsize 2000k -s 960x540
-pix_fmt yuv420p -an sd.mp4 -vcodec mpeg4 -vf
"unsharp=5:5:0.2:5:5:0.0,fps=fps=30" -maxrate 900k -bufsize 2000k -s
854x480 -pix_fmt yuv420p -an sd.mp4
ffmpeg version N-66809-g20df026 Copyright (c) 2000-2014 the FFmpeg
developers
built on Oct 11 2014 23:42:02 with gcc 4.9.1 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enable-iconv --enable-li
bass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-
libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-
libmodplug --enable-libmp3lame --enable-lib
opencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-
libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libspeex --enable-libtheora --en
able-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-
libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 54. 10.100 / 54. 10.100
libavcodec 56. 4.101 / 56. 4.101
libavformat 56. 9.100 / 56. 9.100
libavdevice 56. 1.100 / 56. 1.100
libavfilter 5. 1.103 / 5. 1.103
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 1.100 / 53. 1.100
Input #0, matroska,webm, from
'J:\NewDL\Jeopardy.2014.09.26.720p.HDTV.AAC2.0.x264-NTb.mkv':
Metadata:
encoder : libebml v1.2.3 + libmatroska v1.3.0
creation_time : 2014-09-26 02:23:22
Duration: 00:19:56.47, start: 0.000000, bitrate: 2305 kb/s
Stream #0:0: Video: h264 (High), yuv420p, 1280x720 [SAR 1:1 DAR 16:9],
29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
Stream #0:1: Audio: aac, 48000 Hz, stereo, fltp (default)
File 'sd.mp4' already exists. Overwrite ? [y/N] y
File 'sd.mp4' already exists. Overwrite ? [y/N] y
[mpeg4 @ 000000000034cb00] Invalid pixel aspect ratio 1280/1281, limit is
255/255 reducing
Output #0, mp4, to 'sd.mp4':
Metadata:
encoder : Lavf56.9.100
Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 960x540 [SAR
1:1 DAR 16:9], q=2-31, 200 kb/s, 29.97 fps, 30k tbn, 29.97 tbc (default)
Metadata:
encoder : Lavc56.4.101 mpeg4
Output #1, mp4, to 'sd.mp4':
Metadata:
encoder : Lavf56.9.100
Stream #1:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 854x480 [SAR
1:1 DAR 427:240], q=2-31, 200 kb/s, SAR 1280:1281 DAR 16:9, 30 fps, 15360
tbn, 30 tbc (default)
Metadata:
encoder : Lavc56.4.101 mpeg4
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native))
Stream #0:0 -> #1:0 (h264 (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
frame= 1799 fps= 60 q=24.8 Lq=24.8 size= 4421kB time=00:01:00.03
bitrate= 603.3kbits/s
video:8003kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
}}}
Using unsharp on one:
{{{
cmd>ffmpeg -t 60 -i
"J:\NewDL\Jeopardy.2014.09.26.720p.HDTV.AAC2.0.x264-NTb.mkv" -vcodec mpeg4
-vf "unsharp=5:5:0.2:5:5:0.0" -maxrate 1600k -bufsize 2000k -s 960x540
-pix_fmt yuv420p -an sd.mp4 -vcodec mpeg4 -vf "fps=fps=30" -maxrate 900k
-bufsize 2000k -s 854x480 -pix_fmt yuv420p -an sd.mp4
ffmpeg version N-66809-g20df026 Copyright (c) 2000-2014 the FFmpeg
developers
built on Oct 11 2014 23:42:02 with gcc 4.9.1 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enable-iconv --enable-li
bass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-
libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-
libmodplug --enable-libmp3lame --enable-lib
opencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-
libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libspeex --enable-libtheora --en
able-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-
libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 54. 10.100 / 54. 10.100
libavcodec 56. 4.101 / 56. 4.101
libavformat 56. 9.100 / 56. 9.100
libavdevice 56. 1.100 / 56. 1.100
libavfilter 5. 1.103 / 5. 1.103
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 1.100 / 53. 1.100
Input #0, matroska,webm, from 'testfile.mkv':
Metadata:
encoder : libebml v1.2.3 + libmatroska v1.3.0
creation_time : 2014-09-26 02:23:22
Duration: 00:19:56.47, start: 0.000000, bitrate: 2305 kb/s
Stream #0:0: Video: h264 (High), yuv420p, 1280x720 [SAR 1:1 DAR 16:9],
29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
Stream #0:1: Audio: aac, 48000 Hz, stereo, fltp (default)
File 'sd.mp4' already exists. Overwrite ? [y/N] y
File 'sd.mp4' already exists. Overwrite ? [y/N] y
[mpeg4 @ 000000000527c1e0] Invalid pixel aspect ratio 1280/1281, limit is
255/255 reducing
Output #0, mp4, to 'sd.mp4':
Metadata:
encoder : Lavf56.9.100
Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 960x540 [SAR
1:1 DAR 16:9], q=2-31, 200 kb/s, 29.97 fps, 30k tbn, 29.97 tbc (default)
Metadata:
encoder : Lavc56.4.101 mpeg4
Output #1, mp4, to 'sd.mp4':
Metadata:
encoder : Lavf56.9.100
Stream #1:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 854x480 [SAR
1:1 DAR 427:240], q=2-31, 200 kb/s, SAR 1280:1281 DAR 16:9, 30 fps, 15360
tbn, 30 tbc (default)
Metadata:
encoder : Lavc56.4.101 mpeg4
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native))
Stream #0:0 -> #1:0 (h264 (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
frame= 1799 fps= 94 q=24.8 Lq=24.8 size= 4421kB time=00:01:00.03
bitrate= 603.3kbits/s
video:7957kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/4076#comment:2>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list