This patch is just a quick example to show how to fill the ROI info,
it does not ask for upstreaming, just for your reference.

to verify the ROI feature with this example, the command line looks like:
./ffmpeg -i .../path_to_1920x1080_video_file -vf scale=1920:1080 -c:v libx264 
-b:v 2000k -y tmp.264

Signed-off-by: Guo, Yejun <yejun....@intel.com>
---
 libavfilter/vf_scale.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c
index f741419..561391c 100644
--- a/libavfilter/vf_scale.c
+++ b/libavfilter/vf_scale.c
@@ -437,6 +437,20 @@ static int filter_frame(AVFilterLink *link, AVFrame *in)
             return ret;
     }
 
+    // just to show how a filter fills the ROI info
+    size_t nb_rois = 1;
+    AVFrameSideData *sd = av_frame_new_side_data(in, AV_FRAME_DATA_ROIS, 
nb_rois * sizeof(AVROI));
+    if (!sd) {
+        av_frame_free(&in);
+        return AVERROR(ENOMEM);
+    }
+    AVROI* rois = (AVROI*)sd->data;
+    rois[0].top = 0;
+    rois[0].left = 0;
+    rois[0].bottom = in->height;
+    rois[0].right = in->width/2;
+    rois[0].qoffset = -15;
+
     if (!scale->sws)
         return ff_filter_frame(outlink, in);
 
-- 
2.7.4

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to