summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--.gitignore2
-rw-r--r--Android.mk1
-rw-r--r--Media.mk93
-rw-r--r--amavutils/Amsyswrite.cpp217
-rw-r--r--amavutils/Amvideocaptools.c87
-rw-r--r--amavutils/Amvideoutils.c960
-rw-r--r--amavutils/Android.mk214
-rw-r--r--amavutils/amaudioutils.c81
-rw-r--r--amavutils/amconfigutils.c263
-rw-r--r--amavutils/amdisplayutils.c174
-rw-r--r--amavutils/amdrmutils.c185
-rw-r--r--amavutils/ammodule.c223
-rw-r--r--amavutils/amsufaceutils.cpp21
-rw-r--r--amavutils/amsysfsutils.c278
-rw-r--r--amavutils/amthreadpool.c467
-rw-r--r--amavutils/include/Amavutils.h15
-rw-r--r--amavutils/include/Amdisplayutils.h20
-rw-r--r--amavutils/include/Amsufaceutils.h12
-rw-r--r--amavutils/include/Amsysfsutils.h22
-rw-r--r--amavutils/include/Amsyswrite.h27
-rw-r--r--amavutils/include/Amvideocap.h82
-rw-r--r--amavutils/include/Amvideocaptools.h8
-rw-r--r--amavutils/include/Amvideoutils.h29
-rw-r--r--amavutils/include/amaudioutils.h14
-rw-r--r--amavutils/include/amconfigutils.h26
-rw-r--r--amavutils/include/amdrmutils.h28
-rw-r--r--amavutils/include/ammodule.h63
-rw-r--r--amavutils/include/amports/aformat.h114
-rw-r--r--amavutils/include/amports/amstream.h417
-rw-r--r--amavutils/include/amports/vformat.h133
-rw-r--r--amavutils/include/amthreadpool.h46
-rw-r--r--amavutils/include/audio_ctl.h23
-rw-r--r--amavutils/include/itemlist.h113
-rw-r--r--amavutils/include/list.h191
-rw-r--r--amavutils/include/media_ctl.h36
-rw-r--r--amavutils/include/ppmgr/ppmgr.h24
-rw-r--r--amavutils/include/sub_ctl.h24
-rw-r--r--amavutils/include/tsync_ctl.h34
-rw-r--r--amavutils/include/vfm_ctl.h17
-rw-r--r--amavutils/include/video_ctl.h81
-rw-r--r--amavutils/itemlist.c355
-rw-r--r--amavutils/mediaconfig/configs_api.h31
-rw-r--r--amavutils/mediaconfig/media_config.cpp187
-rw-r--r--amavutils/mediaconfig/media_config.h19
-rw-r--r--amavutils/mediaconfig/media_config_hw.cpp74
-rw-r--r--amavutils/mediaconfig/media_config_hw.h16
-rw-r--r--amavutils/mediactl/audio_ctl.cpp74
-rw-r--r--amavutils/mediactl/common_ctl.cpp343
-rw-r--r--amavutils/mediactl/common_ctl.h95
-rw-r--r--amavutils/mediactl/media_ctl.cpp526
-rw-r--r--amavutils/mediactl/sub_ctl.cpp140
-rw-r--r--amavutils/mediactl/tsync_ctl.cpp235
-rw-r--r--amavutils/mediactl/vfm_ctl.cpp40
-rw-r--r--amavutils/mediactl/video_ctl.cpp363
-rw-r--r--amavutils/tools/Android.mk11
-rw-r--r--amavutils/tools/mediactl.cpp90
-rw-r--r--amcodec/Android.mk56
-rw-r--r--amcodec/audio_ctl/audio_ctrl.c431
-rw-r--r--amcodec/audio_ctl/audio_ctrl.h29
-rw-r--r--amcodec/codec/Makefile5
-rw-r--r--amcodec/codec/codec_ctrl.c2516
-rw-r--r--amcodec/codec/codec_h_ctrl.c586
-rw-r--r--amcodec/codec/codec_h_ctrl.h60
-rw-r--r--amcodec/codec/codec_msg.c231
-rw-r--r--amcodec/include/amports/aformat.h114
-rw-r--r--amcodec/include/amports/amstream.h418
-rw-r--r--amcodec/include/amports/vformat.h133
-rw-r--r--amcodec/include/audio_priv.h18
-rw-r--r--amcodec/include/codec.h131
-rw-r--r--amcodec/include/codec_error.h37
-rw-r--r--amcodec/include/codec_msg.h19
-rw-r--r--amcodec/include/codec_type.h174
-rw-r--r--amcodec/include/ppmgr/ppmgr.h24
-rw-r--r--amvdec/Android.mk57
-rw-r--r--amvdec/amlv4l.c219
-rw-r--r--amvdec/amlv4l.h18
-rw-r--r--amvdec/amvdec_priv.h17
-rw-r--r--amvdec/amvideo.c70
-rw-r--r--amvdec/include/amvideo.h50
-rw-r--r--amvdec/include/ionvideo.h51
-rw-r--r--amvdec/include/v4l2-common.h71
-rw-r--r--amvdec/include/v4l2-controls.h803
-rw-r--r--amvdec/include/videodev2.h2033
-rw-r--r--amvdec/ionv4l.c173
-rw-r--r--amvdec/ionv4l.h18
-rw-r--r--amvdec/ionvdec_priv.h17
-rw-r--r--amvdec/ionvideo.c82
-rw-r--r--drivers/Makefile4
-rw-r--r--drivers/common/Makefile2
-rw-r--r--drivers/common/chips/chips.c158
-rw-r--r--drivers/common/chips/chips.h39
-rw-r--r--drivers/common/firmware/Makefile3
-rw-r--r--drivers/common/firmware/firmware.h113
-rw-r--r--drivers/common/firmware/firmware_cfg.h32
-rw-r--r--drivers/common/firmware/firmware_drv.c682
-rw-r--r--drivers/common/firmware/firmware_type.c57
-rw-r--r--drivers/common/firmware/firmware_type.h41
-rw-r--r--drivers/common/media_clock/Makefile5
-rw-r--r--drivers/common/media_clock/clk/clk.c405
-rw-r--r--drivers/common/media_clock/clk/clk.h155
-rw-r--r--drivers/common/media_clock/clk/clk_priv.h38
-rw-r--r--drivers/common/media_clock/clk/clkgx.c620
-rw-r--r--drivers/common/media_clock/switch/amports_gate.c189
-rw-r--r--drivers/common/media_clock/switch/amports_gate.h33
-rw-r--r--drivers/frame_provider/Makefile1
-rw-r--r--drivers/frame_provider/decoder/Makefile16
-rw-r--r--drivers/frame_provider/decoder/avs/Makefile2
-rw-r--r--drivers/frame_provider/decoder/avs/avs.c1541
-rw-r--r--drivers/frame_provider/decoder/avs/avs.h70
-rw-r--r--drivers/frame_provider/decoder/avs/avsp_trans.c4944
-rw-r--r--drivers/frame_provider/decoder/h264/vh264.c2963
-rw-r--r--drivers/frame_provider/decoder/h264/vh264.h25
-rw-r--r--drivers/frame_provider/decoder/h264/vh264_4k2k.c1839
-rw-r--r--drivers/frame_provider/decoder/h264/vh264_mvc.c1594
-rw-r--r--drivers/frame_provider/decoder/h264_multi/Makefile2
-rw-r--r--drivers/frame_provider/decoder/h264_multi/h264_dpb.c5238
-rw-r--r--drivers/frame_provider/decoder/h264_multi/h264_dpb.h788
-rw-r--r--drivers/frame_provider/decoder/h264_multi/vmh264.c2776
-rw-r--r--drivers/frame_provider/decoder/h265/vh265.c8969
-rw-r--r--drivers/frame_provider/decoder/h265/vh265.h27
-rw-r--r--drivers/frame_provider/decoder/mjpeg/vmjpeg.c912
-rw-r--r--drivers/frame_provider/decoder/mjpeg/vmjpeg_multi.c723
-rw-r--r--drivers/frame_provider/decoder/mpeg12/vmpeg12.c1110
-rw-r--r--drivers/frame_provider/decoder/mpeg12/vmpeg12.h26
-rw-r--r--drivers/frame_provider/decoder/mpeg4/vmpeg4.c1127
-rw-r--r--drivers/frame_provider/decoder/mpeg4/vmpeg4.h26
-rw-r--r--drivers/frame_provider/decoder/mpeg4/vmpeg4_multi.c1304
-rw-r--r--drivers/frame_provider/decoder/real/vreal.c1022
-rw-r--r--drivers/frame_provider/decoder/real/vreal.h26
-rw-r--r--drivers/frame_provider/decoder/utils/Makefile4
-rw-r--r--drivers/frame_provider/decoder/utils/amvdec.c998
-rw-r--r--drivers/frame_provider/decoder/utils/amvdec.h86
-rw-r--r--drivers/frame_provider/decoder/utils/config_parser.c62
-rw-r--r--drivers/frame_provider/decoder/utils/config_parser.h21
-rw-r--r--drivers/frame_provider/decoder/utils/decoder_bmmu_box.c425
-rw-r--r--drivers/frame_provider/decoder/utils/decoder_bmmu_box.h63
-rw-r--r--drivers/frame_provider/decoder/utils/decoder_mmu_box.c383
-rw-r--r--drivers/frame_provider/decoder/utils/decoder_mmu_box.h45
-rw-r--r--drivers/frame_provider/decoder/utils/utils.c66
-rw-r--r--drivers/frame_provider/decoder/utils/vdec.c2907
-rw-r--r--drivers/frame_provider/decoder/utils/vdec.h306
-rw-r--r--drivers/frame_provider/decoder/utils/vdec_input.c544
-rw-r--r--drivers/frame_provider/decoder/utils/vdec_input.h131
-rw-r--r--drivers/frame_provider/decoder/vc1/vvc1.c1170
-rw-r--r--drivers/frame_provider/decoder/vp9/vvp9.c6922
-rw-r--r--drivers/frame_provider/decoder/vp9/vvp9.h25
-rw-r--r--drivers/frame_sink/Makefile1
-rw-r--r--drivers/frame_sink/encoder/Makefile2
-rw-r--r--drivers/frame_sink/encoder/h264/Makefile1
-rw-r--r--drivers/frame_sink/encoder/h264/encoder.c4237
-rw-r--r--drivers/frame_sink/encoder/h264/encoder.h465
-rw-r--r--drivers/frame_sink/encoder/h265/Makefile1
-rw-r--r--drivers/frame_sink/encoder/h265/vmm.h661
-rw-r--r--drivers/frame_sink/encoder/h265/vpu.c1997
-rw-r--r--drivers/frame_sink/encoder/h265/vpu.h288
-rw-r--r--drivers/include/dummy-for-git-empty-dir0
-rw-r--r--drivers/stream_input/Makefile10
-rw-r--r--drivers/stream_input/amports/Makefile2
-rw-r--r--drivers/stream_input/amports/adec.c295
-rw-r--r--drivers/stream_input/amports/adec.h32
-rw-r--r--drivers/stream_input/amports/amports_priv.h56
-rw-r--r--drivers/stream_input/amports/amstream.c3651
-rw-r--r--drivers/stream_input/amports/amstream_profile.c54
-rw-r--r--drivers/stream_input/parser/esparser.c940
-rw-r--r--drivers/stream_input/parser/esparser.h149
-rw-r--r--drivers/stream_input/parser/psparser.c1160
-rw-r--r--drivers/stream_input/parser/psparser.h141
-rw-r--r--drivers/stream_input/parser/rmparser.c337
-rw-r--r--drivers/stream_input/parser/rmparser.h136
-rw-r--r--drivers/stream_input/parser/streambuf.c418
-rw-r--r--drivers/stream_input/parser/streambuf.h136
-rw-r--r--drivers/stream_input/parser/streambuf_reg.h111
-rw-r--r--drivers/stream_input/parser/thread_rw.c606
-rw-r--r--drivers/stream_input/parser/thread_rw.h52
-rw-r--r--drivers/stream_input/parser/tsdemux.c1131
-rw-r--r--drivers/stream_input/parser/tsdemux.h95
-rw-r--r--firmware/video_ucode.bin8294
-rw-r--r--media_base_config.mk13
-rw-r--r--player/Android.mk22
-rw-r--r--player/esplayer.c288
180 files changed, 16354 insertions, 79358 deletions
diff --git a/drivers/stream_input/parser/rmparser.h b/drivers/stream_input/parser/rmparser.h
deleted file mode 100644
index 5d258ee..0000000
--- a/drivers/stream_input/parser/rmparser.h
+++ b/dev/null
@@ -1,136 +0,0 @@
-/*
- * drivers/amlogic/amports/rmparser.h
- *
- * Copyright (C) 2015 Amlogic, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for
- * more details.
- *
-*/
-
-#ifndef RMPARSER_H
-#define RMPARSER_H
-
-#include "../../frame_provider/decoder/utils/vdec.h"
-
-extern void rm_set_vasid(u32 vid, u32 aid);
-
-extern ssize_t rmparser_write(struct file *file,
- struct stream_buf_s *vbuf,
- struct stream_buf_s *abuf,
- const char __user *buf, size_t count);
-
-s32 rmparser_init(struct vdec_s *vdec);
-
-extern void rmparser_release(void);
-
-extern void rm_audio_reset(void);
-
-extern void vreal_set_fatal_flag(int flag);
-
-#ifdef CONFIG_AM_DVB
-extern int tsdemux_set_reset_flag(void);
-#endif
-
-/* TODO: move to register headers */
-#define ES_PACK_SIZE_BIT 8
-#define ES_PACK_SIZE_WID 24
-
-#define ES_CTRL_WID 8
-#define ES_CTRL_BIT 0
-#define ES_TYPE_MASK (3 << 6)
-#define ES_TYPE_VIDEO (0 << 6)
-#define ES_TYPE_AUDIO (1 << 6)
-#define ES_TYPE_SUBTITLE (2 << 6)
-
-#define ES_WRITE (1<<5)
-#define ES_PASSTHROUGH (1<<4)
-#define ES_INSERT_BEFORE_ES_WRITE (1<<3)
-#define ES_DISCARD (1<<2)
-#define ES_SEARCH (1<<1)
-#define ES_PARSER_START (1<<0)
-#define ES_PARSER_BUSY (1<<0)
-
-#define PARSER_INTSTAT_FETCH_CMD (1<<7)
-#define PARSER_INTSTAT_PARSE (1<<4)
-#define PARSER_INTSTAT_DISCARD (1<<3)
-#define PARSER_INTSTAT_INSZERO (1<<2)
-#define PARSER_INTSTAT_ACT_NOSSC (1<<1)
-#define PARSER_INTSTAT_SC_FOUND (1<<0)
-
-#define FETCH_CIR_BUF (1<<31)
-#define FETCH_CHK_BUF_STOP (1<<30)
-#define FETCH_PASSTHROUGH (1<<29)
-#define FETCH_ENDIAN 27
-#define FETCH_PASSTHROUGH_TYPE_MASK (0x3<<27)
-#define FETCH_ENDIAN_MASK (0x7<<27)
-#define FETCH_BUF_SIZE_MASK (0x7ffffff)
-#define FETCH_CMD_PTR_MASK 3
-#define FETCH_CMD_RD_PTR_BIT 5
-#define FETCH_CMD_WR_PTR_BIT 3
-#define FETCH_CMD_NUM_MASK 3
-#define FETCH_CMD_NUM_BIT 0
-
-#define ES_COUNT_MASK 0xfff
-#define ES_COUNT_BIT 20
-#define ES_REQ_PENDING (1<<19)
-#define ES_PASSTHROUGH_EN (1<<18)
-#define ES_PASSTHROUGH_TYPE_MASK (3<<16)
-#define ES_PASSTHROUGH_TYPE_VIDEO (0<<16)
-#define ES_PASSTHROUGH_TYPE_AUDIO (1<<16)
-#define ES_PASSTHROUGH_TYPE_SUBTITLE (2<<16)
-#define ES_WR_ENDIAN_MASK (0x7)
-#define ES_SUB_WR_ENDIAN_BIT 9
-#define ES_SUB_MAN_RD_PTR (1<<8)
-#define ES_AUD_WR_ENDIAN_BIT 5
-#define ES_AUD_MAN_RD_PTR (1<<4)
-#define ES_VID_WR_ENDIAN_BIT 1
-#define ES_VID_MAN_RD_PTR (1<<0)
-
-#define PS_CFG_FETCH_DMA_URGENT (1<<31)
-#define PS_CFG_STREAM_DMA_URGENT (1<<30)
-#define PS_CFG_FORCE_PFIFO_REN (1<<29)
-#define PS_CFG_PFIFO_PEAK_EN (1<<28)
-#define PS_CFG_SRC_SEL_BIT 24
-#define PS_CFG_SRC_SEL_MASK (3<<PS_CFG_SRC_SEL_BIT)
-#define PS_CFG_SRC_SEL_FETCH (0<<PS_CFG_SRC_SEL_BIT)
-#define PS_CFG_SRC_SEL_AUX1 (1<<PS_CFG_SRC_SEL_BIT) /* from NDMA */
-#define PS_CFG_SRC_SEL_AUX2 (2<<PS_CFG_SRC_SEL_BIT)
-#define PS_CFG_SRC_SEL_AUX3 (3<<PS_CFG_SRC_SEL_BIT)
-#define PS_CFG_PFIFO_EMPTY_CNT_BIT 16
-#define PS_CFG_PFIFO_EMPTY_CNT_MASK 0xff
-#define PS_CFG_MAX_ES_WR_CYCLE_BIT 12
-#define PS_CFG_MAX_ES_WR_CYCLE_MASK 0xf
-#define PS_CFG_STARTCODE_WID_MASK (0x3<<10)
-#define PS_CFG_STARTCODE_WID_8 (0x0<<10)
-#define PS_CFG_STARTCODE_WID_16 (0x1<<10)
-#define PS_CFG_STARTCODE_WID_24 (0x2<<10)
-#define PS_CFG_STARTCODE_WID_32 (0x3<<10)
-#define PS_CFG_PFIFO_ACCESS_WID_MASK (0x3<<8)
-#define PS_CFG_PFIFO_ACCESS_WID_8 (0x0<<8)
-#define PS_CFG_PFIFO_ACCESS_WID_16 (0x1<<8)
-#define PS_CFG_PFIFO_ACCESS_WID_24 (0x2<<8)
-#define PS_CFG_PFIFO_ACCESS_WID_32 (0x3<<8)
-#define PS_CFG_MAX_FETCH_CYCLE_BIT 0
-#define PS_CFG_MAX_FETCH_CYCLE_MASK 0xff
-
-#define PARSER_INT_DISABLE_CNT_MASK 0xffff
-#define PARSER_INT_DISABLE_CNT_BIT 16
-#define PARSER_INT_HOST_EN_MASK 0xff
-#define PARSER_INT_HOST_EN_BIT 8
-#define PARSER_INT_AMRISC_EN_MASK 0xff
-#define PARSER_INT_AMRISC_EN_BIT 0
-#define PARSER_INT_ALL 0xff
-
-#define RESET_PARSER (1<<8)
-#define TS_HIU_ENABLE 5
-#define USE_HI_BSF_INTERFACE 7
-
-#endif /* RMPARSER_H */