Changes between Version 1 and Version 2 of Ticket #7839, comment 4


Ignore:
Timestamp:
Apr 15, 2019, 3:30:08 PM (5 months ago)
Author:
atorp
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #7839, comment 4

    v1 v2  
    11Hi,
    22
    3 I'm preparing more information...
     3To restore the ancient behaviour, you can apply this patch:
     4{{{
     5diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
     6index a03ab69590..9583d627e8 100644
     7--- a/libavcodec/qsvenc.c
     8+++ b/libavcodec/qsvenc.c
     9@@ -267,10 +267,12 @@ static void dump_video_param(AVCodecContext *avctx, QSVEncContext *q,
     10 #endif
     11 #endif
     12 
     13+#if QSV_HAVE_CO3
     14 #if QSV_HAVE_GPB
     15     if (avctx->codec_id == AV_CODEC_ID_HEVC)
     16         av_log(avctx, AV_LOG_VERBOSE,"GPB: %s\n", print_threestate(co3->GPB));
     17 #endif
     18+#endif
     19 
     20     if (avctx->codec_id == AV_CODEC_ID_H264) {
     21         av_log(avctx, AV_LOG_VERBOSE, "Entropy coding: %s; MaxDecFrameBuffering: %"PRIu16"\n",
     22diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h
     23index f2f4d38503..6a218d4234 100644
     24--- a/libavcodec/qsvenc.h
     25+++ b/libavcodec/qsvenc.h
     26@@ -35,7 +35,7 @@
     27 #include "qsv_internal.h"
     28 
     29 #define QSV_HAVE_CO2 QSV_VERSION_ATLEAST(1, 6)
     30-#define QSV_HAVE_CO3 QSV_VERSION_ATLEAST(1, 11)
     31+#define QSV_HAVE_CO3 0
     32 #define QSV_HAVE_CO_VPS  QSV_VERSION_ATLEAST(1, 17)
     33 
     34 #define QSV_HAVE_TRELLIS QSV_VERSION_ATLEAST(1, 8)
     35@@ -53,13 +53,13 @@
     36 #define QSV_HAVE_AVBR   QSV_VERSION_ATLEAST(1, 3)
     37 #define QSV_HAVE_ICQ    QSV_VERSION_ATLEAST(1, 8)
     38 #define QSV_HAVE_VCM    QSV_VERSION_ATLEAST(1, 8)
     39-#define QSV_HAVE_QVBR   QSV_VERSION_ATLEAST(1, 11)
     40+#define QSV_HAVE_QVBR   0
     41 #define QSV_HAVE_MF     0
     42 #else
     43 #define QSV_HAVE_AVBR   0
     44 #define QSV_HAVE_ICQ    QSV_VERSION_ATLEAST(1, 28)
     45 #define QSV_HAVE_VCM    0
     46-#define QSV_HAVE_QVBR   QSV_VERSION_ATLEAST(1, 28)
     47+#define QSV_HAVE_QVBR   0
     48 #define QSV_HAVE_MF     QSV_VERSION_ATLEAST(1, 25)
     49 #endif
     50 }}}
    451
     52Please, use it only as a '''temporary''' solution!!!
     53
     54But, in any case, I feel the change in the file "libavcodec/qsvenc.c" is mandatory. When using the "co3" member when QSV_HAVE_GPB is active implies to have activated QSV_HAVE_CO3 too. So, I suggest that the developers include the first part of the patch now, as the part of the code not covered by the QSV_HAVE_CO3 is introduced in this commit:
     55https://github.com/FFmpeg/FFmpeg/commit/1125277bc64ebef1a7a6bee7349c7a8fab7fdcc7#diff-7d84a34d58597bb7aa4b8239dca1f9f8
     56
     57I hope Zhong Li <zhong.li@intel.com> can fix this bug soon.
     58Regards.