[Mplayer-cvslog] CVS: main/libmpeg2 decode.c,1.16,1.17
Ivan Kalvachev
iive at mplayer.dev.hu
Thu Oct 18 17:43:51 CEST 2001
- Previous message: [Mplayer-cvslog] CVS: main/DOCS/French bugreports.html,NONE,1.1 cd-dvd.html,NONE,1.1 codecs.html,NONE,1.1 documentation.html,NONE,1.1 exemple.conf,NONE,1.1 faq.html,NONE,1.1 skin-fr.html,NONE,1.1 sound.html,NONE,1.1 video.html,NONE,1.1
- Next message: [Mplayer-cvslog] CVS: main/linux vbelib.c,1.1,1.2 vbelib.h,1.1,1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/mplayer/main/libmpeg2
In directory mplayer:/var/tmp.root/cvs-serv16776
Modified Files:
decode.c
Log Message:
enable postprocess for interlaced fields
Index: decode.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpeg2/decode.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- decode.c 13 Oct 2001 15:40:35 -0000 1.16
+++ decode.c 18 Oct 2001 15:43:35 -0000 1.17
@@ -168,6 +168,35 @@
++picture->slice;
}
+void draw_frame(vo_functions_t * output)
+{
+int stride[3];
+
+ stride[0]=picture->coded_picture_width;
+ stride[1]=stride[2]=stride[0]/2;
+#ifdef MPEG12_POSTPROC
+ if( picture->pp_options )
+ {// apply postprocess filter
+ postprocess((picture->picture_coding_type == B_TYPE) ?
+ picture->current_frame->base :
+ picture->forward_reference_frame->base,
+ stride[0], frames[3].base, stride[0],
+ picture->coded_picture_width, picture->coded_picture_height,
+ &quant_store[1][1], (MBC+1), picture->pp_options);
+ output->draw_slice (frames[3].base, stride,
+ picture->display_picture_width,
+ picture->display_picture_height, 0, 0);
+ }else
+#endif
+ {
+ output->draw_slice ((picture->picture_coding_type == B_TYPE) ?
+ picture->current_frame->base :
+ picture->forward_reference_frame->base,
+ stride,
+ picture->display_picture_width,
+ picture->display_picture_height, 0, 0);
+ }
+}
static int in_slice_flag=0;
@@ -186,36 +215,15 @@
if(picture->picture_structure == FRAME_PICTURE)
{
#ifdef MPEG12_POSTPROC
- if( (picture->pp_options) && (!framedrop) ){
- // apply postprocess filter
- int stride[3];
- stride[0]=picture->coded_picture_width;
- stride[1]=stride[2]=stride[0]/2;
- postprocess((picture->picture_coding_type == B_TYPE) ?
- picture->current_frame->base :
- picture->forward_reference_frame->base,
- stride[0], frames[3].base, stride[0],
- picture->coded_picture_width, picture->coded_picture_height,
- &quant_store[1][1], (MBC+1), picture->pp_options);
- output->draw_slice (frames[3].base, stride,
- picture->display_picture_width,
- picture->display_picture_height, 0, 0);
- }
+ if( (picture->pp_options) && (!framedrop) )
+ draw_frame(output);
#endif
- }else{
- if( (picture->second_field) && (!framedrop) )
- {
- int stride[3];
- stride[0]=picture->coded_picture_width;
- stride[1]=stride[2]=stride[0]/2;
- output->draw_slice ((picture->picture_coding_type == B_TYPE) ?
- picture->current_frame->base :
- picture->forward_reference_frame->base,
- stride,
- picture->display_picture_width,
- picture->display_picture_height, 0, 0);
- }else
- is_frame_done=0;// we don't draw top fields
+ }else
+ {
+ if( (picture->second_field) && (!framedrop) )
+ draw_frame(output);
+ else
+ is_frame_done=0;// we don't draw first fields
}
#ifdef ARCH_X86
if (config.flags & MM_ACCEL_X86_MMX) emms();
- Previous message: [Mplayer-cvslog] CVS: main/DOCS/French bugreports.html,NONE,1.1 cd-dvd.html,NONE,1.1 codecs.html,NONE,1.1 documentation.html,NONE,1.1 exemple.conf,NONE,1.1 faq.html,NONE,1.1 skin-fr.html,NONE,1.1 sound.html,NONE,1.1 video.html,NONE,1.1
- Next message: [Mplayer-cvslog] CVS: main/linux vbelib.c,1.1,1.2 vbelib.h,1.1,1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the MPlayer-cvslog
mailing list