Re: [FFmpeg-devel] [PATCH, v2] lavc/qsvenc: Fix the memory leak for enc_ctrl.Payload

2019-05-22 Thread Li, Zhong
> From: Fu, Linjie
> Sent: Wednesday, May 22, 2019 1:50 PM
> To: Li, Zhong ; FFmpeg development discussions and
> patches 
> Subject: RE: [FFmpeg-devel] [PATCH, v2] lavc/qsvenc: Fix the memory leak
> for enc_ctrl.Payload
> 
> > -Original Message-
> > From: Li, Zhong
> > Sent: Monday, April 29, 2019 17:00
> > To: FFmpeg development discussions and patches  > de...@ffmpeg.org>
> > Cc: Fu, Linjie 
> > Subject: RE: [FFmpeg-devel] [PATCH, v2] lavc/qsvenc: Fix the memory
> > leak for enc_ctrl.Payload
> >
> > > From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On
> > Behalf
> > > Of Linjie Fu
> > > Sent: Monday, April 15, 2019 9:23 PM
> > > To: ffmpeg-devel@ffmpeg.org
> > > Cc: Fu, Linjie 
> > > Subject: [FFmpeg-devel] [PATCH, v2] lavc/qsvenc: Fix the memory leak
> > > for enc_ctrl.Payload
> > >
> > > frame->enc_ctrl.Payload is malloced in get_free_frame, directly
> > > frame->memset
> > > the whole structure of enc_ctrl to zero will cause the memory leak
> > > for enc_ctrl.Payload.
> > >
> > > frame->enc_ctrl as a structure will be malloc and init to zero by
> > > frame->calling
> > > frame = av_mallocz(sizeof(*frame)), so the memset is redundant and
> > > can
> > be
> > > removed.
> > >
> > > Can be reproduced by #7830.
> >
> > Patch LGTM now, but I can't see strong relationship between this patch
> > and tikect #7830.
> > IMHO this is a quite common issue even if you use qsv transcoding
> pipeline?
> 
> Yes, it's not strongly related with the issue. Remove this would be fine.
> Thanks.

Applied with commit message modified. 
Thanks.
___
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".

Re: [FFmpeg-devel] [PATCH, v2] lavc/qsvenc: Fix the memory leak for enc_ctrl.Payload

2019-05-21 Thread Fu, Linjie
> -Original Message-
> From: Li, Zhong
> Sent: Monday, April 29, 2019 17:00
> To: FFmpeg development discussions and patches  de...@ffmpeg.org>
> Cc: Fu, Linjie 
> Subject: RE: [FFmpeg-devel] [PATCH, v2] lavc/qsvenc: Fix the memory leak
> for enc_ctrl.Payload
> 
> > From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On
> Behalf
> > Of Linjie Fu
> > Sent: Monday, April 15, 2019 9:23 PM
> > To: ffmpeg-devel@ffmpeg.org
> > Cc: Fu, Linjie 
> > Subject: [FFmpeg-devel] [PATCH, v2] lavc/qsvenc: Fix the memory leak for
> > enc_ctrl.Payload
> >
> > frame->enc_ctrl.Payload is malloced in get_free_frame, directly memset
> > the whole structure of enc_ctrl to zero will cause the memory leak for
> > enc_ctrl.Payload.
> >
> > frame->enc_ctrl as a structure will be malloc and init to zero by
> > frame->calling
> > frame = av_mallocz(sizeof(*frame)), so the memset is redundant and can
> be
> > removed.
> >
> > Can be reproduced by #7830.
> 
> Patch LGTM now, but I can't see strong relationship between this patch and
> tikect #7830.
> IMHO this is a quite common issue even if you use qsv transcoding pipeline?

Yes, it's not strongly related with the issue. Remove this would be fine.
Thanks.

