From: Guenter B. <gu...@us...> - 2001-11-10 13:48:06
|
Update of /cvsroot/xine/xine-lib/src/libmpeg2 In directory usw-pr-cvs1:/tmp/cvs-serv28373/src/libmpeg2 Modified Files: decode.c mpeg2.h xine_decoder.c Log Message: very unfinished scr discontinuity detection stuff, new software audio out buffer and thread Index: decode.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/libmpeg2/decode.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- decode.c 2001/10/28 19:56:39 1.35 +++ decode.c 2001/11/10 13:48:03 1.36 @@ -257,6 +257,7 @@ } picture->current_frame->bad_frame = 0; picture->current_frame->PTS = mpeg2dec->pts; + picture->current_frame->SCR = mpeg2dec->scr; mpeg2dec->pts = 0; } } @@ -323,7 +324,7 @@ } int mpeg2_decode_data (mpeg2dec_t * mpeg2dec, uint8_t * current, uint8_t * end, - uint32_t pts) + uint32_t pts, uint32_t scr) { int ret; uint8_t code; @@ -340,6 +341,8 @@ if (pts) mpeg2dec->pts = pts; + mpeg2dec->scr = scr; + while (current != end) { code = mpeg2dec->code; current = copy_chunk (mpeg2dec, current, end); @@ -380,6 +383,7 @@ if (picture->throwaway_frame) { printf ("libmpeg2: blasting out throwaway frame on close\n"); picture->throwaway_frame->PTS = 0; + picture->throwaway_frame->SCR = mpeg2dec->scr; picture->throwaway_frame->bad_frame = 0; picture->throwaway_frame->draw (picture->throwaway_frame); picture->throwaway_frame->free (picture->throwaway_frame); @@ -388,6 +392,7 @@ if (picture->backward_reference_frame) { printf ("libmpeg2: blasting out backward reference frame on close\n"); picture->backward_reference_frame->PTS = 0; + picture->backward_reference_frame->SCR = mpeg2dec->scr; picture->backward_reference_frame->bad_frame = 0; picture->backward_reference_frame->draw (picture->backward_reference_frame); picture->backward_reference_frame->free (picture->backward_reference_frame); Index: mpeg2.h =================================================================== RCS file: /cvsroot/xine/xine-lib/src/libmpeg2/mpeg2.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- mpeg2.h 2001/09/18 11:36:03 1.7 +++ mpeg2.h 2001/11/10 13:48:03 1.8 @@ -43,7 +43,7 @@ /* last start code ? */ uint8_t code; - uint32_t pts; + uint32_t pts, scr; } mpeg2dec_t ; @@ -60,7 +60,7 @@ int mpeg2_decode_data (mpeg2dec_t * mpeg2dec, uint8_t * data_start, uint8_t * data_end, - uint32_t pts); + uint32_t pts, uint32_t scr); void mpeg2_find_sequence_header (mpeg2dec_t * mpeg2dec, uint8_t * data_start, uint8_t * data_end); Index: xine_decoder.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/libmpeg2/xine_decoder.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- xine_decoder.c 2001/10/03 17:17:06 1.15 +++ xine_decoder.c 2001/11/10 13:48:03 1.16 @@ -72,7 +72,7 @@ /* write (this->mpeg_file, buf->content, buf->size); */ mpeg2_decode_data (&this->mpeg2, buf->content, buf->content + buf->size, - buf->PTS); + buf->PTS, buf->SCR); } |