On 03/29/2013 04:00 PM, Martin Storsjö wrote:
> 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" },
Unrelated to the actual functional change, I don't think you have to
include "default" when it matches the default value for the option. You
already can use "default" for any option.
-Justin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel