Commit Graph

16 Commits

Author SHA1 Message Date
02334e07c5 Replace the android support annotation library with androidx's one.
This change does not affect downstream dependencies as androidx.annotation
is fully compatible with android.support.annotation.

Bug: webrtc:11962
Change-Id: I714b473df8d0fee8000ddf3a9beca7c5613db5ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226881
Commit-Queue: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34839}
2021-08-24 16:02:17 +00:00
d7ac581045 Use backticks not vertical bars to denote variables in comments for /sdk
Bug: webrtc:12338
Change-Id: Ifaad29ccb63b0f2f3aeefb77dae061ebc7f87e6c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227024
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34561}
2021-07-27 14:39:06 +00:00
1bb36d2c77 Change YuvConverter.convert to catch GLExceptions and return null.
With https://webrtc-review.googlesource.com/c/src/+/222582,
I420 conversion is allowed to fail.

Bug: webrtc:12877
Change-Id: Iadae21ad889f084b8027206af4478223d7733d3e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222653
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Fabian Bergmark <fabianbergmark@google.com>
Cr-Commit-Position: refs/heads/master@{#34320}
2021-06-17 11:33:54 +00:00
f2889bbaf4 Add option to inject YuvConverter to SurfaceTextureHelper.
Add option to inject VideoFrameDrawer to YuvConverter and EglRenderer.

Bug: none
Change-Id: I0aab0026c30b41d72f70fb00b251aed5e4a4a774
Reviewed-on: https://webrtc-review.googlesource.com/c/123443
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26848}
2019-02-26 07:47:52 +00:00
8ccddff6ac Update Android to use limited range YCbCr.
Limited range seems to be more used than full range and many Android
components already use limited range. This includes FileVideoCapturer,
VideoFileRenderer and HW codecs.

Bug: webrtc:9638
Change-Id: Iadd9b2f19020c6a25bde5e43a28e26a6230dde42
Reviewed-on: https://webrtc-review.googlesource.com/94543
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24576}
2018-09-05 11:41:51 +00:00
7b87530fcc Android: Allow YuvConverter to be reused
Similar to how GlDrawer and GlTextureFrameBuffer already works, this
CL updates YuvConverter so that it can be reused after release() has
been called. This makes it more convenient to use, it can be stored
in a final variable, and the resources are lazily allocated on first
usage.

Bug: b/112386285
Change-Id: I437c4c3fd414bc8974df75728f33954b28418e3e
Reviewed-on: https://webrtc-review.googlesource.com/93290
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24248}
2018-08-09 12:36:37 +00:00
65c61dcfce Android: Add helper class for generating OpenGL shaders
This CL adds a helper class GlShaderBuilder to build an instances of
RendererCommon.GlDrawer that can accept multiple input sources
(OES, RGB, or YUV) using a generic fragment shader as input.

Bug: webrtc:9355
Change-Id: I14a0a280d2b6f838984f7b60897cc0c58e2a948a
Reviewed-on: https://webrtc-review.googlesource.com/80940
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23622}
2018-06-15 09:06:45 +00:00
6507054db1 Android: Add tests for VideoFrame.Buffer.toI420() and cropAndScale()
This CL adds tests that are primarily targeting
VideoFrame.Buffer.toI420() and cropAndScale(), but includes the whole
chain for YuvConverter, GlRectDrawer, and VideoFrameDrawer.

It also includes a couple of fixes to bugs that were exposed by the new
tests.

Bug: webrtc:9186, webrtc:9391
Change-Id: I5eb62979a8fd8def28c3cb2e82dcede57c42216f
Reviewed-on: https://webrtc-review.googlesource.com/83163
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23611}
2018-06-14 11:06:37 +00:00
1d270f8193 Reland "Android: Generalize and make TextureBufferImpl public"
This reverts commit 64051d4975b5cee06ab36584f272ff97e35de357.

Reason for revert: Fix applied.

