[FFmpeg-devel] avcodec/qsvenc Question for Intel QSV low latency
Michael Niedermayer
michael at niedermayer.cc
Sun Nov 12 18:13:02 EET 2017
On Sun, Nov 12, 2017 at 11:40:57AM +0900, Natsuki Kai wrote:
> Hello guys,
>
> this is my first posting to ffmpeg-devel, and I believe my mail format is
> correct.
>
> I'm using ffmpeg for encoding video in real-time, so low encode delay is
> needed.
> Once I call "avcodec_send_frame(avctx, frame)", I'd like to get the encoded
> data from "avcodec_receive_packet(avctx, avpkt)".
>
> However I cannot do that in ffmpeg and Intel QSV (qsv),
> "avcodec_receive_packet()" returns nothing when I input the first frame to
> qsv encoder by calling "avcodec_send_frame()".
> Of cource, after second frame inputs, qsv encoder returns valid data.
> I'd like to get a valid data from first calling.
>
> I've tried some cases and as a result, my requirement is satisfied when
> avcodec/qsvenc.c will be fixed like below diff info.
> Then I have a question.
> Why q->async_fifo is set to be q->async_depth "+ 1"?
> Anybody knows?
>
> --- a/avcodec/qsvenc.c
> +++ b/avcodec/qsvenc.c
> @@ -803,7 +803,7 @@
>
> q->param.AsyncDepth = q->async_depth;
>
> - q->async_fifo = av_fifo_alloc((1 + q->async_depth) *
> + q->async_fifo = av_fifo_alloc((q->async_depth) *
> (sizeof(AVPacket) +
> sizeof(mfxSyncPoint*) + sizeof(mfxBitstream*)));
> if (!q->async_fifo)
> return AVERROR(ENOMEM);
This looks corrupted by a newline
Applying: avcodec/qsvenc Question for Intel QSV low latency
error: corrupt patch at line 10
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Those who are best at talking, realize last or never when they are wrong.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20171112/682d3b3e/attachment.sig>
More information about the ffmpeg-devel
mailing list