diff options
author | Juergen Keil <jkeil@users.sourceforge.net> | 2001-10-01 09:15:07 +0000 |
---|---|---|
committer | Juergen Keil <jkeil@users.sourceforge.net> | 2001-10-01 09:15:07 +0000 |
commit | b0e8fdd803216a06f014e93912e72cb6eff53426 (patch) | |
tree | cca4b9fbc0f1079b78514e985863441e4c04f74c | |
parent | 1ad13804022b42f569c735296fbda1eb3277a393 (diff) | |
download | xine-lib-b0e8fdd803216a06f014e93912e72cb6eff53426.tar.gz xine-lib-b0e8fdd803216a06f014e93912e72cb6eff53426.tar.bz2 |
Use the video_out copy function, if available.
dvdnav menus are working now, when using the XShm video_out driver.
CVS patchset: 711
CVS date: 2001/10/01 09:15:07
-rw-r--r-- | src/libvfill/xine_decoder.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libvfill/xine_decoder.c b/src/libvfill/xine_decoder.c index b934b8a92..dbe834467 100644 --- a/src/libvfill/xine_decoder.c +++ b/src/libvfill/xine_decoder.c @@ -85,6 +85,21 @@ static void videofill_decode_data (video_decoder_t *this_gen, buf_element_t *buf img->PTS = 0; img->bad_frame = 0; + if (img->copy) { + int height = last_img->height; + int stride = last_img->width; + uint8_t* src[3]; + + src[0] = img->base[0]; + src[1] = img->base[1]; + src[2] = img->base[2]; + while ((height -= 16) >= 0) { + img->copy(img, src); + src[0] += 16 * stride; + src[1] += 4 * stride; + src[2] += 4 * stride; + } + } img->draw(img); img->free(img); } |