summaryrefslogtreecommitdiff
path: root/libavcodec/mediacodec_wrapper.c
Commit message (Collapse)AuthorAge
* avcodec/mediacodec_wrapper: add helper to fetch SDK_INTAman Gupta2018-05-04
| | | | | Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com> Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec: Fix AVClass .versionMichael Niedermayer2018-04-19
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mediacodec_wrapper: fix false positives in swdec blacklistStefan _2018-03-07
| | | | | 'OMX.SEC.avc.dec' is a valid hardware decoder, while the decoders we seek to blacklist all match 'OMX.SEC.*.sw.dec'.
* avcodec/mediacodec_wrapper: blacklist more software decodersStefan _2018-03-06
| | | | | | | | 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>
* avcodec/mediacodec_wrapper: load and use MediaFormat.constainsKey()Matthieu Bouron2018-03-03
| | | | | Avoids triggering an exception in MediaFormat getter functions if the key does not exist.
* lavc/mediacodec_wrapper: allocate MediaCodec.BufferInfo onceMatthieu Bouron2018-01-06
|
* lavc/mediacodec_wrapper: fix potential jni global reference leakMatthieu Bouron2017-12-16
|
* lavc/mediacodec_wrapper: factorize MediaCodec creation functionsMatthieu Bouron2017-12-16
|
* lavc/mediacodec_wrapper: fix jni vaargs typesMatthieu Bouron2017-09-15
| | | | Fixes decoding on 32-bit devices with Android NDK >= 15.
* lavc/mediacodec_wrapper: do not declare ↵Matthieu Bouron2017-05-23
| | | | JNIAMedia{Codec,CodecList,Format}Fields on the stack
* lavc/mediacodec_wrapper: fix local reference leaksMatthieu Bouron2017-05-23
|
* lavc/mediacodec_wrapper: fix local reference leaksMatthieu Bouron2017-05-11
| | | | Reviewed-by: Clément Bœsch <u@pkh.me>
* lavc/mediacodec_wrapper: do not discard codecs reporting they do not support ↵Matthieu Bouron2016-10-19
| | | | | | | any profile Depending on the device, some (VP8/VP9/...) decoders report that they do not support any profiles.
* lavc: add hevc mediacodec decoderMatthieu Bouron2016-09-15
|
* lavc/ffjni: replace ff_jni_{attach,detach} with ff_jni_get_envMatthieu Bouron2016-07-27
| | | | | | | | | | | | | | 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.
* lavc: add mediacodec hwaccel supportMatthieu Bouron2016-07-08
|
* lavc/mediacodec: re-indent after previous commitMatthieu Bouron2016-06-15
|
* lavc/mediacodec: refactor ff_AMediaCodecList_getCodecByTypeMatthieu Bouron2016-06-15
| | | | | | | | | | | | | 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.
* lavc/mediacodec: bypass width/height restrictions when looking for a decoderMatthieu Bouron2016-06-07
| | | | | | | | | 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.
* lavc/mediacodec: rename MediaFormat field clazz to mediaformat_class for ↵Matthieu Bouron2016-06-07
| | | | consistency
* lavc/mediacodec: move struct declarations at the beginMatthieu Bouron2016-06-07
|
* lavc/mediacodec: rename jfields_mapping to jni_amediacodeclist_mappingMatthieu Bouron2016-06-07
|
* lavc/mediacodec: do not delete a local reference twice in case of errorMatthieu Bouron2016-06-07
|
* lavc/mediacodec: add missing MediaCodec.Get{Input,Output}Buffer() checksMatthieu Bouron2016-05-25
|
* lavc/mediacodec: factorize static fields initializationMatthieu Bouron2016-05-25
|
* lavc/mediacodec: remove stray empty linesMatthieu Bouron2016-03-15
|
* lavc: add h264 mediacodec decoderMatthieu Bouron2016-03-07