mirror of
https://github.com/mpv-player/mpv
synced 2024-12-25 08:12:17 +00:00
fae7307931
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.
75 lines
1.9 KiB
Perl
Executable File
75 lines
1.9 KiB
Perl
Executable File
#! /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
|