summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorhenry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-08-02 11:26:43 +0000
committerhenry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-08-02 11:26:43 +0000
commit943139cc78038c3aea0837229298cb2c08e3f8a2 (patch)
tree56b2a2dac2c09fe1016e3e146ec19cb2aae0777a /libmpcodecs
parent4779094c4be9af5ec0c5145d8a460b75e4a510c8 (diff)
downloadmpv-943139cc78038c3aea0837229298cb2c08e3f8a2.tar.bz2
mpv-943139cc78038c3aea0837229298cb2c08e3f8a2.tar.xz
Importing libmpeg2 from mpeg2dec-0.4.0b
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12933 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vd_libmpeg2.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/libmpcodecs/vd_libmpeg2.c b/libmpcodecs/vd_libmpeg2.c
index fa326286f2..b73ea1aa80 100644
--- a/libmpcodecs/vd_libmpeg2.c
+++ b/libmpcodecs/vd_libmpeg2.c
@@ -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 @@ LIBVD_EXTERN(libmpeg2)
//#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 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
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 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
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;