On 02/17/2014 09:39 PM, Tim Walker wrote:
> This is actually defined in the A/52 specification.
> ---
>  libavcodec/ac3enc.h               | 1 +
>  libavcodec/ac3enc_opts_template.c | 3 ++-
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/libavcodec/ac3enc.h b/libavcodec/ac3enc.h
> index a66cd22..3c2b42d 100644
> --- a/libavcodec/ac3enc.h
> +++ b/libavcodec/ac3enc.h
> @@ -77,6 +77,7 @@ typedef int64_t CoefSumType;
>  #define AC3ENC_OPT_NOT_INDICATED    0
>  #define AC3ENC_OPT_MODE_ON          2
>  #define AC3ENC_OPT_MODE_OFF         1
> +#define AC3ENC_OPT_MODE_RESERVED    3 // defined in A/52 for dsurexmod 
> (indicates DPL2z)
>  
>  /* specific option values */
>  #define AC3ENC_OPT_LARGE_ROOM       1
> diff --git a/libavcodec/ac3enc_opts_template.c 
> b/libavcodec/ac3enc_opts_template.c
> index 8cb5ad1..e3f5b46 100644
> --- a/libavcodec/ac3enc_opts_template.c
> +++ b/libavcodec/ac3enc_opts_template.c
> @@ -55,10 +55,11 @@ static const AVOption ac3_options[] = {
>  {"ltrt_surmixlev", "Lt/Rt Surround Mix Level", 
> OFFSET(ltrt_surround_mix_level), AV_OPT_TYPE_FLOAT, {.dbl = -1.0 }, -1.0, 
> 2.0, AC3ENC_PARAM},
>  {"loro_cmixlev", "Lo/Ro Center Mix Level", OFFSET(loro_center_mix_level), 
> AV_OPT_TYPE_FLOAT, {.dbl = -1.0 }, -1.0, 2.0, AC3ENC_PARAM},
>  {"loro_surmixlev", "Lo/Ro Surround Mix Level", 
> OFFSET(loro_surround_mix_level), AV_OPT_TYPE_FLOAT, {.dbl = -1.0 }, -1.0, 
> 2.0, AC3ENC_PARAM},
> -{"dsurex_mode", "Dolby Surround EX Mode", OFFSET(dolby_surround_ex_mode), 
> AV_OPT_TYPE_INT, {.i64 = AC3ENC_OPT_NONE }, AC3ENC_OPT_NONE, 
> AC3ENC_OPT_MODE_ON, AC3ENC_PARAM, "dsurex_mode"},
> +{"dsurex_mode", "Dolby Surround EX Mode", OFFSET(dolby_surround_ex_mode), 
> AV_OPT_TYPE_INT, {.i64 = AC3ENC_OPT_NONE }, AC3ENC_OPT_NONE, 
> AC3ENC_OPT_MODE_RESERVED, AC3ENC_PARAM, "dsurex_mode"},
>      {"notindicated", "Not Indicated (default)",       0, AV_OPT_TYPE_CONST, 
> {.i64 = AC3ENC_OPT_NOT_INDICATED }, INT_MIN, INT_MAX, AC3ENC_PARAM, 
> "dsurex_mode"},
>      {"on",           "Dolby Surround EX Encoded",     0, AV_OPT_TYPE_CONST, 
> {.i64 = AC3ENC_OPT_MODE_ON       }, INT_MIN, INT_MAX, AC3ENC_PARAM, 
> "dsurex_mode"},
>      {"off",          "Not Dolby Surround EX Encoded", 0, AV_OPT_TYPE_CONST, 
> {.i64 = AC3ENC_OPT_MODE_OFF      }, INT_MIN, INT_MAX, AC3ENC_PARAM, 
> "dsurex_mode"},
> +    {"dpliiz",       "Dolby Pro Logic IIz-encoded",   0, AV_OPT_TYPE_CONST, 
> {.i64 = AC3ENC_OPT_MODE_RESERVED }, INT_MIN, INT_MAX, AC3ENC_PARAM, 
> "dsurex_mode"},
>  {"dheadphone_mode", "Dolby Headphone Mode", OFFSET(dolby_headphone_mode), 
> AV_OPT_TYPE_INT, {.i64 = AC3ENC_OPT_NONE }, AC3ENC_OPT_NONE, 
> AC3ENC_OPT_MODE_ON, AC3ENC_PARAM, "dheadphone_mode"},
>      {"notindicated", "Not Indicated (default)",     0, AV_OPT_TYPE_CONST, 
> {.i64 = AC3ENC_OPT_NOT_INDICATED }, INT_MIN, INT_MAX, AC3ENC_PARAM, 
> "dheadphone_mode"},
>      {"on",           "Dolby Headphone Encoded",     0, AV_OPT_TYPE_CONST, 
> {.i64 = AC3ENC_OPT_MODE_ON       }, INT_MIN, INT_MAX, AC3ENC_PARAM, 
> "dheadphone_mode"},

Um, I don't quite get this patch. If A/52 says "Reserved" that means
don't use it. How can that be taken to mean DPL2z?

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

Reply via email to