> > Signed-off-by: Linjie Fu 
> > ---
> >  libavcodec/qsvenc.c | 1 -
> >  1 file changed, 1 deletion(-)
> >
> > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index
> > 5aa020d47b..19953bd4ea 100644
> > --- a/libavcodec/qsvenc.c
> > +++ b/libavcodec/qsvenc.c
> > @@ -1254,7 +1254,6 @@ static int encode_frame(AVCodecContext *avctx,
> > QSVEncContext *q,
> >  if (qsv_frame) {
> >  surf = _frame->surface;
> >  enc_ctrl = _frame->enc_ctrl;
> > -memset(enc_ctrl, 0, sizeof(mfxEncodeCtrl));
> >
> >  if (frame->pict_type == AV_PICTURE_TYPE_I) {
> >  enc_ctrl->FrameType = MFX_FRAMETYPE_I |
> > MFX_FRAMETYPE_REF;
> > --
> > 2.17.1

___
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".

Re: [FFmpeg-devel] [PATCH, v2] lavc/qsvenc: Fix the memory leak for enc_ctrl.Payload

2019-04-29 Thread Li, Zhong
> From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf
> Of Linjie Fu
> Sent: Monday, April 15, 2019 9:23 PM
> To: ffmpeg-devel@ffmpeg.org
> Cc: Fu, Linjie 
> Subject: [FFmpeg-devel] [PATCH, v2] lavc/qsvenc: Fix the memory leak for
> enc_ctrl.Payload
> 
> frame->enc_ctrl.Payload is malloced in get_free_frame, directly memset
> the whole structure of enc_ctrl to zero will cause the memory leak for
> enc_ctrl.Payload.
> 
> frame->enc_ctrl as a structure will be malloc and init to zero by
> frame->calling
> frame = av_mallocz(sizeof(*frame)), so the memset is redundant and can be
> removed.
> 
> Can be reproduced by #7830.

Patch LGTM now, but I can't see strong relationship between this patch and 
tikect #7830.
IMHO this is a quite common issue even if you use qsv transcoding pipeline? 

> Signed-off-by: Linjie Fu 
> ---
>  libavcodec/qsvenc.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index
> 5aa020d47b..19953bd4ea 100644
> --- a/libavcodec/qsvenc.c
> +++ b/libavcodec/qsvenc.c
> @@ -1254,7 +1254,6 @@ static int encode_frame(AVCodecContext *avctx,
> QSVEncContext *q,
>  if (qsv_frame) {
>  surf = _frame->surface;
>  enc_ctrl = _frame->enc_ctrl;
> -memset(enc_ctrl, 0, sizeof(mfxEncodeCtrl));
> 
>  if (frame->pict_type == AV_PICTURE_TYPE_I) {
>  enc_ctrl->FrameType = MFX_FRAMETYPE_I |
> MFX_FRAMETYPE_REF;
> --
> 2.17.1

___
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".

[FFmpeg-devel] [PATCH, v2] lavc/qsvenc: Fix the memory leak for enc_ctrl.Payload

2019-04-14 Thread Linjie Fu
frame->enc_ctrl.Payload is malloced in get_free_frame, directly memset
the whole structure of enc_ctrl to zero will cause the memory leak for
enc_ctrl.Payload.

frame->enc_ctrl as a structure will be malloc and init to zero by calling
frame = av_mallocz(sizeof(*frame)), so the memset is redundant and can
be removed.

Can be reproduced by #7830.

Signed-off-by: Linjie Fu 
---
 libavcodec/qsvenc.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 5aa020d47b..19953bd4ea 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -1254,7 +1254,6 @@ static int encode_frame(AVCodecContext *avctx, 
QSVEncContext *q,
 if (qsv_frame) {
 surf = _frame->surface;
 enc_ctrl = _frame->enc_ctrl;
-memset(enc_ctrl, 0, sizeof(mfxEncodeCtrl));
 
 if (frame->pict_type == AV_PICTURE_TYPE_I) {
 enc_ctrl->FrameType = MFX_FRAMETYPE_I | MFX_FRAMETYPE_REF;
-- 
2.17.1

___
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".