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") {
|
||||
visibility = [ "*" ]
|
||||
sources = [
|
||||
@ -861,7 +870,7 @@ if (current_os == "linux" || is_android) {
|
||||
rtc_library("libaom_av1_jni") {
|
||||
visibility = [ "*" ]
|
||||
allow_poison = [ "software_video_codecs" ]
|
||||
sources = [ "src/jni/av1_codec.cc" ]
|
||||
sources = [ "src/jni/libaom_av1_codec.cc" ]
|
||||
deps = [
|
||||
":base_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") {
|
||||
visibility = [ "*" ]
|
||||
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"
|
||||
}
|
||||
|
||||
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") {
|
||||
sources = [
|
||||
"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