From: hwren <hwr...@126.com>

Signed-off-by: hwren <hwr...@126.com>
---
 libavcodec/libxavs2.c | 51 +++++++++++++++++++++++----------------------------
 1 file changed, 23 insertions(+), 28 deletions(-)

diff --git a/libavcodec/libxavs2.c b/libavcodec/libxavs2.c
index b5c07ec..8077607 100644
--- a/libavcodec/libxavs2.c
+++ b/libavcodec/libxavs2.c
@@ -26,15 +26,16 @@
 #include "mpeg12.h"
 #include "libavutil/avstring.h"
 
-#define xavs2_opt_set2(name, format, ...) do{ \
-    char opt_str[16] = {0}; \
-    int err; \
-    av_strlcatf(opt_str, sizeof(opt_str), format, __VA_ARGS__); \
-    err = cae->api->opt_set2(cae->param, name, opt_str); \
-    if (err < 0) {\
-        av_log(avctx, AV_LOG_WARNING, "Invalid value for %s: %s\n", name, 
opt_str);\
-    }\
-} while(0);
+#define xavs2_opt_set2(name, format, ...)                                      
         \
+    do {                                                                       
         \
+        char opt_str[16] = {0};                                                
         \
+        int  err;                                                              
         \
+        av_strlcatf(opt_str, sizeof(opt_str), format, __VA_ARGS__);            
         \
+        err = cae->api->opt_set2(cae->param, name, opt_str);                   
         \
+        if (err < 0) {                                                         
         \
+            av_log(avctx, AV_LOG_WARNING, "Invalid value for %s: %s\n", name, 
opt_str); \
+        }                                                                      
         \
+    } while (0);
 
 typedef struct XAVS2EContext {
     AVClass *class;
@@ -59,12 +60,12 @@ typedef struct XAVS2EContext {
 
 static av_cold int xavs2_init(AVCodecContext *avctx)
 {
-    XAVS2EContext *cae= avctx->priv_data;
+    XAVS2EContext *cae = avctx->priv_data;
     int bit_depth, code;
 
     bit_depth = avctx->pix_fmt == AV_PIX_FMT_YUV420P ? 8 : 10;
 
-    /* get API handler */
+    // get API handler
     cae->api = xavs2_api_get(bit_depth);
     if (!cae->api) {
         av_log(avctx, AV_LOG_ERROR, "api get failed\n");
@@ -83,17 +84,15 @@ static av_cold int xavs2_init(AVCodecContext *avctx)
     xavs2_opt_set2("BitDepth",  "%d", bit_depth);
     xavs2_opt_set2("Log",       "%d", cae->log_level);
     xavs2_opt_set2("Preset",    "%d", cae->preset_level);
+    xavs2_opt_set2("OpenGOP",   "%d", !(avctx->flags & 
AV_CODEC_FLAG_CLOSED_GOP));
 
     xavs2_opt_set2("IntraPeriodMax",    "%d", avctx->gop_size);
     xavs2_opt_set2("IntraPeriodMin",    "%d", avctx->gop_size);
-
     xavs2_opt_set2("ThreadFrames",      "%d", avctx->thread_count);
     xavs2_opt_set2("ThreadRows",        "%d", cae->lcu_row_threads);
 
-    xavs2_opt_set2("OpenGOP",  "%d", !(avctx->flags & 
AV_CODEC_FLAG_CLOSED_GOP));
-
     if (cae->xavs2_opts) {
-        AVDictionary *dict    = NULL;
+        AVDictionary *dict = NULL;
         AVDictionaryEntry *en = NULL;
 
         if (!av_dict_parse_string(&dict, cae->xavs2_opts, "=", ":", 0)) {
@@ -104,7 +103,7 @@ static av_cold int xavs2_init(AVCodecContext *avctx)
         }
     }
 
-    /* Rate control */
+    // Rate control
     if (avctx->bit_rate > 0) {
         xavs2_opt_set2("RateControl",   "%d", 1);
         xavs2_opt_set2("TargetBitRate", "%"PRId64"", avctx->bit_rate);
@@ -115,15 +114,14 @@ static av_cold int xavs2_init(AVCodecContext *avctx)
         xavs2_opt_set2("InitialQP",     "%d", cae->qp);
     }
 
-
     ff_mpeg12_find_best_frame_rate(avctx->framerate, &code, NULL, NULL, 0);
 
-    xavs2_opt_set2("FrameRate",   "%d", code);
+    xavs2_opt_set2("FrameRate", "%d", code);
 
     cae->encoder = cae->api->encoder_create(cae->param);
 
     if (!cae->encoder) {
-        av_log(avctx,AV_LOG_ERROR, "Can not create encoder. Null pointer 
returned\n");
+        av_log(avctx, AV_LOG_ERROR, "Can not create encoder. Null pointer 
returned\n");
         return AVERROR(EINVAL);
     }
 
@@ -179,10 +177,10 @@ static int xavs2_encode_frame(AVCodecContext *avctx, 
AVPacket *pkt,
     xavs2_picture_t pic;
     int ret;
 
-    /* create the XAVS2 video encoder */
-    /* read frame data and send to the XAVS2 video encoder */
+    // create the XAVS2 video encoder
+    // read frame data and send to the XAVS2 video encoder
     if (cae->api->encoder_get_buffer(cae->encoder, &pic) < 0) {
-        av_log(avctx,AV_LOG_ERROR, "failed to get frame buffer\n");
+        av_log(avctx, AV_LOG_ERROR, "failed to get frame buffer\n");
         return AVERROR_EXTERNAL;
     }
     if (frame) {
@@ -216,14 +214,12 @@ static int xavs2_encode_frame(AVCodecContext *avctx, 
AVPacket *pkt,
             av_log(avctx, AV_LOG_ERROR, "encode failed\n");
             return AVERROR_EXTERNAL;
         }
-
     } else {
         cae->api->encoder_encode(cae->encoder, NULL, &cae->packet);
     }
 
-    if ((cae->packet.len) && (cae->packet.state != XAVS2_STATE_FLUSH_END)){
-
-        if (av_new_packet(pkt, cae->packet.len) < 0){
+    if ((cae->packet.len) && (cae->packet.state != XAVS2_STATE_FLUSH_END)) {
+        if (av_new_packet(pkt, cae->packet.len) < 0) {
             av_log(avctx, AV_LOG_ERROR, "packet alloc failed\n");
             cae->api->encoder_packet_unref(cae->encoder, &cae->packet);
             return AVERROR(ENOMEM);
@@ -248,10 +244,9 @@ static int xavs2_encode_frame(AVCodecContext *avctx, 
AVPacket *pkt,
 static av_cold int xavs2_close(AVCodecContext *avctx)
 {
     XAVS2EContext *cae = avctx->priv_data;
-    /* destroy the encoder */
+    // destroy the encoder
     if (cae->api) {
         cae->api->encoder_destroy(cae->encoder);
-
         if (cae->param) {
             cae->api->opt_destroy(cae->param);
         }
-- 
2.7.4

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to