va_image.c revision 8ba4c96f8204003ff0d5247d71c0855827810560
1710632d07b13609444626367bebd34c0af3acb6aMikhail Glushenkov/**************************************************************************
26091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer *
36091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer * Copyright 2010 Thomas Balling Sørensen & Orasanu Lucian.
46091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer * All Rights Reserved.
57ed47a13356daed2a34cd2209a31f92552e3bdd8Chris Lattner *
67ed47a13356daed2a34cd2209a31f92552e3bdd8Chris Lattner * Permission is hereby granted, free of charge, to any person obtaining a
76091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer * copy of this software and associated documentation files (the
86091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer * "Software"), to deal in the Software without restriction, including
927107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling * without limitation the rights to use, copy, modify, merge, publish,
1027107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling * distribute, sub license, and/or sell copies of the Software, and to
1127107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling * permit persons to whom the Software is furnished to do so, subject to
1227107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling * the following conditions:
1327107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling *
146091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer * The above copyright notice and this permission notice (including the
156091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer * next paragraph) shall be included in all copies or substantial portions
16674be02d525d4e24bc6943ed9274958c580bcfbcJakub Staszak * of the Software.
17674be02d525d4e24bc6943ed9274958c580bcfbcJakub Staszak *
186091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19d509d0b532ec2358b3f341d4a4cd1411cb8b5db2Chris Lattner * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
203467e30edf63b6d8a8d446186674ba9e4b7885a9Bill Wendling * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21118a0659ab8a4d0e0af343b88e5fa71a5c1eb6a6Reid Kleckner * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
22c835b8c30127d15599de2d614434d39a6cc3ae17Benjamin Kramer * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
233f213e7b3a6829a154d4e8ceb7d8689b389bd5dcBenjamin Kramer * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
2422bd64173981bf1251c4b3bfc684207340534ba3Bill Wendling * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25ea59f896a672c2e1ef9f02277bce60257aa60989Bill Wendling *
2658d74910c6b82e622ecbb57d6644d48fec5a5c0fChris Lattner **************************************************************************/
276091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer
286091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer#include <util/u_memory.h>
29d426a642a23a234547cbc7061f5bfec157673249Bill Wendling#include <util/u_format.h>
30702cc91aa1bd41540e8674921ae7ac89a4ff061fBill Wendling#include <va/va.h>
31f6670729aabc1fab85238d2b306a1c1767a807bbBill Wendling#include <va/va_backend.h>
32817abdd8b055059e5930a15704b9f52da4236456Bill Wendling#include "va_private.h"
33817abdd8b055059e5930a15704b9f52da4236456Bill Wendling
346dc3781d44e56f0addf28b06232a50f3f9e6b1afBill WendlingVAStatus
35c835b8c30127d15599de2d614434d39a6cc3ae17Benjamin KramervlVaQueryImageFormats ( 	VADriverContextP ctx,
362c79ecbd704c656178ffa43d5a58ebe3ca188b40Bill Wendling                            VAImageFormat *format_list,
37ad9a9e15595bc9d5ba1ed752caf8572957f77a3dDuncan Sands                            int *num_formats)
38ad9a9e15595bc9d5ba1ed752caf8572957f77a3dDuncan Sands{
391d3dcfe4246b4d45fa78a8dfd0a11c7fff842c15Bill Wendling	if (!ctx)
4027107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling		return VA_STATUS_ERROR_INVALID_CONTEXT;
4127107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling
421d3dcfe4246b4d45fa78a8dfd0a11c7fff842c15Bill Wendling
431d3dcfe4246b4d45fa78a8dfd0a11c7fff842c15Bill Wendling	return VA_STATUS_ERROR_UNIMPLEMENTED;
441d3dcfe4246b4d45fa78a8dfd0a11c7fff842c15Bill Wendling}
45034b94b17006f51722886b0f2283fb6fb19aca1fBill Wendling
466765834754cbb3cb0f15b4b15e98c5e73fa50066Bill WendlingVAStatus vlVaCreateImage(	VADriverContextP ctx,
471d3dcfe4246b4d45fa78a8dfd0a11c7fff842c15Bill Wendling                            VAImageFormat *format,
4873dee180c836270644dfa7d90f9c5ba877567999Bill Wendling                            int width,
49f3d1500ab2c7364d3d0fb73a7e1b8c6339ab48b1Bill Wendling                            int height,
5073dee180c836270644dfa7d90f9c5ba877567999Bill Wendling                            VAImage *image)
5173dee180c836270644dfa7d90f9c5ba877567999Bill Wendling{
5273dee180c836270644dfa7d90f9c5ba877567999Bill Wendling	if (!ctx)
53f3d1500ab2c7364d3d0fb73a7e1b8c6339ab48b1Bill Wendling		return VA_STATUS_ERROR_INVALID_CONTEXT;
5473dee180c836270644dfa7d90f9c5ba877567999Bill Wendling
5511d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling	return VA_STATUS_ERROR_UNIMPLEMENTED;
5611d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling}
57f3d1500ab2c7364d3d0fb73a7e1b8c6339ab48b1Bill Wendling
5811d00420e42ba88c3b48cab997965a7be79315e2Bill WendlingVAStatus vlVaDeriveImage(	VADriverContextP ctx,
5911d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling                            VASurfaceID surface,
6011d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling                            VAImage *image)
6111d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling{
6211d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling	if (!ctx)
6311d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling		return VA_STATUS_ERROR_INVALID_CONTEXT;
64629fb82419d9bfff6ae475363bcce66192dfcc8eBill Wendling
655a0eeb5a9d727940b1dbe8dff6e9aa292ada0f6aBill Wendling
66480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling	return VA_STATUS_ERROR_UNIMPLEMENTED;
67480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling}
686765834754cbb3cb0f15b4b15e98c5e73fa50066Bill Wendling
69f6670729aabc1fab85238d2b306a1c1767a807bbBill WendlingVAStatus vlVaDestroyImage(	VADriverContextP ctx,
70480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling                            VAImageID image)
712253a2f52f3c46ae75cd05f5885acb987bd1d6b6Michael Gottesman{
722253a2f52f3c46ae75cd05f5885acb987bd1d6b6Michael Gottesman	if (!ctx)
73480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling		return VA_STATUS_ERROR_INVALID_CONTEXT;
7477226a03dca98e6237c1068f2652fe41bea7b687Diego Novillo
75480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling
76480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling	return VA_STATUS_ERROR_UNIMPLEMENTED;
779a419f656e278b96e9dfe739cd63c7bff9a4e1fdQuentin Colombet}
78480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling
79480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill WendlingVAStatus vlVaSetImagePalette(	VADriverContextP ctx,
80480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling                            VAImageID image,
81143d46476cdcf5b88b9ee18ebd799e5820a2db0eBill Wendling                            unsigned char *palette)
82480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling{
8367ae13575900e8efd056672987249fd0adbf5e73James Molloy	if (!ctx)
84480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling		return VA_STATUS_ERROR_INVALID_CONTEXT;
85480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling
86480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling
873a106e60366a51b4594ec303ff8dbbc58913227fBill Wendling	return VA_STATUS_ERROR_UNIMPLEMENTED;
88480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling}
89480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling
90480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill WendlingVAStatus vlVaGetImage(		VADriverContextP ctx,
91480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling                            VASurfaceID surface,
925768bb8d77892926dff0d078b1fb08c14ea791f3Andrea Di Biagio                            int x,
93480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling                            int y,
94480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling                            unsigned int width,
95456ca048af35163b9f52187e92a23ee0a9f059e8Stephen Lin                            unsigned int height,
96480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling                            VAImageID image)
97480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling{
98480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling	if (!ctx)
996765834754cbb3cb0f15b4b15e98c5e73fa50066Bill Wendling		return VA_STATUS_ERROR_INVALID_CONTEXT;
1006765834754cbb3cb0f15b4b15e98c5e73fa50066Bill Wendling
101f6670729aabc1fab85238d2b306a1c1767a807bbBill Wendling
102480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling	return VA_STATUS_ERROR_UNIMPLEMENTED;
103480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling}
104114baee1fa017daefad2339c77b45b9ca3d79a41Bill Wendling
105480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill WendlingVAStatus vlVaPutImage(		VADriverContextP ctx,
1068eec41fc778e99d42172a7f6de76faa43a6d8847Kostya Serebryany                            VASurfaceID surface,
1078eec41fc778e99d42172a7f6de76faa43a6d8847Kostya Serebryany                            VAImageID image,
1088eec41fc778e99d42172a7f6de76faa43a6d8847Kostya Serebryany                            int src_x,
109480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling                            int src_y,
1100319888773b36dd61d7d2283cb9a26cac1e5abe8Bill Wendling                            unsigned int src_width,
1110319888773b36dd61d7d2283cb9a26cac1e5abe8Bill Wendling                            unsigned int src_height,
112886a7663c72cb04eaee58cb6997c394f5096a8b9Benjamin Kramer                            int dest_x,
1136765834754cbb3cb0f15b4b15e98c5e73fa50066Bill Wendling                            int dest_y,
1146765834754cbb3cb0f15b4b15e98c5e73fa50066Bill Wendling                            unsigned int dest_width,
11527107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling                            unsigned int dest_height)
11627107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling{
117d426a642a23a234547cbc7061f5bfec157673249Bill Wendling	if (!ctx)
11827107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling		return VA_STATUS_ERROR_INVALID_CONTEXT;
1192c79ecbd704c656178ffa43d5a58ebe3ca188b40Bill Wendling
120c22f4aa886443507f8406d30d118fdeeac6a8c6cBill Wendling
121c22f4aa886443507f8406d30d118fdeeac6a8c6cBill Wendling	return VA_STATUS_ERROR_UNIMPLEMENTED;
122c22f4aa886443507f8406d30d118fdeeac6a8c6cBill Wendling}
123c22f4aa886443507f8406d30d118fdeeac6a8c6cBill Wendling