]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/avcodec.c
Merge commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b'
[ffmpeg] / libavfilter / avcodec.c
index f452303bb4e4b55dafbc4df330181b14d1473d4e..a0f8b69a8d19a6569216717d4e58b75fa7cee40d 100644 (file)
@@ -42,6 +42,17 @@ int avfilter_copy_frame_props(AVFilterBufferRef *dst, const AVFrame *src)
         dst->video->top_field_first     = src->top_field_first;
         dst->video->key_frame           = src->key_frame;
         dst->video->pict_type           = src->pict_type;
+        av_freep(&dst->video->qp_table);
+        dst->video->qp_table_linesize = 0;
+        if (src->qscale_table) {
+            int qsize = src->qstride ? src->qstride * ((src->height+15)/16) : (src->width+15)/16;
+            dst->video->qp_table = av_malloc(qsize);
+            if (!dst->video->qp_table)
+                return AVERROR(ENOMEM);
+            dst->video->qp_table_linesize = src->qstride;
+            dst->video->qp_table_size     = qsize;
+            memcpy(dst->video->qp_table, src->qscale_table, qsize);
+        }
         break;
     case AVMEDIA_TYPE_AUDIO:
         dst->audio->sample_rate         = src->sample_rate;