On Tue, Apr 21, 2015 at 5:41 PM, Luca Barbato <[email protected]> wrote:
> The `hq_ac_vlc.table` in incomplete.
> ---
s/in/is/
Could you maybe expand it a little bit?
> If the table is complete get_vlc2 always return a value from it, otherwise
> you get a -1.
>
> libavcodec/hq_hqa.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/hq_hqa.c b/libavcodec/hq_hqa.c
> index 4b18eae..ae378e6 100644
> --- a/libavcodec/hq_hqa.c
> +++ b/libavcodec/hq_hqa.c
> @@ -75,7 +75,10 @@ static int hq_decode_block(HQContext *c, GetBitContext
> *gb, int16_t block[64],
> }
>
> for (;;) {
> - val = get_vlc2(gb, c->hq_ac_vlc.table, 9, 2);
> + val = get_vlc2(gb, c->hq_ac_vlc.table, 9, 2);
> + if (val < 0)
> + return AVERROR_INVALIDDATA;
> +
> pos += ff_hq_ac_skips[val];
> if (pos >= 64)
> break;
> --
> 1.9.0
Change should be good.
--
Vittorio
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel