Opened 6 years ago

Closed 6 years ago

#7343 closed defect (fixed)

libaom-av1 -cpu-used -2 error?

Reported by: JouMxyzptlk Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: libaom
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

ffmpeg -h encoder=libaom-av1 gives me:

libaom-av1 encoder AVOptions:
  -cpu-used          <int>        E..V..... Quality/Speed ratio modifier (from -8 to 8) (default 1)

But trying with

ffmpeg.exe -i "vc1-test1.avi" -c:v libaom-av1 -strict -2 -cpu-used 0 -crf 30 -c:a aac -b 128k c:\tmp\vc1-cpu-2-crf30.mp4

result is:

[libaom-av1 @ 000001d853c33c00] 1.0.0-279-gd26bff329
[libaom-av1 @ 000001d853c33c00] Failed to set AOME_SET_CPUUSED codec control: Invalid parameter
[libaom-av1 @ 000001d853c33c00]   Additional information: cpu_used out of range [0..8]

Is the bug in the option "-cpu-used" or is the help page wrong?

ffmpeg version is "N-91559-g5aeb3b0080", aka "2018-08-03-g5aeb3b0080-nightly" Windows 64 bit.

Change History (6)

comment:1 by JouMxyzptlk, 6 years ago

Sorry, the copy pasted example had "-cpu-used 0" instead of "-cpu-used -2". But the error message is from the "-cpu-used -2" try.

comment:2 by Carl Eugen Hoyos, 6 years ago

Keywords: libaom added

Please provide the command line you tested together with the complete, uncut console output to make this a valid ticket.

comment:3 by JouMxyzptlk, 6 years ago

I gladly provide it.

Microsoft Windows [Version 10.0.17134.165]
(c) 2018 Microsoft Corporation. Alle Rechte vorbehalten.
C:\Users\Jou>cd \tmp

C:\tmp>C:\prog\ffmpeg\bin\ffmpeg.exe -i "vc1-test1.avi" -c:v libaom-av1 -strict -2 -cpu-used -2 -crf 30 -c:a aac -b:a 128k c:\tmp\vc1-cpu-2-crf30-for-trac.mp4
ffmpeg version N-91559-g5aeb3b0080 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.1 (GCC) 20180722
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 18.102 / 56. 18.102
  libavcodec     58. 22.100 / 58. 22.100
  libavformat    58. 17.101 / 58. 17.101
  libavdevice    58.  4.101 / 58.  4.101
  libavfilter     7. 26.100 /  7. 26.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, avi, from 'vc1-test1.avi':
  Duration: 00:00:20.36, start: 0.000000, bitrate: 6747 kb/s
    Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x576 [SAR 1:1 DAR 5:4], 5207 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc
    Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 (native) -> av1 (libaom-av1))
  Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
[mpeg4 @ 00000136e6e45b80] Video uses a non-standard and wasteful way to store B-frames ('packed B-frames'). Consider using the mpeg4_unpack_bframes bitstream filter without encoding but stream copy to fix it.
[libaom-av1 @ 00000136e6de0840] 1.0.0-279-gd26bff329
[libaom-av1 @ 00000136e6de0840] Failed to set AOME_SET_CPUUSED codec control: Invalid parameter
[libaom-av1 @ 00000136e6de0840]   Additional information: cpu_used out of range [0..8]
Output #0, mp4, to 'c:\tmp\vc1-cpu-2-crf30-for-trac.mp4':
  Metadata:
    encoder         : Lavf58.17.101
    Stream #0:0: Video: av1 (libaom-av1) (av01 / 0x31307661), yuv420p, 720x576 [SAR 1:1 DAR 5:4], q=-1--1, 200 kb/s, 25 fps, 12800 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.22.100 libaom-av1
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : Lavc58.22.100 aac
frame=   19 fps=2.6 q=-0.0 size=       0kB time=00:00:01.79 bitrate=   0.2kbits/s dup=1 drop=0 speed=0.241

comment:4 by JouMxyzptlk, 6 years ago

The help output:

C:\tmp>C:\prog\ffmpeg\bin\ffmpeg.exe -h encoder=libaom-av1
ffmpeg version N-91559-g5aeb3b0080 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.1 (GCC) 20180722
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 18.102 / 56. 18.102
  libavcodec     58. 22.100 / 58. 22.100
  libavformat    58. 17.101 / 58. 17.101
  libavdevice    58.  4.101 / 58.  4.101
  libavfilter     7. 26.100 /  7. 26.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Encoder libaom-av1 [libaom AV1]:
    General capabilities: delay exp threads
    Threading capabilities: auto
    Supported pixel formats: yuv420p yuv422p yuv444p yuv420p10le yuv422p10le yuv444p10le yuv420p12le yuv422p12le yuv444p12le
libaom-av1 encoder AVOptions:
  -cpu-used          <int>        E..V..... Quality/Speed ratio modifier (from -8 to 8) (default 1)
  -auto-alt-ref      <int>        E..V..... Enable use of alternate reference frames (2-pass only) (from -1 to 2) (default -1)
  -lag-in-frames     <int>        E..V..... Number of frames to look ahead at for alternate reference frame selection (from -1 to INT_MAX) (default -1)
  -error-resilience  <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.
  -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)

comment:5 by Gyan, 6 years ago

Valid range is 0 to 8. Patch sent - https://patchwork.ffmpeg.org/patch/9893/

comment:6 by Carl Eugen Hoyos, 6 years ago

Component: undeterminedavcodec
Resolution: fixed
Status: newclosed
Version: unspecifiedgit-master
Note: See TracTickets for help on using tickets.