From c4eaf2126257137eccb81c38ed527dff1729d191 Mon Sep 17 00:00:00 2001 From: Tao Guo Date: Fri, 7 Dec 2018 11:50:33 +0000 Subject: [PATCH] vdec: add drm_framemode in codec profile [1/2] PD#SWPL-1081 Problem: omx need get profile to know whether kernel support drm framemode Solution: add drm_framemode in codec profile Verify: P212 Change-Id: I9e817d01714296646f150680ca1e7a301de9b341 Signed-off-by: Tao Guo --- .../media_modules/frame_provider/decoder/utils/Makefile | 1 + .../decoder/utils}/amstream_profile.c | 4 ++-- .../media_modules/frame_provider/decoder/utils/vdec.c | 6 ++++++ drivers/amlogic/media_modules/stream_input/Makefile | 1 - drivers/amlogic/media_modules/stream_input/amports/Makefile | 2 +- 5 files changed, 10 insertions(+), 4 deletions(-) rename drivers/amlogic/media_modules/{stream_input/amports => frame_provider/decoder/utils}/amstream_profile.c (91%) diff --git a/drivers/amlogic/media_modules/frame_provider/decoder/utils/Makefile b/drivers/amlogic/media_modules/frame_provider/decoder/utils/Makefile index 92eadc3e6ff2..03f57b8e8f23 100644 --- a/drivers/amlogic/media_modules/frame_provider/decoder/utils/Makefile +++ b/drivers/amlogic/media_modules/frame_provider/decoder/utils/Makefile @@ -2,3 +2,4 @@ obj-m += decoder_common.o decoder_common-objs += utils.o vdec.o vdec_input.o amvdec.o decoder_common-objs += decoder_mmu_box.o decoder_bmmu_box.o decoder_common-objs += config_parser.o secprot.o vdec_profile.o +decoder_common-objs += amstream_profile.o diff --git a/drivers/amlogic/media_modules/stream_input/amports/amstream_profile.c b/drivers/amlogic/media_modules/frame_provider/decoder/utils/amstream_profile.c similarity index 91% rename from drivers/amlogic/media_modules/stream_input/amports/amstream_profile.c rename to drivers/amlogic/media_modules/frame_provider/decoder/utils/amstream_profile.c index a2bc5564209f..93f50c793068 100644 --- a/drivers/amlogic/media_modules/stream_input/amports/amstream_profile.c +++ b/drivers/amlogic/media_modules/frame_provider/decoder/utils/amstream_profile.c @@ -20,7 +20,6 @@ #include #include #include -#include "amports_priv.h" static const struct codec_profile_t *vcodec_profile[SUPPORT_VDEC_NUM] = { 0 }; @@ -32,12 +31,13 @@ ssize_t vcodec_profile_read(char *buf) int i = 0; for (i = 0; i < vcodec_profile_idx; i++) { - pbuf += sprintf(pbuf, "%s:%s;\n", vcodec_profile[i]->name, + pbuf += snprintf(pbuf, PAGE_SIZE - (pbuf - buf), "%s:%s;\n", vcodec_profile[i]->name, vcodec_profile[i]->profile); } return pbuf - buf; } +EXPORT_SYMBOL(vcodec_profile_read); int vcodec_profile_register(const struct codec_profile_t *vdec_profile) { diff --git a/drivers/amlogic/media_modules/frame_provider/decoder/utils/vdec.c b/drivers/amlogic/media_modules/frame_provider/decoder/utils/vdec.c index e455f876a122..75e42a5a9433 100644 --- a/drivers/amlogic/media_modules/frame_provider/decoder/utils/vdec.c +++ b/drivers/amlogic/media_modules/frame_provider/decoder/utils/vdec.c @@ -3936,6 +3936,11 @@ static struct platform_driver vdec_driver = { } }; +static struct codec_profile_t amvdec_input_profile = { + .name = "vdec_input", + .profile = "drm_framemode" +}; + int vdec_module_init(void) { if (platform_driver_register(&vdec_driver)) { @@ -3944,6 +3949,7 @@ int vdec_module_init(void) } INIT_REG_NODE_CONFIGS("media.decoder", &vdec_node, "vdec", vdec_configs, CONFIG_FOR_RW); + vcodec_profile_register(&amvdec_input_profile); return 0; } EXPORT_SYMBOL(vdec_module_init); diff --git a/drivers/amlogic/media_modules/stream_input/Makefile b/drivers/amlogic/media_modules/stream_input/Makefile index f56e7eaadeb8..73dfd13058ab 100644 --- a/drivers/amlogic/media_modules/stream_input/Makefile +++ b/drivers/amlogic/media_modules/stream_input/Makefile @@ -1,7 +1,6 @@ obj-m += stream_input.o stream_input-objs += amports/amstream.o -stream_input-objs += amports/amstream_profile.o stream_input-objs += amports/adec.o stream_input-objs += parser/thread_rw.o stream_input-objs += parser/streambuf.o diff --git a/drivers/amlogic/media_modules/stream_input/amports/Makefile b/drivers/amlogic/media_modules/stream_input/amports/Makefile index 55fbdce8aa7a..82f5934b5f9b 100644 --- a/drivers/amlogic/media_modules/stream_input/amports/Makefile +++ b/drivers/amlogic/media_modules/stream_input/amports/Makefile @@ -1,2 +1,2 @@ obj-y += amports.o -amports-objs += amstream.o amstream_profile.o adec.o +amports-objs += amstream.o adec.o