CVSROOT: /sources/gnash Module name: gnash Changes by: Tomas Groth <tgc> 07/10/04 11:25:31
Modified files: . : ChangeLog libbase : BitsReader.h libmedia : AudioDecoderSimple.cpp Log message: * libbase/BitsReader.h: Added doc. * libmedia/AudioDecoderSimple.cpp: Another impovement of ADPCM decoding. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4521&r2=1.4522 http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/BitsReader.h?cvsroot=gnash&r1=1.2&r2=1.3 http://cvs.savannah.gnu.org/viewcvs/gnash/libmedia/AudioDecoderSimple.cpp?cvsroot=gnash&r1=1.3&r2=1.4 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.4521 retrieving revision 1.4522 diff -u -b -r1.4521 -r1.4522 --- ChangeLog 4 Oct 2007 10:00:07 -0000 1.4521 +++ ChangeLog 4 Oct 2007 11:25:30 -0000 1.4522 @@ -1,3 +1,8 @@ +2007-10-04 Tomas Groth Christensen <[EMAIL PROTECTED]> + + * libbase/BitsReader.h: Added doc. + * libmedia/AudioDecoderSimple.cpp: Another impovement of ADPCM decoding. + 2007-10-04 Chad Musick <[EMAIL PROTECTED]> * server/vm/AbcHandlers.cpp: More work on the main interpreter for AS3. Index: libbase/BitsReader.h =================================================================== RCS file: /sources/gnash/gnash/libbase/BitsReader.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -b -r1.2 -r1.3 --- libbase/BitsReader.h 4 Oct 2007 09:37:49 -0000 1.2 +++ libbase/BitsReader.h 4 Oct 2007 11:25:31 -0000 1.3 @@ -17,7 +17,7 @@ // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // -// $Id: BitsReader.h,v 1.2 2007/10/04 09:37:49 tgc Exp $ +// $Id: BitsReader.h,v 1.3 2007/10/04 11:25:31 tgc Exp $ #ifndef BITSREADER_H #define BITSREADER_H @@ -139,9 +139,9 @@ if ( usedBits ) advanceToNextByte(); } + /// Checks if the stream contains X bits bool got_bits(uint32_t nbits) { - uint32_t gotbits = 8-usedBits +8*(end-ptr-1); if (gotbits > nbits) return true; else return false; Index: libmedia/AudioDecoderSimple.cpp =================================================================== RCS file: /sources/gnash/gnash/libmedia/AudioDecoderSimple.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -b -r1.3 -r1.4 --- libmedia/AudioDecoderSimple.cpp 4 Oct 2007 09:37:50 -0000 1.3 +++ libmedia/AudioDecoderSimple.cpp 4 Oct 2007 11:25:31 -0000 1.4 @@ -17,7 +17,7 @@ // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // -// $Id: AudioDecoderSimple.cpp,v 1.3 2007/10/04 09:37:50 tgc Exp $ +// $Id: AudioDecoderSimple.cpp,v 1.4 2007/10/04 11:25:31 tgc Exp $ #include <boost/scoped_array.hpp> @@ -95,11 +95,13 @@ uint32_t sample_count = 1; *(*out_data)++ = (int16_t) sample; - while (sample_count++ <= 4096 && in->got_bits(n_bits)) + while (sample_count < 4096 && in->got_bits(n_bits)) { int raw_code = in->read_uint(n_bits); doSample(n_bits, sample, stepsize_index, raw_code); /* sample & stepsize_index are in/out params */ *(*out_data)++ = (int16_t) sample; + + sample_count++; } return sample_count; } @@ -121,7 +123,7 @@ *(*out_data)++ = (int16_t) left_sample; *(*out_data)++ = (int16_t) right_sample; - while (in->got_bits(n_bits*2) && sample_count++ <= 4096) + while (sample_count < 4096 && in->got_bits(n_bits*2)) { int left_raw_code = in->read_uint(n_bits); doSample(n_bits, left_sample, left_stepsize_index, left_raw_code); @@ -130,6 +132,8 @@ int right_raw_code = in->read_uint(n_bits); doSample(n_bits, right_sample, right_stepsize_index, right_raw_code); *(*out_data)++ = (int16_t) right_sample; + + sample_count++; } return sample_count; } _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit