linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
To: Kamil Debski <k.debski@samsung.com>,
	"'Wu-Cheng Li'" <wuchengli@chromium.org>,
	pawel@osciak.com, mchehab@osg.samsung.com, hverkuil@xs4all.nl,
	crope@iki.fi, standby24x7@gmail.com, ricardo.ribalda@gmail.com,
	ao2@ao2.it, bparrot@ti.com,
	"'Andrzej Hajda'" <a.hajda@samsung.com>
Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-api@vger.kernel.org
Subject: Re: [PATCH] v4l: add V4L2_CID_MPEG_VIDEO_FORCE_FRAME_TYPE.
Date: Fri, 15 Jan 2016 12:21:03 -0500	[thread overview]
Message-ID: <1452878463.11268.7.camel@collabora.com> (raw)
In-Reply-To: <000301d14fb6$5cdd6370$16982a50$@samsung.com>

[-- Attachment #1: Type: text/plain, Size: 1893 bytes --]

Le vendredi 15 janvier 2016 à 18:01 +0100, Kamil Debski a écrit :
> I think we had a discussion about this long, long time ago. Should it
> be
> deterministic which frame Is encoded as a key frame? Should it be the
> next queued frame, or the next processed frame? How to achieve this?
> I vaguely remember that we discussed per buffer controls on the
> mailing
> list, but I am not sure where the discussion went from there.

In RTP use cases (and most streaming cases), all we care is that we
have a key-frame produced somewhere nearby after the request. In those
cases we use P frame only stream to reduce the bandwidth and only
request a key frame for recovery. This I believe that most common case.

Many decoders though also offer what they called an "automatic" key
frame mode. In the case of x264, there is also hints you can give to
the encoder about what type of video (film, anime, etc.) so it can
optimize all this. I believe this is very advance and there is no
particular need for it.

> 
> > 
> > - A way to trigger a key frame to be produce
> > - A way to produce a I-Frame only stream
> 
> This control can be used to do this:
> - V4L2_CID_MPEG_VIDEO_GOP_SIZE (It is not well documented as I can
> see ;) )
>         + If set to 0 the encoder produces a stream with P only
> frames
>         + if set to 1 the encoder produces a stream with I only
> frames
>         + other values indicate the GOP size (I-frame interval)
> 
> > - A way to set the key-frame distance (in frames) even though this
> could
> > possibly be emulated using the trigger.
> 
> As described above V4L2_CID_MPEG_VIDEO_GOP_SIZE can be used to
> achieve this.

Great, my memory failed on me, should have checked. This is exactly
what I was thinking. So Wu-Cheng Li patch is really what we need in the
immediate.

regards,
Nicolas

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

  reply	other threads:[~2016-01-15 17:21 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-13 12:03 [PATCH] v4l: add V4L2_CID_MPEG_VIDEO_FORCE_FRAME_TYPE Wu-Cheng Li
2016-01-13 12:03 ` Wu-Cheng Li
2016-01-13 16:43   ` Kamil Debski
2016-01-14 15:02     ` Nicolas Dufresne
2016-01-14 17:21       ` Kamil Debski
2016-01-14 19:02         ` Nicolas Dufresne
2016-01-15 17:01           ` Kamil Debski
2016-01-15 17:21             ` Nicolas Dufresne [this message]
2016-01-13 15:02 ` Nicolas Dufresne
2016-01-13 16:07   ` Wu-Cheng Li (李務誠)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1452878463.11268.7.camel@collabora.com \
    --to=nicolas.dufresne@collabora.com \
    --cc=a.hajda@samsung.com \
    --cc=ao2@ao2.it \
    --cc=bparrot@ti.com \
    --cc=crope@iki.fi \
    --cc=hverkuil@xs4all.nl \
    --cc=k.debski@samsung.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@osg.samsung.com \
    --cc=pawel@osciak.com \
    --cc=ricardo.ribalda@gmail.com \
    --cc=standby24x7@gmail.com \
    --cc=wuchengli@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).