mirror of
https://github.com/mpv-player/mpv
synced 2024-11-14 22:48:35 +01:00
dc44507f2a
Add a template file that contains a single listing of various information needed about the VDPAU interface functions, and is then included multiple times to create required declarations and tables. Previously some of the information needed to be duplicated for each of those uses.
57 lines
1.6 KiB
Python
57 lines
1.6 KiB
Python
# Generate vdpau_template.c
|
|
|
|
functions = """
|
|
# 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
|
|
decoder_create
|
|
decoder_destroy
|
|
decoder_render
|
|
device_destroy
|
|
generate_csc_matrix GenerateCSCMatrix # CSC completely capitalized
|
|
output_surface_create
|
|
output_surface_destroy
|
|
output_surface_put_bits_indexed
|
|
output_surface_put_bits_native
|
|
output_surface_render_bitmap_surface
|
|
output_surface_render_output_surface
|
|
presentation_queue_block_until_surface_idle
|
|
presentation_queue_create
|
|
presentation_queue_destroy
|
|
presentation_queue_display
|
|
presentation_queue_target_create_x11
|
|
presentation_queue_target_destroy
|
|
video_mixer_create
|
|
video_mixer_destroy
|
|
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
|
|
"""
|
|
|
|
print("""
|
|
/* List the VDPAU functions used by MPlayer.
|
|
* Generated by vdpau_functions.py.
|
|
* First argument on each line is the VDPAU function type name,
|
|
* second macro name needed to get function address,
|
|
* third name MPlayer uses for the function.
|
|
*/
|
|
""")
|
|
for line in functions.splitlines():
|
|
parts = line.split('#')[0].strip().split()
|
|
if not parts:
|
|
continue # empty/comment line
|
|
if len(parts) > 1:
|
|
mp_name, vdpau_name = parts
|
|
else:
|
|
mp_name = parts[0]
|
|
vdpau_name = ''.join(part.capitalize() for part in mp_name.split('_'))
|
|
macro_name = mp_name.upper()
|
|
print('VDP_FUNCTION(Vdp%s, VDP_FUNC_ID_%s, %s)' % (vdpau_name, macro_name, mp_name))
|