Move Windows dep build from MinGW/GCC to msys/MSVC #105502
|
@ -106,7 +106,6 @@ download_source(FLAC)
|
|||
download_source(VPX)
|
||||
download_source(OPUS)
|
||||
download_source(X264)
|
||||
download_source(XVIDCORE)
|
||||
download_source(OPENJPEG)
|
||||
download_source(FFMPEG)
|
||||
download_source(FFTW)
|
||||
|
|
|
@ -321,12 +321,6 @@ set(X264_HASH bb4f7da03936b5a030ed5827133b58eb3f701d7e5dce32cca4ba6df93797d42e)
|
|||
set(X264_HASH_TYPE SHA256)
|
||||
set(X264_FILE x264-${X264_VERSION}.tar.gz)
|
||||
|
||||
set(XVIDCORE_VERSION 1.3.7)
|
||||
set(XVIDCORE_URI https://downloads.xvid.com/downloads/xvidcore-${XVIDCORE_VERSION}.tar.gz)
|
||||
set(XVIDCORE_HASH abbdcbd39555691dd1c9b4d08f0a031376a3b211652c0d8b3b8aa9be1303ce2d)
|
||||
set(XVIDCORE_HASH_TYPE SHA256)
|
||||
set(XVIDCORE_FILE xvidcore-${XVIDCORE_VERSION}.tar.gz)
|
||||
|
||||
set(OPENJPEG_VERSION 2.5.0)
|
||||
set(OPENJPEG_SHORT_VERSION 2.5)
|
||||
set(OPENJPEG_URI https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz)
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
if(WIN32)
|
||||
set(XVIDCORE_EXTRA_ARGS --host=${MINGW_HOST})
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(external_xvidcore
|
||||
URL file://${PACKAGE_DIR}/${XVIDCORE_FILE}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH ${XVIDCORE_HASH_TYPE}=${XVIDCORE_HASH}
|
||||
PREFIX ${BUILD_DIR}/xvidcore
|
||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xvidcore/src/external_xvidcore/build/generic && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/xvidcore ${XVIDCORE_EXTRA_ARGS}
|
||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xvidcore/src/external_xvidcore/build/generic && make -j${MAKE_THREADS}
|
||||
INSTALL_COMMAND ${CONFIGURE_ENV} &&
|
||||
${CMAKE_COMMAND} -E remove ${LIBDIR}/xvidcore/lib/* && # clean because re-installing fails otherwise
|
||||
cd ${BUILD_DIR}/xvidcore/src/external_xvidcore/build/generic && make install
|
||||
INSTALL_DIR ${LIBDIR}/xvidcore
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
ExternalProject_Add_Step(external_xvidcore after_install
|
||||
COMMAND ${CMAKE_COMMAND} -E rename ${LIBDIR}/xvidcore/lib/xvidcore.a ${LIBDIR}/xvidcore/lib/libxvidcore.a || true
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${LIBDIR}/xvidcore/lib/xvidcore.dll.a
|
||||
DEPENDEES install
|
||||
)
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
set_target_properties(external_xvidcore PROPERTIES FOLDER Mingw)
|
||||
endif()
|
|
@ -18,7 +18,6 @@ graph[autosize = false, size = "25.7,8.3!", resolution = 300];
|
|||
external_embree -- external_tbb;
|
||||
external_ffmpeg -- external_zlib;
|
||||
external_ffmpeg -- external_openjpeg;
|
||||
external_ffmpeg -- external_xvidcore;
|
||||
external_ffmpeg -- external_x264;
|
||||
external_ffmpeg -- external_opus;
|
||||
external_ffmpeg -- external_vpx;
|
||||
|
|
|
@ -152,7 +152,7 @@ if(WITH_CODEC_FFMPEG)
|
|||
avcodec avdevice avformat avutil
|
||||
mp3lame ogg opus swresample swscale
|
||||
theora theoradec theoraenc vorbis vorbisenc
|
||||
vorbisfile vpx x264 xvidcore)
|
||||
vorbisfile vpx x264)
|
||||
if(EXISTS ${LIBDIR}/ffmpeg/lib/libaom.a)
|
||||
list(APPEND FFMPEG_FIND_COMPONENTS aom)
|
||||
endif()
|
||||
|
|
|
@ -242,8 +242,7 @@ if(WITH_CODEC_FFMPEG)
|
|||
theora theoradec theoraenc
|
||||
vorbis vorbisenc vorbisfile ogg
|
||||
vpx
|
||||
x264
|
||||
xvidcore)
|
||||
x264)
|
||||
if((DEFINED LIBDIR) AND (EXISTS ${LIBDIR}/ffmpeg/lib/libaom.a))
|
||||
list(APPEND FFMPEG_FIND_COMPONENTS aom)
|
||||
endif()
|
||||
|
|
|
@ -155,7 +155,6 @@ FFMPEG_TEST_VCODEC_NAME(libtheora, AV_PIX_FMT_YUV420P)
|
|||
FFMPEG_TEST_VCODEC_NAME(libx264, AV_PIX_FMT_YUV420P)
|
||||
FFMPEG_TEST_VCODEC_NAME(libvpx, AV_PIX_FMT_YUV420P)
|
||||
FFMPEG_TEST_VCODEC_NAME(libopenjpeg, AV_PIX_FMT_YUV420P)
|
||||
FFMPEG_TEST_VCODEC_NAME(libxvid, AV_PIX_FMT_YUV420P)
|
||||
/* aom's AV1 encoder is "libaom-av1". FFMPEG_TEST_VCODEC_NAME(libaom-av1, ...)
|
||||
* will not work because the dash will not work with the test macro. */
|
||||
TEST(ffmpeg, libaom_av1_AV_PIX_FMT_YUV420P)
|
||||
|
|
|
@ -399,7 +399,7 @@ class RENDER_PT_encoding(RenderOutputButtonsPanel, Panel):
|
|||
@classmethod
|
||||
def poll(cls, context):
|
||||
rd = context.scene.render
|
||||
return rd.image_settings.file_format in {'FFMPEG', 'XVID', 'H264', 'THEORA'}
|
||||
return rd.image_settings.file_format in {'FFMPEG', 'H264', 'THEORA'}
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
|
@ -426,7 +426,7 @@ class RENDER_PT_encoding_video(RenderOutputButtonsPanel, Panel):
|
|||
@classmethod
|
||||
def poll(cls, context):
|
||||
rd = context.scene.render
|
||||
return rd.image_settings.file_format in {'FFMPEG', 'XVID', 'H264', 'THEORA'}
|
||||
return rd.image_settings.file_format in {'FFMPEG', 'H264', 'THEORA'}
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
|
@ -507,7 +507,7 @@ class RENDER_PT_encoding_audio(RenderOutputButtonsPanel, Panel):
|
|||
@classmethod
|
||||
def poll(cls, context):
|
||||
rd = context.scene.render
|
||||
return rd.image_settings.file_format in {'FFMPEG', 'XVID', 'H264', 'THEORA'}
|
||||
return rd.image_settings.file_format in {'FFMPEG', 'H264', 'THEORA'}
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
|
|
|
@ -22,7 +22,6 @@ enum {
|
|||
FFMPEG_MOV = 4,
|
||||
FFMPEG_DV = 5,
|
||||
FFMPEG_H264 = 6,
|
||||
FFMPEG_XVID = 7,
|
||||
FFMPEG_FLV = 8,
|
||||
FFMPEG_MKV = 9,
|
||||
FFMPEG_OGG = 10,
|
||||
|
@ -39,7 +38,6 @@ enum {
|
|||
FFMPEG_PRESET_DV = 4,
|
||||
FFMPEG_PRESET_H264 = 5,
|
||||
FFMPEG_PRESET_THEORA = 6,
|
||||
FFMPEG_PRESET_XVID = 7,
|
||||
FFMPEG_PRESET_AV1 = 8,
|
||||
};
|
||||
|
||||
|
|
|
@ -189,7 +189,6 @@ bool BKE_imtype_is_movie(const char imtype)
|
|||
case R_IMF_IMTYPE_FFMPEG:
|
||||
case R_IMF_IMTYPE_H264:
|
||||
case R_IMF_IMTYPE_THEORA:
|
||||
case R_IMF_IMTYPE_XVID:
|
||||
case R_IMF_IMTYPE_AV1:
|
||||
return true;
|
||||
}
|
||||
|
@ -408,7 +407,6 @@ static int image_path_ext_from_imformat_impl(const char imtype,
|
|||
R_IMF_IMTYPE_FFMPEG,
|
||||
R_IMF_IMTYPE_H264,
|
||||
R_IMF_IMTYPE_THEORA,
|
||||
R_IMF_IMTYPE_XVID,
|
||||
R_IMF_IMTYPE_AV1))
|
||||
{
|
||||
r_ext[ext_num++] = ".png";
|
||||
|
@ -597,7 +595,6 @@ void BKE_image_format_to_imbuf(ImBuf *ibuf, const ImageFormatData *imf)
|
|||
R_IMF_IMTYPE_FFMPEG,
|
||||
R_IMF_IMTYPE_H264,
|
||||
R_IMF_IMTYPE_THEORA,
|
||||
R_IMF_IMTYPE_XVID,
|
||||
R_IMF_IMTYPE_AV1))
|
||||
{
|
||||
ibuf->ftype = IMB_FTYPE_PNG;
|
||||
|
|
|
@ -118,7 +118,6 @@ bMovieHandle *BKE_movie_handle_get(const char imtype)
|
|||
if (ELEM(imtype,
|
||||
R_IMF_IMTYPE_FFMPEG,
|
||||
R_IMF_IMTYPE_H264,
|
||||
R_IMF_IMTYPE_XVID,
|
||||
R_IMF_IMTYPE_THEORA,
|
||||
R_IMF_IMTYPE_AV1))
|
||||
{
|
||||
|
|
|
@ -287,11 +287,6 @@ static const char **get_file_extensions(int format)
|
|||
return rv;
|
||||
}
|
||||
|
||||
case FFMPEG_XVID: {
|
||||
/* FIXME: avi for now... */
|
||||
static const char *rv[] = {".avi", NULL};
|
||||
return rv;
|
||||
}
|
||||
case FFMPEG_FLV: {
|
||||
static const char *rv[] = {".flv", NULL};
|
||||
return rv;
|
||||
|
@ -807,12 +802,6 @@ static AVStream *alloc_video_stream(FFMpegContext *context,
|
|||
c->pix_fmt = AV_PIX_FMT_YUV422P;
|
||||
}
|
||||
|
||||
if (context->ffmpeg_type == FFMPEG_XVID) {
|
||||
/* arghhhh ... */
|
||||
c->pix_fmt = AV_PIX_FMT_YUV420P;
|
||||
c->codec_tag = (('D' << 24) + ('I' << 16) + ('V' << 8) + 'X');
|
||||
}
|
||||
|
||||
/* Keep lossless encodes in the RGB domain. */
|
||||
if (codec_id == AV_CODEC_ID_HUFFYUV) {
|
||||
if (rd->im_format.planes == R_IMF_PLANES_RGBA) {
|
||||
|
@ -1175,9 +1164,6 @@ static int start_ffmpeg_impl(FFMpegContext *context,
|
|||
case FFMPEG_H264:
|
||||
video_codec = AV_CODEC_ID_H264;
|
||||
break;
|
||||
case FFMPEG_XVID:
|
||||
video_codec = AV_CODEC_ID_MPEG4;
|
||||
break;
|
||||
case FFMPEG_FLV:
|
||||
video_codec = AV_CODEC_ID_FLV1;
|
||||
break;
|
||||
|
@ -1708,12 +1694,7 @@ void BKE_ffmpeg_preset_set(RenderData *rd, int preset)
|
|||
break;
|
||||
|
||||
case FFMPEG_PRESET_THEORA:
|
||||
case FFMPEG_PRESET_XVID:
|
||||
if (preset == FFMPEG_PRESET_XVID) {
|
||||
rd->ffcodecdata.type = FFMPEG_AVI;
|
||||
rd->ffcodecdata.codec = AV_CODEC_ID_MPEG4;
|
||||
}
|
||||
else if (preset == FFMPEG_PRESET_THEORA) {
|
||||
if (preset == FFMPEG_PRESET_THEORA) {
|
||||
rd->ffcodecdata.type = FFMPEG_OGG; /* XXX broken */
|
||||
rd->ffcodecdata.codec = AV_CODEC_ID_THEORA;
|
||||
}
|
||||
|
@ -1766,12 +1747,6 @@ void BKE_ffmpeg_image_type_verify(RenderData *rd, const ImageFormatData *imf)
|
|||
audio = 1;
|
||||
}
|
||||
}
|
||||
else if (imf->imtype == R_IMF_IMTYPE_XVID) {
|
||||
if (rd->ffcodecdata.codec != AV_CODEC_ID_MPEG4) {
|
||||
BKE_ffmpeg_preset_set(rd, FFMPEG_PRESET_XVID);
|
||||
audio = 1;
|
||||
}
|
||||
}
|
||||
else if (imf->imtype == R_IMF_IMTYPE_THEORA) {
|
||||
if (rd->ffcodecdata.codec != AV_CODEC_ID_THEORA) {
|
||||
BKE_ffmpeg_preset_set(rd, FFMPEG_PRESET_THEORA);
|
||||
|
|
|
@ -66,7 +66,7 @@ const char *imb_ext_image[] = {
|
|||
const char *imb_ext_movie[] = {
|
||||
".avi", ".flc", ".mov", ".movie", ".mp4", ".m4v", ".m2v", ".m2t", ".m2ts", ".mts",
|
||||
".ts", ".mv", ".avs", ".wmv", ".ogv", ".ogg", ".r3d", ".dv", ".mpeg", ".mpg",
|
||||
".mpg2", ".vob", ".mkv", ".flv", ".divx", ".xvid", ".mxf", ".webm", nullptr,
|
||||
".mpg2", ".vob", ".mkv", ".flv", ".divx", ".mxf", ".webm", nullptr,
|
||||
};
|
||||
|
||||
/** Sort of wrong having audio extensions in imbuf. */
|
||||
|
|
|
@ -489,7 +489,6 @@ typedef struct ImageFormatData {
|
|||
#define R_IMF_IMTYPE_DDS 29
|
||||
#define R_IMF_IMTYPE_JP2 30
|
||||
#define R_IMF_IMTYPE_H264 31
|
||||
#define R_IMF_IMTYPE_XVID 32
|
||||
#define R_IMF_IMTYPE_THEORA 33
|
||||
#define R_IMF_IMTYPE_PSD 34
|
||||
#define R_IMF_IMTYPE_WEBP 35
|
||||
|
|
Loading…
Reference in New Issue