static int decode_nal_sei_prefix(GetBitContext *gb, HEVCSEIContext *s, const HEVCParamSets *ps,

                                 int type, int size, void *logctx)

{

    switch (type) {

    case 256:  // Mismatched value from HM 8.1

        return decode_nal_sei_decoded_picture_hash(&s->picture_hash, gb);

    case HEVC_SEI_TYPE_FRAME_PACKING:

        return decode_nal_sei_frame_packing_arrangement(&s->frame_packing, gb);

    case HEVC_SEI_TYPE_DISPLAY_ORIENTATION:

        return decode_nal_sei_display_orientation(&s->display_orientation, gb);

    case HEVC_SEI_TYPE_PICTURE_TIMING:

        {

            int ret = decode_pic_timing(s, gb, ps, logctx);

            av_log(logctx, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", type);

            skip_bits(gb, 8 * size);

            return ret;

        }

    case HEVC_SEI_TYPE_MASTERING_DISPLAY_INFO:

        return decode_nal_sei_mastering_display_info(&s->mastering_display, gb);

    case HEVC_SEI_TYPE_CONTENT_LIGHT_LEVEL_INFO:

        return decode_nal_sei_content_light_info(&s->content_light, gb);

    case HEVC_SEI_TYPE_ACTIVE_PARAMETER_SETS:

        active_parameter_sets(s, gb, logctx);

        av_log(logctx, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", type);

        return 0;

    case HEVC_SEI_TYPE_USER_DATA_REGISTERED_ITU_T_T35:

        return decode_nal_sei_user_data_registered_itu_t_t35(s, gb, size);

    default:

        av_log(logctx, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", type);

        skip_bits_long(gb, 8 * size);

        return 0;

    }

}

static int decode_nal_sei_prefix(GetBitContext *gb, HEVCSEIContext *s, const HEVCParamSets *ps,

                                 int type, int size, void *logctx)

{

    switch (type) {

    case 256:  

        return decode_nal_sei_decoded_picture_hash(&s->picture_hash, gb);

    case HEVC_SEI_TYPE_FRAME_PACKING:

        return decode_nal_sei_frame_packing_arrangement(&s->frame_packing, gb);

    case HEVC_SEI_TYPE_DISPLAY_ORIENTATION:

        return decode_nal_sei_display_orientation(&s->display_orientation, gb);

    case HEVC_SEI_TYPE_PICTURE_TIMING:

        {

            int ret = decode_pic_timing(s, gb, ps, logctx);

            av_log(logctx, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", type);

            skip_bits(gb, 8 * size);

            return ret;

        }

    case HEVC_SEI_TYPE_MASTERING_DISPLAY_INFO:

        return decode_nal_sei_mastering_display_info(&s->mastering_display, gb);

    case HEVC_SEI_TYPE_CONTENT_LIGHT_LEVEL_INFO:

        return decode_nal_sei_content_light_info(&s->content_light, gb);

    case HEVC_SEI_TYPE_ACTIVE_PARAMETER_SETS:

        active_parameter_sets(s, gb, logctx);

        av_log(logctx, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", type);

        return 0;

    case HEVC_SEI_TYPE_USER_DATA_REGISTERED_ITU_T_T35:

        return decode_nal_sei_user_data_registered_itu_t_t35(s, gb, size);

    default:

        av_log(logctx, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", type);

        skip_bits_long(gb, 8 * size);

        return 0;

    }

}

            int ret = decode_pic_timing(s, gb, ps, logctx);             av_log(logctx, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", type);             skip_bits(gb, 8 * size);             return ret;
static int FUNC_0(GetBitContext *VAR_0, HEVCSEIContext *VAR_1, const HEVCParamSets *VAR_2,

                                 int VAR_3, int VAR_4, void *VAR_5)

{

    switch (VAR_3) {

    case 256:  

        return decode_nal_sei_decoded_picture_hash(&VAR_1->picture_hash, VAR_0);

    case HEVC_SEI_TYPE_FRAME_PACKING:

        return decode_nal_sei_frame_packing_arrangement(&VAR_1->frame_packing, VAR_0);

    case HEVC_SEI_TYPE_DISPLAY_ORIENTATION:

        return decode_nal_sei_display_orientation(&VAR_1->display_orientation, VAR_0);

    case HEVC_SEI_TYPE_PICTURE_TIMING:

        {

            int VAR_6 = decode_pic_timing(VAR_1, VAR_0, VAR_2, VAR_5);

            av_log(VAR_5, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", VAR_3);

            skip_bits(VAR_0, 8 * VAR_4);

            return VAR_6;

        }

    case HEVC_SEI_TYPE_MASTERING_DISPLAY_INFO:

        return decode_nal_sei_mastering_display_info(&VAR_1->mastering_display, VAR_0);

    case HEVC_SEI_TYPE_CONTENT_LIGHT_LEVEL_INFO:

        return decode_nal_sei_content_light_info(&VAR_1->content_light, VAR_0);

    case HEVC_SEI_TYPE_ACTIVE_PARAMETER_SETS:

        active_parameter_sets(VAR_1, VAR_0, VAR_5);

        av_log(VAR_5, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", VAR_3);

        return 0;

    case HEVC_SEI_TYPE_USER_DATA_REGISTERED_ITU_T_T35:

        return decode_nal_sei_user_data_registered_itu_t_t35(VAR_1, VAR_0, VAR_4);

    default:

        av_log(VAR_5, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", VAR_3);

        skip_bits_long(VAR_0, 8 * VAR_4);

        return 0;

    }

}

static int FUNC_0(GetBitContext *VAR_0, HEVCSEIContext *VAR_1, const HEVCParamSets *VAR_2,
int VAR_3, int VAR_4, void *VAR_5)
{ switch (VAR_3) { case 256:
return decode_nal_sei_decoded_picture_hash(&VAR_1->picture_hash, VAR_0); case HEVC_SEI_TYPE_FRAME_PACKING:
return decode_nal_sei_frame_packing_arrangement(&VAR_1->frame_packing, VAR_0); case HEVC_SEI_TYPE_DISPLAY_ORIENTATION:
return decode_nal_sei_display_orientation(&VAR_1->display_orientation, VAR_0); case HEVC_SEI_TYPE_PICTURE_TIMING:
{ int VAR_6 = decode_pic_timing(VAR_1, VAR_0, VAR_2, VAR_5); av_log(VAR_5, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", VAR_3); skip_bits(VAR_0, 8 * VAR_4); return VAR_6; } case HEVC_SEI_TYPE_MASTERING_DISPLAY_INFO:
return decode_nal_sei_mastering_display_info(&VAR_1->mastering_display, VAR_0); case HEVC_SEI_TYPE_CONTENT_LIGHT_LEVEL_INFO:
return decode_nal_sei_content_light_info(&VAR_1->content_light, VAR_0); case HEVC_SEI_TYPE_ACTIVE_PARAMETER_SETS:
active_parameter_sets(VAR_1, VAR_0, VAR_5); av_log(VAR_5, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", VAR_3); return 0; case HEVC_SEI_TYPE_USER_DATA_REGISTERED_ITU_T_T35:
return decode_nal_sei_user_data_registered_itu_t_t35(VAR_1, VAR_0, VAR_4); default:
av_log(VAR_5, AV_LOG_DEBUG, "Skipped PREFIX SEI %d\n", VAR_3); skip_bits_long(VAR_0, 8 * VAR_4); return 0; } }