Java dav1d decoder.
Bug: none Change-Id: I59553cffaa1f8bf4357dc33e83d9cd5fa8bb2a4a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/241321 Reviewed-by: Xavier Lepaul <xalep@webrtc.org> Commit-Queue: Xavier Lepaul <xalep@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35557}
This commit is contained in:
@ -513,6 +513,15 @@ if (is_android) {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rtc_android_library("dav1d_java") {
|
||||||
|
visibility = [ "*" ]
|
||||||
|
sources = [ "api/org/webrtc/Dav1dDecoder.java" ]
|
||||||
|
deps = [
|
||||||
|
":dav1d_av1_jni",
|
||||||
|
":video_java",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
rtc_android_library("swcodecs_java") {
|
rtc_android_library("swcodecs_java") {
|
||||||
visibility = [ "*" ]
|
visibility = [ "*" ]
|
||||||
sources = [
|
sources = [
|
||||||
@ -861,7 +870,7 @@ if (current_os == "linux" || is_android) {
|
|||||||
rtc_library("libaom_av1_jni") {
|
rtc_library("libaom_av1_jni") {
|
||||||
visibility = [ "*" ]
|
visibility = [ "*" ]
|
||||||
allow_poison = [ "software_video_codecs" ]
|
allow_poison = [ "software_video_codecs" ]
|
||||||
sources = [ "src/jni/av1_codec.cc" ]
|
sources = [ "src/jni/libaom_av1_codec.cc" ]
|
||||||
deps = [
|
deps = [
|
||||||
":base_jni",
|
":base_jni",
|
||||||
":generated_libaom_av1_jni",
|
":generated_libaom_av1_jni",
|
||||||
@ -871,6 +880,18 @@ if (current_os == "linux" || is_android) {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rtc_library("dav1d_av1_jni") {
|
||||||
|
visibility = [ "*" ]
|
||||||
|
allow_poison = [ "software_video_codecs" ]
|
||||||
|
sources = [ "src/jni/dav1d_codec.cc" ]
|
||||||
|
deps = [
|
||||||
|
":base_jni",
|
||||||
|
":generated_dav1d_jni",
|
||||||
|
":video_jni",
|
||||||
|
"../../modules/video_coding/codecs/av1:dav1d_decoder",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
rtc_library("swcodecs_jni") {
|
rtc_library("swcodecs_jni") {
|
||||||
visibility = [ "*" ]
|
visibility = [ "*" ]
|
||||||
allow_poison = [ "software_video_codecs" ]
|
allow_poison = [ "software_video_codecs" ]
|
||||||
@ -1321,6 +1342,13 @@ if (current_os == "linux" || is_android) {
|
|||||||
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
|
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
generate_jni("generated_dav1d_jni") {
|
||||||
|
sources = [ "api/org/webrtc/Dav1dDecoder.java" ]
|
||||||
|
|
||||||
|
namespace = "webrtc::jni"
|
||||||
|
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
|
||||||
|
}
|
||||||
|
|
||||||
generate_jni("generated_peerconnection_jni") {
|
generate_jni("generated_peerconnection_jni") {
|
||||||
sources = [
|
sources = [
|
||||||
"api/org/webrtc/AddIceObserver.java",
|
"api/org/webrtc/AddIceObserver.java",
|
||||||
|
20
sdk/android/api/org/webrtc/Dav1dDecoder.java
Normal file
20
sdk/android/api/org/webrtc/Dav1dDecoder.java
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2021 The WebRTC project authors. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by a BSD-style license
|
||||||
|
* that can be found in the LICENSE file in the root of the source
|
||||||
|
* tree. An additional intellectual property rights grant can be found
|
||||||
|
* in the file PATENTS. All contributing project authors may
|
||||||
|
* be found in the AUTHORS file in the root of the source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.webrtc;
|
||||||
|
|
||||||
|
public class Dav1dDecoder extends WrappedNativeVideoDecoder {
|
||||||
|
@Override
|
||||||
|
public long createNativeVideoDecoder() {
|
||||||
|
return nativeCreateDecoder();
|
||||||
|
}
|
||||||
|
|
||||||
|
static native long nativeCreateDecoder();
|
||||||
|
}
|
25
sdk/android/src/jni/dav1d_codec.cc
Normal file
25
sdk/android/src/jni/dav1d_codec.cc
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2021 The WebRTC project authors. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by a BSD-style license
|
||||||
|
* that can be found in the LICENSE file in the root of the source
|
||||||
|
* tree. An additional intellectual property rights grant can be found
|
||||||
|
* in the file PATENTS. All contributing project authors may
|
||||||
|
* be found in the AUTHORS file in the root of the source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <jni.h>
|
||||||
|
|
||||||
|
#include "modules/video_coding/codecs/av1/dav1d_decoder.h"
|
||||||
|
#include "sdk/android/generated_dav1d_jni/Dav1dDecoder_jni.h"
|
||||||
|
#include "sdk/android/src/jni/jni_helpers.h"
|
||||||
|
|
||||||
|
namespace webrtc {
|
||||||
|
namespace jni {
|
||||||
|
|
||||||
|
static jlong JNI_Dav1dDecoder_CreateDecoder(JNIEnv* jni) {
|
||||||
|
return jlongFromPointer(webrtc::CreateDav1dDecoder().release());
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace jni
|
||||||
|
} // namespace webrtc
|
Reference in New Issue
Block a user