[FFmpeg-trac] #5140(avcodec:reopened): libvpx-vp9 rejects cpu-used and speed values [-16, -9] and [9, 16] (was: libvpx-vp9 rejects cpu-used values [-16, -9] and [9, 16])

FFmpeg trac at avcodec.org
Sun Mar 6 15:42:05 CET 2016


#5140: libvpx-vp9 rejects cpu-used and speed values [-16, -9] and [9, 16]
------------------------------------+------------------------------------
             Reporter:  Bouowmx     |                    Owner:
                 Type:  defect      |                   Status:  reopened
             Priority:  minor       |                Component:  avcodec
              Version:  git-master  |               Resolution:
             Keywords:  libvpx      |               Blocked By:
             Blocking:              |  Reproduced by developer:  1
Analyzed by developer:  0           |
------------------------------------+------------------------------------
Changes (by Bouowmx):

 * status:  closed => reopened
 * resolution:  fixed =>


Comment:

 libvpx's "speed" parameter is an alias of "cpu-used" but the help
 concerning speed has not changed.


 {{{
 ffmpeg -h encoder=libvpx-vp9
 ffmpeg version N-78843-g1c7e2cf Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 5.3.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
 --enable-gnutls --enable-iconv --enable-libass --enable-libbluray
 --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
 --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
 --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-
 libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp
 --enable-libschroedinger --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. 19.100 / 55. 19.100
   libavcodec     57. 27.101 / 57. 27.101
   libavformat    57. 27.100 / 57. 27.100
   libavdevice    57.  0.101 / 57.  0.101
   libavfilter     6. 37.100 /  6. 37.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 Encoder libvpx-vp9 [libvpx VP9]:
     General capabilities: delay threads
     Threading capabilities: auto
     Supported pixel formats: yuv420p yuv422p yuv440p yuv444p gbrp
 libvpx-vp9 encoder AVOptions:
   -auto-alt-ref      <boolean>    E..V.... Enable use of alternate
 reference frames (2-pass only) (default auto)
   -lag-in-frames     <int>        E..V.... Number of frames to look ahead
 for alternate reference frame selection (from -1 to INT_MAX) (default -1)
   -arnr-maxframes    <int>        E..V.... altref noise reduction max
 frame count (from -1 to INT_MAX) (default -1)
   -arnr-strength     <int>        E..V.... altref noise reduction filter
 strength (from -1 to INT_MAX) (default -1)
   -arnr-type         <int>        E..V.... altref noise reduction filter
 type (from -1 to INT_MAX) (default -1)
      backward                     E..V....
      forward                      E..V....
      centered                     E..V....
   -tune              <int>        E..V.... Tune the encoding to a specific
 scenario (from -1 to INT_MAX) (default -1)
      psnr                         E..V....
      ssim                         E..V....
   -deadline          <int>        E..V.... Time to spend encoding, in
 microseconds. (from INT_MIN to INT_MAX) (default good)
      best                         E..V....
      good                         E..V....
      realtime                     E..V....
   -error-resilient   <flags>      E..V.... Error resilience configuration
 (default 0)
      default                      E..V.... Improve resiliency against
 losses of whole frames
      partitions                   E..V.... The frame partitions are
 independently decodable by the bool decoder, meaning that partitions can
 be decoded even though earlier partitions have been lost. Note that intra
 predicition is still done over the partition boundary.
   -max-intra-rate    <int>        E..V.... Maximum I-frame bitrate (pct)
 0=unlimited (from -1 to INT_MAX) (default -1)
   -crf               <int>        E..V.... Select the quality for constant
 quality mode (from -1 to 63) (default -1)
   -static-thresh     <int>        E..V.... A change threshold on blocks
 below which they will be skipped by the encoder (from 0 to INT_MAX)
 (default 0)
   -drop-threshold    <int>        E..V.... Frame drop threshold (from
 INT_MIN to INT_MAX) (default 0)
   -noise-sensitivity <int>        E..V.... Noise sensitivity (from 0 to 4)
 (default 0)
   -undershoot-pct    <int>        E..V.... Datarate undershoot (min)
 target (%) (from -1 to 100) (default -1)
   -overshoot-pct     <int>        E..V.... Datarate overshoot (max) target
 (%) (from -1 to 1000) (default -1)
   -cpu-used          <int>        E..V.... Quality/Speed ratio modifier
 (from -8 to 8) (default 1)
   -lossless          <int>        E..V.... Lossless mode (from -1 to 1)
 (default -1)
   -tile-columns      <int>        E..V.... Number of tile columns to use,
 log2 (from -1 to 6) (default -1)
   -tile-rows         <int>        E..V.... Number of tile rows to use,
 log2 (from -1 to 2) (default -1)
   -frame-parallel    <boolean>    E..V.... Enable frame parallel
 decodability features (default auto)
   -aq-mode           <int>        E..V.... adaptive quantization mode
 (from -1 to 3) (default -1)
      none                         E..V.... Aq not used
      variance                     E..V.... Variance based Aq
      complexity                   E..V.... Complexity based Aq
      cyclic                       E..V.... Cyclic Refresh Aq
   -speed             <int>        E..V....  (from -16 to 16) (default 1)
   -quality           <int>        E..V....  (from INT_MIN to INT_MAX)
 (default good)
      best                         E..V....
      good                         E..V....
      realtime                     E..V....
   -vp8flags          <flags>      E..V....  (default 0)
      error_resilient              E..V.... enable error resilience
      altref                       E..V.... enable use of alternate
 reference frames (VP8/2-pass only)
   -arnr_max_frames   <int>        E..V.... altref noise reduction max
 frame count (from 0 to 15) (default 0)
   -arnr_strength     <int>        E..V.... altref noise reduction filter
 strength (from 0 to 6) (default 3)
   -arnr_type         <int>        E..V.... altref noise reduction filter
 type (from 1 to 3) (default 3)
   -rc_lookahead      <int>        E..V.... Number of frames to look ahead
 for alternate reference frame selection (from 0 to 25) (default 25)
 }}}
 FFmpeg gives the same error as in the original ticket:
 {{{
 ffmpeg -i "capture libvpx-vp9 lossless quality=good speed=0 threads=2
 an.mkv" -codec:v libvpx-vp9 -lossless 1 -speed 16 -threads 10 -f null -
 ffmpeg version N-78843-g1c7e2cf Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 5.3.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
 --enable-gnutls --enable-iconv --enable-libass --enable-libbluray
 --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
 --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
 --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-
 libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp
 --enable-libschroedinger --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. 19.100 / 55. 19.100
   libavcodec     57. 27.101 / 57. 27.101
   libavformat    57. 27.100 / 57. 27.100
   libavdevice    57.  0.101 / 57.  0.101
   libavfilter     6. 37.100 /  6. 37.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 Input #0, matroska,webm, from 'capture libvpx-vp9 lossless quality=good
 speed=0 threads=2 an.mkv':
   Metadata:
     ENCODER         : Lavf57.27.100
   Duration: 00:09:13.44, start: 0.000000, bitrate: 11940 kb/s
     Stream #0:0: Video: vp9 (Profile 1), yuv444p(tv), 480x640, lossless,
 SAR 1:1 DAR 3:4, 50 fps, 50 tbr, 1k tbn, 1k tbc (default)
     Metadata:
       ENCODER         : Lavc57.27.101 libvpx-vp9
       DURATION        : 00:09:13.440000000
 [libvpx-vp9 @ 0000018bfa097160] v1.5.0
 [libvpx-vp9 @ 0000018bfa097160] Failed to set VP8E_SET_CPUUSED codec
 control: Invalid parameter
 [libvpx-vp9 @ 0000018bfa097160]   Additional information: cpu_used out of
 range [-8..8]
 Output #0, null, to 'pipe:':
   Metadata:
     encoder         : Lavf57.27.100
     Stream #0:0: Video: vp9 (libvpx-vp9), yuv444p, 480x640 [SAR 1:1 DAR
 3:4], q=-1--1, 200 kb/s, 50 fps, 50 tbn, 50 tbc (default)
     Metadata:
       DURATION        : 00:09:13.440000000
       encoder         : Lavc57.27.101 libvpx-vp9
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 Stream mapping:
   Stream #0:0 -> #0:0 (vp9 (native) -> vp9 (libvpx-vp9))
 Press [q] to stop, [?] for help
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5140#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list