intrax8: Use a constant buffer instead of a ScratchpadContext

The size of the block is fixed (8x8 plus padding).
This commit is contained in:
Vittorio Giovara 2016-02-19 20:50:00 -05:00
parent eaeba6f241
commit 65f14128c4
2 changed files with 3 additions and 3 deletions

View File

@ -330,12 +330,11 @@ static int x8_get_dc_rlf(IntraX8Context *const w, const int mode,
static int x8_setup_spatial_predictor(IntraX8Context *const w, const int chroma)
{
MpegEncContext *const s = w->s;
int range;
int sum;
int quant;
w->dsp.setup_spatial_compensation(w->dest[chroma], s->sc.edge_emu_buffer,
w->dsp.setup_spatial_compensation(w->dest[chroma], w->scratchpad,
w->frame->linesize[chroma > 0],
&range, &sum, w->edges);
if (chroma) {
@ -699,7 +698,7 @@ static int x8_decode_intra_mb(IntraX8Context *const w, const int chroma)
dsp_x8_put_solidcolor(w->predicted_dc, w->dest[chroma],
w->frame->linesize[!!chroma]);
} else {
w->dsp.spatial_compensation[w->orient](s->sc.edge_emu_buffer,
w->dsp.spatial_compensation[w->orient](w->scratchpad,
w->dest[chroma],
w->frame->linesize[!!chroma]);
}

View File

@ -51,6 +51,7 @@ typedef struct IntraX8Context {
int divide_quant_dc_luma;
int divide_quant_dc_chroma;
uint8_t *dest[3];
uint8_t scratchpad[42]; // size of the block is fixed (8x8 plus padding)
// changed per block
int edges;