Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#8499 closed defect (fixed)

expressions issues

Reported by: Atarikid Owned by:
Priority: important Component: avfilter
Version: git-master Keywords: scale regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description (last modified by Carl Eugen Hoyos)

Ever sinds the latest daily builds using more complex expressions throws errors.

See the below example - this works with FFmpeg 4.2.2 but not with the daily builds.

atari ~ % /Users/atari/ffmpeg -i "/Users/atari/Desktop/in.mp4" -vf "scale='if(gt(iw,ih),140,trunc(oh*a/2)*2)':'if(gt(iw,ih),trunc(ow/a/2)*2,108)'" -frames:v 1 -y "/var/folders/thumbnail.png"
ffmpeg version N-96486-g1ab302da6e-tessus Copyright (c) 2000-2020 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.17)
  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
  libavutil      56. 38.100 / 56. 38.100
  libavcodec     58. 66.101 / 58. 66.101
  libavformat    58. 35.104 / 58. 35.104
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 71.100 /  7. 71.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/atari/Desktop/in.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2020-01-25T08:40:48.000000Z
    encoder         : Lavf58.29.100
  Duration: 00:45:38.34, start: 0.000000, bitrate: 603 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 480x270 [SAR 1:1 DAR 16:9], 500 kb/s, 24.99 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2020-01-25T08:40:48.000000Z
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 96 kb/s (default)
    Metadata:
      creation_time   : 2020-01-25T08:40:48.000000Z
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> png (native))
Press [q] to stop, [?] for help
[Parsed_scale_0 @ 0x7fe22d000180] Circular expressions invalid for width 'if(gt(iw,ih),140,trunc(oh*a/2)*2)' and height 'if(gt(iw,ih),trunc(ow/a/2)*2,108)'.
[AVFilterGraph @ 0x7fe22ac14580] Error initializing filter 'scale' with args 'if(gt(iw,ih),140,trunc(oh*a/2)*2):if(gt(iw,ih),trunc(ow/a/2)*2,108):flags=bicubic'
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0
Conversion failed!

Change History (3)

comment:1 by Carl Eugen Hoyos, 4 years ago

Component: undeterminedavfilter
Description: modified (diff)
Keywords: scale regression added
Reproduced by developer: set
Status: newopen

comment:2 by Gyan, 4 years ago

Resolution: fixed
Status: openclosed

This is due to a too conservative check.

Fixed in 6e6b34917e0717e8844b962cfa413e71f9cdb72d

comment:3 by Atarikid, 4 years ago

Thanks for the quick fix. :)

Note: See TracTickets for help on using tickets.