From: "Sharma, Shashank" <shashank.sharma@amd.com>
To: Pekka Paalanen <ppaalanen@gmail.com>,
Hans Verkuil <hverkuil-cisco@xs4all.nl>
Cc: Shashank Sharma <contactshashanksharma@gmail.com>,
linux-media@vger.kernel.org, Jani Nikula <jani.nikula@intel.com>
Subject: Re: [PATCH 1/3] edid-decode: Introduce libedid-decode wrapper
Date: Wed, 9 Mar 2022 15:31:11 +0100 [thread overview]
Message-ID: <af561b6e-1aa5-dc81-cc19-98da443eeffb@amd.com> (raw)
In-Reply-To: <20220309160933.78aba02a@eldfell>
Hello Hans, Pekka,
Thank you for providing your feedbacks on the first level draft of the
library, and for your inputs.
On 3/9/2022 3:09 PM, Pekka Paalanen wrote:
> Hi Hans,
>
> thanks! If Shashank agrees, we can see how this would start to look
> like. I suppose there would be the occasional patch series sent to this
> mailing list and publicly discussed between me and Shashank while we
> iterate. You could mostly ignore it if you want until the two of us
> need your guidance.
>
> Even if it turns out that this cannot go into edid-decode upstream, I
> don't think the exercise is going to go to waste. It would be the
> beginnings of a new project.
Based on what I could understand from the discussion so far, I could see
that we have some basic requirements which are suggested by both of you,
like:
- We want to keep the current structure of EDID-decode as unchanged as
possible, and want to keep the C++ states internal.
- We want to make sure that the new library (if any) is C API, and apart
from parsing the EDID, should be independent of EDID-decode core logic.
May I propose something which might be able to keep both the
expectations maintained upto a certain point, and does solve the purpose
as well ? Please consider this and let me know how does it sounds:
- We add a C wrapper library with following set of functions:
- parse_edid_init()
- query_a_particular_info_from_edid()
- destroy_edid()
- At init, Client app calls the library parse_edid_init() function with
EDID (file node or raw data), this is when The library layer allocates a
C struct for this EDID, which has two parts
- base block stuff,
- extension blocks stuff,
- The library calls the internal edid-decode core function just to parse
EDID, and get the edid-state, and then fills this C structure with all
the information from edid-state.
- The library caches the C structure for the EDID, and gives user an
identifier for this EDID.
- At a later stage, when this client tries to extract a particular
infomration from EDID (like does this display support YCBCR420), the
library identifies the EDID from cached EDID, and extracts the
information from cached C struct and responds to the caller API.
- During the display disconnection, client calls and asks the library to
destroy the EDID structures, and it does.
In this way, this library becomes the CPP->C translation layer, and it
takes all the overheads like, and will use the edid-decode core APIs
just for parsing the EDID. The edid-decode state remains internal, used
immediately, and not being exposed to another process.
Will that be something you guys would like to see as a prototype code ?
- Shashank
next prev parent reply other threads:[~2022-03-09 14:31 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-04 12:49 [PATCH 1/3] edid-decode: Introduce libedid-decode wrapper Shashank Sharma
2022-03-04 12:50 ` [PATCH 2/3] edid-decode: Introduce libedid-decode APIs Shashank Sharma
2022-03-07 16:11 ` Pekka Paalanen
2022-03-07 17:00 ` Shashank Sharma
2022-03-04 12:50 ` [PATCH 3/3] edid-decode: Add test utility for libedid-decode Shashank Sharma
2022-03-07 15:54 ` [PATCH 1/3] edid-decode: Introduce libedid-decode wrapper Pekka Paalanen
2022-03-07 16:48 ` Shashank Sharma
2022-03-08 11:21 ` Pekka Paalanen
2022-03-08 12:09 ` Hans Verkuil
2022-03-08 14:30 ` Pekka Paalanen
2022-03-08 16:36 ` Hans Verkuil
2022-03-09 14:09 ` Pekka Paalanen
2022-03-09 14:31 ` Sharma, Shashank [this message]
2022-03-09 15:41 ` Pekka Paalanen
2022-03-09 14:45 ` Hans Verkuil
2022-03-09 15:57 ` Pekka Paalanen
2022-03-09 16:00 ` Hans Verkuil
2022-03-10 12:52 ` Pekka Paalanen
2022-04-13 10:40 ` Pekka Paalanen
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=af561b6e-1aa5-dc81-cc19-98da443eeffb@amd.com \
--to=shashank.sharma@amd.com \
--cc=contactshashanksharma@gmail.com \
--cc=hverkuil-cisco@xs4all.nl \
--cc=jani.nikula@intel.com \
--cc=linux-media@vger.kernel.org \
--cc=ppaalanen@gmail.com \
/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