Opened 6 years ago

Last modified 2 years ago

#7058 open defect

loud aac encoder artefact

Reported by: nol2ter Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: aac regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:
AAC At 00:59, the sound goes down.

How to reproduce #first:

% ffmpeg.exe -i 59s_sound_falls_original.flac -y -c:a aac -b:a 320k -ar 44100 -movflags +faststart -map 0:a -map_metadata -1 -report 59s_sound_falls.m4a
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.0 (GCC)
  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 --enab
le-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 --enabl
e-libspeex --enable-libxvid --enable-libmfx --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, flac, from '59s_sound_falls_original.flac':
  Metadata:
    TITLE           : *deleted
    ARTIST          : *deleted
    ALBUMTITLE      : *deleted
    COMMENT         : *deleted
  Duration: 00:04:31.43, start: 0.000000, bitrate: 1046 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
Stream mapping:
  Stream #0:0 -> #0:0 (flac (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, ipod, to '59s_sound_falls.m4a':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp (16 bit), 320 kb/s
    Metadata:
      encoder         : Lavc57.107.100 aac
[ipod @ 00000000004d6b40] Starting second pass: moving the moov atom to the beginning of the file
size=   10796kB time=00:04:31.44 bitrate= 325.8kbits/s speed=21.1x
video:0kB audio:10749kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.433493%
[aac @ 00000000004abac0] Qavg: 3600.476

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Change History (6)

comment:1 by Carl Eugen Hoyos, 6 years ago

Keywords: sound falls removed
Version: 3.4unspecified

Please provide the input file.

comment:3 by Carl Eugen Hoyos, 6 years ago

Component: undeterminedavcodec
Keywords: aac regression added
Priority: normalimportant
Summary: FLAC to AAC sound fallsloud aac encoder artefact
Version: unspecifiedgit-master

Strangest bug ever, thank you!

I believe this is a regression since 8005b6de4f88c9e3739a3a4ceda4288804788df9
For the original command line, the bug depends on strlen(LIBAVCODEC_IDENT), explaining why it was a regression since 70143a3954e1c4412efb2bf1a3a818adea2d3abf fixed by 36c85d6e773d51af1d084fb15ad89d9acc5dd893 but the issue is also reproducible without writing bitstream info:

$ ffmpeg -i 59s_sound_falls_original.flac -b:a 320k -flags +bitexact -aac_coder twoloop -t 65 out.aac
ffmpeg version N-90232-g0645698 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (GCC)
  configuration: --enable-gpl
  libavutil      56.  8.100 / 56.  8.100
  libavcodec     58. 13.102 / 58. 13.102
  libavformat    58. 10.100 / 58. 10.100
  libavdevice    58.  2.100 / 58.  2.100
  libavfilter     7. 12.100 /  7. 12.100
  libswscale      5.  0.102 /  5.  0.102
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Input #0, flac, from '59s_sound_falls_original.flac':
  Metadata:
    TITLE           : Clarity
    ARTIST          : Zedd, Foxes
    ALBUMTITLE      : Clarity
    COMMENT         : 00602537547067_1_5;0bfaa24dc0cb300acd9f604b3b5f261b
  Duration: 00:04:31.43, start: 0.000000, bitrate: 1046 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
Stream mapping:
  Stream #0:0 -> #0:0 (flac (native) -> aac (native))
Press [q] to stop, [?] for help
[adts @ 0x27d3140] The AVFormatContext is not in set to bitexact mode, only the AVCodecContext. If this is not intended, set AVFormatContext.flags |= AVFMT_FLAG_BITEXACT.
Output #0, adts, to 'out.aac':
  Metadata:
    TITLE           : Clarity
    ARTIST          : Zedd, Foxes
    ALBUMTITLE      : Clarity
    COMMENT         : 00602537547067_1_5;0bfaa24dc0cb300acd9f604b3b5f261b
    encoder         : Lavf58.10.100
    Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp (16 bit), 320 kb/s
    Metadata:
      encoder         : Lavc aac
size=    2534kB time=00:01:05.01 bitrate= 319.3kbits/s speed=19.4x
video:0kB audio:2515kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.761414%
[aac @ 0x27d42c0] Qavg: 9635.397

The output file contains a very audible artefact after 59 seconds when decoded with libavcodec or faad.

Last edited 6 years ago by Carl Eugen Hoyos (previous) (diff)

comment:4 by Carl Eugen Hoyos, 6 years ago

Reproduced by developer: set

comment:5 by Carl Eugen Hoyos, 6 years ago

Status: newopen

comment:6 by Balling, 2 years ago

ffmpeg -i 59s_sound_falls_original.flac -b:a 320k -flags +bitexact -aac_coder twoloop -t 65 out.aac

still reproduces.

I think I can hear the same sound in the original Zedd flac. It is also all good with -b:a 500k, e.g. or 400k or actually it stops on 322k, while it still happens on 321k. LOL. Looks just like recently fixed eac3 bug.

Last edited 2 years ago by Balling (previous) (diff)
Note: See TracTickets for help on using tickets.