Hi,

mostly LGTM, 1 thing:

On Mon, Jan 9, 2012 at 1:46 PM, Laurentiu Ion
<[email protected]> wrote:
> -static int kmvc_decode_inter_8x8(KmvcContext * ctx, const uint8_t * src, int 
> src_size, int w, int h)
> +static int kmvc_decode_inter_8x8(KmvcContext * ctx, GetByteContext *g, int 
> w, int h)
[..]
>     for (by = 0; by < h; by += 8)
>         for (bx = 0; bx < w; bx += 8) {
> -            kmvc_getbit(bb, src, src_end, res);
> +            kmvc_getbit(bb, g, res);
>             if (!res) {
> -                kmvc_getbit(bb, src, src_end, res);
> +                kmvc_getbit(bb, g, res);
>                 if (!res) {     // fill whole 8x8 block
> -                    if (src >= src_end) {
> +                    if (!bytestream2_get_bytes_left(g)) {
>                         av_log(ctx->avctx, AV_LOG_ERROR, "Data overrun\n");
>                         return AVERROR_INVALIDDATA;
>                     }
[..]

>             } else {            // handle four 4x4 subblocks
>                 for (i = 0; i < 4; i++) {
> +                    if (!bytestream2_get_bytes_left(g)) {
> +                        av_log(ctx->avctx, AV_LOG_ERROR, "Data overrun\n");
> +                        return AVERROR_INVALIDDATA;
> +                    }

Can you factor this check out of the if/else block so that it's not duplicated?

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

Reply via email to