[FFmpeg-cvslog] r9941 - trunk/libavcodec/xsubdec.c
reimar
subversion
Sun Aug 5 14:11:26 CEST 2007
Author: reimar
Date: Sun Aug 5 14:11:26 2007
New Revision: 9941
Log:
Deinterlace xsub subtitles
Modified:
trunk/libavcodec/xsubdec.c
Modified: trunk/libavcodec/xsubdec.c
==============================================================================
--- trunk/libavcodec/xsubdec.c (original)
+++ trunk/libavcodec/xsubdec.c Sun Aug 5 14:11:26 2007
@@ -83,6 +83,8 @@ static int decode_frame(AVCodecContext *
init_get_bits(&gb, buf, rlelen * 8);
bitmap = sub->rects[0].bitmap;
for (y = 0; y < h; y++) {
+ // interlaced: do odd lines
+ if (y == h / 2) bitmap = sub->rects[0].bitmap + w;
for (x = 0; x < w; ) {
int log2 = ff_log2_tab[show_bits(&gb, 8)];
int run = get_bits(&gb, 14 - 4 * (log2 >> 1));
@@ -94,6 +96,8 @@ static int decode_frame(AVCodecContext *
bitmap += run;
x += run;
}
+ // interlaced, skip every second line
+ bitmap += w;
align_get_bits(&gb);
}
*data_size = 1;
More information about the ffmpeg-cvslog
mailing list