avcodec/flacdec: use get_unary() simplify code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/45/head
Michael Niedermayer 11 years ago
parent 719dbe86ea
commit 4b12930f79
  1. 9
      libavcodec/flacdec.c

@ -45,6 +45,8 @@
#include "flacdata.h" #include "flacdata.h"
#include "flacdsp.h" #include "flacdsp.h"
#include "thread.h" #include "thread.h"
#include "unary.h"
typedef struct FLACContext { typedef struct FLACContext {
FLACSTREAMINFO FLACSTREAMINFO
@ -357,7 +359,6 @@ static inline int decode_subframe(FLACContext *s, int channel)
if (get_bits1(&s->gb)) { if (get_bits1(&s->gb)) {
int left = get_bits_left(&s->gb); int left = get_bits_left(&s->gb);
wasted = 1;
if ( left < 0 || if ( left < 0 ||
(left < bps && !show_bits_long(&s->gb, left)) || (left < bps && !show_bits_long(&s->gb, left)) ||
!show_bits_long(&s->gb, bps)) { !show_bits_long(&s->gb, bps)) {
@ -366,11 +367,7 @@ static inline int decode_subframe(FLACContext *s, int channel)
bps, left); bps, left);
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
} }
while (!get_bits1(&s->gb)) { wasted = 1 + get_unary(&s->gb, 1, get_bits_left(&s->gb));
wasted++;
if (get_bits_left(&s->gb) <= 0)
return AVERROR_INVALIDDATA;
}
bps -= wasted; bps -= wasted;
} }
if (bps > 32) { if (bps > 32) {

Loading…
Cancel
Save