Revision 3c247b4f

View differences:

libavcodec/xsubdec.c
83 83
    init_get_bits(&gb, buf, rlelen * 8);
84 84
    bitmap = sub->rects[0].bitmap;
85 85
    for (y = 0; y < h; y++) {
86
        // interlaced: do odd lines
87
        if (y == h / 2) bitmap = sub->rects[0].bitmap + w;
86 88
        for (x = 0; x < w; ) {
87 89
            int log2 = ff_log2_tab[show_bits(&gb, 8)];
88 90
            int run = get_bits(&gb, 14 - 4 * (log2 >> 1));
......
94 96
            bitmap += run;
95 97
            x += run;
96 98
        }
99
        // interlaced, skip every second line
100
        bitmap += w;
97 101
        align_get_bits(&gb);
98 102
    }
99 103
    *data_size = 1;

Also available in: Unified diff