diff options
author | Austin Yuan <shengquan.yuan@intel.com> | 2009-01-12 06:49:57 -0500 |
---|---|---|
committer | Austin Yuan <shengquan.yuan@intel.com> | 2009-01-12 06:49:57 -0500 |
commit | e1b1327bff4d9b524c1eb0f9ed711dee9c6e3927 (patch) | |
tree | 6bed725bf00c17ba82fcc0d2abd4706483ee5b33 /test | |
parent | f08cc6d5b8f0b2b2bb3034e7d846076bfd0966cd (diff) | |
download | libva-e1b1327bff4d9b524c1eb0f9ed711dee9c6e3927.tar.gz |
Apply the patch to split va and display/x11 from Gwenole Beauchesne [mailto:gbeauchesne@splitted-desktop.com]
Bellow is his explanation:
> Finally, looking further at <va_x11.h>, I think it should be enough to have
> vaInitialize() in display-dependent headers/libs. The va_x11_getDriverName()
> suggestion was to factor out the thing at the implementation (source
> code/files) level.
>
> Or we could keep vaInitialize() in common lib and rather have vaGetDisplay()
> in the display-specific part? And, while being at it, also rename the
> function to vaCreateDisplay(), to be meaningful about the API change?
>
> Besides, for a different windowing system, we probably would need more than
> just the Display (as we have in X11 land) anyway. e.g. what about OpenGL,
> OpenGL E|S? I don't know, it's just an idea.
>
> I read that Canmore/Sodaville are using the same engines as the Poulsbo
> (SGX535 and VXD370). However, the former platforms only support OpenGL E|S.
> So, how does video acceleration work here? I know it works, I saw it but
> since we still haven't received the machines, I just don't know about the
> actual API. You'd probably want libVA there too.
>
> Splitting libVA between a Core API and a Display API would make it possible
> to reduce code duplication from a player point of view. i.e. I don't think
> it's necessary to have client applications implement
> vaBeginPicture()..vaEndPicture() sequences themselves. I think it should be
> the role of the codec library (ffmpeg, in my case), and it should be able to
> do so without an explicit dependency on X11.
>
> On the other hand, the Core API won't be useful/functional alone. So, that
> could be confusing too.
>
> In practise, I would like to have it working as follows. It's my ideal
> vision, not necessarily the right/correct one. ;-)
>
> Roles of a codec implementation library:
> - Create buffers
> - Render the pictures, in the vaBeginPicture()..vaEndPicture(),
> vaRenderPicture() sense
>
> Roles of a player application:
> - Create display, surfaces, and decode pipeline for the codec library
> - Render the picture, visually, i.e. in the vaPutSurface() sense
>
> Example use:
> VApplication|initialize display
> CodecLibrary|characterise bitstream (codec and other useful info)
> VApplication|create decode pipeline
> VApplication|create surfaces
> CodecLibrary|create buffers (1)
> CodecLibrary|render picture (2)
> VApplication|display picture (3)
> repeat (1) -> (3) while the end of stream is not reached
> VApplication|destroy everything
>
> Have CodecLibrary linked against libva-core-VERSION.so.MAJOR, without any
> dependency on windowing system library.
>
> Have VApplication linked against libva-x11-VERSION.so.MAJOR, itself linked
> against libva-core-VERSION.so.MAJOR and other windowing system libraries.
>
> Regards,
> Gwenole.
>
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/test.c | 3 | ||||
-rw-r--r-- | test/test_12.c | 5 | ||||
-rw-r--r-- | test/test_common.c | 3 | ||||
-rw-r--r-- | test/vainfo.c | 3 |
4 files changed, 4 insertions, 10 deletions
diff --git a/test/test.c b/test/test.c index b088487..41972c7 100644 --- a/test/test.c +++ b/test/test.c @@ -22,8 +22,7 @@ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "va.h" -#include "X11/Xlib.h" +#include <va_x11.h> #include "assert.h" #include <stdarg.h> diff --git a/test/test_12.c b/test/test_12.c index 070d45c..9bdc1ef 100644 --- a/test/test_12.c +++ b/test/test_12.c @@ -24,16 +24,13 @@ #define TEST_DESCRIPTION "Sample MPEG2 VLD Decoding" +#include <va_x11.h> #include "test_common.c" -#include <X11/Xlib.h> - #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> -#include "va_x11.h" - void pre() { test_init(); diff --git a/test/test_common.c b/test/test_common.c index b3b4ccb..6b63748 100644 --- a/test/test_common.c +++ b/test/test_common.c @@ -22,8 +22,7 @@ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "va.h" -#include "X11/Xlib.h" +#include <va_x11.h> #include "assert.h" #include <stdarg.h> diff --git a/test/vainfo.c b/test/vainfo.c index 09d34f6..f59ea89 100644 --- a/test/vainfo.c +++ b/test/vainfo.c @@ -22,8 +22,7 @@ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "va.h" -#include "X11/Xlib.h" +#include <va_x11.h> #include <stdarg.h> #include <stdio.h> |