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 /src | |
| 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
Diffstat (limited to 'src')
| -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); } |
