Mercurial > mplayer.hg
diff libmpcodecs/vd_libmpeg2.c @ 12932:d0a8810e155c
Importing libmpeg2 from mpeg2dec-0.4.0b
| author | henry |
|---|---|
| date | Mon, 02 Aug 2004 11:26:43 +0000 |
| parents | 7d681d8ebab8 |
| children | cda4ad0d3e70 |
line wrap: on
line diff
--- a/libmpcodecs/vd_libmpeg2.c Mon Aug 02 07:58:21 2004 +0000 +++ b/libmpcodecs/vd_libmpeg2.c Mon Aug 02 11:26:43 2004 +0000 @@ -12,7 +12,7 @@ static vd_info_t info = { - "MPEG 1/2 Video decoder libmpeg2-v0.3.1", + "MPEG 1/2 Video decoder libmpeg2-v0.4.0b", "libmpeg2", "A'rpi & Fabian Franz", "Aaron & Walken", @@ -24,6 +24,7 @@ //#include "libvo/video_out.h" // FIXME!!! #include "libmpeg2/mpeg2.h" +#include "libmpeg2/attributes.h" #include "libmpeg2/mpeg2_internal.h" //#include "libmpeg2/convert.h" @@ -111,7 +112,7 @@ while(1){ int state=mpeg2_parse (mpeg2dec); switch(state){ - case -1: + case STATE_BUFFER: // parsing of the passed buffer finished, return. // if(!mpi) printf("\nNO PICTURE!\n"); return mpi; @@ -153,28 +154,18 @@ else mpi->fields &= ~MP_IMGFIELD_REPEAT_FIRST; mpi->fields |= MP_IMGFIELD_ORDERED; -#ifdef MPEG12_POSTPROC - if(!mpi->qscale){ - mpi->qstride=(info->sequence->picture_width+15)>>4; - mpi->qscale=malloc(mpi->qstride*((info->sequence->picture_height+15)>>4)); - } - mpeg2dec->decoder.quant_store=mpi->qscale; - mpeg2dec->decoder.quant_stride=mpi->qstride; - mpi->pict_type=type; // 1->I, 2->P, 3->B - mpi->qscale_type= 1; -#endif - if(mpi->flags&MP_IMGFLAG_DRAW_CALLBACK && !(mpi->flags&MP_IMGFLAG_DIRECT)){ // nice, filter/vo likes draw_callback :) mpeg2dec->decoder.convert=draw_slice; - mpeg2dec->decoder.fbuf_id=sh; + mpeg2dec->decoder.convert_id=sh; } else mpeg2dec->decoder.convert=NULL; break; } case STATE_SLICE: case STATE_END: + case STATE_INVALID_END: // decoding done: if(mpi) printf("AJAJJJJJJJJ2!\n"); if(info->display_fbuf) mpi=info->display_fbuf->id;
