[FFmpeg-cvslog] intrax8: Use a constant buffer instead of a ScratchpadContext

Ivan Kalvachev ikalvachev at gmail.com
Sun Apr 24 14:18:15 CEST 2016


On 4/24/16, Vittorio Giovara <git at videolan.org> wrote:
> ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> |
> Fri Feb 19 20:50:00 2016 -0500| [65f14128c4bcf8fcd9d3ba1e20b7a22057c9cfb0] |
> committer: Vittorio Giovara
>
> intrax8: Use a constant buffer instead of a ScratchpadContext
>
> The size of the block is fixed (8x8 plus padding).
>
>> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=65f14128c4bcf8fcd9d3ba1e20b7a22057c9cfb0
> ---
>
>  libavcodec/intrax8.c |    5 ++---
>  libavcodec/intrax8.h |    1 +
>  2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/libavcodec/intrax8.c b/libavcodec/intrax8.c
> index a05c533..f5bf795 100644
> --- a/libavcodec/intrax8.c
> +++ b/libavcodec/intrax8.c
> @@ -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]);
>      }
> diff --git a/libavcodec/intrax8.h b/libavcodec/intrax8.h
> index f087b9f..f30801e 100644
> --- a/libavcodec/intrax8.h
> +++ b/libavcodec/intrax8.h
> @@ -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)

This looks wrong. 42<64


More information about the ffmpeg-cvslog mailing list