diff options
Diffstat (limited to 'contrib/ffmpeg/A04-snow-use-videodspcontext.patch')
-rw-r--r-- | contrib/ffmpeg/A04-snow-use-videodspcontext.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/contrib/ffmpeg/A04-snow-use-videodspcontext.patch b/contrib/ffmpeg/A04-snow-use-videodspcontext.patch new file mode 100644 index 000000000..fc9a120b9 --- /dev/null +++ b/contrib/ffmpeg/A04-snow-use-videodspcontext.patch @@ -0,0 +1,33 @@ +diff --git a/libavcodec/snow.c b/libavcodec/snow.c +index b9dab45..153e5b2 100644 +--- a/libavcodec/snow.c ++++ b/libavcodec/snow.c +@@ -349,7 +349,7 @@ void ff_snow_pred_block(SnowContext *s, uint8_t *dst, uint8_t *tmp, int stride, + src += sx + sy*stride; + if( (unsigned)sx >= w - b_w - (HTAPS_MAX-2) + || (unsigned)sy >= h - b_h - (HTAPS_MAX-2)){ +- s->dsp.emulated_edge_mc(tmp + MB_SIZE, src, stride, b_w+HTAPS_MAX-1, b_h+HTAPS_MAX-1, sx, sy, w, h); ++ s->vdsp.emulated_edge_mc(tmp + MB_SIZE, src, stride, b_w+HTAPS_MAX-1, b_h+HTAPS_MAX-1, sx, sy, w, h); + src= tmp + MB_SIZE; + } + // assert(b_w == b_h || 2*b_w == b_h || b_w == 2*b_h); +@@ -402,6 +402,7 @@ av_cold int ff_snow_common_init(AVCodecContext *avctx){ + s->max_ref_frames=1; //just make sure its not an invalid value in case of no initial keyframe + + ff_dsputil_init(&s->dsp, avctx); ++ ff_videodsp_init(&s->vdsp, 8); + ff_dwt_init(&s->dwt); + + #define mcf(dx,dy)\ +diff --git a/libavcodec/snow.h b/libavcodec/snow.h +index abf3309..b988115 100644 +--- a/libavcodec/snow.h ++++ b/libavcodec/snow.h +@@ -108,6 +108,7 @@ typedef struct SnowContext{ + AVCodecContext *avctx; + RangeCoder c; + DSPContext dsp; ++ VideoDSPContext vdsp; + DWTContext dwt; + AVFrame new_picture; + AVFrame input_picture; ///< new_picture with the internal linesizes |