]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/vf_pp7.c
avutil/pixfmt: Clarify the meaning of the alpha byte in RGB0 and similar formats
[ffmpeg] / libavfilter / vf_pp7.c
index bb590a24653d5218711ffd009356842878d1e98b..0a709021c6560880330d035d39a528c731546845 100644 (file)
@@ -278,6 +278,7 @@ static int query_formats(AVFilterContext *ctx)
         AV_PIX_FMT_YUV410P,  AV_PIX_FMT_YUV440P,
         AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
         AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P,
+        AV_PIX_FMT_GBRP,
         AV_PIX_FMT_GRAY8,    AV_PIX_FMT_NONE
     };
     ff_set_common_formats(ctx, ff_make_format_list(pix_fmts));
@@ -295,7 +296,7 @@ static int config_input(AVFilterLink *inlink)
     pp7->vsub = desc->log2_chroma_h;
 
     pp7->temp_stride = FFALIGN(inlink->w + 16, 16);
-    pp7->src = av_malloc(pp7->temp_stride * (h + 8) * sizeof(uint8_t));
+    pp7->src = av_malloc_array(pp7->temp_stride,  (h + 8) * sizeof(uint8_t));
 
     if (!pp7->src)
         return AVERROR(ENOMEM);
@@ -346,6 +347,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
                 return AVERROR(ENOMEM);
             }
             av_frame_copy_props(out, in);
+            out->width = in->width;
+            out->height = in->height;
         }
 
         if (qp_table || pp7->qp) {