So I played around lcms2 2.13.1 integration in cingg build system for ffmpeg and it appear to work - at least build works and I can see iccgen/iccdetect filters ... Note, lcms2 tarball not included due to size Note that ffmpeg also demand lcms2 >= 2.13 We also can try and get in ffmpeg.git patches hopefully enabling automatic icc profile support at least for input images ...
Thank you very much. A little of my silly questions: I use Argyll cms + colord to create the display profile and load it system-wide. Does lcms2 only impact CinGG's internal ffmpeg or can there be problems? Once you build lcms2 in CinGG how do you use it?
вт, 23 авг. 2022 г., 10:30 Andrea paz <[email protected]>:
Thank you very much. A little of my silly questions:
I use Argyll cms + colord to create the display profile and load it system-wide. Does lcms2 only impact CinGG's internal ffmpeg or can there be problems?
In our case I hope it will only impact internal ffmpeg copy - initially I ommited -L part of ffmpeg configure and ffmpeg complained about unability to find lcms2
Once you build lcms2 in CinGG how do you use it?
https://trac.ffmpeg.org/ticket/9673 --- As of 2cb0cebd11eb90dfcccac5c258af1003bd4f17d2, ffmpeg is capable of parsing embedded ICC profiles and inferring the colorimetry tags. Currently, this is not automatic, but must be manually requested by inserting a -vf iccdetect filter. -- So I guess by applying videofilter opts file to (image) media, in our case? Ffmpeg.git should be able to detect it by setting demuxer flag, something I hope to experiment with soon.
I downloaded lcms2-2.13.1.tar.gz from https://github.com/mm2/Little-CMS/releases and put it in .../thirdparty/src. Maybe tarball is no good? Where did you download it from? I applied 0005-add-lcms2-2.13.1-for-ffmpeg-5.1.patch without errors. I did the compilation and have a crash. I attach the cin5.log. PS: Whenever I compile, autogen.sh always produces a warning for me, even though everything then works normally. The warning is: libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, libtoolize: and rerunning libtoolize and aclocal.
вт, 23 авг. 2022 г., 14:34 Andrea paz <[email protected]>:
I downloaded lcms2-2.13.1.tar.gz from https://github.com/mm2/Little-CMS/releases and put it in .../thirdparty/src. Maybe tarball is no good? Where did you download it from? I applied 0005-add-lcms2-2.13.1-for-ffmpeg-5.1.patch without errors. I did the compilation and have a crash. I attach the cin5.log.
Oh, it seems I forgot lcms2 includes path ... Build probably worked for me due to system-wide install of lcms2 headers .... Try to add something like this in thirdparty/Makefile git diff thirdparty/Makefile diff --git a/cinelerra-5.1/thirdparty/Makefile b/cinelerra-5.1/thirdparty/Makefile index ab08d7d6..2a01f58d 100644 --- a/cinelerra-5.1/thirdparty/Makefile +++ b/cinelerra-5.1/thirdparty/Makefile @@ -161,6 +161,7 @@ ffmpeg.cfg_params= \ $(call inc_path,libvorbis) \ $(call inc_path,libtheora) \ $(call inc_path,libvpx) \ + $(call inc_path,lcms2) \ $(call inc_path,x264) \ $(call inc_path,x265)" \ --extra-cxxflags="-D__STDC_CONSTANT_MACROS" \
PS: Whenever I compile, autogen.sh always produces a warning for me, even though everything then works normally. The warning is:
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, libtoolize: and rerunning libtoolize and aclocal.
What will happen if you follow this suggestion?
Sorry, but I can't seem to apply git diff. I tried editing the Makefile manually (it's just the line "$(call inc_path,lcms2) \", right?) but then I can't apply the patch. I get stuck here: $ git am /home/paz/patch/*.patch Starting: add lcms2 2.13.1 for ffmpeg 5.1 error: cinelerra-5.1/thirdparty/Makefile: non corrisponde all'indice Patch non riuscita a 0001 add lcms2 2.13.1 for ffmpeg 5.1 suggerimento: Usa 'git am --show-current-patch=diff' per visualizzare la patch non riuscita Una volta risolto questo problema, esegui "git am --continue". Se preferisci saltare questa patch, esegui invece "git am --skip". Per ripristinare il branch originario e terminare il patching, esegui "git am --abort". [paz@arch-paz cinelerra-5.1]$ git am --show-current-patch=diff --- cinelerra-5.1/configure.ac | 6 ++++++ cinelerra-5.1/thirdparty/Makefile | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac index ab06ace9..06c0531d 100644 --- a/cinelerra-5.1/configure.ac +++ b/cinelerra-5.1/configure.ac @@ -494,6 +494,11 @@ PKG_3RD([libbthread],[auto], [ . ]) fi +PKG_3RD([lcms2],[auto], + [lcms2-2.13.1], + [ src/.libs/liblcms2.a ], + [ include ]) + AC_SUBST(STATIC_PKGS) @@ -1042,6 +1047,7 @@ PKG_PROVIDE([sord], [$WANT_LV2]) PKG_PROVIDE([suil], [$WANT_LV2]) PKG_PROVIDE([ffnvcodec], [$WANT_NV]) PKG_PROVIDE([libdpx]) +PKG_PROVIDE([lcms2]) :
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, libtoolize: and rerunning libtoolize and aclocal. What will happen if you follow this suggestion? By making the recommended corrections the warning no longer appears, everything works fine with or without corrections.
вт, 23 авг. 2022 г., 16:51 Andrea paz <[email protected]>:
Sorry, but I can't seem to apply git diff. I tried editing the Makefile manually (it's just the line "$(call inc_path,lcms2) \", right?) but then I can't apply the patch. I get stuck here:
Well, try to apply patch first and edit Makefile afterwards?
$ git am /home/paz/patch/*.patch Starting: add lcms2 2.13.1 for ffmpeg 5.1 error: cinelerra-5.1/thirdparty/Makefile: non corrisponde all'indice Patch non riuscita a 0001 add lcms2 2.13.1 for ffmpeg 5.1 suggerimento: Usa 'git am --show-current-patch=diff' per visualizzare la patch non riuscita Una volta risolto questo problema, esegui "git am --continue". Se preferisci saltare questa patch, esegui invece "git am --skip". Per ripristinare il branch originario e terminare il patching, esegui "git am --abort".
[paz@arch-paz cinelerra-5.1]$ git am --show-current-patch=diff --- cinelerra-5.1/configure.ac | 6 ++++++ cinelerra-5.1/thirdparty/Makefile | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac index ab06ace9..06c0531d 100644 --- a/cinelerra-5.1/configure.ac +++ b/cinelerra-5.1/configure.ac @@ -494,6 +494,11 @@ PKG_3RD([libbthread],[auto], [ . ]) fi
+PKG_3RD([lcms2],[auto], + [lcms2-2.13.1], + [ src/.libs/liblcms2.a ], + [ include ]) +
AC_SUBST(STATIC_PKGS)
@@ -1042,6 +1047,7 @@ PKG_PROVIDE([sord], [$WANT_LV2]) PKG_PROVIDE([suil], [$WANT_LV2]) PKG_PROVIDE([ffnvcodec], [$WANT_NV]) PKG_PROVIDE([libdpx]) +PKG_PROVIDE([lcms2]) :
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, libtoolize: and rerunning libtoolize and aclocal. What will happen if you follow this suggestion? By making the recommended corrections the warning no longer appears, everything works fine with or without corrections.
This could be a really exciting addition -- will have to wait for Andrea to test and give us his opinion. On Mon, Aug 22, 2022 at 5:33 PM Andrew Randrianasulu < [email protected]> wrote:
So I played around lcms2 2.13.1 integration in cingg build system for ffmpeg and it appear to work - at least build works and I can see iccgen/iccdetect filters ...
Note, lcms2 tarball not included due to size
Note that ffmpeg also demand lcms2 >= 2.13
We also can try and get in ffmpeg.git patches hopefully enabling automatic icc profile support at least for input images ...
participants (3)
-
Andrea paz -
Andrew Randrianasulu -
Phyllis Smith