[FFmpeg-devel] [PATCH 3/5] lavf/libkvazaar: export encoded frame stats

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Fri Aug 7 06:16:27 EEST 2020


mypopy at gmail.com:
> On Sun, Jul 26, 2020 at 8:45 PM Jun Zhao <mypopydev at gmail.com> wrote:
>>
>> From: Jun Zhao <barryjzhao at tencent.com>
>>
>> Export choosen pict_type and qp.
>>
>> Signed-off-by: Jun Zhao <barryjzhao at tencent.com>
>> ---
>>  libavcodec/libkvazaar.c | 30 ++++++++++++++++++++++++++++++
>>  1 file changed, 30 insertions(+)
>>
>> diff --git a/libavcodec/libkvazaar.c b/libavcodec/libkvazaar.c
>> index 71c9c8f..9032547 100644
>> --- a/libavcodec/libkvazaar.c
>> +++ b/libavcodec/libkvazaar.c
>> @@ -37,6 +37,7 @@
>>
>>  #include "avcodec.h"
>>  #include "internal.h"
>> +#include "packet_internal.h"
>>
>>  typedef struct LibkvazaarContext {
>>      const AVClass *class;
>> @@ -170,6 +171,7 @@ static int libkvazaar_encode(AVCodecContext *avctx,
>>      kvz_data_chunk *data_out = NULL;
>>      uint32_t len_out = 0;
>>      int retval = 0;
>> +    int pict_type;
>>
>>      *got_packet_ptr = 0;
>>
>> @@ -257,6 +259,34 @@ static int libkvazaar_encode(AVCodecContext *avctx,
>>              avpkt->flags |= AV_PKT_FLAG_KEY;
>>          }
>>
>> +        switch (frame_info.slice_type) {
>> +        case KVZ_SLICE_I:
>> +            pict_type = AV_PICTURE_TYPE_I;
>> +            break;
>> +        case KVZ_SLICE_P:
>> +            pict_type = AV_PICTURE_TYPE_P;
>> +            break;
>> +        case KVZ_SLICE_B:
>> +            pict_type = AV_PICTURE_TYPE_B;
>> +            break;
>> +        default:
>> +            av_log(avctx, AV_LOG_ERROR, "Unknown picture type encountered.\n");
>> +            return AVERROR_EXTERNAL;
>> +        }
>> +#if FF_API_CODED_FRAME
>> +FF_DISABLE_DEPRECATION_WARNINGS
>> +        avctx->coded_frame->pict_type = pict_type;
>> +FF_ENABLE_DEPRECATION_WARNINGS
>> +#endif
>> +
>> +        ff_side_data_set_encoder_stats(avpkt, frame_info.qp * FF_QP2LAMBDA, NULL, 0, pict_type);
>> +
>> +#if FF_API_CODED_FRAME
>> +FF_DISABLE_DEPRECATION_WARNINGS
>> +        avctx->coded_frame->quality = frame_info.qp * FF_QP2LAMBDA;
>> +FF_ENABLE_DEPRECATION_WARNINGS
>> +#endif
>> +
>>          *got_packet_ptr = 1;
>>      }
>>
>> --
>> 2.7.4
>>
> ping ?

Wrong commit message: It is not lavf. I have no opinion on the actual
change.

- Andreas


More information about the ffmpeg-devel mailing list