[MPlayer-cvslog] r31359 - in trunk: configure libmpcodecs/vd_libmpeg2.c libmpeg2/header.c libmpeg2/libmpeg2_changes.diff libmpeg2/slice.c

diego subversion at mplayerhq.hu
Thu Jun 10 11:52:30 CEST 2010


Author: diego
Date: Thu Jun 10 11:52:30 2010
New Revision: 31359

Log:
libmpeg2: Remove local quantizer scale changes related to postprocessing.

Local changes to our locally forked library copy were incompatible with the
upstream version and prevented (easily) using the upstream version instead
of the forked copy. The md5sums of the decoded frames do not change for one
tested sample, so apparently the code is ineffectual and thus, after some
discussion Luca, I decided that the changes are not worth keeping.

Modified:
   trunk/configure
   trunk/libmpcodecs/vd_libmpeg2.c
   trunk/libmpeg2/header.c
   trunk/libmpeg2/libmpeg2_changes.diff
   trunk/libmpeg2/slice.c

Modified: trunk/configure
==============================================================================
--- trunk/configure	Wed Jun  9 23:13:03 2010	(r31358)
+++ trunk/configure	Thu Jun 10 11:52:30 2010	(r31359)
@@ -8890,8 +8890,7 @@ cat > $TMPH << EOF
 #undef FAST_OSD
 #undef FAST_OSD_TABLE
 
-/* Define this to enable MPEG-1/2 image postprocessing in libmpeg2 */
-#define MPEG12_POSTPROC 1
+/* needed for libmpeg2 */
 #define ATTRIBUTE_ALIGNED_MAX 16
 
 

Modified: trunk/libmpcodecs/vd_libmpeg2.c
==============================================================================
--- trunk/libmpcodecs/vd_libmpeg2.c	Wed Jun  9 23:13:03 2010	(r31358)
+++ trunk/libmpcodecs/vd_libmpeg2.c	Thu Jun 10 11:52:30 2010	(r31359)
@@ -25,8 +25,6 @@
 
 #include "vd_internal.h"
 
