]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/nvenc.h
Merge commit '54dcd2288546e135986338107ea87db1fcedd633'
[ffmpeg] / libavcodec / nvenc.h
index 7dec5cc68517c4f92d1725d93be0283c37927e82..2e24604cea12eae19f6c82ed085c9bb1b557f130 100644 (file)
@@ -30,6 +30,8 @@
 #include "avcodec.h"
 
 #define MAX_REGISTERED_FRAMES 64
+#define RC_MODE_DEPRECATED 0x800000
+#define RCD(rc_mode) ((rc_mode) | RC_MODE_DEPRECATED)
 
 typedef struct NvencSurface
 {
@@ -44,7 +46,6 @@ typedef struct NvencSurface
     NV_ENC_OUTPUT_PTR output_surface;
     NV_ENC_BUFFER_FORMAT format;
     int size;
-    int lockCount;
 } NvencSurface;
 
 typedef struct NvencDynLoadFunctions
@@ -110,6 +111,7 @@ typedef struct NvencContext
     int nb_surfaces;
     NvencSurface *surfaces;
 
+    AVFifoBuffer *unused_surface_queue;
     AVFifoBuffer *output_surface_queue;
     AVFifoBuffer *output_surface_ready_queue;
     AVFifoBuffer *timestamp_list;
@@ -152,13 +154,14 @@ typedef struct NvencContext
     int nonref_p;
     int strict_gop;
     int aq_strength;
-    int quality;
+    float quality;
     int aud;
     int bluray_compat;
     int init_qp_p;
     int init_qp_b;
     int init_qp_i;
     int cqp;
+    int weighted_pred;
 } NvencContext;
 
 int ff_nvenc_encode_init(AVCodecContext *avctx);