From 4d0efe3f5fd03db188f41d52ee9549a046939d1d Mon Sep 17 00:00:00 2001
From: diamond88 <[email protected]>
Date: Tue, 27 Feb 2018 09:46:08 +0300
Subject: [PATCH] AMF SDK integration code cleanup: remove writer_id option &
move AMF_COMMON_OPTIONS out from amfenc.h
---
libavcodec/amfenc.c | 12 ++++++++----
libavcodec/amfenc.h | 7 -------
libavcodec/amfenc_h264.c | 3 +--
libavcodec/amfenc_hevc.c | 3 +--
4 files changed, 10 insertions(+), 15 deletions(-)
diff --git a/libavcodec/amfenc.c b/libavcodec/amfenc.c
index f305a48bf..f369ae68b 100644
--- a/libavcodec/amfenc.c
+++ b/libavcodec/amfenc.c
@@ -20,10 +20,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "config.h"
+
#include "libavutil/avassert.h"
#include "libavutil/imgutils.h"
#include "libavutil/hwcontext.h"
-#include "internal.h"
#if CONFIG_D3D11VA
#include "libavutil/hwcontext_d3d11va.h"
#endif
@@ -32,6 +33,7 @@
#include "libavutil/time.h"
#include "amfenc.h"
+#include "internal.h"
#if CONFIG_D3D11VA
#include <d3d11.h>
@@ -46,6 +48,8 @@
#include <dlfcn.h>
#endif
+#define LIBAV_AMF_WRITER_ID L"libav_amf"
+
#define PTS_PROP L"PtsProp"
const enum AVPixelFormat ff_amf_pix_fmts[] = {
@@ -171,8 +175,8 @@ static int amf_init_context(AVCodecContext *avctx)
// connect AMF logger to av_log
ctx->tracer.vtbl = &tracer_vtbl;
ctx->tracer.avctx = avctx;
- ctx->trace->pVtbl->RegisterWriter(ctx->trace, ctx->writer_id,
(AMFTraceWriter*)&ctx->tracer, 1);
- ctx->trace->pVtbl->SetWriterLevel(ctx->trace, ctx->writer_id,
AMF_TRACE_TRACE);
+ ctx->trace->pVtbl->RegisterWriter(ctx->trace,
LIBAV_AMF_WRITER_ID,(AMFTraceWriter*)&ctx->tracer, 1);
+ ctx->trace->pVtbl->SetWriterLevel(ctx->trace, LIBAV_AMF_WRITER_ID,
AMF_TRACE_TRACE);
res = ctx->factory->pVtbl->CreateContext(ctx->factory, &ctx->context);
AMF_RETURN_IF_FALSE(ctx, res == AMF_OK, AVERROR_UNKNOWN, "CreateContext()
failed with error %d\n", res);
@@ -283,7 +287,7 @@ int av_cold ff_amf_encode_close(AVCodecContext *avctx)
av_buffer_unref(&ctx->hw_frames_ctx);
if (ctx->trace) {
- ctx->trace->pVtbl->UnregisterWriter(ctx->trace, ctx->writer_id);
+ ctx->trace->pVtbl->UnregisterWriter(ctx->trace, LIBAV_AMF_WRITER_ID);
}
if (ctx->library) {
dlclose(ctx->library);
diff --git a/libavcodec/amfenc.h b/libavcodec/amfenc.h
index f3b82be77..b3b582d97 100644
--- a/libavcodec/amfenc.h
+++ b/libavcodec/amfenc.h
@@ -20,7 +20,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
#ifndef AVCODEC_AMFENC_H
#define AVCODEC_AMFENC_H
@@ -31,7 +30,6 @@
#include "libavutil/fifo.h"
-#include "config.h"
#include "avcodec.h"
@@ -80,7 +78,6 @@ typedef struct AmfContext {
// common encoder options
int log_to_dbg;
- char *writer_id;
// Static options, have to be set before Init() call
int usage;
@@ -151,8 +148,4 @@ extern const enum AVPixelFormat ff_amf_pix_fmts[];
return ret_value; \
}
-#define AMF_COMMON_OPTIONS \
- { "log_to_dbg", "Enable AMF logging to debug output",
OFFSET(log_to_dbg), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE }, \
- { "writer_id", "Enable AMF logging to writer id",
OFFSET(writer_id), AV_OPT_TYPE_STRING, { .str = "libavcodec" }, 0, 1, VE } \
-
#endif //AVCODEC_AMFENC_H
diff --git a/libavcodec/amfenc_h264.c b/libavcodec/amfenc_h264.c
index 01b0c3a56..74535784c 100644
--- a/libavcodec/amfenc_h264.c
+++ b/libavcodec/amfenc_h264.c
@@ -123,7 +123,7 @@ static const AVOption options[] = {
{ "aud", "Inserts AU Delimiter NAL unit", OFFSET(aud)
,AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE },
- AMF_COMMON_OPTIONS,
+ { "log_to_dbg", "Enable AMF logging to debug output",
OFFSET(log_to_dbg) , AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE },
{ NULL }
};
@@ -217,7 +217,6 @@ static av_cold int amf_encode_init_h264(AVCodecContext
*avctx)
}
}
-
if (ctx->rate_control_mode ==
AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD_CONSTANT_QP) {
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder,
AMF_VIDEO_ENCODER_RATE_CONTROL_PREANALYSIS_ENABLE,
AMF_VIDEO_ENCODER_PREENCODE_DISABLED);
if (ctx->preanalysis)
diff --git a/libavcodec/amfenc_hevc.c b/libavcodec/amfenc_hevc.c
index fc64decde..151ca85bd 100644
--- a/libavcodec/amfenc_hevc.c
+++ b/libavcodec/amfenc_hevc.c
@@ -20,7 +20,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
#include "libavutil/internal.h"
#include "libavutil/opt.h"
#include "amfenc.h"
@@ -92,7 +91,7 @@ static const AVOption options[] = {
{ "aud", "Inserts AU Delimiter NAL unit",
OFFSET(aud) ,AV_OPT_TYPE_INT,{ .i64 = 0 }, 0, 1, VE },
- AMF_COMMON_OPTIONS,
+ { "log_to_dbg", "Enable AMF logging to debug output",
OFFSET(log_to_dbg) ,AV_OPT_TYPE_INT,{ .i64 = 0 }, 0, 1, VE },
{ NULL }
};
--
2.16.2.windows.1
________________________________
This e-mail and any attachment(s) are intended only for the recipient(s) named
above and others who have been specifically authorized to receive them. They
may contain confidential information. If you are not the intended recipient,
please do not read this email or its attachment(s). Furthermore, you are hereby
notified that any dissemination, distribution or copying of this e-mail and any
attachment(s) is strictly prohibited. If you have received this e-mail in
error, please immediately notify the sender by replying to this e-mail and then
delete this e-mail and any attachment(s) or copies thereof from your system.
Thank you.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel