diff options
Diffstat (limited to 'libavcodec/tmv.c')
-rw-r--r-- | libavcodec/tmv.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/libavcodec/tmv.c b/libavcodec/tmv.c index 5117cd03cd..7e0f9a1361 100644 --- a/libavcodec/tmv.c +++ b/libavcodec/tmv.c @@ -39,10 +39,10 @@ static int tmv_decode_frame(AVCodecContext *avctx, void *data, { TMVContext *tmv = avctx->priv_data; const uint8_t *src = avpkt->data; - uint8_t *dst, *dst_char; + uint8_t *dst; unsigned char_cols = avctx->width >> 3; unsigned char_rows = avctx->height >> 3; - unsigned x, y, mask, char_y, fg, bg, c; + unsigned x, y, fg, bg, c; if (tmv->pic.data[0]) avctx->release_buffer(avctx, &tmv->pic); @@ -68,17 +68,11 @@ static int tmv_decode_frame(AVCodecContext *avctx, void *data, for (y = 0; y < char_rows; y++) { for (x = 0; x < char_cols; x++) { - c = *src++ * 8; + c = *src++; bg = *src >> 4; fg = *src++ & 0xF; - - dst_char = dst + x * 8; - for (char_y = 0; char_y < 8; char_y++) { - for (mask = 0x80; mask; mask >>= 1) { - *dst_char++ = ff_cga_font[c + char_y] & mask ? fg : bg; - } - dst_char += tmv->pic.linesize[0] - 8; - } + ff_draw_pc_font(dst + x * 8, tmv->pic.linesize[0], + ff_cga_font, 8, c, fg, bg); } dst += tmv->pic.linesize[0] * 8; } |