From: Harm v. d. H. <hr...@us...> - 2001-12-12 23:19:44
|
Update of /cvsroot/xine/xine-lib/src/dxr3 In directory usw-pr-cvs1:/tmp/cvs-serv454/src/dxr3 Modified Files: Tag: dvd dxr3_decoder.c Log Message: Well, dxr3 playback kinda works... if you don't mind millions of error messages and quiting with CTRL-C. Seriously, this is just a backport of the dxr3 stuff in main branch; no attempt has been made by me to use the new metronom behaviour. Index: dxr3_decoder.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/dxr3/dxr3_decoder.c,v retrieving revision 1.41.2.2 retrieving revision 1.41.2.3 diff -u -r1.41.2.2 -r1.41.2.3 --- dxr3_decoder.c 2001/12/12 22:53:08 1.41.2.2 +++ dxr3_decoder.c 2001/12/12 23:19:41 1.41.2.3 @@ -427,7 +427,7 @@ ssize_t written; int vpts; vo_frame_t *img; - + /* The dxr3 does not need the preview-data */ if (buf->decoder_info[0] == 0) { return; @@ -474,8 +474,7 @@ IMGFMT_YV12, this->duration, VO_BOTH_FIELDS); - /* copy PTS from buffer to img, img->draw uses it. - leaving img->SCR alone seems to work best */ + /* copy PTS from buffer to img, img->draw uses it. */ if (buf->type != BUF_VIDEO_FILL) { img->PTS=buf->PTS; } @@ -483,6 +482,8 @@ /* force zero, value in buf may be undefined */ img->PTS = 0; } + img->SCR = buf->SCR; + img->SCR_OFFSET = buf->SCR_OFFSET; img->bad_frame = 0; /* draw calls metronom->got_video_frame with img pts and scr and stores the return value back in img->PTS @@ -511,6 +512,8 @@ this->duration, VO_BOTH_FIELDS); img->PTS = buf->PTS; + img->SCR = buf->SCR; + img->SCR_OFFSET = buf->SCR_OFFSET; /* receive an updated pts value from metronom... */ vpts = this->video_decoder.metronom->got_video_frame( this->video_decoder.metronom, img); @@ -533,7 +536,6 @@ if(buf->type == BUF_VIDEO_FILL) { return; } - /* if the dxr3_alt_play option is used, change the dxr3 playmode */ if(this->enhanced_mode && !scanning_mode) |