Merge commit 'f5ba67ee1342b7741200ff637fc3ea3387b68a1b'

* commit 'f5ba67ee1342b7741200ff637fc3ea3387b68a1b':
  flacenc: Move a scratch buffer to struct used by the function

Conflicts:
	libavcodec/flacenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
pull/135/head
Michael Niedermayer 10 years ago
commit 77010a41fe
  1. 8
      libavcodec/flacenc.c

@ -68,6 +68,7 @@ typedef struct RiceContext {
enum CodingMode coding_mode; enum CodingMode coding_mode;
int porder; int porder;
int params[MAX_PARTITIONS]; int params[MAX_PARTITIONS];
uint32_t udata[FLAC_MAX_BLOCKSIZE];
} RiceContext; } RiceContext;
typedef struct FlacSubframe { typedef struct FlacSubframe {
@ -647,7 +648,6 @@ static uint64_t calc_rice_params(RiceContext *rc, int pmin, int pmax,
uint64_t bits[MAX_PARTITION_ORDER+1]; uint64_t bits[MAX_PARTITION_ORDER+1];
int opt_porder; int opt_porder;
RiceContext tmp_rc; RiceContext tmp_rc;
uint32_t *udata;
uint64_t sums[MAX_PARTITIONS]; uint64_t sums[MAX_PARTITIONS];
av_assert1(pmin >= 0 && pmin <= MAX_PARTITION_ORDER); av_assert1(pmin >= 0 && pmin <= MAX_PARTITION_ORDER);
@ -656,11 +656,10 @@ static uint64_t calc_rice_params(RiceContext *rc, int pmin, int pmax,
tmp_rc.coding_mode = rc->coding_mode; tmp_rc.coding_mode = rc->coding_mode;
udata = av_malloc_array(n, sizeof(uint32_t));
for (i = 0; i < n; i++) for (i = 0; i < n; i++)
udata[i] = (2*data[i]) ^ (data[i]>>31); rc->udata[i] = (2 * data[i]) ^ (data[i] >> 31);
calc_sum_top(pmax, udata, n, pred_order, sums); calc_sum_top(pmax, rc->udata, n, pred_order, sums);
opt_porder = pmin; opt_porder = pmin;
bits[pmin] = UINT32_MAX; bits[pmin] = UINT32_MAX;
@ -675,7 +674,6 @@ static uint64_t calc_rice_params(RiceContext *rc, int pmin, int pmax,
calc_sum_next(--i, sums); calc_sum_next(--i, sums);
} }
av_freep(&udata);
return bits[opt_porder]; return bits[opt_porder];
} }

Loading…
Cancel
Save