ffmpeg | branch: master | Derek Buitenhuis <derek.buitenh...@gmail.com> | Wed Apr 27 16:47:52 2016 +0100| [fed686af232487dad6ec46294b3e5018f11943f1] | committer: Derek Buitenhuis
Merge commit '8eecae77ff6e2923de57dd883421d24fd53ca61f' * commit '8eecae77ff6e2923de57dd883421d24fd53ca61f': svq3: move edge_emu_buffer to the SVQ3Context Merged-by: Derek Buitenhuis <derek.buitenh...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fed686af232487dad6ec46294b3e5018f11943f1 --- libavcodec/svq3.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c index 93539fa..d5ed692 100644 --- a/libavcodec/svq3.c +++ b/libavcodec/svq3.c @@ -106,6 +106,8 @@ typedef struct SVQ3Context { unsigned int top_samples_available; unsigned int topright_samples_available; unsigned int left_samples_available; + + uint8_t *edge_emu_buffer; } SVQ3Context; #define FULLPEL_MODE 1 @@ -343,11 +345,11 @@ static inline void svq3_mc_dir_part(SVQ3Context *s, src = pic->f->data[0] + mx + my * sl->linesize; if (emu) { - s->vdsp.emulated_edge_mc(sl->edge_emu_buffer, src, + s->vdsp.emulated_edge_mc(s->edge_emu_buffer, src, sl->linesize, sl->linesize, width + 1, height + 1, mx, my, s->h_edge_pos, s->v_edge_pos); - src = sl->edge_emu_buffer; + src = s->edge_emu_buffer; } if (thirdpel) (avg ? s->tdsp.avg_tpel_pixels_tab @@ -370,12 +372,12 @@ static inline void svq3_mc_dir_part(SVQ3Context *s, src = pic->f->data[i] + mx + my * sl->uvlinesize; if (emu) { - s->vdsp.emulated_edge_mc(sl->edge_emu_buffer, src, + s->vdsp.emulated_edge_mc(s->edge_emu_buffer, src, sl->uvlinesize, sl->uvlinesize, width + 1, height + 1, mx, my, (s->h_edge_pos >> 1), s->v_edge_pos >> 1); - src = sl->edge_emu_buffer; + src = s->edge_emu_buffer; } if (thirdpel) (avg ? s->tdsp.avg_tpel_pixels_tab @@ -1290,9 +1292,9 @@ static int get_buffer(AVCodecContext *avctx, H264Picture *pic) if (ret < 0) goto fail; - if (!sl->edge_emu_buffer) { - sl->edge_emu_buffer = av_mallocz_array(pic->f->linesize[0], 17); - if (!sl->edge_emu_buffer) + if (!s->edge_emu_buffer) { + s->edge_emu_buffer = av_mallocz_array(pic->f->linesize[0], 17); + if (!s->edge_emu_buffer) return AVERROR(ENOMEM); } @@ -1542,6 +1544,7 @@ static av_cold int svq3_decode_end(AVCodecContext *avctx) av_freep(&s->last_pic); av_freep(&s->slice_buf); av_freep(&s->intra4x4_pred_mode); + av_freep(&s->edge_emu_buffer); memset(&h->cur_pic, 0, sizeof(h->cur_pic)); ====================================================================== diff --cc libavcodec/svq3.c index 93539fa,5564d29..d5ed692 --- a/libavcodec/svq3.c +++ b/libavcodec/svq3.c @@@ -1290,9 -1266,9 +1292,9 @@@ static int get_buffer(AVCodecContext *a if (ret < 0) goto fail; - if (!sl->edge_emu_buffer) { - sl->edge_emu_buffer = av_mallocz_array(pic->f->linesize[0], 17); - if (!sl->edge_emu_buffer) + if (!s->edge_emu_buffer) { - s->edge_emu_buffer = av_mallocz(pic->f->linesize[0] * 17); ++ s->edge_emu_buffer = av_mallocz_array(pic->f->linesize[0], 17); + if (!s->edge_emu_buffer) return AVERROR(ENOMEM); } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog