diff options
author | Kovensky <diogomfranco@gmail.com> | 2012-11-07 11:49:44 -0300 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2012-11-08 00:28:59 +0100 |
commit | fae73079310eef9dce9737f2e37ff4b80c8830ee (patch) | |
tree | 4a9c7d9fbc398b237808283df39562e55077a225 /TOOLS/vdpau_functions.pl | |
parent | 58f821e096392e27994102f6de6f8f76c63e38e1 (diff) | |
download | mpv-fae73079310eef9dce9737f2e37ff4b80c8830ee.tar.bz2 mpv-fae73079310eef9dce9737f2e37ff4b80c8830ee.tar.xz |
Port several python scripts to Perl
file2string.pl and vdpau_functions.pl are direct ports.
matroska.py was reimplemented as the Parse::Matroska module in CPAN,
and matroska.pl was made a client of Parse::Matroska.
A copy of Parse::Matroska is included in TOOLS/lib, and matroska.pl
looks there first when trying to load the module.
osxbundle.py was not ported since I have no means to verify it.
Python is always available on OSX though, so there is no harm in
removing the check for it on configure.
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 |