Original change's description:
> Revert "Android: Generalize and make TextureBufferImpl public"
> 
> This reverts commit 28111d7fa0b94e37a5eeba616eb806c65b12560e.
> 
> Reason for revert: Crashes video_quality_loopback_test.
> 
> Original change's description:
> > Android: Generalize and make TextureBufferImpl public
> > 
> > This CL generalizes TextureBufferImpl so it's useful from other contexts than
> > from a SurfaceTextureHelper, and fixes a bug in cropAndScale(). It also exposes
> > the class in the api so that clients don't have to duplicate the logic.
> > 
> > Bug: None
> > Change-Id: Ib82aa8bee025ec14de74a7be9d91fd4e5298a248
> > Reviewed-on: https://webrtc-review.googlesource.com/69819
> > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> > Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22875}
> 
> TBR=magjed@webrtc.org,sakal@webrtc.org
> 
> Change-Id: Ica7fc181fec70b8b79f39f0e114eef81a03aa116
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: None
> Reviewed-on: https://webrtc-review.googlesource.com/70240
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22878}

TBR=magjed@webrtc.org,sakal@webrtc.org

Change-Id: I173d1ccfe0baa80460f796ebaedc51731233108f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/70183
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22883}
2018-04-16 15:08:38 +00:00
64051d4975 Revert "Android: Generalize and make TextureBufferImpl public"
This reverts commit 28111d7fa0b94e37a5eeba616eb806c65b12560e.

Reason for revert: Crashes video_quality_loopback_test.

Original change's description:
> Android: Generalize and make TextureBufferImpl public
> 
> This CL generalizes TextureBufferImpl so it's useful from other contexts than
> from a SurfaceTextureHelper, and fixes a bug in cropAndScale(). It also exposes
> the class in the api so that clients don't have to duplicate the logic.
> 
> Bug: None
> Change-Id: Ib82aa8bee025ec14de74a7be9d91fd4e5298a248
> Reviewed-on: https://webrtc-review.googlesource.com/69819
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22875}

TBR=magjed@webrtc.org,sakal@webrtc.org

Change-Id: Ica7fc181fec70b8b79f39f0e114eef81a03aa116
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/70240
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22878}
2018-04-16 13:38:59 +00:00
28111d7fa0 Android: Generalize and make TextureBufferImpl public
This CL generalizes TextureBufferImpl so it's useful from other contexts than
from a SurfaceTextureHelper, and fixes a bug in cropAndScale(). It also exposes
the class in the api so that clients don't have to duplicate the logic.

Bug: None
Change-Id: Ib82aa8bee025ec14de74a7be9d91fd4e5298a248
Reviewed-on: https://webrtc-review.googlesource.com/69819
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22875}
2018-04-16 12:16:48 +00:00
84d8ae5df7 Android: Use scoped java refs
We currently use raw jobject in our code mixed with sporadic
ScopedLocalRefFrame. This CL moves every jobject into a scoped object,
either local, global, or a parameter. Also, this CL uses the JNI
generation script to generate declaration stubs for the Java->C++
functions so that it no longer becomes possible to mistype them
without getting compilation errors.

TBR=brandt@webrtc.org

Bug: webrtc:8278,webrtc:6969
Change-Id: Ic7bac74a89c11180177d65041086d7db1cdfb516
Reviewed-on: https://webrtc-review.googlesource.com/34655
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21387}
2017-12-20 15:46:06 +00:00
c040daec11 Android: Allow SurfaceTextureHelper.textureToYuv to be used for RGB frames
TBR=sakal@webrtc.org

Bug: b/69162554
Change-Id: I342777a1cc961346a3e61408d02fbc6a16b7b633
Reviewed-on: https://webrtc-review.googlesource.com/24101
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20748}
2017-11-18 11:07:28 +00:00
033ea5f771 Fix a typo in YuvConveter RGB shader code.
TBR=magjed@webrtc.org

Bug: None
Change-Id: Ia2594f6191510cb971f435ca9c27418cce929617
Reviewed-on: https://webrtc-review.googlesource.com/12920
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20332}
2017-10-18 07:56:28 +00:00
6bf70d20da Make YuvConverter public.
YuvConverter was left package protected by mistake in the previous
change.

Bug: None
Change-Id: I2235f745c2f36f9b49199a3dad09da78f63c33e3
Reviewed-on: https://webrtc-review.googlesource.com/11980
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20322}
2017-10-17 11:33:30 +00:00
cb98b11b71 Expose functionality to convert TextureBuffer to I420.
Bug: webrtc:8392
Change-Id: I79682efbef3aecbba904aa5047b229833fae25e8
Reviewed-on: https://webrtc-review.googlesource.com/8940
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20313}
2017-10-16 14:55:37 +00:00