From 6e116a6bbeb2c047a3bfb084395ec601ce211e6c Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sun, 2 Dec 2018 00:02:29 +0100 Subject: [PATCH] Move everything into a separate futatabi/ subdir, for the upcoming merge with Nageru. --- .../add_base_flow.frag | 0 bin2h.cpp => futatabi/bin2h.cpp | 0 blend.frag => futatabi/blend.frag | 0 .../chroma_subsample.frag | 0 .../chroma_subsample.vert | 0 .../chroma_subsampler.cpp | 0 .../chroma_subsampler.h | 0 clip_list.cpp => futatabi/clip_list.cpp | 0 clip_list.h => futatabi/clip_list.h | 0 context.cpp => futatabi/context.cpp | 0 context.h => futatabi/context.h | 0 db.cpp => futatabi/db.cpp | 0 db.h => futatabi/db.h | 0 defs.h => futatabi/defs.h | 0 densify.frag => futatabi/densify.frag | 0 densify.vert => futatabi/densify.vert | 0 derivatives.frag => futatabi/derivatives.frag | 0 diffusivity.frag => futatabi/diffusivity.frag | 0 .../disk_space_estimator.cpp | 0 .../disk_space_estimator.h | 0 embedded_files.h => futatabi/embedded_files.h | 0 equations.frag => futatabi/equations.frag | 0 equations.vert => futatabi/equations.vert | 0 eval.cpp => futatabi/eval.cpp | 0 ffmpeg_raii.cpp => futatabi/ffmpeg_raii.cpp | 0 ffmpeg_raii.h => futatabi/ffmpeg_raii.h | 0 flags.cpp => futatabi/flags.cpp | 0 flags.h => futatabi/flags.h | 0 flow.cpp => futatabi/flow.cpp | 0 flow.h => futatabi/flow.h | 0 flow_main.cpp => futatabi/flow_main.cpp | 0 frame.proto => futatabi/frame.proto | 0 .../frame_on_disk.cpp | 0 frame_on_disk.h => futatabi/frame_on_disk.h | 0 gpu_timers.cpp => futatabi/gpu_timers.cpp | 0 gpu_timers.h => futatabi/gpu_timers.h | 0 gray.frag => futatabi/gray.frag | 0 hole_blend.frag => futatabi/hole_blend.frag | 0 hole_fill.frag => futatabi/hole_fill.frag | 0 hole_fill.vert => futatabi/hole_fill.vert | 0 httpd.cpp => futatabi/httpd.cpp | 0 httpd.h => futatabi/httpd.h | 0 jpeg_destroyer.h => futatabi/jpeg_destroyer.h | 0 jpeg_frame.h => futatabi/jpeg_frame.h | 0 .../jpeg_frame_view.cpp | 0 .../jpeg_frame_view.h | 0 main.cpp => futatabi/main.cpp | 0 mainwindow.cpp => futatabi/mainwindow.cpp | 0 mainwindow.h => futatabi/mainwindow.h | 0 mainwindow.ui => futatabi/mainwindow.ui | 0 .../memcpy_interleaved.cpp | 0 .../memcpy_interleaved.h | 0 futatabi/meson.build | 70 ++++++++++++++++++ metacube2.cpp => futatabi/metacube2.cpp | 0 metacube2.h => futatabi/metacube2.h | 0 .../motion_search.frag | 0 .../motion_search.vert | 0 mux.cpp => futatabi/mux.cpp | 0 mux.h => futatabi/mux.h | 0 player.cpp => futatabi/player.cpp | 0 player.h => futatabi/player.h | 0 .../post_to_main_thread.h | 0 prewarp.frag => futatabi/prewarp.frag | 0 .../queue_spot_holder.h | 0 .../ref_counted_gl_sync.h | 0 resize_flow.frag => futatabi/resize_flow.frag | 0 sobel.frag => futatabi/sobel.frag | 0 sor.frag => futatabi/sor.frag | 0 sor.vert => futatabi/sor.vert | 0 splat.frag => futatabi/splat.frag | 0 splat.vert => futatabi/splat.vert | 0 state.proto => futatabi/state.proto | 0 timebase.h => futatabi/timebase.h | 0 util.cpp => futatabi/util.cpp | 0 util.h => futatabi/util.h | 0 .../vaapi_jpeg_decoder.cpp | 0 .../vaapi_jpeg_decoder.h | 0 video_stream.cpp => futatabi/video_stream.cpp | 0 video_stream.h => futatabi/video_stream.h | 0 vis.cpp => futatabi/vis.cpp | 0 vs.vert => futatabi/vs.vert | 0 .../ycbcr_converter.cpp | 0 .../ycbcr_converter.h | 0 meson.build | 71 +------------------ 84 files changed, 71 insertions(+), 70 deletions(-) rename add_base_flow.frag => futatabi/add_base_flow.frag (100%) rename bin2h.cpp => futatabi/bin2h.cpp (100%) rename blend.frag => futatabi/blend.frag (100%) rename chroma_subsample.frag => futatabi/chroma_subsample.frag (100%) rename chroma_subsample.vert => futatabi/chroma_subsample.vert (100%) rename chroma_subsampler.cpp => futatabi/chroma_subsampler.cpp (100%) rename chroma_subsampler.h => futatabi/chroma_subsampler.h (100%) rename clip_list.cpp => futatabi/clip_list.cpp (100%) rename clip_list.h => futatabi/clip_list.h (100%) rename context.cpp => futatabi/context.cpp (100%) rename context.h => futatabi/context.h (100%) rename db.cpp => futatabi/db.cpp (100%) rename db.h => futatabi/db.h (100%) rename defs.h => futatabi/defs.h (100%) rename densify.frag => futatabi/densify.frag (100%) rename densify.vert => futatabi/densify.vert (100%) rename derivatives.frag => futatabi/derivatives.frag (100%) rename diffusivity.frag => futatabi/diffusivity.frag (100%) rename disk_space_estimator.cpp => futatabi/disk_space_estimator.cpp (100%) rename disk_space_estimator.h => futatabi/disk_space_estimator.h (100%) rename embedded_files.h => futatabi/embedded_files.h (100%) rename equations.frag => futatabi/equations.frag (100%) rename equations.vert => futatabi/equations.vert (100%) rename eval.cpp => futatabi/eval.cpp (100%) rename ffmpeg_raii.cpp => futatabi/ffmpeg_raii.cpp (100%) rename ffmpeg_raii.h => futatabi/ffmpeg_raii.h (100%) rename flags.cpp => futatabi/flags.cpp (100%) rename flags.h => futatabi/flags.h (100%) rename flow.cpp => futatabi/flow.cpp (100%) rename flow.h => futatabi/flow.h (100%) rename flow_main.cpp => futatabi/flow_main.cpp (100%) rename frame.proto => futatabi/frame.proto (100%) rename frame_on_disk.cpp => futatabi/frame_on_disk.cpp (100%) rename frame_on_disk.h => futatabi/frame_on_disk.h (100%) rename gpu_timers.cpp => futatabi/gpu_timers.cpp (100%) rename gpu_timers.h => futatabi/gpu_timers.h (100%) rename gray.frag => futatabi/gray.frag (100%) rename hole_blend.frag => futatabi/hole_blend.frag (100%) rename hole_fill.frag => futatabi/hole_fill.frag (100%) rename hole_fill.vert => futatabi/hole_fill.vert (100%) rename httpd.cpp => futatabi/httpd.cpp (100%) rename httpd.h => futatabi/httpd.h (100%) rename jpeg_destroyer.h => futatabi/jpeg_destroyer.h (100%) rename jpeg_frame.h => futatabi/jpeg_frame.h (100%) rename jpeg_frame_view.cpp => futatabi/jpeg_frame_view.cpp (100%) rename jpeg_frame_view.h => futatabi/jpeg_frame_view.h (100%) rename main.cpp => futatabi/main.cpp (100%) rename mainwindow.cpp => futatabi/mainwindow.cpp (100%) rename mainwindow.h => futatabi/mainwindow.h (100%) rename mainwindow.ui => futatabi/mainwindow.ui (100%) rename memcpy_interleaved.cpp => futatabi/memcpy_interleaved.cpp (100%) rename memcpy_interleaved.h => futatabi/memcpy_interleaved.h (100%) create mode 100644 futatabi/meson.build rename metacube2.cpp => futatabi/metacube2.cpp (100%) rename metacube2.h => futatabi/metacube2.h (100%) rename motion_search.frag => futatabi/motion_search.frag (100%) rename motion_search.vert => futatabi/motion_search.vert (100%) rename mux.cpp => futatabi/mux.cpp (100%) rename mux.h => futatabi/mux.h (100%) rename player.cpp => futatabi/player.cpp (100%) rename player.h => futatabi/player.h (100%) rename post_to_main_thread.h => futatabi/post_to_main_thread.h (100%) rename prewarp.frag => futatabi/prewarp.frag (100%) rename queue_spot_holder.h => futatabi/queue_spot_holder.h (100%) rename ref_counted_gl_sync.h => futatabi/ref_counted_gl_sync.h (100%) rename resize_flow.frag => futatabi/resize_flow.frag (100%) rename sobel.frag => futatabi/sobel.frag (100%) rename sor.frag => futatabi/sor.frag (100%) rename sor.vert => futatabi/sor.vert (100%) rename splat.frag => futatabi/splat.frag (100%) rename splat.vert => futatabi/splat.vert (100%) rename state.proto => futatabi/state.proto (100%) rename timebase.h => futatabi/timebase.h (100%) rename util.cpp => futatabi/util.cpp (100%) rename util.h => futatabi/util.h (100%) rename vaapi_jpeg_decoder.cpp => futatabi/vaapi_jpeg_decoder.cpp (100%) rename vaapi_jpeg_decoder.h => futatabi/vaapi_jpeg_decoder.h (100%) rename video_stream.cpp => futatabi/video_stream.cpp (100%) rename video_stream.h => futatabi/video_stream.h (100%) rename vis.cpp => futatabi/vis.cpp (100%) rename vs.vert => futatabi/vs.vert (100%) rename ycbcr_converter.cpp => futatabi/ycbcr_converter.cpp (100%) rename ycbcr_converter.h => futatabi/ycbcr_converter.h (100%) diff --git a/add_base_flow.frag b/futatabi/add_base_flow.frag similarity index 100% rename from add_base_flow.frag rename to futatabi/add_base_flow.frag diff --git a/bin2h.cpp b/futatabi/bin2h.cpp similarity index 100% rename from bin2h.cpp rename to futatabi/bin2h.cpp diff --git a/blend.frag b/futatabi/blend.frag similarity index 100% rename from blend.frag rename to futatabi/blend.frag diff --git a/chroma_subsample.frag b/futatabi/chroma_subsample.frag similarity index 100% rename from chroma_subsample.frag rename to futatabi/chroma_subsample.frag diff --git a/chroma_subsample.vert b/futatabi/chroma_subsample.vert similarity index 100% rename from chroma_subsample.vert rename to futatabi/chroma_subsample.vert diff --git a/chroma_subsampler.cpp b/futatabi/chroma_subsampler.cpp similarity index 100% rename from chroma_subsampler.cpp rename to futatabi/chroma_subsampler.cpp diff --git a/chroma_subsampler.h b/futatabi/chroma_subsampler.h similarity index 100% rename from chroma_subsampler.h rename to futatabi/chroma_subsampler.h diff --git a/clip_list.cpp b/futatabi/clip_list.cpp similarity index 100% rename from clip_list.cpp rename to futatabi/clip_list.cpp diff --git a/clip_list.h b/futatabi/clip_list.h similarity index 100% rename from clip_list.h rename to futatabi/clip_list.h diff --git a/context.cpp b/futatabi/context.cpp similarity index 100% rename from context.cpp rename to futatabi/context.cpp diff --git a/context.h b/futatabi/context.h similarity index 100% rename from context.h rename to futatabi/context.h diff --git a/db.cpp b/futatabi/db.cpp similarity index 100% rename from db.cpp rename to futatabi/db.cpp diff --git a/db.h b/futatabi/db.h similarity index 100% rename from db.h rename to futatabi/db.h diff --git a/defs.h b/futatabi/defs.h similarity index 100% rename from defs.h rename to futatabi/defs.h diff --git a/densify.frag b/futatabi/densify.frag similarity index 100% rename from densify.frag rename to futatabi/densify.frag diff --git a/densify.vert b/futatabi/densify.vert similarity index 100% rename from densify.vert rename to futatabi/densify.vert diff --git a/derivatives.frag b/futatabi/derivatives.frag similarity index 100% rename from derivatives.frag rename to futatabi/derivatives.frag diff --git a/diffusivity.frag b/futatabi/diffusivity.frag similarity index 100% rename from diffusivity.frag rename to futatabi/diffusivity.frag diff --git a/disk_space_estimator.cpp b/futatabi/disk_space_estimator.cpp similarity index 100% rename from disk_space_estimator.cpp rename to futatabi/disk_space_estimator.cpp diff --git a/disk_space_estimator.h b/futatabi/disk_space_estimator.h similarity index 100% rename from disk_space_estimator.h rename to futatabi/disk_space_estimator.h diff --git a/embedded_files.h b/futatabi/embedded_files.h similarity index 100% rename from embedded_files.h rename to futatabi/embedded_files.h diff --git a/equations.frag b/futatabi/equations.frag similarity index 100% rename from equations.frag rename to futatabi/equations.frag diff --git a/equations.vert b/futatabi/equations.vert similarity index 100% rename from equations.vert rename to futatabi/equations.vert diff --git a/eval.cpp b/futatabi/eval.cpp similarity index 100% rename from eval.cpp rename to futatabi/eval.cpp diff --git a/ffmpeg_raii.cpp b/futatabi/ffmpeg_raii.cpp similarity index 100% rename from ffmpeg_raii.cpp rename to futatabi/ffmpeg_raii.cpp diff --git a/ffmpeg_raii.h b/futatabi/ffmpeg_raii.h similarity index 100% rename from ffmpeg_raii.h rename to futatabi/ffmpeg_raii.h diff --git a/flags.cpp b/futatabi/flags.cpp similarity index 100% rename from flags.cpp rename to futatabi/flags.cpp diff --git a/flags.h b/futatabi/flags.h similarity index 100% rename from flags.h rename to futatabi/flags.h diff --git a/flow.cpp b/futatabi/flow.cpp similarity index 100% rename from flow.cpp rename to futatabi/flow.cpp diff --git a/flow.h b/futatabi/flow.h similarity index 100% rename from flow.h rename to futatabi/flow.h diff --git a/flow_main.cpp b/futatabi/flow_main.cpp similarity index 100% rename from flow_main.cpp rename to futatabi/flow_main.cpp diff --git a/frame.proto b/futatabi/frame.proto similarity index 100% rename from frame.proto rename to futatabi/frame.proto diff --git a/frame_on_disk.cpp b/futatabi/frame_on_disk.cpp similarity index 100% rename from frame_on_disk.cpp rename to futatabi/frame_on_disk.cpp diff --git a/frame_on_disk.h b/futatabi/frame_on_disk.h similarity index 100% rename from frame_on_disk.h rename to futatabi/frame_on_disk.h diff --git a/gpu_timers.cpp b/futatabi/gpu_timers.cpp similarity index 100% rename from gpu_timers.cpp rename to futatabi/gpu_timers.cpp diff --git a/gpu_timers.h b/futatabi/gpu_timers.h similarity index 100% rename from gpu_timers.h rename to futatabi/gpu_timers.h diff --git a/gray.frag b/futatabi/gray.frag similarity index 100% rename from gray.frag rename to futatabi/gray.frag diff --git a/hole_blend.frag b/futatabi/hole_blend.frag similarity index 100% rename from hole_blend.frag rename to futatabi/hole_blend.frag diff --git a/hole_fill.frag b/futatabi/hole_fill.frag similarity index 100% rename from hole_fill.frag rename to futatabi/hole_fill.frag diff --git a/hole_fill.vert b/futatabi/hole_fill.vert similarity index 100% rename from hole_fill.vert rename to futatabi/hole_fill.vert diff --git a/httpd.cpp b/futatabi/httpd.cpp similarity index 100% rename from httpd.cpp rename to futatabi/httpd.cpp diff --git a/httpd.h b/futatabi/httpd.h similarity index 100% rename from httpd.h rename to futatabi/httpd.h diff --git a/jpeg_destroyer.h b/futatabi/jpeg_destroyer.h similarity index 100% rename from jpeg_destroyer.h rename to futatabi/jpeg_destroyer.h diff --git a/jpeg_frame.h b/futatabi/jpeg_frame.h similarity index 100% rename from jpeg_frame.h rename to futatabi/jpeg_frame.h diff --git a/jpeg_frame_view.cpp b/futatabi/jpeg_frame_view.cpp similarity index 100% rename from jpeg_frame_view.cpp rename to futatabi/jpeg_frame_view.cpp diff --git a/jpeg_frame_view.h b/futatabi/jpeg_frame_view.h similarity index 100% rename from jpeg_frame_view.h rename to futatabi/jpeg_frame_view.h diff --git a/main.cpp b/futatabi/main.cpp similarity index 100% rename from main.cpp rename to futatabi/main.cpp diff --git a/mainwindow.cpp b/futatabi/mainwindow.cpp similarity index 100% rename from mainwindow.cpp rename to futatabi/mainwindow.cpp diff --git a/mainwindow.h b/futatabi/mainwindow.h similarity index 100% rename from mainwindow.h rename to futatabi/mainwindow.h diff --git a/mainwindow.ui b/futatabi/mainwindow.ui similarity index 100% rename from mainwindow.ui rename to futatabi/mainwindow.ui diff --git a/memcpy_interleaved.cpp b/futatabi/memcpy_interleaved.cpp similarity index 100% rename from memcpy_interleaved.cpp rename to futatabi/memcpy_interleaved.cpp diff --git a/memcpy_interleaved.h b/futatabi/memcpy_interleaved.h similarity index 100% rename from memcpy_interleaved.h rename to futatabi/memcpy_interleaved.h diff --git a/futatabi/meson.build b/futatabi/meson.build new file mode 100644 index 0000000..a9c95b4 --- /dev/null +++ b/futatabi/meson.build @@ -0,0 +1,70 @@ +qt5 = import('qt5') +protoc = find_program('protoc') + +epoxydep = dependency('epoxy') +libavcodecdep = dependency('libavcodec') +libavformatdep = dependency('libavformat') +libavutildep = dependency('libavutil') +libjpegdep = dependency('libjpeg') +libmicrohttpddep = dependency('libmicrohttpd') +libswscaledep = dependency('libswscale') +movitdep = dependency('movit') +protobufdep = dependency('protobuf') +qt5deps = dependency('qt5', modules: ['Core', 'Gui', 'Widgets', 'OpenGLExtensions', 'OpenGL', 'PrintSupport']) +sdl2_imagedep = dependency('SDL2_image') +sdl2dep = dependency('sdl2') +sqlite3dep = dependency('sqlite3') +vadrmdep = dependency('libva-drm') +vax11dep = dependency('libva-x11') +x11dep = dependency('x11') + +# Add the right MOVIT_SHADER_DIR definition. +r = run_command('pkg-config', '--variable=shaderdir', 'movit') +if r.returncode() != 0 + error('Movit pkg-config installation is broken.') +endif +add_global_arguments('-DMOVIT_SHADER_DIR="' + r.stdout().strip() + '"', language: 'cpp') + +# Protobuf compilation. +gen = generator(protoc, \ + output : ['@BASENAME@.pb.cc', '@BASENAME@.pb.h'], + arguments : ['--proto_path=@CURRENT_SOURCE_DIR@', '--cpp_out=@BUILD_DIR@', '@INPUT@']) +proto_generated = gen.process('state.proto', 'frame.proto') + +# Preprocess Qt as needed. +moc_files = qt5.preprocess( + moc_headers: ['mainwindow.h', 'jpeg_frame_view.h', 'clip_list.h'], + ui_files: ['mainwindow.ui'], + dependencies: qt5deps) + +# Flow objects. +srcs = ['flow.cpp', 'gpu_timers.cpp'] + +# All the other files. +srcs += ['ffmpeg_raii.cpp', 'main.cpp', 'player.cpp', 'httpd.cpp', 'mux.cpp', 'metacube2.cpp', 'video_stream.cpp', 'context.cpp', 'chroma_subsampler.cpp'] +srcs += ['vaapi_jpeg_decoder.cpp', 'memcpy_interleaved.cpp', 'db.cpp', 'disk_space_estimator.cpp', 'ycbcr_converter.cpp', 'flags.cpp'] +srcs += ['mainwindow.cpp', 'jpeg_frame_view.cpp', 'clip_list.cpp', 'frame_on_disk.cpp'] +srcs += moc_files +srcs += proto_generated + +# Shaders needed at runtime. +shaders = ['chroma_subsample.vert', 'densify.vert', 'equations.vert', 'hole_fill.vert', 'motion_search.vert', 'sor.vert', 'splat.vert', 'vs.vert'] +shaders += ['add_base_flow.frag', 'blend.frag', 'chroma_subsample.frag', 'densify.frag', 'derivatives.frag', 'diffusivity.frag', + 'equations.frag', 'gray.frag', 'hole_blend.frag', 'hole_fill.frag', 'motion_search.frag', 'prewarp.frag', 'resize_flow.frag', + 'sobel.frag', 'sor.frag', 'splat.frag'] + +foreach shader : shaders + run_command('ln', '-s', join_paths(meson.current_source_dir(), shader), meson.current_build_dir()) +endforeach + +bin2h = executable('bin2h', 'bin2h.cpp') +bin2h_gen = generator(bin2h, \ + output : ['@PLAINNAME@.cpp'], + arguments : ['@INPUT@', '@PLAINNAME@', '@OUTPUT@']) +shader_srcs = bin2h_gen.process(shaders) +srcs += shader_srcs + +executable('futatabi', srcs, dependencies: [qt5deps, libjpegdep, movitdep, libmicrohttpddep, protobufdep, sqlite3dep, vax11dep, vadrmdep, x11dep, libavformatdep, libavcodecdep, libavutildep, libswscaledep]) +executable('flow', 'flow_main.cpp', 'flow.cpp', 'gpu_timers.cpp', shader_srcs, dependencies: [epoxydep, sdl2dep, sdl2_imagedep]) +executable('eval', 'eval.cpp', 'util.cpp') +executable('vis', 'vis.cpp', 'util.cpp') diff --git a/metacube2.cpp b/futatabi/metacube2.cpp similarity index 100% rename from metacube2.cpp rename to futatabi/metacube2.cpp diff --git a/metacube2.h b/futatabi/metacube2.h similarity index 100% rename from metacube2.h rename to futatabi/metacube2.h diff --git a/motion_search.frag b/futatabi/motion_search.frag similarity index 100% rename from motion_search.frag rename to futatabi/motion_search.frag diff --git a/motion_search.vert b/futatabi/motion_search.vert similarity index 100% rename from motion_search.vert rename to futatabi/motion_search.vert diff --git a/mux.cpp b/futatabi/mux.cpp similarity index 100% rename from mux.cpp rename to futatabi/mux.cpp diff --git a/mux.h b/futatabi/mux.h similarity index 100% rename from mux.h rename to futatabi/mux.h diff --git a/player.cpp b/futatabi/player.cpp similarity index 100% rename from player.cpp rename to futatabi/player.cpp diff --git a/player.h b/futatabi/player.h similarity index 100% rename from player.h rename to futatabi/player.h diff --git a/post_to_main_thread.h b/futatabi/post_to_main_thread.h similarity index 100% rename from post_to_main_thread.h rename to futatabi/post_to_main_thread.h diff --git a/prewarp.frag b/futatabi/prewarp.frag similarity index 100% rename from prewarp.frag rename to futatabi/prewarp.frag diff --git a/queue_spot_holder.h b/futatabi/queue_spot_holder.h similarity index 100% rename from queue_spot_holder.h rename to futatabi/queue_spot_holder.h diff --git a/ref_counted_gl_sync.h b/futatabi/ref_counted_gl_sync.h similarity index 100% rename from ref_counted_gl_sync.h rename to futatabi/ref_counted_gl_sync.h diff --git a/resize_flow.frag b/futatabi/resize_flow.frag similarity index 100% rename from resize_flow.frag rename to futatabi/resize_flow.frag diff --git a/sobel.frag b/futatabi/sobel.frag similarity index 100% rename from sobel.frag rename to futatabi/sobel.frag diff --git a/sor.frag b/futatabi/sor.frag similarity index 100% rename from sor.frag rename to futatabi/sor.frag diff --git a/sor.vert b/futatabi/sor.vert similarity index 100% rename from sor.vert rename to futatabi/sor.vert diff --git a/splat.frag b/futatabi/splat.frag similarity index 100% rename from splat.frag rename to futatabi/splat.frag diff --git a/splat.vert b/futatabi/splat.vert similarity index 100% rename from splat.vert rename to futatabi/splat.vert diff --git a/state.proto b/futatabi/state.proto similarity index 100% rename from state.proto rename to futatabi/state.proto diff --git a/timebase.h b/futatabi/timebase.h similarity index 100% rename from timebase.h rename to futatabi/timebase.h diff --git a/util.cpp b/futatabi/util.cpp similarity index 100% rename from util.cpp rename to futatabi/util.cpp diff --git a/util.h b/futatabi/util.h similarity index 100% rename from util.h rename to futatabi/util.h diff --git a/vaapi_jpeg_decoder.cpp b/futatabi/vaapi_jpeg_decoder.cpp similarity index 100% rename from vaapi_jpeg_decoder.cpp rename to futatabi/vaapi_jpeg_decoder.cpp diff --git a/vaapi_jpeg_decoder.h b/futatabi/vaapi_jpeg_decoder.h similarity index 100% rename from vaapi_jpeg_decoder.h rename to futatabi/vaapi_jpeg_decoder.h diff --git a/video_stream.cpp b/futatabi/video_stream.cpp similarity index 100% rename from video_stream.cpp rename to futatabi/video_stream.cpp diff --git a/video_stream.h b/futatabi/video_stream.h similarity index 100% rename from video_stream.h rename to futatabi/video_stream.h diff --git a/vis.cpp b/futatabi/vis.cpp similarity index 100% rename from vis.cpp rename to futatabi/vis.cpp diff --git a/vs.vert b/futatabi/vs.vert similarity index 100% rename from vs.vert rename to futatabi/vs.vert diff --git a/ycbcr_converter.cpp b/futatabi/ycbcr_converter.cpp similarity index 100% rename from ycbcr_converter.cpp rename to futatabi/ycbcr_converter.cpp diff --git a/ycbcr_converter.h b/futatabi/ycbcr_converter.h similarity index 100% rename from ycbcr_converter.h rename to futatabi/ycbcr_converter.h diff --git a/meson.build b/meson.build index 410d713..6c13d8c 100644 --- a/meson.build +++ b/meson.build @@ -1,71 +1,2 @@ project('futatabi', 'cpp') -qt5 = import('qt5') -protoc = find_program('protoc') - -epoxydep = dependency('epoxy') -libavcodecdep = dependency('libavcodec') -libavformatdep = dependency('libavformat') -libavutildep = dependency('libavutil') -libjpegdep = dependency('libjpeg') -libmicrohttpddep = dependency('libmicrohttpd') -libswscaledep = dependency('libswscale') -movitdep = dependency('movit') -protobufdep = dependency('protobuf') -qt5deps = dependency('qt5', modules: ['Core', 'Gui', 'Widgets', 'OpenGLExtensions', 'OpenGL', 'PrintSupport']) -sdl2_imagedep = dependency('SDL2_image') -sdl2dep = dependency('sdl2') -sqlite3dep = dependency('sqlite3') -vadrmdep = dependency('libva-drm') -vax11dep = dependency('libva-x11') -x11dep = dependency('x11') - -# Add the right MOVIT_SHADER_DIR definition. -r = run_command('pkg-config', '--variable=shaderdir', 'movit') -if r.returncode() != 0 - error('Movit pkg-config installation is broken.') -endif -add_global_arguments('-DMOVIT_SHADER_DIR="' + r.stdout().strip() + '"', language: 'cpp') - -# Protobuf compilation. -gen = generator(protoc, \ - output : ['@BASENAME@.pb.cc', '@BASENAME@.pb.h'], - arguments : ['--proto_path=@CURRENT_SOURCE_DIR@', '--cpp_out=@BUILD_DIR@', '@INPUT@']) -proto_generated = gen.process('state.proto', 'frame.proto') - -# Preprocess Qt as needed. -moc_files = qt5.preprocess( - moc_headers: ['mainwindow.h', 'jpeg_frame_view.h', 'clip_list.h'], - ui_files: ['mainwindow.ui'], - dependencies: qt5deps) - -# Flow objects. -srcs = ['flow.cpp', 'gpu_timers.cpp'] - -# All the other files. -srcs += ['ffmpeg_raii.cpp', 'main.cpp', 'player.cpp', 'httpd.cpp', 'mux.cpp', 'metacube2.cpp', 'video_stream.cpp', 'context.cpp', 'chroma_subsampler.cpp'] -srcs += ['vaapi_jpeg_decoder.cpp', 'memcpy_interleaved.cpp', 'db.cpp', 'disk_space_estimator.cpp', 'ycbcr_converter.cpp', 'flags.cpp'] -srcs += ['mainwindow.cpp', 'jpeg_frame_view.cpp', 'clip_list.cpp', 'frame_on_disk.cpp'] -srcs += moc_files -srcs += proto_generated - -# Shaders needed at runtime. -shaders = ['chroma_subsample.vert', 'densify.vert', 'equations.vert', 'hole_fill.vert', 'motion_search.vert', 'sor.vert', 'splat.vert', 'vs.vert'] -shaders += ['add_base_flow.frag', 'blend.frag', 'chroma_subsample.frag', 'densify.frag', 'derivatives.frag', 'diffusivity.frag', - 'equations.frag', 'gray.frag', 'hole_blend.frag', 'hole_fill.frag', 'motion_search.frag', 'prewarp.frag', 'resize_flow.frag', - 'sobel.frag', 'sor.frag', 'splat.frag'] - -foreach shader : shaders - run_command('ln', '-s', join_paths(meson.current_source_dir(), shader), meson.current_build_dir()) -endforeach - -bin2h = executable('bin2h', 'bin2h.cpp') -bin2h_gen = generator(bin2h, \ - output : ['@PLAINNAME@.cpp'], - arguments : ['@INPUT@', '@PLAINNAME@', '@OUTPUT@']) -shader_srcs = bin2h_gen.process(shaders) -srcs += shader_srcs - -executable('futatabi', srcs, dependencies: [qt5deps, libjpegdep, movitdep, libmicrohttpddep, protobufdep, sqlite3dep, vax11dep, vadrmdep, x11dep, libavformatdep, libavcodecdep, libavutildep, libswscaledep]) -executable('flow', 'flow_main.cpp', 'flow.cpp', 'gpu_timers.cpp', shader_srcs, dependencies: [epoxydep, sdl2dep, sdl2_imagedep]) -executable('eval', 'eval.cpp', 'util.cpp') -executable('vis', 'vis.cpp', 'util.cpp') +subdir('futatabi') -- 2.39.2