[SCM] FFmpeg packaging branch, ubuntu.karmic.extra, updated. debian/0.5+svn20090706-2ubuntu1-2-g1261092

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sat Oct 10 17:24:58 UTC 2009


The following commit has been merged in the ubuntu.karmic.extra branch:
commit 12610922d8b4312d418dd5976f67d0c3b0c000e5
Author: Reinhard Tartler <siretart at tauware.de>
Date:   Wed Oct 7 20:07:00 2009 +0200

    Support constant-quant encoding for libtheora (LP: #356322)
    
    patch taken from upstream:
    
    r20109 | conrad | 2009-10-01 00:25:49 +0200 (Do, 01. Okt 2009) | 2 lines
    
    Support constant-quant encoding for libtheora
    Based on a patch by j f (gonzaz-z # operamail (d) com)

diff --git a/debian/patches/fix-theora-constant-quant-enc.patch b/debian/patches/fix-theora-constant-quant-enc.patch
new file mode 100644
index 0000000..3817749
--- /dev/null
+++ b/debian/patches/fix-theora-constant-quant-enc.patch
@@ -0,0 +1,45 @@
+------------------------------------------------------------------------
+r20109 | conrad | 2009-10-01 00:25:49 +0200 (Do, 01. Okt 2009) | 2 lines
+
+Support constant-quant encoding for libtheora
+Based on a patch by j f (gonzaz-z # operamail (d) com)
+
+
+------------------------------------------------------------------------
+Index: libavcodec/libtheoraenc.c
+===================================================================
+
+--- a/libavcodec/libtheoraenc.c	(Revision 20108)
++++ b/libavcodec/libtheoraenc.c	(Revision 20109)
+@@ -106,11 +106,9 @@
+     }
+     t_info.colorspace = OC_CS_UNSPECIFIED;
+     t_info.pixelformat = OC_PF_420;
+-    t_info.target_bitrate = avc_context->bit_rate;
+     t_info.keyframe_frequency = avc_context->gop_size;
+     t_info.keyframe_frequency_force = avc_context->gop_size;
+     t_info.keyframe_mindistance = avc_context->keyint_min;
+-    t_info.quality = 0;
+ 
+     t_info.quick_p = 1;
+     t_info.dropframes_p = 0;
+@@ -120,6 +118,19 @@
+     t_info.noise_sensitivity = 1;
+     t_info.sharpness = 0;
+ 
++    if (avc_context->flags & CODEC_FLAG_QSCALE) {
++        /* to be constant with the libvorbis implementation, clip global_quality to 0 - 10
++           Theora accepts a quality parameter p, which is:
++                * 0 <= p <=63
++                * an int value
++         */
++        t_info.quality = av_clip(avc_context->global_quality / (float)FF_QP2LAMBDA, 0, 10) * 6.3;
++        t_info.target_bitrate = 0;
++    } else {
++        t_info.target_bitrate = avc_context->bit_rate;
++        t_info.quality = 0;
++    }
++
+     /* Now initialise libtheora */
+     if (theora_encode_init( &(h->t_state), &t_info ) != 0) {
+         av_log(avc_context, AV_LOG_ERROR, "theora_encode_init failed\n");
diff --git a/debian/patches/series b/debian/patches/series
index adb4852..b8dc07f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,6 +4,7 @@ fix-qtrle-encoding-when-previous-frame-linesize.patch
 aac-regression.patch
 fix-dv-seeking.patch
 issue1245.patch
+fix-theora-constant-quant-enc.patch
 900_doxyfile
 # fpic-ftbfs-fix.patch
 # fpic-libpostproc-fix.patch

-- 
FFmpeg packaging



More information about the pkg-multimedia-commits mailing list