[FFmpeg-devel] [PATCH] avcodec/libx265: Don't copy A53 closed captions by default

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Thu Jun 13 07:40:29 EEST 2024


Andreas Rheinhardt:
> The SEI handling of libx265 is buggy and can easily lead
> to memory corruption: It reuses certain buffers, but when
> reusing them it presumes that it is enough for these buffers
> to exist and does not check whether they are actually large
> enough to hold what is intended to be stored in them.*
> 
> Our users are exposed to this because forwarding A53 CC data
> is enabled by default. Change this to make it disabled
> by default.
> 
> "Fixes" tickets #9666, #10411, #11052 and (presumably) #10906.
> 
> *: See https://trac.ffmpeg.org/ticket/9666#comment:1
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>  libavcodec/libx265.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
> index ac1dbc4f97..0dc7ab6eeb 100644
> --- a/libavcodec/libx265.c
> +++ b/libavcodec/libx265.c
> @@ -948,7 +948,7 @@ static const AVOption options[] = {
>      { "tune",        "set the x265 tune parameter",                                                 OFFSET(tune),      AV_OPT_TYPE_STRING, { 0 }, 0, 0, VE },
>      { "profile",     "set the x265 profile",                                                        OFFSET(profile),   AV_OPT_TYPE_STRING, { 0 }, 0, 0, VE },
>      { "udu_sei",     "Use user data unregistered SEI if available",                                 OFFSET(udu_sei),   AV_OPT_TYPE_BOOL,   { .i64 = 0 }, 0, 1, VE },
> -    { "a53cc",       "Use A53 Closed Captions (if available)",                                      OFFSET(a53_cc),    AV_OPT_TYPE_BOOL,   { .i64 = 1 }, 0, 1, VE },
> +    { "a53cc",       "Use A53 Closed Captions (if available)",                                      OFFSET(a53_cc),    AV_OPT_TYPE_BOOL,   { .i64 = 0 }, 0, 1, VE },
>      { "x265-params", "set the x265 configuration using a :-separated list of key=value parameters", OFFSET(x265_opts), AV_OPT_TYPE_DICT,   { 0 }, 0, 0, VE },
>  #if X265_BUILD >= 167
>      { "dolbyvision", "Enable Dolby Vision RPU coding", OFFSET(dovi.enable), AV_OPT_TYPE_BOOL, {.i64 = FF_DOVI_AUTOMATIC }, -1, 1, VE, .unit = "dovi" },

Will apply this patch tomorrow unless there are objections.

- Andreas



More information about the ffmpeg-devel mailing list