diff options
Diffstat (limited to 'TOOLS/vdpau_functions.pl')
-rwxr-xr-x | TOOLS/vdpau_functions.pl | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/TOOLS/vdpau_functions.pl b/TOOLS/vdpau_functions.pl new file mode 100755 index 0000000000..8bab4e533b --- /dev/null +++ b/TOOLS/vdpau_functions.pl @@ -0,0 +1,74 @@ +#! /usr/bin/env perl + +# Generates vdpau_template.c + +use strict; +use warnings; + +sub camelize($) { + my $s = shift; + $s =~ s/(?:^|_)([a-z])/\u$1/g; + $s; +} + +print <<EOF; +/* Lists the VDPAU functions used by MPV. + * Generated by vdpau_functions.pl. + * First argument on each line is the VDPAU function type name, + * second is the macro name needed to get the function address, + * third is the name MPV uses for the function. + */ + +EOF + +while (my $f = <DATA>) { + # strip whitespace, ignore anything after a '#' + $f =~ /^\s*(.*?)\s*(?:(?<!\\)#.*)?$/; + $f = $1; + next unless $f; # empty / comment line + + my ($mp_name, $vdpau_name) = split /\s+/, $f; + $vdpau_name = camelize $mp_name unless $vdpau_name; + + print "VDP_FUNCTION(Vdp$vdpau_name, VDP_FUNC_ID_\U$mp_name\E, $mp_name)\n"; +} + +__DATA__ +# get_error_string should be first, because the function lookup loop should +# have it available to print errors for other functions +get_error_string + +bitmap_surface_create +bitmap_surface_destroy +bitmap_surface_put_bits_native +bitmap_surface_query_capabilities +decoder_create +decoder_destroy +decoder_render +device_destroy +generate_csc_matrix GenerateCSCMatrix # CSC completely capitalized +output_surface_create +output_surface_destroy +output_surface_get_bits_native +output_surface_put_bits_indexed +output_surface_put_bits_native +output_surface_render_bitmap_surface +output_surface_render_output_surface +preemption_callback_register +presentation_queue_block_until_surface_idle +presentation_queue_create +presentation_queue_destroy +presentation_queue_display +presentation_queue_get_time +presentation_queue_query_surface_status +presentation_queue_target_create_x11 +presentation_queue_target_destroy +video_mixer_create +video_mixer_destroy +video_mixer_query_feature_support +video_mixer_render +video_mixer_set_attribute_values +video_mixer_set_feature_enables +video_surface_create +video_surface_destroy +video_surface_put_bits_y_cb_cr |