[SCM] libav/experimental: - Bug fix on RTYPE (rounding type) not being honoured by H.263+ decoder.
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 15:31:05 UTC 2013
The following commit has been merged in the experimental branch:
commit e7774f11acfe50d6f4db1e8456334746aef80864
Author: Juanjo <pulento at users.sourceforge.net>
Date: Fri Feb 22 03:35:41 2002 +0000
- Bug fix on RTYPE (rounding type) not being honoured by H.263+ decoder.
Originally committed as revision 312 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index 9e68549..fb6b2e7 100644
--- a/libavcodec/h263.c
+++ b/libavcodec/h263.c
@@ -1447,7 +1447,10 @@ int h263_decode_picture_header(MpegEncContext *s)
if (s->pict_type != I_TYPE &&
s->pict_type != P_TYPE)
return -1;
- skip_bits(&s->gb, 7);
+ skip_bits(&s->gb, 2);
+ s->no_rounding = get_bits1(&s->gb);
+ //fprintf(stderr, "\nRTYPE: %d", s->no_rounding);
+ skip_bits(&s->gb, 4);
/* Get the picture dimensions */
if (ufep) {
diff --git a/libavcodec/i386/mpegvideo_mmx.c b/libavcodec/i386/mpegvideo_mmx.c
index 0a4e3d1..017e3d4 100644
--- a/libavcodec/i386/mpegvideo_mmx.c
+++ b/libavcodec/i386/mpegvideo_mmx.c
@@ -95,17 +95,17 @@ static void dct_unquantize_h263_mmx(MpegEncContext *s,
else
block[0] = block[0] * s->c_dc_scale;
}
- for(i=1; i<8; i++) {
- level = block[i];
- if (level) {
- if (level < 0) {
- level = level * qmul - qadd;
- } else {
- level = level * qmul + qadd;
- }
- block[i] = level;
- }
- }
+ for(i=1; i<8; i++) {
+ level = block[i];
+ if (level) {
+ if (level < 0) {
+ level = level * qmul - qadd;
+ } else {
+ level = level * qmul + qadd;
+ }
+ block[i] = level;
+ }
+ }
nCoeffs=64;
} else {
i = 0;
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list