int avpriv_exif_decode_ifd(void *logctx, GetByteContext *gbytes, int le,

                           int depth, AVDictionary **metadata)

{

    int i, ret;

    int entries;



    entries = ff_tget_short(gbytes, le);



    if (bytestream2_get_bytes_left(gbytes) < entries * 12) {

        return AVERROR_INVALIDDATA;

    }



    for (i = 0; i < entries; i++) {

        if ((ret = exif_decode_tag(logctx, gbytes, le, depth, metadata)) < 0) {

            return ret;

        }

    }



    // return next IDF offset or 0x000000000 or a value < 0 for failure

    return ff_tget_long(gbytes, le);

}

int avpriv_exif_decode_ifd(void *logctx, GetByteContext *gbytes, int le,

                           int depth, AVDictionary **metadata)

{

    int i, ret;

    int entries;



    entries = ff_tget_short(gbytes, le);



    if (bytestream2_get_bytes_left(gbytes) < entries * 12) {

        return AVERROR_INVALIDDATA;

    }



    for (i = 0; i < entries; i++) {

        if ((ret = exif_decode_tag(logctx, gbytes, le, depth, metadata)) < 0) {

            return ret;

        }

    }



    

    return ff_tget_long(gbytes, le);

}

int FUNC_0(void *VAR_0, GetByteContext *VAR_1, int VAR_2,

                           int VAR_3, AVDictionary **VAR_4)

{

    int VAR_5, VAR_6;

    int VAR_7;



    VAR_7 = ff_tget_short(VAR_1, VAR_2);



    if (bytestream2_get_bytes_left(VAR_1) < VAR_7 * 12) {

        return AVERROR_INVALIDDATA;

    }



    for (VAR_5 = 0; VAR_5 < VAR_7; VAR_5++) {

        if ((VAR_6 = exif_decode_tag(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4)) < 0) {

            return VAR_6;

        }

    }



    

    return ff_tget_long(VAR_1, VAR_2);

}

int FUNC_0(void *VAR_0, GetByteContext *VAR_1, int VAR_2,
int VAR_3, AVDictionary **VAR_4)
{ int VAR_5, VAR_6; int VAR_7; VAR_7 = ff_tget_short(VAR_1, VAR_2); if (bytestream2_get_bytes_left(VAR_1) < VAR_7 * 12) { return AVERROR_INVALIDDATA; } for (VAR_5 = 0; VAR_5 < VAR_7; VAR_5++) { if ((VAR_6 = exif_decode_tag(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4)) < 0) { return VAR_6; } } return ff_tget_long(VAR_1, VAR_2); }