Message ID | Mg5rhXT--3-2@lynne.ee |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel,1/2] ffprobe: print packet timebase | 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 |
Lynne: > (One-line) Patch attached: > >> --- a/libavcodec/encode.c >> +++ b/libavcodec/encode.c >> @@ -44,6 +44,7 @@ int ff_alloc_packet(AVCodecContext *avctx, AVPacket *avpkt, int64_t size) >> av_fast_padded_malloc(&avctx->internal->byte_buffer, >> &avctx->internal->byte_buffer_size, size); >> avpkt->data = avctx->internal->byte_buffer; >> + avpkt->time_base = avctx->time_base; >> if (!avpkt->data) { >> av_log(avctx, AV_LOG_ERROR, "Failed to allocate packet of size %"PRId64"\n", size); >> return AVERROR(ENOMEM); > > I'm not sure if this is the correct place to do this. > Does this not need lots of FATE updates due to 1/2? I am quite surprised. And yes, this is definitely the wrong place to do this: It should be done at the end of avcodec_receive_packet() instead; not all encoders use ff_alloc_packet() at all (only those that don't allow custom buffers use it). - Andreas
Andreas Rheinhardt: > Lynne: >> (One-line) Patch attached: >> >>> --- a/libavcodec/encode.c >>> +++ b/libavcodec/encode.c >>> @@ -44,6 +44,7 @@ int ff_alloc_packet(AVCodecContext *avctx, AVPacket *avpkt, int64_t size) >>> av_fast_padded_malloc(&avctx->internal->byte_buffer, >>> &avctx->internal->byte_buffer_size, size); >>> avpkt->data = avctx->internal->byte_buffer; >>> + avpkt->time_base = avctx->time_base; >>> if (!avpkt->data) { >>> av_log(avctx, AV_LOG_ERROR, "Failed to allocate packet of size %"PRId64"\n", size); >>> return AVERROR(ENOMEM); >> >> I'm not sure if this is the correct place to do this. >> > > Does this not need lots of FATE updates due to 1/2? I am quite surprised. > I am not surprised anymore: We do not run ffprobe on freshly encoded packets, so it is no wonder FATE doesn't need updates after 1/2. - Andreas
diff --git a/libavcodec/encode.c b/libavcodec/encode.c index 98dfbfdff3..d4084b42da 100644 --- a/libavcodec/encode.c +++ b/libavcodec/encode.c @@ -44,6 +44,7 @@ int ff_alloc_packet(AVCodecContext *avctx, AVPacket *avpkt, int64_t size) av_fast_padded_malloc(&avctx->internal->byte_buffer, &avctx->internal->byte_buffer_size, size); avpkt->data = avctx->internal->byte_buffer; + avpkt->time_base = avctx->time_base; if (!avpkt->data) { av_log(avctx, AV_LOG_ERROR, "Failed to allocate packet of size %"PRId64"\n", size); return AVERROR(ENOMEM);