summaryrefslogtreecommitdiffstats
path: root/contrib/ffmpeg/A04-snow-use-videodspcontext.patch
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ffmpeg/A04-snow-use-videodspcontext.patch')
-rw-r--r--contrib/ffmpeg/A04-snow-use-videodspcontext.patch33
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