avfilter/vf_telecine: Make frame writable before writing into it
authorMichael Niedermayer <michael@niedermayer.cc>
Tue, 14 Jun 2016 15:13:51 +0000 (17:13 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Sat, 13 Aug 2016 11:08:57 +0000 (13:08 +0200)
Fixes Ticket 5627

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit fa0097e008a145ea8324879d4e24c1881bb86279)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavfilter/vf_telecine.c
tests/ref/fate/filter-pixfmts-fieldmatch

index 182c670..58babca 100644 (file)
@@ -190,6 +190,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *inpicref)
     }
 
     if (s->occupied) {
+        av_frame_make_writable(s->frame[nout]);
         for (i = 0; i < s->nb_planes; i++) {
             // fill in the EARLIER field from the buffered pic
             av_image_copy_plane(s->frame[nout]->data[i] + s->frame[nout]->linesize[i] * s->first_field,
@@ -213,6 +214,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *inpicref)
 
     while (len >= 2) {
         // output THIS image as-is
+        av_frame_make_writable(s->frame[nout]);
         for (i = 0; i < s->nb_planes; i++)
             av_image_copy_plane(s->frame[nout]->data[i], s->frame[nout]->linesize[i],
                                 inpicref->data[i], inpicref->linesize[i],
index 44622d0..99946c8 100644 (file)
@@ -1,5 +1,5 @@
 yuv410p             a6c9b4065e8253d8120772f69be0bf04
 yuv411p             b913e634ad37ce046240252bed8681fb
-yuv420p             d448d95326eadeeb12ea0cc348067958
+yuv420p             a9286560141eb14595e427dbe5829b00
 yuv422p             11ad22ce00c5e8a30d0472f29fb15434
 yuv444p             9350a3f23cd7d95ec441a49f63f55953