All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions | Variables
mediacodecdec.c File Reference
#include <string.h>
#include <sys/types.h>
#include "libavutil/common.h"
#include "libavutil/mem.h"
#include "libavutil/log.h"
#include "libavutil/pixfmt.h"
#include "libavutil/time.h"
#include "libavutil/timestamp.h"
#include "avcodec.h"
#include "internal.h"
#include "mediacodec_sw_buffer.h"
#include "mediacodec_wrapper.h"
#include "mediacodecdec.h"

Go to the source code of this file.


 OMX.k3.video.decoder.avc, OMX.NVIDIA. More...


enum  {
  COLOR_FormatYUV420Planar = 0x13, COLOR_FormatYUV420SemiPlanar = 0x15, COLOR_FormatYCbYCr = 0x19, COLOR_FormatAndroidOpaque = 0x7F000789,
  COLOR_QCOM_FormatYUV420SemiPlanar = 0x7fa30c00, COLOR_QCOM_FormatYUV420SemiPlanar32m = 0x7fa30c04, COLOR_QCOM_FormatYUV420PackedSemiPlanar64x32Tile2m8ka = 0x7fa30c03, COLOR_TI_FormatYUV420PackedSemiPlanar = 0x7f000100,
  COLOR_TI_FormatYUV420PackedSemiPlanarInterlaced = 0x7f000001


static enum AVPixelFormat mcdec_map_color_format (AVCodecContext *avctx, MediaCodecDecContext *s, int color_format)
static int mediacodec_wrap_buffer (AVCodecContext *avctx, MediaCodecDecContext *s, uint8_t *data, size_t size, ssize_t index, FFAMediaCodecBufferInfo *info, AVFrame *frame)
static int mediacodec_dec_parse_format (AVCodecContext *avctx, MediaCodecDecContext *s)
int ff_mediacodec_dec_init (AVCodecContext *avctx, MediaCodecDecContext *s, const char *mime, FFAMediaFormat *format)
int ff_mediacodec_dec_decode (AVCodecContext *avctx, MediaCodecDecContext *s, AVFrame *frame, int *got_frame, AVPacket *pkt)
int ff_mediacodec_dec_flush (AVCodecContext *avctx, MediaCodecDecContext *s)
int ff_mediacodec_dec_close (AVCodecContext *avctx, MediaCodecDecContext *s)


struct {
   int   color_format
   enum AVPixelFormat   pix_fmt
color_formats []

Macro Definition Documentation


OMX.k3.video.decoder.avc, OMX.NVIDIA.

  • OMX.SEC.avc.dec and OMX.google codec workarounds used in various place are taken from the Gstreamer project.

Gstreamer references: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/sys/androidmedia/

Gstreamer copyright notice:

Copyright (C) 2012, Collabora Ltd. Author: Sebastian Dröge sebas.nosp@m.tian.nosp@m..droe.nosp@m.ge@c.nosp@m.ollab.nosp@m.ora..nosp@m.co.uk

Copyright (C) 2012, Rafaël Carré <funman>

Copyright (C) 2015, Sebastian Dröge sebas.nosp@m.tian.nosp@m.@cent.nosp@m.ricu.nosp@m.lar.c.nosp@m.om

Copyright (C) 2014-2015, Collabora Ltd. Author: Matthieu Bouron matth.nosp@m.ieu..nosp@m.bouro.nosp@m.n@gc.nosp@m.ollab.nosp@m.ora..nosp@m.com

Copyright (C) 2015, Edward Hervey Author: Edward Hervey bilbo.nosp@m.ed@g.nosp@m.mail..nosp@m.com

Copyright (C) 2015, Matthew Waters matth.nosp@m.ew@c.nosp@m.entri.nosp@m.cula.nosp@m.r.com

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation version 2.1 of the License.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Definition at line 81 of file mediacodecdec.c.

Referenced by ff_mediacodec_dec_decode().


Definition at line 82 of file mediacodecdec.c.

Referenced by ff_mediacodec_dec_decode().


Definition at line 83 of file mediacodecdec.c.

Referenced by ff_mediacodec_dec_decode().

Enumeration Type Documentation

anonymous enum

Definition at line 85 of file mediacodecdec.c.

Function Documentation

static enum AVPixelFormat mcdec_map_color_format ( AVCodecContext avctx,
MediaCodecDecContext s,
int  color_format 

Definition at line 114 of file mediacodecdec.c.

Referenced by mediacodec_dec_parse_format().

static int mediacodec_wrap_buffer ( AVCodecContext avctx,
MediaCodecDecContext s,
uint8_t data,
size_t  size,
ssize_t  index,
FFAMediaCodecBufferInfo info,
AVFrame frame 

Definition at line 137 of file mediacodecdec.c.

Referenced by ff_mediacodec_dec_decode().

static int mediacodec_dec_parse_format ( AVCodecContext avctx,
MediaCodecDecContext s 

Definition at line 209 of file mediacodecdec.c.

Referenced by ff_mediacodec_dec_decode(), and ff_mediacodec_dec_init().

int ff_mediacodec_dec_init ( AVCodecContext avctx,
MediaCodecDecContext s,
const char *  mime,
FFAMediaFormat format 

Definition at line 307 of file mediacodecdec.c.

Referenced by mediacodec_decode_init().

int ff_mediacodec_dec_decode ( AVCodecContext avctx,
MediaCodecDecContext s,
AVFrame frame,
int *  got_frame,
AVPacket pkt 

Definition at line 377 of file mediacodecdec.c.

Referenced by mediacodec_decode_frame(), and mediacodec_process_data().

int ff_mediacodec_dec_flush ( AVCodecContext avctx,
MediaCodecDecContext s 

Definition at line 543 of file mediacodecdec.c.

Referenced by mediacodec_decode_flush().

int ff_mediacodec_dec_close ( AVCodecContext avctx,
MediaCodecDecContext s 

Definition at line 565 of file mediacodecdec.c.

Referenced by ff_mediacodec_dec_init(), and mediacodec_decode_close().

Variable Documentation

int color_format

Definition at line 99 of file mediacodecdec.c.

enum AVPixelFormat pix_fmt

Definition at line 100 of file mediacodecdec.c.

const { ... } color_formats[]