Age | Commit message (Collapse) | Author |
|
ff_AMediaCodec_getCodecNameByType()
(cherry picked from commit 817235b195f55746893629bd8e6fa3501ea7b38e)
|
|
ff_AMediaCodec_getCodecNameByType()
(cherry picked from commit 3f232d713db3cb665c265387c7009904c2e85e58)
|
|
ff_AMediaCodec_getName()
(cherry picked from commit 9cb8875c165e6377a3eebdce9743c5579f131248)
|
|
The existing av_mediacodec_release_buffer allows the user to render
or discard the Surface-backed frame. This new method allows the user
to control exactly when the frame will be rendered to its SurfaceView.
Available since Android API 21.
Signed-off-by: Aman Gupta <aman@tmm1.net>
|
|
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Aman Gupta <aman@tmm1.net>
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
'OMX.SEC.avc.dec' is a valid hardware decoder, while the decoders
we seek to blacklist all match 'OMX.SEC.*.sw.dec'.
|
|
Additionally blacklist ffmpeg, Samsung and Qualcomm
software implementations offered through MediaCodec.
Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
|
|
Avoids triggering an exception in MediaFormat getter functions if the
key does not exist.
|
|
|
|
|
|
|
|
Fixes decoding on 32-bit devices with Android NDK >= 15.
|
|
JNIAMedia{Codec,CodecList,Format}Fields on the stack
|
|
|
|
Reviewed-by: Clément Bœsch <u@pkh.me>
|
|
any profile
Depending on the device, some (VP8/VP9/...) decoders report that they do
not support any profiles.
|
|
|
|
If a JNI environment is not already attached to the thread where the
MediaCodec calls are made the current implementation will attach /
detach an environment for each MediaCodec call wasting some CPU time.
ff_jni_get_env replaces ff_jni_{attach,detach} by permanently attaching
an environment (if it is not already the case) to the current thread.
The environment will be automatically detached at the thread destruction
using a pthread_key callback.
Saves around 5% of CPU time (out of 20%) while decoding a stream with
MediaCodec.
|
|
|
|
|
|
Allows to select a codec (encoder or decoder) only if it supports a
specific profile.
Adds ff_AMediaCodecProfile_getProfileFromAVCodecContext to convert an
AVCodecContext profile to a MediaCodec profile. It only supports H264
for now.
The codepath using MediaCodecList.findDecoderForFormat() (Android >= 5.0)
has been dropped as this method does not allow to select a decoder
compatible with a specific profile.
|
|
Codec width/height restrictions seem hardcoded at the OMX level and
seem arbitrary. Bypassing those restrictions allows a device to decode
streams at higher resolutions.
For example it allows a Nexus 5 to decode h264 streams with a resolution
higher than 1920x1080.
|
|
consistency
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|