Linux Samsung SOC development
 help / color / mirror / Atom feed
From: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
To: Inki Dae <inki.dae@samsung.com>
Cc: Joonyoung Shim <jy0922.shim@samsung.com>,
	linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Subject: Re: drm/exynos: getting the video processor to work
Date: Wed, 22 Apr 2015 16:56:05 +0200	[thread overview]
Message-ID: <1bef64f6ef1b48a520e0e08d66367233@math.uni-bielefeld.de> (raw)
In-Reply-To: <5537AFAA.3080909@samsung.com>

Hello Inki,


On 2015-04-22 16:26, Inki Dae wrote:
> Right. However, there is a case that we should consider for Exynos SoC.
> Exynos SoC has a Hardware video codec which is called MFC. This 
> hardware
> can use a special function for improving decoding and encoding
> performance, which makes it possible for Y and CbCr data are placed in
> separated memory banks. So for this, a V4L2 guy of Samsung added a new
> format - NV12M - to v4l2 fourcc header.
> 
> AFAIK, the pixels of NV12 format would consist into,
> yyyyyyyyyy
> yyyyyyyyyy
> uvuvuvuvu
> 
> The memory region of each data - y or uv - is continuous each other. In
> this case, the base address of each gem buffer is same.
> 
> 
> On the other hand, the pixels of NV12M consist into,
> yyyyyyyyyy
> yyyyyyyyyy
> .................
> uvuvuvuvu
> 
> The memory region of each data - y or uv - isn't continuous each other.
> So Exynos driver identifies image format according to two cases above.
> In this case, the base address of each gem buffer is different.
> 
> For more information, refer to exynos_drm_format_num_buffers function.
I don't see how this is relevant here. The VP doesn't gain anything from 
the fact that it can pull data from different memory banks. It's just 
the MFC that benefits from that.

Why does the VP need to know whether the data is NV12 or NV12M? When we 
get this data from userspace, then in the case of NV12 we always get two 
planes (yielding two handles, two pitches, two offsets). The VP then 
gets configured with two dma_addr, one for luma plane, one for chroma. 
If luma and chroma are contiguous in memory doesn't make any difference 
here.

Correct me if I'm wrong, but I think this whole NV12/NV12M business is 
strictly related to the video decoding / v4l2 side.



> Anyway, only NV12/NV21 + NV12/21 tiled are supported - this format
> contains macro blocks, which is specific to MFC (Hardware Video codec
> for Exynos SoC). However, we should consider NV12M format as I 
> mentioned
> above.
Thanks for the confirmation, but as I said above, I don't see why we 
should consider NV12M for the DRM / presentation side.


With best wishes,
Tobias

  reply	other threads:[~2015-04-22 14:56 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-20 21:30 drm/exynos: getting the video processor to work Tobias Jakobi
2015-04-22  1:55 ` Joonyoung Shim
2015-04-22  6:02   ` Inki Dae
2015-04-22  6:45     ` Inki Dae
2015-04-22 12:23     ` Tobias Jakobi
2015-04-22 14:26       ` Inki Dae
2015-04-22 14:56         ` Tobias Jakobi [this message]
2015-04-22 23:57           ` Joonyoung Shim
2015-04-23 12:02             ` Tobias Jakobi

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=1bef64f6ef1b48a520e0e08d66367233@math.uni-bielefeld.de \
    --to=tjakobi@math.uni-bielefeld.de \
    --cc=gustavo.padovan@collabora.co.uk \
    --cc=inki.dae@samsung.com \
    --cc=jy0922.shim@samsung.com \
    --cc=linux-samsung-soc@vger.kernel.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