static void hls_mvd_coding(HEVCContext *s, int x0, int y0, int log2_cb_size)
{
    HEVCLocalContext *lc = &s->HEVClc;
    int x = ff_hevc_abs_mvd_greater0_flag_decode(s);
    int y = ff_hevc_abs_mvd_greater0_flag_decode(s);

    if (x)
        x += ff_hevc_abs_mvd_greater1_flag_decode(s);
    if (y)
        y += ff_hevc_abs_mvd_greater1_flag_decode(s);

    switch (x) {
    case 2: lc->pu.mvd.x = ff_hevc_mvd_decode(s);           break;
    case 1: lc->pu.mvd.x = ff_hevc_mvd_sign_flag_decode(s); break;
    case 0: lc->pu.mvd.x = 0;                               break;
    }

    switch (y) {
    case 2: lc->pu.mvd.y = ff_hevc_mvd_decode(s);           break;
    case 1: lc->pu.mvd.y = ff_hevc_mvd_sign_flag_decode(s); break;
    case 0: lc->pu.mvd.y = 0;                               break;
    }
}
static void hls_mvd_coding(HEVCContext *s, int x0, int y0, int log2_cb_size)
{
    HEVCLocalContext *lc = &s->HEVClc;
    int x = ff_hevc_abs_mvd_greater0_flag_decode(s);
    int y = ff_hevc_abs_mvd_greater0_flag_decode(s);

    if (x)
        x += ff_hevc_abs_mvd_greater1_flag_decode(s);
    if (y)
        y += ff_hevc_abs_mvd_greater1_flag_decode(s);

    switch (x) {
    case 2: lc->pu.mvd.x = ff_hevc_mvd_decode(s);           break;
    case 1: lc->pu.mvd.x = ff_hevc_mvd_sign_flag_decode(s); break;
    case 0: lc->pu.mvd.x = 0;                               break;
    }

    switch (y) {
    case 2: lc->pu.mvd.y = ff_hevc_mvd_decode(s);           break;
    case 1: lc->pu.mvd.y = ff_hevc_mvd_sign_flag_decode(s); break;
    case 0: lc->pu.mvd.y = 0;                               break;
    }
}