Incidentally `-y` also collides with avconv global options.

Update x11grab to match and document the option.

CC: [email protected]
---

 doc/indevs.texi       | 10 ++++++++++
 libavdevice/x11grab.c |  2 ++
 libavdevice/xcbgrab.c |  2 ++
 3 files changed, 14 insertions(+)

diff --git a/doc/indevs.texi b/doc/indevs.texi
index 8ff64a7..e514b63 100644
--- a/doc/indevs.texi
+++ b/doc/indevs.texi
@@ -359,4 +359,14 @@ avconv -f x11grab -show_region 1 -r 25 -s cif -i 
:0.0+10,20 out.mpg
 avconv -f x11grab -follow_mouse centered -show_region 1  -r 25 -s cif -i :0.0 
out.mpg
 @end example

+@subsection @var{grab_x} @var{grab_y} AVOption
+
+The syntax is:
+@example
+-grab_x @var{x_offset} -grab_y @var{y_offset}
+@end example
+
+Set the grabing region coordinates. The are expressed as offset from the top 
left
+corner of the X11 window. The default value is 0.
+
 @c man end INPUT DEVICES
diff --git a/libavdevice/x11grab.c b/libavdevice/x11grab.c
index 3aa4294..bb5d09d 100644
--- a/libavdevice/x11grab.c
+++ b/libavdevice/x11grab.c
@@ -614,6 +614,8 @@ static int x11grab_read_close(AVFormatContext *s1)
 #define OFFSET(x) offsetof(X11GrabContext, x)
 #define DEC AV_OPT_FLAG_DECODING_PARAM
 static const AVOption options[] = {
+    { "grab_x", "Initial x coordinate.", OFFSET(x_off), AV_OPT_TYPE_INT, { 
.i64 = 0 }, 0, INT_MAX, D },
+    { "grab_y", "Initial y coordinate.", OFFSET(y_off), AV_OPT_TYPE_INT, { 
.i64 = 0 }, 0, INT_MAX, D },
     { "video_size", "A string describing frame size, such as 640x480 or 
hd720.", OFFSET(video_size), AV_OPT_TYPE_STRING, {.str = "vga"}, 0, 0, DEC },
     { "framerate", "", OFFSET(framerate), AV_OPT_TYPE_STRING, {.str = "ntsc"}, 
0, 0, DEC },
     { "draw_mouse", "Draw the mouse pointer.", OFFSET(draw_mouse), 
AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1, DEC },
diff --git a/libavdevice/xcbgrab.c b/libavdevice/xcbgrab.c
index 7e9f258..032bbcc 100644
--- a/libavdevice/xcbgrab.c
+++ b/libavdevice/xcbgrab.c
@@ -77,6 +77,8 @@ typedef struct XCBGrabContext {
 static const AVOption options[] = {
     { "x", "Initial x coordinate.", OFFSET(x), AV_OPT_TYPE_INT, { .i64 = 0 }, 
0, INT_MAX, D },
     { "y", "Initial y coordinate.", OFFSET(y), AV_OPT_TYPE_INT, { .i64 = 0 }, 
0, INT_MAX, D },
+    { "grab_x", "Initial x coordinate.", OFFSET(x), AV_OPT_TYPE_INT, { .i64 = 
0 }, 0, INT_MAX, D },
+    { "grab_y", "Initial y coordinate.", OFFSET(y), AV_OPT_TYPE_INT, { .i64 = 
0 }, 0, INT_MAX, D },
     { "video_size", "A string describing frame size, such as 640x480 or 
hd720.", OFFSET(video_size), AV_OPT_TYPE_STRING, {.str = "vga" }, 0, 0, D },
     { "framerate", "", OFFSET(framerate), AV_OPT_TYPE_STRING, {.str = "ntsc" 
}, 0, 0, D },
     { "draw_mouse", "Draw the mouse pointer.", OFFSET(draw_mouse), 
AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1, D },
--
2.1.0

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to