Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
e4695048
authored
Dec 16, 2022
by
samrobinson
Committed by
Tianyi Feng
Dec 21, 2022
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Make clear video encoder HighQualityTargeting is experimental.
PiperOrigin-RevId: 495860300
parent
a1c0b104
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
9 additions
and
5 deletions
library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/TranscodeQualityTest.java
library/transformer/src/main/java/com/google/android/exoplayer2/transformer/DefaultEncoderFactory.java
library/transformer/src/main/java/com/google/android/exoplayer2/transformer/VideoEncoderSettings.java
library/transformer/src/test/java/com/google/android/exoplayer2/transformer/DefaultEncoderFactoryTest.java
library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/TranscodeQualityTest.java
View file @
e4695048
...
@@ -59,7 +59,7 @@ public final class TranscodeQualityTest {
...
@@ -59,7 +59,7 @@ public final class TranscodeQualityTest {
new
DefaultEncoderFactory
.
Builder
(
context
)
new
DefaultEncoderFactory
.
Builder
(
context
)
.
setRequestedVideoEncoderSettings
(
.
setRequestedVideoEncoderSettings
(
new
VideoEncoderSettings
.
Builder
()
new
VideoEncoderSettings
.
Builder
()
.
s
etEnableHighQualityTargeting
(
true
)
.
experimentalS
etEnableHighQualityTargeting
(
true
)
.
build
())
.
build
())
.
build
())
.
build
())
.
setRemoveAudio
(
true
)
.
setRemoveAudio
(
true
)
...
...
library/transformer/src/main/java/com/google/android/exoplayer2/transformer/DefaultEncoderFactory.java
View file @
e4695048
...
@@ -425,7 +425,7 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory {
...
@@ -425,7 +425,7 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory {
requestedFormat
.
frameRate
);
requestedFormat
.
frameRate
);
// Resets the flag after getting a targeted bitrate, so that supportedEncodingSetting can have
// Resets the flag after getting a targeted bitrate, so that supportedEncodingSetting can have
// bitrate set.
// bitrate set.
supportedEncodingSettingBuilder
.
s
etEnableHighQualityTargeting
(
false
);
supportedEncodingSettingBuilder
.
experimentalS
etEnableHighQualityTargeting
(
false
);
}
}
int
closestSupportedBitrate
=
int
closestSupportedBitrate
=
EncoderUtil
.
getSupportedBitrateRange
(
pickedEncoderInfo
,
mimeType
).
clamp
(
requestedBitrate
);
EncoderUtil
.
getSupportedBitrateRange
(
pickedEncoderInfo
,
mimeType
).
clamp
(
requestedBitrate
);
...
...
library/transformer/src/main/java/com/google/android/exoplayer2/transformer/VideoEncoderSettings.java
View file @
e4695048
...
@@ -100,7 +100,7 @@ public final class VideoEncoderSettings {
...
@@ -100,7 +100,7 @@ public final class VideoEncoderSettings {
/**
/**
* Sets {@link VideoEncoderSettings#bitrate}. The default value is {@link #NO_VALUE}.
* Sets {@link VideoEncoderSettings#bitrate}. The default value is {@link #NO_VALUE}.
*
*
* <p>Can not be set if enabling {@link #
s
etEnableHighQualityTargeting(boolean)}.
* <p>Can not be set if enabling {@link #
experimentalS
etEnableHighQualityTargeting(boolean)}.
*
*
* @param bitrate The {@link VideoEncoderSettings#bitrate}.
* @param bitrate The {@link VideoEncoderSettings#bitrate}.
* @return This builder.
* @return This builder.
...
@@ -180,6 +180,8 @@ public final class VideoEncoderSettings {
...
@@ -180,6 +180,8 @@ public final class VideoEncoderSettings {
/**
/**
* Sets whether to enable automatic adjustment of the bitrate to target a high quality encoding.
* Sets whether to enable automatic adjustment of the bitrate to target a high quality encoding.
*
*
* <p>This method is experimental and may be removed or changed without warning.
*
* <p>Default value is {@code false}.
* <p>Default value is {@code false}.
*
*
* <p>Requires {@link android.media.MediaCodecInfo.EncoderCapabilities#BITRATE_MODE_VBR}.
* <p>Requires {@link android.media.MediaCodecInfo.EncoderCapabilities#BITRATE_MODE_VBR}.
...
@@ -187,7 +189,7 @@ public final class VideoEncoderSettings {
...
@@ -187,7 +189,7 @@ public final class VideoEncoderSettings {
* <p>Can not be enabled alongside setting a custom bitrate with {@link #setBitrate(int)}.
* <p>Can not be enabled alongside setting a custom bitrate with {@link #setBitrate(int)}.
*/
*/
@CanIgnoreReturnValue
@CanIgnoreReturnValue
public
Builder
s
etEnableHighQualityTargeting
(
boolean
enableHighQualityTargeting
)
{
public
Builder
experimentalS
etEnableHighQualityTargeting
(
boolean
enableHighQualityTargeting
)
{
this
.
enableHighQualityTargeting
=
enableHighQualityTargeting
;
this
.
enableHighQualityTargeting
=
enableHighQualityTargeting
;
return
this
;
return
this
;
}
}
...
...
library/transformer/src/test/java/com/google/android/exoplayer2/transformer/DefaultEncoderFactoryTest.java
View file @
e4695048
...
@@ -178,7 +178,9 @@ public class DefaultEncoderFactoryTest {
...
@@ -178,7 +178,9 @@ public class DefaultEncoderFactoryTest {
Format
actualVideoFormat
=
Format
actualVideoFormat
=
new
DefaultEncoderFactory
.
Builder
(
context
)
new
DefaultEncoderFactory
.
Builder
(
context
)
.
setRequestedVideoEncoderSettings
(
.
setRequestedVideoEncoderSettings
(
new
VideoEncoderSettings
.
Builder
().
setEnableHighQualityTargeting
(
true
).
build
())
new
VideoEncoderSettings
.
Builder
()
.
experimentalSetEnableHighQualityTargeting
(
true
)
.
build
())
.
build
()
.
build
()
.
createForVideoEncoding
(
requestedVideoFormat
)
.
createForVideoEncoding
(
requestedVideoFormat
)
.
getConfigurationFormat
();
.
getConfigurationFormat
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment