[SCM] libav/experimental: mpeg1 overflowing dc coeff fix

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:38:52 UTC 2013


The following commit has been merged in the experimental branch:
commit 85e3374798c6d694983cbdd3a0d7a005f68b3c80
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Tue Jan 6 21:16:59 2004 +0000

    mpeg1 overflowing dc coeff fix
    
    Originally committed as revision 2674 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/output_example.c b/output_example.c
index 8f3dcd6..2fba8fc 100644
--- a/output_example.c
+++ b/output_example.c
@@ -197,11 +197,16 @@ AVStream *add_video_stream(AVFormatContext *oc, int codec_id)
     c->frame_rate = STREAM_FRAME_RATE;  
     c->frame_rate_base = 1;
     c->gop_size = 12; /* emit one intra frame every twelve frames at most */
-    if (c->codec_id == CODEC_ID_MPEG1VIDEO ||
-        c->codec_id == CODEC_ID_MPEG2VIDEO) {
+    if (c->codec_id == CODEC_ID_MPEG2VIDEO) {
         /* just for testing, we also add B frames */
         c->max_b_frames = 2;
     }
+    if (c->codec_id == CODEC_ID_MPEG1VIDEO){
+        /* needed to avoid using macroblocks in which some coeffs overflow 
+           this doesnt happen with normal video, it just happens here as the 
+           motion of the chroma plane doesnt match the luma plane */
+        c->mb_decision=2;
+    }
     // some formats want stream headers to be seperate
     if(!strcmp(oc->oformat->name, "mp4") || !strcmp(oc->oformat->name, "mov") || !strcmp(oc->oformat->name, "3gp"))
         c->flags |= CODEC_FLAG_GLOBAL_HEADER;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list