Message ID | 20210305163339.63164-46-jamrial@gmail.com |
---|---|
State | New |
Headers | show |
Series | deprecate av_init_packet() and sizeof(AVPacket) as part of the ABI | expand |
Context | Check | Description |
---|---|---|
andriy/x86_make | success | Make finished |
andriy/x86_make_fate | success | Make fate finished |
andriy/PPC64_make | success | Make finished |
andriy/PPC64_make_fate | success | Make fate finished |
On Fri, Mar 05, 2021 at 01:33:36PM -0300, James Almer wrote: > Signed-off-by: James Almer <jamrial@gmail.com> > --- > doc/examples/vaapi_encode.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/doc/examples/vaapi_encode.c b/doc/examples/vaapi_encode.c > index 707939db37..66cb949cdc 100644 > --- a/doc/examples/vaapi_encode.c > +++ b/doc/examples/vaapi_encode.c > @@ -74,27 +74,27 @@ static int set_hwframe_ctx(AVCodecContext *ctx, AVBufferRef *hw_device_ctx) > static int encode_write(AVCodecContext *avctx, AVFrame *frame, FILE *fout) > { > int ret = 0; > - AVPacket enc_pkt; > + AVPacket *enc_pkt; > > - av_init_packet(&enc_pkt); > - enc_pkt.data = NULL; > - enc_pkt.size = 0; > + if (!(enc_pkt = av_packet_alloc())) > + return AVERROR(ENOMEM); > > if ((ret = avcodec_send_frame(avctx, frame)) < 0) { > fprintf(stderr, "Error code: %s\n", av_err2str(ret)); > goto end; > } > while (1) { > - ret = avcodec_receive_packet(avctx, &enc_pkt); > + ret = avcodec_receive_packet(avctx, enc_pkt); > if (ret) > break; > > - enc_pkt.stream_index = 0; > - ret = fwrite(enc_pkt.data, enc_pkt.size, 1, fout); > - av_packet_unref(&enc_pkt); > + enc_pkt->stream_index = 0; > + ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); > + av_packet_unref(enc_pkt); > } > > end: > + av_packet_free(&enc_pkt); > ret = ((ret == AVERROR(EAGAIN)) ? 0 : -1); > return ret; > } breaks: doc/examples/vaapi_encode.c: In function ‘encode_write’: doc/examples/vaapi_encode.c:92:29: error: ‘enc_pkt’ is a pointer; did you mean to use ‘->’? ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); ^ -> ffbuild/common.mak:67: recipe for target 'doc/examples/vaapi_encode.o' failed make: *** [doc/examples/vaapi_encode.o] Error 1 make: *** Waiting for unfinished jobs.... [...]
On 3/6/2021 6:35 PM, Michael Niedermayer wrote: > On Fri, Mar 05, 2021 at 01:33:36PM -0300, James Almer wrote: >> Signed-off-by: James Almer <jamrial@gmail.com> >> --- >> doc/examples/vaapi_encode.c | 16 ++++++++-------- >> 1 file changed, 8 insertions(+), 8 deletions(-) >> >> diff --git a/doc/examples/vaapi_encode.c b/doc/examples/vaapi_encode.c >> index 707939db37..66cb949cdc 100644 >> --- a/doc/examples/vaapi_encode.c >> +++ b/doc/examples/vaapi_encode.c >> @@ -74,27 +74,27 @@ static int set_hwframe_ctx(AVCodecContext *ctx, AVBufferRef *hw_device_ctx) >> static int encode_write(AVCodecContext *avctx, AVFrame *frame, FILE *fout) >> { >> int ret = 0; >> - AVPacket enc_pkt; >> + AVPacket *enc_pkt; >> >> - av_init_packet(&enc_pkt); >> - enc_pkt.data = NULL; >> - enc_pkt.size = 0; >> + if (!(enc_pkt = av_packet_alloc())) >> + return AVERROR(ENOMEM); >> >> if ((ret = avcodec_send_frame(avctx, frame)) < 0) { >> fprintf(stderr, "Error code: %s\n", av_err2str(ret)); >> goto end; >> } >> while (1) { >> - ret = avcodec_receive_packet(avctx, &enc_pkt); >> + ret = avcodec_receive_packet(avctx, enc_pkt); >> if (ret) >> break; >> >> - enc_pkt.stream_index = 0; >> - ret = fwrite(enc_pkt.data, enc_pkt.size, 1, fout); >> - av_packet_unref(&enc_pkt); >> + enc_pkt->stream_index = 0; >> + ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); >> + av_packet_unref(enc_pkt); >> } >> >> end: >> + av_packet_free(&enc_pkt); >> ret = ((ret == AVERROR(EAGAIN)) ? 0 : -1); >> return ret; >> } > > breaks: > doc/examples/vaapi_encode.c: In function ‘encode_write’: > doc/examples/vaapi_encode.c:92:29: error: ‘enc_pkt’ is a pointer; did you mean to use ‘->’? > ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); > ^ > -> > ffbuild/common.mak:67: recipe for target 'doc/examples/vaapi_encode.o' failed > make: *** [doc/examples/vaapi_encode.o] Error 1 > make: *** Waiting for unfinished jobs.... Fixed locally. Thanks.
On Sat, Mar 06, 2021 at 06:45:57PM -0300, James Almer wrote: > On 3/6/2021 6:35 PM, Michael Niedermayer wrote: > > On Fri, Mar 05, 2021 at 01:33:36PM -0300, James Almer wrote: > > > Signed-off-by: James Almer <jamrial@gmail.com> > > > --- > > > doc/examples/vaapi_encode.c | 16 ++++++++-------- > > > 1 file changed, 8 insertions(+), 8 deletions(-) > > > > > > diff --git a/doc/examples/vaapi_encode.c b/doc/examples/vaapi_encode.c > > > index 707939db37..66cb949cdc 100644 > > > --- a/doc/examples/vaapi_encode.c > > > +++ b/doc/examples/vaapi_encode.c > > > @@ -74,27 +74,27 @@ static int set_hwframe_ctx(AVCodecContext *ctx, AVBufferRef *hw_device_ctx) > > > static int encode_write(AVCodecContext *avctx, AVFrame *frame, FILE *fout) > > > { > > > int ret = 0; > > > - AVPacket enc_pkt; > > > + AVPacket *enc_pkt; > > > - av_init_packet(&enc_pkt); > > > - enc_pkt.data = NULL; > > > - enc_pkt.size = 0; > > > + if (!(enc_pkt = av_packet_alloc())) > > > + return AVERROR(ENOMEM); > > > if ((ret = avcodec_send_frame(avctx, frame)) < 0) { > > > fprintf(stderr, "Error code: %s\n", av_err2str(ret)); > > > goto end; > > > } > > > while (1) { > > > - ret = avcodec_receive_packet(avctx, &enc_pkt); > > > + ret = avcodec_receive_packet(avctx, enc_pkt); > > > if (ret) > > > break; > > > - enc_pkt.stream_index = 0; > > > - ret = fwrite(enc_pkt.data, enc_pkt.size, 1, fout); > > > - av_packet_unref(&enc_pkt); > > > + enc_pkt->stream_index = 0; > > > + ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); > > > + av_packet_unref(enc_pkt); > > > } > > > end: > > > + av_packet_free(&enc_pkt); > > > ret = ((ret == AVERROR(EAGAIN)) ? 0 : -1); > > > return ret; > > > } > > > > breaks: > > doc/examples/vaapi_encode.c: In function ‘encode_write’: > > doc/examples/vaapi_encode.c:92:29: error: ‘enc_pkt’ is a pointer; did you mean to use ‘->’? > > ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); > > ^ > > -> > > ffbuild/common.mak:67: recipe for target 'doc/examples/vaapi_encode.o' failed > > make: *** [doc/examples/vaapi_encode.o] Error 1 > > make: *** Waiting for unfinished jobs.... > > Fixed locally. Thanks. do you have a public git tree for testing such minor changes ? so i can retest the update set easily thanks [...]
On 3/10/2021 5:22 PM, Michael Niedermayer wrote: > On Sat, Mar 06, 2021 at 06:45:57PM -0300, James Almer wrote: >> On 3/6/2021 6:35 PM, Michael Niedermayer wrote: >>> On Fri, Mar 05, 2021 at 01:33:36PM -0300, James Almer wrote: >>>> Signed-off-by: James Almer <jamrial@gmail.com> >>>> --- >>>> doc/examples/vaapi_encode.c | 16 ++++++++-------- >>>> 1 file changed, 8 insertions(+), 8 deletions(-) >>>> >>>> diff --git a/doc/examples/vaapi_encode.c b/doc/examples/vaapi_encode.c >>>> index 707939db37..66cb949cdc 100644 >>>> --- a/doc/examples/vaapi_encode.c >>>> +++ b/doc/examples/vaapi_encode.c >>>> @@ -74,27 +74,27 @@ static int set_hwframe_ctx(AVCodecContext *ctx, AVBufferRef *hw_device_ctx) >>>> static int encode_write(AVCodecContext *avctx, AVFrame *frame, FILE *fout) >>>> { >>>> int ret = 0; >>>> - AVPacket enc_pkt; >>>> + AVPacket *enc_pkt; >>>> - av_init_packet(&enc_pkt); >>>> - enc_pkt.data = NULL; >>>> - enc_pkt.size = 0; >>>> + if (!(enc_pkt = av_packet_alloc())) >>>> + return AVERROR(ENOMEM); >>>> if ((ret = avcodec_send_frame(avctx, frame)) < 0) { >>>> fprintf(stderr, "Error code: %s\n", av_err2str(ret)); >>>> goto end; >>>> } >>>> while (1) { >>>> - ret = avcodec_receive_packet(avctx, &enc_pkt); >>>> + ret = avcodec_receive_packet(avctx, enc_pkt); >>>> if (ret) >>>> break; >>>> - enc_pkt.stream_index = 0; >>>> - ret = fwrite(enc_pkt.data, enc_pkt.size, 1, fout); >>>> - av_packet_unref(&enc_pkt); >>>> + enc_pkt->stream_index = 0; >>>> + ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); >>>> + av_packet_unref(enc_pkt); >>>> } >>>> end: >>>> + av_packet_free(&enc_pkt); >>>> ret = ((ret == AVERROR(EAGAIN)) ? 0 : -1); >>>> return ret; >>>> } >>> >>> breaks: >>> doc/examples/vaapi_encode.c: In function ‘encode_write’: >>> doc/examples/vaapi_encode.c:92:29: error: ‘enc_pkt’ is a pointer; did you mean to use ‘->’? >>> ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); >>> ^ >>> -> >>> ffbuild/common.mak:67: recipe for target 'doc/examples/vaapi_encode.o' failed >>> make: *** [doc/examples/vaapi_encode.o] Error 1 >>> make: *** Waiting for unfinished jobs.... >> >> Fixed locally. Thanks. > > do you have a public git tree for testing such minor changes ? > so i can retest the update set easily > > thanks Yes, pushed it to https://github.com/jamrial/FFmpeg/commits/avpacket
On Wed, Mar 10, 2021 at 06:25:58PM -0300, James Almer wrote: > On 3/10/2021 5:22 PM, Michael Niedermayer wrote: > > On Sat, Mar 06, 2021 at 06:45:57PM -0300, James Almer wrote: > > > On 3/6/2021 6:35 PM, Michael Niedermayer wrote: > > > > On Fri, Mar 05, 2021 at 01:33:36PM -0300, James Almer wrote: > > > > > Signed-off-by: James Almer <jamrial@gmail.com> > > > > > --- > > > > > doc/examples/vaapi_encode.c | 16 ++++++++-------- > > > > > 1 file changed, 8 insertions(+), 8 deletions(-) > > > > > > > > > > diff --git a/doc/examples/vaapi_encode.c b/doc/examples/vaapi_encode.c > > > > > index 707939db37..66cb949cdc 100644 > > > > > --- a/doc/examples/vaapi_encode.c > > > > > +++ b/doc/examples/vaapi_encode.c > > > > > @@ -74,27 +74,27 @@ static int set_hwframe_ctx(AVCodecContext *ctx, AVBufferRef *hw_device_ctx) > > > > > static int encode_write(AVCodecContext *avctx, AVFrame *frame, FILE *fout) > > > > > { > > > > > int ret = 0; > > > > > - AVPacket enc_pkt; > > > > > + AVPacket *enc_pkt; > > > > > - av_init_packet(&enc_pkt); > > > > > - enc_pkt.data = NULL; > > > > > - enc_pkt.size = 0; > > > > > + if (!(enc_pkt = av_packet_alloc())) > > > > > + return AVERROR(ENOMEM); > > > > > if ((ret = avcodec_send_frame(avctx, frame)) < 0) { > > > > > fprintf(stderr, "Error code: %s\n", av_err2str(ret)); > > > > > goto end; > > > > > } > > > > > while (1) { > > > > > - ret = avcodec_receive_packet(avctx, &enc_pkt); > > > > > + ret = avcodec_receive_packet(avctx, enc_pkt); > > > > > if (ret) > > > > > break; > > > > > - enc_pkt.stream_index = 0; > > > > > - ret = fwrite(enc_pkt.data, enc_pkt.size, 1, fout); > > > > > - av_packet_unref(&enc_pkt); > > > > > + enc_pkt->stream_index = 0; > > > > > + ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); > > > > > + av_packet_unref(enc_pkt); > > > > > } > > > > > end: > > > > > + av_packet_free(&enc_pkt); > > > > > ret = ((ret == AVERROR(EAGAIN)) ? 0 : -1); > > > > > return ret; > > > > > } > > > > > > > > breaks: > > > > doc/examples/vaapi_encode.c: In function ‘encode_write’: > > > > doc/examples/vaapi_encode.c:92:29: error: ‘enc_pkt’ is a pointer; did you mean to use ‘->’? > > > > ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); > > > > ^ > > > > -> > > > > ffbuild/common.mak:67: recipe for target 'doc/examples/vaapi_encode.o' failed > > > > make: *** [doc/examples/vaapi_encode.o] Error 1 > > > > make: *** Waiting for unfinished jobs.... > > > > > > Fixed locally. Thanks. > > > > do you have a public git tree for testing such minor changes ? > > so i can retest the update set easily > > > > thanks > > Yes, pushed it to > > https://github.com/jamrial/FFmpeg/commits/avpacket seems to work now, thanks [...]
On 3/11/2021 10:34 AM, Michael Niedermayer wrote: > On Wed, Mar 10, 2021 at 06:25:58PM -0300, James Almer wrote: >> On 3/10/2021 5:22 PM, Michael Niedermayer wrote: >>> On Sat, Mar 06, 2021 at 06:45:57PM -0300, James Almer wrote: >>>> On 3/6/2021 6:35 PM, Michael Niedermayer wrote: >>>>> On Fri, Mar 05, 2021 at 01:33:36PM -0300, James Almer wrote: >>>>>> Signed-off-by: James Almer <jamrial@gmail.com> >>>>>> --- >>>>>> doc/examples/vaapi_encode.c | 16 ++++++++-------- >>>>>> 1 file changed, 8 insertions(+), 8 deletions(-) >>>>>> >>>>>> diff --git a/doc/examples/vaapi_encode.c b/doc/examples/vaapi_encode.c >>>>>> index 707939db37..66cb949cdc 100644 >>>>>> --- a/doc/examples/vaapi_encode.c >>>>>> +++ b/doc/examples/vaapi_encode.c >>>>>> @@ -74,27 +74,27 @@ static int set_hwframe_ctx(AVCodecContext *ctx, AVBufferRef *hw_device_ctx) >>>>>> static int encode_write(AVCodecContext *avctx, AVFrame *frame, FILE *fout) >>>>>> { >>>>>> int ret = 0; >>>>>> - AVPacket enc_pkt; >>>>>> + AVPacket *enc_pkt; >>>>>> - av_init_packet(&enc_pkt); >>>>>> - enc_pkt.data = NULL; >>>>>> - enc_pkt.size = 0; >>>>>> + if (!(enc_pkt = av_packet_alloc())) >>>>>> + return AVERROR(ENOMEM); >>>>>> if ((ret = avcodec_send_frame(avctx, frame)) < 0) { >>>>>> fprintf(stderr, "Error code: %s\n", av_err2str(ret)); >>>>>> goto end; >>>>>> } >>>>>> while (1) { >>>>>> - ret = avcodec_receive_packet(avctx, &enc_pkt); >>>>>> + ret = avcodec_receive_packet(avctx, enc_pkt); >>>>>> if (ret) >>>>>> break; >>>>>> - enc_pkt.stream_index = 0; >>>>>> - ret = fwrite(enc_pkt.data, enc_pkt.size, 1, fout); >>>>>> - av_packet_unref(&enc_pkt); >>>>>> + enc_pkt->stream_index = 0; >>>>>> + ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); >>>>>> + av_packet_unref(enc_pkt); >>>>>> } >>>>>> end: >>>>>> + av_packet_free(&enc_pkt); >>>>>> ret = ((ret == AVERROR(EAGAIN)) ? 0 : -1); >>>>>> return ret; >>>>>> } >>>>> >>>>> breaks: >>>>> doc/examples/vaapi_encode.c: In function ‘encode_write’: >>>>> doc/examples/vaapi_encode.c:92:29: error: ‘enc_pkt’ is a pointer; did you mean to use ‘->’? >>>>> ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); >>>>> ^ >>>>> -> >>>>> ffbuild/common.mak:67: recipe for target 'doc/examples/vaapi_encode.o' failed >>>>> make: *** [doc/examples/vaapi_encode.o] Error 1 >>>>> make: *** Waiting for unfinished jobs.... >>>> >>>> Fixed locally. Thanks. >>> >>> do you have a public git tree for testing such minor changes ? >>> so i can retest the update set easily >>> >>> thanks >> >> Yes, pushed it to >> >> https://github.com/jamrial/FFmpeg/commits/avpacket > > seems to work now, thanks Will rebase and apply the patchset soon, then, so we can release 4.4 after it.
diff --git a/doc/examples/vaapi_encode.c b/doc/examples/vaapi_encode.c index 707939db37..66cb949cdc 100644 --- a/doc/examples/vaapi_encode.c +++ b/doc/examples/vaapi_encode.c @@ -74,27 +74,27 @@ static int set_hwframe_ctx(AVCodecContext *ctx, AVBufferRef *hw_device_ctx) static int encode_write(AVCodecContext *avctx, AVFrame *frame, FILE *fout) { int ret = 0; - AVPacket enc_pkt; + AVPacket *enc_pkt; - av_init_packet(&enc_pkt); - enc_pkt.data = NULL; - enc_pkt.size = 0; + if (!(enc_pkt = av_packet_alloc())) + return AVERROR(ENOMEM); if ((ret = avcodec_send_frame(avctx, frame)) < 0) { fprintf(stderr, "Error code: %s\n", av_err2str(ret)); goto end; } while (1) { - ret = avcodec_receive_packet(avctx, &enc_pkt); + ret = avcodec_receive_packet(avctx, enc_pkt); if (ret) break; - enc_pkt.stream_index = 0; - ret = fwrite(enc_pkt.data, enc_pkt.size, 1, fout); - av_packet_unref(&enc_pkt); + enc_pkt->stream_index = 0; + ret = fwrite(enc_pkt.data, enc_pkt->size, 1, fout); + av_packet_unref(enc_pkt); } end: + av_packet_free(&enc_pkt); ret = ((ret == AVERROR(EAGAIN)) ? 0 : -1); return ret; }
Signed-off-by: James Almer <jamrial@gmail.com> --- doc/examples/vaapi_encode.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)