Skip to content

Add support for non-x86 CPU microarchitectures #443

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 26 commits into
base: SNAPSHOT
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
7aea9c7
WIP - this commit isn't currently compiling. Wound up being a major f…
Mar 11, 2025
10beb99
Merge branch 'SNAPSHOT' into javacv-arm64-support
Mar 14, 2025
39ff0b6
Add dummy All.java to spotless exclusion as it breaks it!
Mar 14, 2025
ab3071f
Silence Gradle 10 deprecation warnings RE using space assignment
Mar 14, 2025
7b47021
Bump Kotlin to 1.9.25 to fix Gradle 9 deprecation during build
Mar 15, 2025
f825679
Seems like JavaCV's build plugin might be the way to go to avoid thes…
Mar 15, 2025
0267564
Formatting fix to silence plugin warning
Mar 15, 2025
2cab9da
Deps are happy now. Had to force some versions. TODO: readd spotless …
Mar 17, 2025
7c1a4d5
Remove copied code. This needs manual testing. Think unit tests may b…
Mar 17, 2025
de1b672
Merge remote-tracking branch 'origin/SNAPSHOT' into javacv-arm64-support
Mar 17, 2025
2cacdc7
Fix dep and compilation errors, safely close file handles. We shouldn…
Mar 17, 2025
12571b4
Remove commented out webcam enumeration code, add impl note saying so…
Mar 18, 2025
9d82054
Mark UtilIU.load as deprecated. This method is DANGEROUS - it uses Ja…
Mar 18, 2025
ae77d6a
Readd spotless config
Mar 18, 2025
fad2a69
Change to run CI
Mar 18, 2025
a470c8b
Temp change github actions so we can run on our feature branch
Mar 18, 2025
85e064b
WIP
Mar 18, 2025
764acd7
Temp disable spotless rule
Mar 18, 2025
a9ee20e
Spotless lints
Mar 18, 2025
492efed
Revert "Temp disable spotless rule"
Mar 19, 2025
fd97341
Revert "WIP"
Mar 19, 2025
4a840f8
Revert "Change to run CI"
Mar 19, 2025
8976f02
Remove non-OpenCV-related changes. We can cherry-pick these into thei…
Mar 19, 2025
8dda7eb
Merge branch 'SNAPSHOT' into javacv-arm64-support
Mar 19, 2025
2789b9c
TestUtilImageIO#saveJpeg passing, need to work out why this failed be…
Mar 19, 2025
85b7482
Remove delete assertions as OS file locks present...
Mar 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 4 additions & 7 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,8 @@ project.ext.jsr250_version = '1.0'
project.ext.jsr305_version = '3.0.2'
project.ext.trove4j_version = '3.0.3'

// Which native platforms are supported can be specified in the command line. Otherwise
// the default is to support all of them
if (project.hasProperty("native_arch")) {
project.ext.native_arch = [project.native_arch]
} else {
project.ext.native_arch = ["linux-x86_64", "macosx-x86_64", "windows-x86_64"]
}
project.ext.javacv_version = '1.5.11'
project.ext.gradle_javacpp_platform_version = '1.5.10'

subprojects {
// Abort if this is Android. It requires a different plugins
Expand Down Expand Up @@ -82,6 +77,8 @@ subprojects {
force "com.google.errorprone:error_prone_annotations:$project.errorprone_version"
force "com.google.code.findbugs:jsr305:$project.jsr305_version"
force 'org.checkerframework:checker-qual:2.10.0'
force "org.bytedeco:javacpp:$project.javacv_version"
force "org.bytedeco:javacpp-platform:$project.javacv_version"
}
}

Expand Down
14 changes: 5 additions & 9 deletions integration/boofcv-ffmpeg/build.gradle
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@

// Hack around gradle including stuff it shouldn't
//configurations {
// all*.exclude group: 'org.bytedeco', module: 'javacpp-presets'
//}
plugins {
id 'org.bytedeco.gradle-javacpp-platform' version '1.5.10'
}

dependencies {
api project(':main:boofcv-ip')
api project(':main:boofcv-io')

api group: 'org.bytedeco.javacpp-presets', name: "ffmpeg", version: '4.1-1.4.4'
native_arch.each {
implementation group: 'org.bytedeco.javacpp-presets', name: "ffmpeg", version: '4.1-1.4.4', classifier: "${it}"
}
api (group: 'org.bytedeco', name: 'ffmpeg-platform', version: "7.1-$project.javacv_version")
api (group: 'org.bytedeco', name: 'javacv-platform', version: project.javacv_version)
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,16 @@
import boofcv.io.image.SimpleImageSequence;
import boofcv.struct.image.ImageBase;
import boofcv.struct.image.ImageType;
import org.bytedeco.copiedstuff.FFmpegFrameGrabber;
import org.bytedeco.copiedstuff.Frame;
import org.bytedeco.copiedstuff.FrameGrabber;
import org.bytedeco.copiedstuff.Java2DFrameConverter;

import org.bytedeco.ffmpeg.global.avutil;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.Frame;
import org.bytedeco.javacv.FrameGrabber;
import org.bytedeco.javacv.Java2DFrameConverter;

import java.awt.image.BufferedImage;

import static org.bytedeco.javacpp.avutil.AV_LOG_ERROR;
import static org.bytedeco.javacpp.avutil.av_log_set_level;
import static org.bytedeco.ffmpeg.global.avutil.av_log_set_level;

/**
* Uses JavaCV, which uses FFMPEG, to read in a video.
Expand All @@ -55,7 +56,9 @@ public class FfmpegVideoImageSequence<T extends ImageBase<T>> implements SimpleI

public FfmpegVideoImageSequence(String filename, ImageType<T> imageType ) {
// Turn off that super annoying error message!
av_log_set_level(AV_LOG_ERROR);


av_log_set_level(avutil.AV_LOG_ERROR);

this.filename = filename;
this.imageType = imageType;
Expand Down
Loading