[FFmpeg-devel] [PATCH 1/2] Support for large boxes(>32 bit) for 3gpp timed text

Philip Langdale philipl at overt.org
Sun May 17 19:09:37 CEST 2015


On Mon, 27 Apr 2015 04:53:26 +0530
Niklesh Lalwani <niklesh.lalwani at iitb.ac.in> wrote:

> From: Niklesh <niklesh.lalwani at iitb.ac.in>
> 
> Signed-off-by: Niklesh <niklesh.lalwani at iitb.ac.in>
> ---
>  libavcodec/movtextdec.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/libavcodec/movtextdec.c b/libavcodec/movtextdec.c
> index ab4efdb..a5d995d 100644
> --- a/libavcodec/movtextdec.c
> +++ b/libavcodec/movtextdec.c
> @@ -96,7 +96,9 @@ static int mov_text_decode_frame(AVCodecContext
> *avctx, char *ptr = avpkt->data;
>      char *end;
>      //char *ptr_temp;
> -    int text_length, tsmb_type, style_entries, tsmb_size;
> +    int text_length, style_entries;
> +    uint32_t tsmb_type;
> +    uint64_t tsmb_size;
>      int **style_start = {0,};
>      int **style_end = {0,};
>      int **style_flags = {0,};
> @@ -145,6 +147,11 @@ static int mov_text_decode_frame(AVCodecContext
> *avctx, tsmb_type = AV_RB32(tsmb);
>              tsmb += 4;
>  
> +            if (tsmb_size == 0xFFFFFFFF) {
> +                tsmb_size = AV_RB64(tsmb);
> +                tsmb += 8;
> +            }
> +

The spec says the magic size value is '1', and not '-1'.

>              if (tsmb_type == MKBETAG('s','t','y','l')) {
>                  style_entries = AV_RB16(tsmb);
>                  tsmb += 2;

--phil

--phil


More information about the ffmpeg-devel mailing list