On Sun, Jul 26, 2020 at 8:45 PM Jun Zhao <mypopy...@gmail.com> wrote: > > From: Jun Zhao <barryjz...@tencent.com> > > Export choosen pict_type and qp. > > Signed-off-by: Jun Zhao <barryjz...@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 ? _______________________________________________ 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".