Merge commit 'b31328d008985f87f0a7c83c700847cef1a4f08c'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 25 Feb 2015 00:12:50 +0000 (01:12 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 25 Feb 2015 00:12:50 +0000 (01:12 +0100)
* commit 'b31328d008985f87f0a7c83c700847cef1a4f08c':
  xcbgrab: Provide better names for the y and x option

Conflicts:
doc/indevs.texi
libavdevice/x11grab.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
doc/indevs.texi
libavdevice/x11grab.c
libavdevice/xcbgrab.c

diff --cc doc/indevs.texi
@@@ -1085,103 -353,20 +1085,113 @@@ Range is 1 to 128 and default is 3 (XCB
  
  For example:
  @example
 -avconv -f x11grab -show_region 1 -r 25 -s cif -i :0.0+10,20 out.mpg
 +ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
 +@end example
  
 -# With follow_mouse
 -avconv -f x11grab -follow_mouse centered -show_region 1  -r 25 -s cif -i :0.0 out.mpg
 +With @var{follow_mouse}:
 +@example
 +ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg
  @end example
  
 +@item video_size
 +Set the video frame size. Default value is @code{vga}.
 +
 +@item use_shm
 +Use the MIT-SHM extension for shared memory. Default value is @code{1}.
 +It may be necessary to disable it for remote displays (legacy x11grab
 +only).
 +@end table
 +
+ @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.
 +@section decklink
 +
 +The decklink input device provides capture capabilities for Blackmagic
 +DeckLink devices.
 +
 +To enable this input device, you need the Blackmagic DeckLink SDK and you
 +need to configure with the appropriate @code{--extra-cflags}
 +and @code{--extra-ldflags}.
 +On Windows, you need to run the IDL files through @command{widl}.
 +
 +DeckLink is very picky about the formats it supports. Pixel format is
 +uyvy422 or v210, framerate and video size must be determined for your device with
 +@command{-list_formats 1}. Audio sample rate is always 48 kHz and the number
 +of channels can be 2, 8 or 16.
 +
 +@subsection Options
 +
 +@table @option
 +
 +@item list_devices
 +If set to @option{true}, print a list of devices and exit.
 +Defaults to @option{false}.
 +
 +@item list_formats
 +If set to @option{true}, print a list of supported formats and exit.
 +Defaults to @option{false}.
 +
 +@item bm_v210
 +If set to @samp{1}, video is captured in 10 bit v210 instead
 +of uyvy422. Not all Blackmagic devices support this option.
 +
 +@item bm_channels <CHANNELS>
 +Number of audio channels, can be 2, 8 or 16
 +
 +@item bm_audiodepth <BITDEPTH>
 +Audio bit depth, can be 16 or 32.
 +
 +@end table
 +
 +@subsection Examples
 +
 +@itemize
 +
 +@item
 +List input devices:
 +@example
 +ffmpeg -f decklink -list_devices 1 -i dummy
 +@end example
 +
 +@item
 +List supported formats:
 +@example
 +ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro'
 +@end example
 +
 +@item
 +Capture video clip at 1080i50 (format 11):
 +@example
 +ffmpeg -f decklink -i 'Intensity Pro@@11' -acodec copy -vcodec copy output.avi
 +@end example
 +
 +@item
 +Capture video clip at 1080i50 10 bit:
 +@example
 +ffmpeg -bm_v210 1 -f decklink -i 'UltraStudio Mini Recorder@@11' -acodec copy -vcodec copy output.avi
 +@end example
 +
 +@item
 +Capture video clip at 720p50 with 32bit audio:
 +@example
 +ffmpeg -bm_audiodepth 32 -f decklink -i 'UltraStudio Mini Recorder@@14' -acodec copy -vcodec copy output.avi
 +@end example
 +
 +@item
 +Capture video clip at 576i50 with 8 audio channels:
 +@example
 +ffmpeg -bm_channels 8 -f decklink -i 'UltraStudio Mini Recorder@@3' -acodec copy -vcodec copy output.avi
 +@end example
 +
 +@end itemize
 +
 +
  @c man end INPUT DEVICES
@@@ -657,17 -614,15 +657,19 @@@ static int x11grab_read_close(AVFormatC
  #define OFFSET(x) offsetof(X11GrabContext, x)
  #define DEC AV_OPT_FLAG_DECODING_PARAM
  static const AVOption options[] = {
 -    { "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 },
 -    { "follow_mouse", "Move the grabbing region when the mouse pointer reaches within specified amount of pixels to the edge of region.",
 -      OFFSET(follow_mouse), AV_OPT_TYPE_INT, { .i64 = 0 }, -1, INT_MAX, DEC, "follow_mouse" },
 -    { "centered", "Keep the mouse pointer at the center of grabbing region when following.", 0, AV_OPT_TYPE_CONST, { .i64 = -1 }, INT_MIN, INT_MAX, DEC, "follow_mouse" },
 -    { "show_region", "Show the grabbing region.", OFFSET(show_region), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, DEC },
+     { "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 },
 +    { "draw_mouse", "draw the mouse pointer", OFFSET(draw_mouse), AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1, DEC },
 +
 +    { "follow_mouse", "move the grabbing region when the mouse pointer reaches within specified amount of pixels to the edge of region",
 +      OFFSET(follow_mouse), AV_OPT_TYPE_INT, {.i64 = 0}, -1, INT_MAX, DEC, "follow_mouse" },
 +    { "centered",     "keep the mouse pointer at the center of grabbing region when following",
 +      0, AV_OPT_TYPE_CONST, {.i64 = -1}, INT_MIN, INT_MAX, DEC, "follow_mouse" },
 +
 +    { "framerate",  "set video frame rate",      OFFSET(framerate),   AV_OPT_TYPE_VIDEO_RATE, {.str = "ntsc"}, 0, 0, DEC },
 +    { "show_region", "show the grabbing region", OFFSET(show_region), AV_OPT_TYPE_INT,        {.i64 = 0}, 0, 1, DEC },
 +    { "video_size",  "set video frame size",     OFFSET(width),       AV_OPT_TYPE_IMAGE_SIZE, {.str = "vga"}, 0, 0, DEC },
 +    { "use_shm",     "use MIT-SHM extension",    OFFSET(use_shm),     AV_OPT_TYPE_INT,        {.i64 = 1}, 0, 1, DEC },
      { NULL },
  };
  
Simple merge