summaryrefslogtreecommitdiff
path: root/libavcodec/mediacodec_wrapper.c
Commit message (Collapse)AuthorAge
* 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