-//#undef MPEG12_POSTPROC
-
 static const vd_info_t info =
 {
 	"libmpeg2 MPEG 1/2 Video decoder",
@@ -256,20 +254,6 @@ static mp_image_t* decode(sh_video_t *sh
             if (!(info->current_picture->flags&PIC_FLAG_PROGRESSIVE_FRAME))
                 mpi_new->fields |= MP_IMGFIELD_INTERLACED;
 
-#ifdef MPEG12_POSTPROC
-	    mpi_new->qstride=info->sequence->width>>4;
-	    {
-	    char **p = &context->quant_store[type==PIC_FLAG_CODING_TYPE_B ?
-					2 : (context->quant_store_idx ^= 1)];
-	    *p = realloc(*p, mpi_new->qstride*(info->sequence->height>>4));
-	    mpi_new->qscale = *p;
-	    }
-	    mpeg2dec->decoder.quant_store=mpi_new->qscale;
-	    mpeg2dec->decoder.quant_stride=mpi_new->qstride;
-	    mpi_new->pict_type=type; // 1->I, 2->P, 3->B
-	    mpi_new->qscale_type= 1;
-#endif
-
 	    if (mpi_new->flags&MP_IMGFLAG_DRAW_CALLBACK
 	        && !(mpi_new->flags&MP_IMGFLAG_DIRECT)) {
 		// nice, filter/vo likes draw_callback :)

Modified: trunk/libmpeg2/header.c
==============================================================================
--- trunk/libmpeg2/header.c	Wed Jun  9 23:13:03 2010	(r31358)
+++ trunk/libmpeg2/header.c	Thu Jun 10 11:52:30 2010	(r31359)
@@ -20,10 +20,6 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * Modified for use with MPlayer, see libmpeg2_changes.diff for the exact changes.
- * detailed changelog at http://svn.mplayerhq.hu/mplayer/trunk/
- * $Id$
  */
 
 #include "config.h"
@@ -876,7 +872,6 @@ static void prescale (mpeg2dec_t * mpeg2
 	mpeg2dec->scaled[idx] = decoder->q_scale_type;
 	for (i = 0; i < 32; i++) {
 	    k = decoder->q_scale_type ? non_linear_scale[i] : (i << 1);
-	    decoder->quantizer_scales[i] = k;
 	    for (j = 0; j < 64; j++)
 		decoder->quantizer_prescale[idx][i][j] =
 		    k * mpeg2dec->quantizer_matrix[idx][j];

Modified: trunk/libmpeg2/libmpeg2_changes.diff
==============================================================================
--- trunk/libmpeg2/libmpeg2_changes.diff	Wed Jun  9 23:13:03 2010	(r31358)
+++ trunk/libmpeg2/libmpeg2_changes.diff	Thu Jun 10 11:52:30 2010	(r31359)
@@ -126,16 +126,6 @@ Index: libmpeg2/cpu_state.c
      if (accel & MPEG2_ACCEL_PPC_ALTIVEC) {
  	mpeg2_cpu_state_save = state_save_altivec;
  	mpeg2_cpu_state_restore = state_restore_altivec;
---- libmpeg2/header.c	2006-06-16 20:12:26.000000000 +0200
-+++ libmpeg2/header.c	2006-06-16 20:12:50.000000000 +0200
-@@ -872,6 +879,7 @@
- 	mpeg2dec->scaled[idx] = decoder->q_scale_type;
- 	for (i = 0; i < 32; i++) {
- 	    k = decoder->q_scale_type ? non_linear_scale[i] : (i << 1);
-+	    decoder->quantizer_scales[i] = k;
- 	    for (j = 0; j < 64; j++)
- 		decoder->quantizer_prescale[idx][i][j] =
- 		    k * mpeg2dec->quantizer_matrix[idx][j];
 --- libmpeg2/idct.c	(revision 26652)
 +++ libmpeg2/idct.c	(working copy)
 @@ -235,34 +239,40 @@
@@ -343,18 +333,6 @@ Index: libmpeg2/motion_comp_vis.c
 
 --- libmpeg2/mpeg2_internal.h	2006-06-16 20:12:26.000000000 +0200
 +++ libmpeg2/mpeg2_internal.h	2006-06-16 20:12:50.000000000 +0200
-@@ -152,6 +156,11 @@
-
-     /* XXX: stuff due to xine shit */
-     int8_t q_scale_type;
-+
-+    int quantizer_scales[32];
-+    int quantizer_scale;
-+    char* quant_store;
-+    int quant_stride;
- };
-
- typedef struct {
 @@ -226,7 +238,7 @@
  };
 
@@ -364,38 +342,3 @@ Index: libmpeg2/motion_comp_vis.c
      uint8_t regv[12*16];
  #endif
      int dummy;
---- libmpeg2/slice.c	2006-06-16 20:12:26.000000000 +0200
-+++ libmpeg2/slice.c	2006-06-16 20:12:50.000000000 +0200
-@@ -142,6 +146,7 @@
-
-     quantizer_scale_code = UBITS (bit_buf, 5);
-     DUMPBITS (bit_buf, bits, 5);
-+    decoder->quantizer_scale = decoder->quantizer_scales[quantizer_scale_code];
-
-     decoder->quantizer_matrix[0] =
- 	decoder->quantizer_prescale[0][quantizer_scale_code];
-@@ -1564,6 +1569,24 @@
-
- #define NEXT_MACROBLOCK							\
- do {									\
-+    if(decoder->quant_store) {						\
-+	if (decoder->picture_structure == TOP_FIELD)			\
-+	    decoder->quant_store[2 * decoder->quant_stride		\
-+				 * (decoder->v_offset >> 4)		\
-+				 + (decoder->offset >> 4)]		\
-+		= decoder->quantizer_scale;				\
-+	else if (decoder->picture_structure == BOTTOM_FIELD)		\
-+	    decoder->quant_store[2 * decoder->quant_stride		\
-+				 * (decoder->v_offset >> 4)		\
-+				 + decoder->quant_stride		\
-+				 + (decoder->offset >> 4)]		\
-+		= decoder->quantizer_scale;				\
-+	else								\
-+	    decoder->quant_store[decoder->quant_stride			\
-+				 * (decoder->v_offset >> 4)		\
-+				 + (decoder->offset >> 4)]		\
-+		= decoder->quantizer_scale;				\
-+    }									\
-     decoder->offset += 16;						\
-     if (decoder->offset == decoder->width) {				\
- 	do { /* just so we can use the break statement */		\

Modified: trunk/libmpeg2/slice.c
==============================================================================
--- trunk/libmpeg2/slice.c	Wed Jun  9 23:13:03 2010	(r31358)
+++ trunk/libmpeg2/slice.c	Thu Jun 10 11:52:30 2010	(r31359)
@@ -20,10 +20,6 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * Modified for use with MPlayer, see libmpeg2_changes.diff for the exact changes.
- * detailed changelog at http://svn.mplayerhq.hu/mplayer/trunk/
- * $Id$
  */
 
 #include "config.h"
@@ -146,7 +142,6 @@ static inline void get_quantizer_scale (
 
     quantizer_scale_code = UBITS (bit_buf, 5);
     DUMPBITS (bit_buf, bits, 5);
-    decoder->quantizer_scale = decoder->quantizer_scales[quantizer_scale_code];
 
     decoder->quantizer_matrix[0] =
 	decoder->quantizer_prescale[0][quantizer_scale_code];
@@ -1569,24 +1564,6 @@ do {								\
 
 #define NEXT_MACROBLOCK							\
 do {									\
-    if(decoder->quant_store) {						\
-	if (decoder->picture_structure == TOP_FIELD)			\
-	    decoder->quant_store[2 * decoder->quant_stride		\
-				 * (decoder->v_offset >> 4)		\
-				 + (decoder->offset >> 4)]		\
-		= decoder->quantizer_scale;				\
-	else if (decoder->picture_structure == BOTTOM_FIELD)		\
-	    decoder->quant_store[2 * decoder->quant_stride		\
-				 * (decoder->v_offset >> 4)		\
-				 + decoder->quant_stride		\
-				 + (decoder->offset >> 4)]		\
-		= decoder->quantizer_scale;				\
-	else								\
-	    decoder->quant_store[decoder->quant_stride			\
-				 * (decoder->v_offset >> 4)		\
-				 + (decoder->offset >> 4)]		\
-		= decoder->quantizer_scale;				\
-    }									\
     decoder->offset += 16;						\
     if (decoder->offset == decoder->width) {				\
 	do { /* just so we can use the break statement */		\


More information about the MPlayer-cvslog mailing list