Opened 4 years ago
Last modified 15 months ago
#9178 open defect
AAC -profile options missing in help since 4.3
Reported by: | Mattias Wadman | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avcodec |
Version: | git-master | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
How to reproduce:
With ffmpeg 4.2.3:
$ ffmpeg -hide_banner -help full | grep -C 10 aac_he_v2 -nssew <int> E..V..... nsse weight (from INT_MIN to INT_MAX) (default 8) -skip_top <int> .D.V..... number of macroblock rows at the top which are skipped (from INT_MIN to INT_MAX) (default 0) -skip_bottom <int> .D.V..... number of macroblock rows at the bottom which are skipped (from INT_MIN to INT_MAX) (default 0) -profile <int> E..VA.... (from INT_MIN to INT_MAX) (default unknown) unknown E..VA.... aac_main E...A.... aac_low E...A.... aac_ssr E...A.... aac_ltp E...A.... aac_he E...A.... aac_he_v2 E...A.... aac_ld E...A.... aac_eld E...A.... mpeg2_aac_low E...A.... mpeg2_aac_he E...A.... dts E...A.... dts_es E...A.... dts_96_24 E...A.... dts_hd_hra E...A.... dts_hd_ma E...A.... mpeg4_sp E..V.....
With ffmpeg 4.3 and higher:
$ ffmpeg -hide_banner -help full | grep -C 10 aac_he_v2
I think they went missing after commit aee036cdd05499ae9dcba5b50e88f1cc02ea203e (avcodec: move aacenc profiles to profiles.h) which i guess intended them to show up as options under the aac and libfdk_aac codec but they are missing from that help also.
With ffmpeg 4.4.0:
$ ffmpeg -hide_banner -help encoder=aac Encoder aac [AAC (Advanced Audio Coding)]: General capabilities: delay small Threading capabilities: none Supported sample rates: 96000 88200 64000 48000 44100 32000 24000 22050 16000 12000 11025 8000 7350 Supported sample formats: fltp AAC encoder AVOptions: -aac_coder <int> E...A...... Coding algorithm (from 0 to 2) (default fast) anmr 0 E...A...... ANMR method twoloop 1 E...A...... Two loop searching method fast 2 E...A...... Default fast search -aac_ms <boolean> E...A...... Force M/S stereo coding (default auto) -aac_is <boolean> E...A...... Intensity stereo coding (default true) -aac_pns <boolean> E...A...... Perceptual noise substitution (default true) -aac_tns <boolean> E...A...... Temporal noise shaping (default true) -aac_ltp <boolean> E...A...... Long term prediction (default false) -aac_pred <boolean> E...A...... AAC-Main prediction (default false) -aac_pce <boolean> E...A...... Forces the use of PCEs (default false) $ ffmpeg -hide_banner -help encoder=libfdk_aac Encoder libfdk_aac [Fraunhofer FDK AAC]: General capabilities: delay small Threading capabilities: none Supported sample rates: 96000 88200 64000 48000 44100 32000 24000 22050 16000 12000 11025 8000 Supported sample formats: s16 Supported channel layouts: mono stereo 3.0 4.0 5.0 5.1 7.1(wide) 7.1 libfdk_aac AVOptions: -afterburner <int> E...A...... Afterburner (improved quality) (from 0 to 1) (default 1) -eld_sbr <int> E...A...... Enable SBR for ELD (for SBR in other configurations, use the -profile parameter) (from 0 to 1) (default 0) -eld_v2 <int> E...A...... Enable ELDv2 (LD-MPS extension for ELD stereo signals) (from 0 to 1) (default 0) -signaling <int> E...A...... SBR/PS signaling style (from -1 to 2) (default default) default -1 E...A...... Choose signaling implicitly (explicit hierarchical by default, implicit if global header is disabled) implicit 0 E...A...... Implicit backwards compatible signaling explicit_sbr 1 E...A...... Explicit SBR, implicit PS signaling explicit_hierarchical 2 E...A...... Explicit hierarchical signaling -latm <int> E...A...... Output LATM/LOAS encapsulated data (from 0 to 1) (default 0) -header_period <int> E...A...... StreamMuxConfig and PCE repetition period (in frames) (from 0 to 65535) (default 0) -vbr <int> E...A...... VBR mode (1-5) (from 0 to 5) (default 0)
Looking at the commit history for libavcodec/profiles.h it seems like the same thing might have happened to other codec profile options:
mpeg4 82f9eb6f6c7165a404426bee8a61aac76508a177
mpeg2 dd76226842f268c7f85a125da1834e3af2413be4
av1 82b64e9bf671e37c078a4aae26b6f5c68723d7f9
Change History (3)
comment:1 by , 2 years ago
Status: | new → open |
---|
comment:3 by , 15 months ago
Hi, I can probably have a look tomorrow or so.
Took a quick peek at the code and notice one thing. The options tables with profile constants rows with unit name "avctx.profile" seems to lack a parent "profile" option (with OFFSET etc) that has unit "actx.profile". Is that a problem or will the option table be merge with the default avcodec_options somehow that has a "profile" option.
Sorry for probably using wrong terminology
That is real strange, because FF_MPV_COMMON_OPTS in 82f9eb6f6c7165a404426bee8a61aac76508a177 does work.