From 1e68416384c471f1806730d98647eb558f8e3108 Mon Sep 17 00:00:00 2001 From: Good Guy Date: Mon, 9 Feb 2026 16:46:07 -0700 Subject: [PATCH] Credit Andrew - re-enable yuva16 formats with environment variable, add remap video codec for Termux, modify Makefile.am for potential parallel make install --- cinelerra-5.1/Makefile.am | 14 +++++++------- cinelerra-5.1/cinelerra/ffmpeg.C | 2 ++ cinelerra-5.1/cinelerra/mwindow.C | 22 ++++++++++++++-------- cinelerra-5.1/ffmpeg/video/ffv1_vulkan.mov | 8 ++++++++ cinelerra-5.1/msg/txt | 19 ++++++++----------- 5 files changed, 39 insertions(+), 26 deletions(-) create mode 100644 cinelerra-5.1/ffmpeg/video/ffv1_vulkan.mov diff --git a/cinelerra-5.1/Makefile.am b/cinelerra-5.1/Makefile.am index f51c0d5f..597bd9ce 100644 --- a/cinelerra-5.1/Makefile.am +++ b/cinelerra-5.1/Makefile.am @@ -77,9 +77,9 @@ dvl_uninstall: rm -f Makefile # with-libzmpeg3 -zmp_install: +zmp_install: bin_install cd bin; $(inst_sh) "$(DESTDIR)$(bindir)" \ - zmpeg3{cc2txt,ifochk} + zmpeg3cc2txt zmpeg3ifochk cd bin; $(inst_sh) "$(DESTDIR)$(WANT_CINLIB_DIR)" \ hveg2enc mpeg2enc mplex mplexlo @@ -87,9 +87,9 @@ zmp_uninstall: rm -f "$(DESTDIR)$(bindir)"/zmpeg3{cc2txt,ifochk} # with-libzmpeg3 without thirdparty -zmp_install_nothird: +zmp_install_nothird: bin_install cd bin; $(inst_sh) "$(DESTDIR)$(bindir)" \ - zmpeg3{cc2txt,ifochk} + zmpeg3cc2txt zmpeg3ifochk cd bin; $(inst_sh) "$(DESTDIR)$(WANT_CINLIB_DIR)" \ hveg2enc mplexlo @@ -98,7 +98,7 @@ zmp_uninstall_nothird: # with-commercial -com_install: +com_install: bin_install cd bin; $(inst_sh) "$(DESTDIR)$(bindir)" cin_db cd bin; $(inst_sh) "$(DESTDIR)$(WANT_CINLIB_DIR)" cutads @@ -106,14 +106,14 @@ com_uninstall: rm -f "$(DESTDIR)$(bindir)/cin_db" # with-ladspa -lad_install: +lad_install: bin_install cd bin/ladspa; $(inst_sh) "$(DESTDIR)$(WANT_LADSPA_DIR)" . lad_uninstall: rm -rf "$(DESTDIR)$(WANT_LADSPA_DIR)" # with-lv2 -lv2_install: +lv2_install: bin_install cd bin; $(inst_sh) "$(DESTDIR)$(WANT_CINLIB_DIR)" lv2ui cd bin; $(inst_sh) "$(DESTDIR)$(datadir)/$(WANT_CIN)" \ lv2 lv2_blacklist.txt diff --git a/cinelerra-5.1/cinelerra/ffmpeg.C b/cinelerra-5.1/cinelerra/ffmpeg.C index 36fc196d..1e0ad84b 100644 --- a/cinelerra-5.1/cinelerra/ffmpeg.C +++ b/cinelerra-5.1/cinelerra/ffmpeg.C @@ -376,6 +376,7 @@ GET_HW_PIXFMT(vdpau, AV_PIX_FMT_VDPAU) GET_HW_PIXFMT(cuda, AV_PIX_FMT_CUDA) GET_HW_PIXFMT(nv12, AV_PIX_FMT_NV12) GET_HW_PIXFMT(vulkan, AV_PIX_FMT_VULKAN) +GET_HW_PIXFMT(mediacodec, AV_PIX_FMT_MEDIACODEC) static enum AVPixelFormat get_hw_format(AVCodecContext *ctx, const enum AVPixelFormat *pix_fmts) @@ -388,6 +389,7 @@ static enum AVPixelFormat get_hw_format(AVCodecContext *ctx, case AV_PIX_FMT_CUDA: ctx->get_format = get_hw_cuda; return *p; case AV_PIX_FMT_NV12: ctx->get_format = get_hw_nv12; return *p; case AV_PIX_FMT_VULKAN: ctx->get_format = get_hw_vulkan; return *p; + case AV_PIX_FMT_MEDIACODEC: ctx->get_format = get_hw_mediacodec; return *p; default: fprintf(stderr, "Unknown HW surface format: %s\n", av_get_pix_fmt_name(*p)); diff --git a/cinelerra-5.1/cinelerra/mwindow.C b/cinelerra-5.1/cinelerra/mwindow.C index 1291b992..0cb1e23b 100644 --- a/cinelerra-5.1/cinelerra/mwindow.C +++ b/cinelerra-5.1/cinelerra/mwindow.C @@ -1710,16 +1710,20 @@ void MWindow::init_channeldb() void MWindow::init_menus() { char string[BCTEXTLEN]; + int allow_old_16bpc = 0; + if (getenv("ALLOW_OLD_16BPC")) allow_old_16bpc = 1; // Color Models BC_CModels::to_text(string, BC_RGB888); colormodels.append(new ColormodelItem(string, BC_RGB888)); BC_CModels::to_text(string, BC_RGBA8888); colormodels.append(new ColormodelItem(string, BC_RGBA8888)); -// BC_CModels::to_text(string, BC_RGB161616); -// colormodels.append(new ColormodelItem(string, BC_RGB161616)); -// BC_CModels::to_text(string, BC_RGBA16161616); -// colormodels.append(new ColormodelItem(string, BC_RGBA16161616)); +if(allow_old_16bpc) { + BC_CModels::to_text(string, BC_RGB161616); + colormodels.append(new ColormodelItem(string, BC_RGB161616)); + BC_CModels::to_text(string, BC_RGBA16161616); + colormodels.append(new ColormodelItem(string, BC_RGBA16161616)); +} BC_CModels::to_text(string, BC_RGB_FLOAT); colormodels.append(new ColormodelItem(string, BC_RGB_FLOAT)); BC_CModels::to_text(string, BC_RGBA_FLOAT); @@ -1728,10 +1732,12 @@ void MWindow::init_menus() colormodels.append(new ColormodelItem(string, BC_YUV888)); BC_CModels::to_text(string, BC_YUVA8888); colormodels.append(new ColormodelItem(string, BC_YUVA8888)); -// BC_CModels::to_text(string, BC_YUV161616); -// colormodels.append(new ColormodelItem(string, BC_YUV161616)); -// BC_CModels::to_text(string, BC_YUVA16161616); -// colormodels.append(new ColormodelItem(string, BC_YUVA16161616)); +if(allow_old_16bpc) { + BC_CModels::to_text(string, BC_YUV161616); + colormodels.append(new ColormodelItem(string, BC_YUV161616)); + BC_CModels::to_text(string, BC_YUVA16161616); + colormodels.append(new ColormodelItem(string, BC_YUVA16161616)); +} #define ILACEPROJECTMODELISTADD(x) ilacemode_to_text(string, x); \ interlace_project_modes.append(new InterlacemodeItem(string, x)); diff --git a/cinelerra-5.1/ffmpeg/video/ffv1_vulkan.mov b/cinelerra-5.1/ffmpeg/video/ffv1_vulkan.mov new file mode 100644 index 00000000..06be7052 --- /dev/null +++ b/cinelerra-5.1/ffmpeg/video/ffv1_vulkan.mov @@ -0,0 +1,8 @@ +mov hevc_vulkan +cin_pix_fmt=nv12 +cin_hw_device=vulkan +#coder=0 +#context=1 +#g=1 +level=4 +strict=-2 diff --git a/cinelerra-5.1/msg/txt b/cinelerra-5.1/msg/txt index 95ff1a8e..f2904b72 100644 --- a/cinelerra-5.1/msg/txt +++ b/cinelerra-5.1/msg/txt @@ -3,20 +3,17 @@ For usage help, refer to the following: https://cinelerra-gg.org/download/CinelerraGG_Manual.pdf http://g-raffa.eu/Cinelerra/HOWTO/basics.html . -2025 December changes of note: - Libtheora updated from 1.1.1 to 1.2.0. - Modifications to accomodate more strict Debian 13. -2025 November changes of note: - FFmpeg library has been updated for version 8.0. -2025 March/April changes of note: +2026 New Features of note: +. +2025 New Features of note: + BlendAlgebra and BlendProgram major blending enhancements + have been implemented and documented in the Manual. + Updated libraries include: + FFmpeg library has been updated for version 8.0. + Libtheora to 1.2.0, Tiff to 4.7.0, Flac to 1.5.0. An additional SYSLIB Blend Program of tone_mapping.bp has been created for tonemapping an HDR media and report its values within the range (0, 1.0). - Tiff has been updated to version 4.7.0. -2025 January/February changes of note: - BlendAlgebra and BlendProgram major blending enhancements - have been implemented and documented in the Manual. - Flac library has been updated from 1.4.3 to 1.5.0. . 2024 New Features of note: Building with oneVPL now available using --with-onevpl. -- 2.34.1