Not all decoders support explicit signaling of SBR/PS. Therefore,
change the default to always do implicit signaling, unless
something else is requested.

E.g. flash player doesn't handle explicit hierarchical signaling
(although it does handle explicit sbr signaling).
---
Comments from those who actually know something about this
(as opposed to me) are very much welcome.
---
 libavcodec/libfdk-aacenc.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c
index ef154c1..b84183b 100644
--- a/libavcodec/libfdk-aacenc.c
+++ b/libavcodec/libfdk-aacenc.c
@@ -44,8 +44,9 @@ typedef struct AACContext {
 static const AVOption aac_enc_options[] = {
     { "afterburner", "Afterburner (improved quality)", offsetof(AACContext, 
afterburner), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1, AV_OPT_FLAG_AUDIO_PARAM | 
AV_OPT_FLAG_ENCODING_PARAM },
     { "eld_sbr", "Enable SBR for ELD (for SBR in other configurations, use the 
-profile parameter)", offsetof(AACContext, eld_sbr), AV_OPT_TYPE_INT, { .i64 = 
0 }, 0, 1, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM },
-    { "signaling", "SBR/PS signaling style", offsetof(AACContext, signaling), 
AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 2, AV_OPT_FLAG_AUDIO_PARAM | 
AV_OPT_FLAG_ENCODING_PARAM, "signaling" },
-    { "default", "Choose signaling implicitly (explicit hierarchical by 
default, implicit if global header is disabled)", 0, AV_OPT_TYPE_CONST, { .i64 
= -1 }, 0, 0, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM, "signaling" 
},
+    { "signaling", "SBR/PS signaling style", offsetof(AACContext, signaling), 
AV_OPT_TYPE_INT, { .i64 = 0 }, -1, 2, AV_OPT_FLAG_AUDIO_PARAM | 
AV_OPT_FLAG_ENCODING_PARAM, "signaling" },
+    { "default", "Implicit backwards compatible signaling", 0, 
AV_OPT_TYPE_CONST, { .i64 = 0 }, 0, 0, AV_OPT_FLAG_AUDIO_PARAM | 
AV_OPT_FLAG_ENCODING_PARAM, "signaling" },
+    { "explicit_auto", "Choose signaling implicitly (explicit hierarchical by 
default, implicit if global header is disabled)", 0, AV_OPT_TYPE_CONST, { .i64 
= -1 }, 0, 0, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM, "signaling" 
},
     { "implicit", "Implicit backwards compatible signaling", 0, 
AV_OPT_TYPE_CONST, { .i64 = 0 }, 0, 0, AV_OPT_FLAG_AUDIO_PARAM | 
AV_OPT_FLAG_ENCODING_PARAM, "signaling" },
     { "explicit_sbr", "Explicit SBR, implicit PS signaling", 0, 
AV_OPT_TYPE_CONST, { .i64 = 1 }, 0, 0, AV_OPT_FLAG_AUDIO_PARAM | 
AV_OPT_FLAG_ENCODING_PARAM, "signaling" },
     { "explicit_hierarchical", "Explicit hierarchical signaling", 0, 
AV_OPT_TYPE_CONST, { .i64 = 2 }, 0, 0, AV_OPT_FLAG_AUDIO_PARAM | 
AV_OPT_FLAG_ENCODING_PARAM, "signaling" },
-- 
1.7.9.4

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to