author | Yuxi Sun <yuxi.sun@amlogic.com> | 2017-10-23 07:55:13 (GMT) |
---|---|---|
committer | Simon Zheng <simon.zheng@amlogic.com> | 2017-11-07 08:51:04 (GMT) |
commit | 8bfea47c923d98ece3a3f5e79f731461370f43ed (patch) | |
tree | 6599985a7899ec8a32aeee4950c8fdcb6df8e403 | |
parent | d73e8402e5a0633b59f472d5f3e641a433c5b127 (diff) | |
download | media_modules-8bfea47c923d98ece3a3f5e79f731461370f43ed.zip media_modules-8bfea47c923d98ece3a3f5e79f731461370f43ed.tar.gz media_modules-8bfea47c923d98ece3a3f5e79f731461370f43ed.tar.bz2 |
PD#153170: encoder: Add macro to control the enable of GE2D for crop and scale
Change-Id: Ie49442a6ad5eb58fd8e8445db8c5d32843fbdbe3
Signed-off-by: Yuxi Sun <yuxi.sun@amlogic.com>
-rw-r--r-- | Media.mk | 3 | ||||
-rw-r--r-- | drivers/frame_sink/encoder/h264/encoder.c | 17 | ||||
-rw-r--r-- | drivers/frame_sink/encoder/h264/encoder.h | 7 |
3 files changed, 16 insertions, 11 deletions
@@ -15,7 +15,8 @@ CONFIGS := CONFIG_AMLOGIC_MEDIA_VDEC_MPEG12=m \ CONFIG_AMLOGIC_MEDIA_VDEC_REAL=m \ CONFIG_AMLOGIC_MEDIA_VDEC_AVS=m \ CONFIG_AMLOGIC_MEDIA_VENC_H264=m \ - CONFIG_AMLOGIC_MEDIA_VECN_H265=m + CONFIG_AMLOGIC_MEDIA_VECN_H265=m \ + CONFIG_AMLOGIC_MEDIA_GE2D=y define copy-media-modules $(foreach m, $(shell find $(strip $(1)) -name "*.ko"),\ diff --git a/drivers/frame_sink/encoder/h264/encoder.c b/drivers/frame_sink/encoder/h264/encoder.c index fe28b31..f3f1041 100644 --- a/drivers/frame_sink/encoder/h264/encoder.c +++ b/drivers/frame_sink/encoder/h264/encoder.c @@ -1022,7 +1022,7 @@ static void mfdin_basic(u32 input, u8 iformat, (1 << 18) | (0 << 21)); } -#ifdef CONFIG_AM_GE2D +#ifdef CONFIG_AMLOGIC_MEDIA_GE2D static int scale_frame(struct encode_wq_s *wq, struct encode_request_s *request, struct config_para_ex_s *ge2d_config, @@ -1197,7 +1197,7 @@ static s32 set_input_format(struct encode_wq_s *wq, picsize_y = wq->pic.encoder_height; } if (request->scale_enable) { -#ifdef CONFIG_AM_GE2D +#ifdef CONFIG_AMLOGIC_MEDIA_GE2D struct config_para_ex_s ge2d_config; memset(&ge2d_config, 0, sizeof(struct config_para_ex_s)); @@ -1325,7 +1325,7 @@ static s32 set_input_format(struct encode_wq_s *wq, } else if (request->type == CANVAS_BUFF) { r2y_en = 0; if (request->scale_enable) { -#ifdef CONFIG_AM_GE2D +#ifdef CONFIG_AMLOGIC_MEDIA_GE2D struct config_para_ex_s ge2d_config; memset(&ge2d_config, 0, sizeof(struct config_para_ex_s)); @@ -1373,7 +1373,9 @@ static s32 set_input_format(struct encode_wq_s *wq, } else ret = -1; } - +#ifdef CONFIG_AMLOGIC_MEDIA_GE2D +MFDIN: +#endif if (ret == 0) mfdin_basic(input, iformat, oformat, picsize_x, picsize_y, r2y_en, @@ -3265,7 +3267,8 @@ Again: ENCODER_BUFFER_DUMP); size = wq->mem.dump_info_ddr_size; cache_flush(buf_start, size); - enc_pr(LOG_DEBUG, "CBR flush dump_info done--- "); + //enc_pr(LOG_INFO, "CBR flush dump_info done--- "); + enc_pr(LOG_DEBUG, "CBR flush dump_info done"); } if (request->flush_flag & AMVENC_FLUSH_FLAG_REFERENCE) { @@ -3537,7 +3540,7 @@ static s32 encode_monitor_thread(void *data) manager->current_wq = first_wq; spin_unlock(&manager->event.sem_lock); if (first_wq) { -#ifdef CONFIG_AM_GE2D +#ifdef CONFIG_AMLOGIC_MEDIA_GE2D if (!manager->context) manager->context = create_ge2d_work_queue(); @@ -3565,7 +3568,7 @@ static s32 encode_monitor_thread(void *data) spin_unlock(&manager->event.sem_lock); manager->inited = false; amvenc_avc_stop(); -#ifdef CONFIG_AM_GE2D +#ifdef CONFIG_AMLOGIC_MEDIA_GE2D if (manager->context) { destroy_ge2d_work_queue(manager->context); manager->context = NULL; diff --git a/drivers/frame_sink/encoder/h264/encoder.h b/drivers/frame_sink/encoder/h264/encoder.h index db4f255..5dbfae2 100644 --- a/drivers/frame_sink/encoder/h264/encoder.h +++ b/drivers/frame_sink/encoder/h264/encoder.h @@ -26,8 +26,9 @@ #include <linux/spinlock.h> #include <linux/wait.h> #include <linux/slab.h> -#ifdef CONFIG_AM_GE2D -#include <linux/amlogic/ge2d/ge2d.h> + +#ifdef CONFIG_AMLOGIC_MEDIA_GE2D +#include <linux/amlogic/media/ge2d/ge2d.h> #endif #define AMVENC_DEVINFO_M8 "AML-M8" @@ -336,7 +337,7 @@ struct encode_manager_s { u32 wq_count; u32 ucode_index; u32 max_instance; -#ifdef CONFIG_AM_GE2D +#ifdef CONFIG_AMLOGIC_MEDIA_GE2D struct ge2d_context_s *context; #endif bool irq_requested; |