mirror of
https://projects.blender.org/blender/blender.git
synced 2025-01-22 15:32:15 -05:00
974efe7d23
Previously, code related to reading/writing movie files via ffmpeg was scattered around: some under blenkernel, some directly in generic imbuf headers, some under intern/ffmpeg. Some of the files were named with not exactly clear names. Some parts not directly related to movies were including ffmpeg headers directly (rna_scene.cc). What is in this PR: Movie and ffmpeg related code is now under imbuf/movie: - IMB_anim.hh: movie reading, proxy querying, various utility functions. - IMB_movie_enums.hh: simple enum definitions, - IMB_movie_write.hh: movie writing functions. - intern: actual implementation and private headers. - ffmpeg_compat.h: various ffmpeg version difference handling utilities, - ffmpeg_swscale.hh/cc: scaling and format conversion utilities for ffmpeg libswscale, - ffmpeg_util.hh/cc: misc utilities related to ffmpeg, - movie_proxy_indexer.hh/cc: proxies and timecode indexing for movies, - movie_read.hh/cc: decoding of movies into images, - movie_write.cc: encoding of images into movies. - tests: basic ffmpeg library unit tests that previously lived under intern/ffmpeg. Interface changes (at C++ level, no Python API changes): - Mostly just movie related functions that were BKE_ previously, are now IMB_. - I did one large-ish change though, and that is to remove bMovieHandle struct that had pointers to several functions. Now that is IMB_movie_write_begin, IMB_movie_write_append, IMB_movie_write_end functions using a single opaque struct handle. As a result, usages of that in pipeline.cc and render_opengl.cc have changed. Pull Request: https://projects.blender.org/blender/blender/pulls/132074
80 lines
1.4 KiB
CMake
80 lines
1.4 KiB
CMake
# SPDX-FileCopyrightText: 2006 Blender Authors
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
# add_subdirectory(atomic) # header only
|
|
add_subdirectory(atomic)
|
|
add_subdirectory(clog)
|
|
add_subdirectory(ghost)
|
|
add_subdirectory(guardedalloc)
|
|
add_subdirectory(libmv)
|
|
add_subdirectory(memutil)
|
|
add_subdirectory(opencolorio)
|
|
add_subdirectory(opensubdiv)
|
|
add_subdirectory(mikktspace)
|
|
add_subdirectory(eigen)
|
|
add_subdirectory(sky)
|
|
|
|
if(WITH_AUDASPACE)
|
|
add_subdirectory(audaspace)
|
|
endif()
|
|
|
|
if(WITH_MOD_REMESH)
|
|
add_subdirectory(dualcon)
|
|
endif()
|
|
|
|
if(WITH_IK_SOLVER)
|
|
add_subdirectory(iksolver)
|
|
endif()
|
|
|
|
if(WITH_IK_ITASC)
|
|
add_subdirectory(itasc)
|
|
endif()
|
|
|
|
if(WITH_CYCLES)
|
|
add_subdirectory(cycles)
|
|
endif()
|
|
|
|
if(WITH_INTERNATIONAL)
|
|
add_subdirectory(locale)
|
|
endif()
|
|
|
|
if(WITH_BULLET)
|
|
add_subdirectory(rigidbody)
|
|
endif()
|
|
|
|
# only windows needs utf16 converter
|
|
if(WIN32)
|
|
add_subdirectory(utfconv)
|
|
endif()
|
|
|
|
if(WITH_MOD_FLUID)
|
|
add_subdirectory(mantaflow)
|
|
endif()
|
|
|
|
if(WITH_UV_SLIM)
|
|
add_subdirectory(slim)
|
|
endif()
|
|
|
|
if(WITH_OPENVDB)
|
|
add_subdirectory(openvdb)
|
|
endif()
|
|
|
|
if(WITH_QUADRIFLOW)
|
|
add_subdirectory(quadriflow)
|
|
endif()
|
|
|
|
if(UNIX AND NOT APPLE)
|
|
add_subdirectory(libc_compat)
|
|
endif()
|
|
|
|
if(WITH_RENDERDOC)
|
|
add_subdirectory(renderdoc_dynload)
|
|
endif()
|
|
|
|
if(UNIX AND NOT APPLE)
|
|
# Important this comes after "ghost" as it uses includes defined by GHOST's CMake.
|
|
if(WITH_GHOST_WAYLAND AND WITH_GHOST_WAYLAND_DYNLOAD)
|
|
add_subdirectory(wayland_dynload)
|
|
endif()
|
|
endif()
|