From 5c963436f67cc2fe6eae93f0fbda588e902f2da4 Mon Sep 17 00:00:00 2001
From: Maneesh Gupta <maneesh.gupta@amd.com>
Date: Tue, 27 Jan 2015 15:09:41 +0530
Subject: [PATCH] documentation for -opencl_bench

---
 doc/fftools-common-opts.texi | 31 +++++++++++++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)

diff --git a/doc/fftools-common-opts.texi b/doc/fftools-common-opts.texi
index 7d52c1a..876c53c 100644
--- a/doc/fftools-common-opts.texi
+++ b/doc/fftools-common-opts.texi
@@ -294,8 +294,35 @@ Possible flags for this option are:
 @end table
 
 @item -opencl_bench
-Benchmark all available OpenCL devices and show the results. This option
-is only available when FFmpeg has been compiled with @code{--enable-opencl}.
+This option is used to benchmark all available OpenCL devices and print the
+results. This option is only available when FFmpeg has been compiled with
+@code{--enable-opencl}.
+
+When FFmpeg is configured with @code{--enable-opencl}, the options for the
+global OpenCL context are set via @code{-opencl_options}. See the
+``OpenCL Options`` section in the ffmpeg-utils manual for the complete list of
+supported options. Amongst others, these options include the ability to select
+a specific platform and device to run the OpenCL code on. By default, FFmpeg
+will run on the first device of the first platform. While the options for the
+global OpenCL context provide flexibility to the user in selecting the OpenCL
+device of their choice, most users would probably want to select the fastest
+OpenCL device for their system.
+
+This option assists the selection of the most efficient configuration by
+identifying the appropriate device for the user’s system. The built-in
+benchmark is run on all the OpenCL devices and the performance is measured for
+each device. The devices in the results list are sorted based on their
+performance with the fastest device listed first. The user can subsequently
+invoke Ffmpeg using the device deemed most appropriate via
+@code{--opencl_options} to obtain the best performance for the OpenCL
+accelerated code.
+
+Typical usage to use the fastest OpenCL device involve the following steps:
+@example
+ffmpeg -opencl_bench
+Note down the platform ID (@var{pIDx}) & device ID (@var{dIDx}) of the first i.e. fastest device in the list.
+ffmpeg -opencl_options platform_idx=@var{pIDx}:device_idx=@var{dIDx} ...
+@end example
 
 @item -opencl_options options (@emph{global})
 Set OpenCL environment options. This option is only available when
-- 
1.9.5.msysgit.0

