[FFmpeg-devel,RFC] lavc/fdk-aacenc: Print an error if (e)ld was requested without signaling

Submitted by Carl Eugen Hoyos on Sept. 27, 2017, 6:18 p.m.

Details

Message ID CAB0OVGpC99P03jxn0_xCx56_ENnhupd9Enb=QEjEWD+maCNkCQ@mail.gmail.com
State New
Headers show

Commit Message

Carl Eugen Hoyos Sept. 27, 2017, 6:18 p.m.
Hi!

No opinion here, this was reported twice on trac this week, I don't
know if there was really more than one user affected.

Please comment, Carl Eugen

Comments

Hendrik Leppkes Sept. 27, 2017, 8:30 p.m.
On Wed, Sep 27, 2017 at 8:18 PM, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
> Hi!
>
> No opinion here, this was reported twice on trac this week, I don't
> know if there was really more than one user affected.

"Signaling" as a single word isn't very descriptive, and should
probably be expanded.

Additionally, if its on -1 (default/auto), it should probably
automatically use a mode that works with the requested profile.

- Hendrik
Carl Eugen Hoyos Sept. 27, 2017, 8:39 p.m.
2017-09-27 22:30 GMT+02:00 Hendrik Leppkes <h.leppkes@gmail.com>:
> On Wed, Sep 27, 2017 at 8:18 PM, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:

>> No opinion here, this was reported twice on trac this week, I don't
>> know if there was really more than one user affected.
>
> "Signaling" as a single word isn't very descriptive, and should
> probably be expanded.

I don't disagree, do you have a suggestion?

> Additionally, if its on -1 (default/auto), it should probably
> automatically use a mode that works with the requested profile.

Is that possible? fdk refuses explicit signaling here for (e)ld.

Carl Eugen
Hendrik Leppkes Sept. 27, 2017, 8:46 p.m.
On Wed, Sep 27, 2017 at 10:39 PM, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
> 2017-09-27 22:30 GMT+02:00 Hendrik Leppkes <h.leppkes@gmail.com>:
>> On Wed, Sep 27, 2017 at 8:18 PM, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>
>>> No opinion here, this was reported twice on trac this week, I don't
>>> know if there was really more than one user affected.
>>
>> "Signaling" as a single word isn't very descriptive, and should
>> probably be expanded.
>
> I don't disagree, do you have a suggestion?
>
>> Additionally, if its on -1 (default/auto), it should probably
>> automatically use a mode that works with the requested profile.
>
> Is that possible? fdk refuses explicit signaling here for (e)ld.
>

You cannot put ELD into ADTS, so that combination is entirely
impossible, and maybe a better thing to check and error out on first.
And when you use "raw" mode with a global header, explicit signaling
should also work.

- Hendrik

Patch hide | download patch | download mbox

From 256d46d2479b19103fab3f79f34f6ae597ae402c Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Date: Wed, 27 Sep 2017 20:15:13 +0200
Subject: [PATCH] lavc/fdk-aacenc: Print an error if (e)ld is requested without
 signaling.

Related to ticket #6683.
---
 libavcodec/libfdk-aacenc.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c
index 0e2051b..1477ad41 100644
--- a/libavcodec/libfdk-aacenc.c
+++ b/libavcodec/libfdk-aacenc.c
@@ -244,6 +244,8 @@  static av_cold int aac_encode_init(AVCodecContext *avctx)
      * implicit signaling if using ADTS. */
     if (s->signaling < 0)
         s->signaling = avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER ? 2 : 0;
+    if (!s->signaling && (avctx->profile == FF_PROFILE_AAC_LD || avctx->profile == FF_PROFILE_AAC_ELD))
+        av_log(avctx, AV_LOG_ERROR, "Signaling required for LD and ELD, initialization will fail.\n");
 
     if ((err = aacEncoder_SetParam(s->handle, AACENC_SIGNALING_MODE,
                                    s->signaling)) != AACENC_OK) {
-- 
1.7.10.4