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

mypopy at gmail.com mypopy at gmail.com
Sat Aug 8 08:22:39 EEST 2020


On Fri, Aug 7, 2020 at 11:16 AM Andreas Rheinhardt
<andreas.rheinhardt at gmail.com> wrote:
>
> 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.
>
fixed the commit message typo in local.


More information about the ffmpeg-devel mailing list