[VDPAU] [PATCH] vdpauinfo: print supported PutBits indexed color formats
Aaron Plattner
aplattner at nvidia.com
Fri Sep 12 15:30:23 PDT 2014
This parallels the loop that prints supported YCbCr formats. There is only one
palette color format currently, so just use that for the query.
Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
---
This is *really* the the last thing I wanted to do before declaring vdpauinfo version 1.0. I know I said that before, but I forgot about this TODO item from the original codebase.
Here's what it does to the output on my system:
name width height nat types
----------------------------------------------------
-B8G8R8A8 16384 16384 y Y8U8V8A8 V8U8Y8A8
-R10G10B10A2 16384 16384 y Y8U8V8A8 V8U8Y8A8
+B8G8R8A8 16384 16384 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
+R10G10B10A2 16384 16384 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
vdpauinfo.cpp | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/vdpauinfo.cpp b/vdpauinfo.cpp
index bcca6aa..5e97f5b 100644
--- a/vdpauinfo.cpp
+++ b/vdpauinfo.cpp
@@ -25,8 +25,6 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
*/
-/// TODO
-/// - list color table formats for queryOutputSurface
#include <stdarg.h>
#include <stdlib.h>
@@ -96,11 +94,6 @@ Desc indexed_types[] = {
};
const size_t indexed_type_count = sizeof(indexed_types)/sizeof(Desc);
-Desc color_table_formats[] = {
-{"B8G8R8X8", VDP_COLOR_TABLE_FORMAT_B8G8R8X8},
-};
-const size_t color_table_format_count = sizeof(color_table_formats)/sizeof(Desc);
-
void queryVideoSurface(VDPDeviceImpl *device)
{
@@ -166,11 +159,24 @@ void queryOutputSurface(VDPDeviceImpl *device)
printf("%s ", ycbcr_types[y].name);
}
}
+
+ for(int y=0; y<indexed_type_count; ++y)
+ {
+ // There is currently only one color table format. This will
+ // have to be reconsidered if additional color table formats are
+ // added.
+ rv = device->OutputSurfaceQueryPutBitsIndexedCapabilities(
+ device->device, rgb_types[x].id, indexed_types[y].id,
+ VDP_COLOR_TABLE_FORMAT_B8G8R8X8, &is_supported);
+ if(rv == VDP_STATUS_OK && is_supported)
+ {
+ printf("%s ", indexed_types[y].name);
+ }
+ }
+
printf("\n");
}
}
- // OutputSurfaceQueryPutBitsIndexedCapabilities
- // rgba, idx, colortable -> supported
}
/***************** Bitmap surface ****************/
--
2.1.0
More information about the VDPAU
mailing list