Giter Club home page Giter Club logo

Comments (8)

timothymowens avatar timothymowens commented on September 2, 2024

I believe this is an issue that needs to be created for the frei0r project. It looks like they recently added the kaleid0sc0pe filter with v2.3.1, which seems to be breaking complilation when building for Windows via mingw.

I submitted a ticket to them: dyne/frei0r#178

from ffmpeg-windows-build-helpers.

timothymowens avatar timothymowens commented on September 2, 2024

As a side note, I made the following edit to the build_frei0r() function in the cross_compile_ffmpeg.sh script and was able to successfully move on past the frei0r issue. This simply downloads the previous v2.3.0 build instead of latest:

build_frei0r() {
  #do_git_checkout https://github.com/dyne/frei0r.git
  #cd frei0r_git
  download_and_unpack_file https://github.com/dyne/frei0r/archive/refs/tags/v2.3.0.tar.gz frei0r-2.3.0
  cd frei0r-2.3.0
    sed -i.bak 's/-arch i386//' CMakeLists.txt # OS X https://github.com/dyne/frei0r/issues/64
    do_cmake_and_install "-DWITHOUT_OPENCV=1" # XXX could look at this more...

    mkdir -p $cur_dir/redist # Strip and pack shared libraries.
    if [ $bits_target = 32 ]; then
      local arch=x86
    else
      local arch=x86_64
    fi
    archive="$cur_dir/redist/frei0r-plugins-${arch}-$(git describe --tags).7z"
    if [[ ! -f "$archive.done" ]]; then
      for sharedlib in $mingw_w64_x86_64_prefix/lib/frei0r-1/*.dll; do
        ${cross_prefix}strip $sharedlib
      done
      for doc in AUTHORS ChangeLog COPYING README.md; do
        sed "s/$/\r/" $doc > $mingw_w64_x86_64_prefix/lib/frei0r-1/$doc.txt
      done
      7z a -mx=9 $archive $mingw_w64_x86_64_prefix/lib/frei0r-1 && rm -f $mingw_w64_x86_64_prefix/lib/frei0r-1/*.txt
      touch "$archive.done" # for those with no 7z so it won't restrip every time
    fi
  cd ..
}

from ffmpeg-windows-build-helpers.

mitchcapper avatar mitchcapper commented on September 2, 2024

reverting to the old version works but its still pretty easy to use master and just disable the module with sed or any other string manipulation. Each is independent so I don't think it causes any issues.

from ffmpeg-windows-build-helpers.

Kadigan avatar Kadigan commented on September 2, 2024

Does the script have the ability to "blacklist" known-incompatible lib versions, at least until the issue is resolved (as I understand, it's a mingw issue with using win32 threads and no futures support)? Is it a thing?

from ffmpeg-windows-build-helpers.

mitchcapper avatar mitchcapper commented on September 2, 2024

The frei0r lib is a set of optional filters for ffmpeg that apply things like effects. The kaleid0sc0pe is an arbitrary effect recently added to frei0r. It does require a threads feature that mingw does not by default support (there may be a work around). The first of the frei0r lib however doesn't use those features so simply excluding this specific filter resolves the issue without locking this helper script to static in time frei0r lib.

from ffmpeg-windows-build-helpers.

Kadigan avatar Kadigan commented on September 2, 2024

From what I could see, they're adding some extra checks to verify actual support for those C++11 features, so hopefully this won't show up again in this particular library.

from ffmpeg-windows-build-helpers.

rdp avatar rdp commented on September 2, 2024

should be work arounded now, hopefully, till they merge the check on their end...

from ffmpeg-windows-build-helpers.

Reino17 avatar Reino17 commented on September 2, 2024

I see you're still installing these...

build_mingw_std_threads() {
do_git_checkout https://github.com/meganz/mingw-std-threads.git # it needs std::mutex too :|
cd mingw-std-threads_git
cp *.h "$mingw_w64_x86_64_prefix/include"
cd ..
}

...so why not use them?

sed -i.bak 's/<future>/"mingw.future.h"/' src/filter/kaleid0sc0pe/kaleid0sc0pe.cpp
This works for me.

from ffmpeg-windows-build-helpers.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.