[FFmpeg-trac] #6524(undetermined:new): Video filter with relative scaling produces invalid resolutions (not divisible by 2)

FFmpeg trac at avcodec.org
Fri Jul 14 11:28:02 EEST 2017


#6524: Video filter with relative scaling produces invalid resolutions (not
divisible by 2)
-------------------------------------+-------------------------------------
             Reporter:  monty        |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Tested with ffmpeg-3.3.2-win64-static (and some older versions like in the
 error log)

 When trying to rescale .mp4 videos with relative size it prodcues invalid
 result resolutions which are not divisible by 2.

 Input: test_video.mp4 (1280x768, 18 seconds duration)

 FFmpeg command line:
 ffmpeg  -ss 00:09 -i test_video.mp4 -vframes 1 -q:v 2 -vf
 scale="'if(lt(a,512/288),512,-1)':'if(lt(a,512/288),-1,288)'"
 test_preview.mp4 -y

 It should rescale all videos fitting into a box of 512x288

 It fails with the following error output:

 ffmpeg version N-82324-g872b358 Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 5.4.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-
 bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-
 gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b
 --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm
 --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-
 libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264
 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
 libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex
 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-
 amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-
 libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-
 libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
   libavutil      55. 36.100 / 55. 36.100
   libavcodec     57. 66.101 / 57. 66.101
   libavformat    57. 57.100 / 57. 57.100
   libavdevice    57.  2.100 / 57.  2.100
   libavfilter     6. 66.100 /  6. 66.100
   libswscale      4.  3.100 /  4.  3.100
   libswresample   2.  4.100 /  2.  4.100
   libpostproc    54.  2.100 / 54.  2.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\data\test_video.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: mp42mp41
     creation_time   : 2013-12-17T09:58:56.000000Z
   Duration: 00:00:18.01, start: 0.000000, bitrate: 4962 kb/s
     Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv),
 1280x768 [SAR 1:1 DAR 5:3], 4830 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc
 (default)
     Metadata:
       creation_time   : 2013-12-17T09:58:56.000000Z
       handler_name    : Mainconcept MP4 Video Media Handler
       encoder         : AVC Coding
     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
 stereo, fltp, 125 kb/s (default)
     Metadata:
       creation_time   : 2013-12-17T09:58:56.000000Z
       handler_name    : Mainconcept MP4 Sound Media Handler
 [libx264 @ 00000000006c9f60] -qscale is ignored, -crf is recommended.
 [libx264 @ 00000000006c9f60] height not divisible by 2 (512x307)
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
   Stream #0:1 -> #0:1 (aac (native) -> aac (native))
 Error while opening encoder for output stream #0:0 - maybe incorrect
 parameters such as bit_rate, rate, width or height

 Shouldn't the realtive scaling (-1) automatically ensure that the target
 resolution is valid (divisible by 2)?.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6524>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list