From: maxime.ripard@bootlin.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/9] CHROMIUM: v4l: Add H264 low-level decoder API compound controls.
Date: Thu, 12 Jul 2018 18:38:21 +0200 [thread overview]
Message-ID: <20180712163821.np57u46m7akpubht@flea> (raw)
In-Reply-To: <9c80de4e-c070-1051-2089-2d53826c6fc7@xs4all.nl>
Hi Hans,
Thanks for your feedback, I have a few things I'm not really sure
about though.
On Fri, Jun 15, 2018 at 01:59:58PM +0200, Hans Verkuil wrote:
> > +struct v4l2_ctrl_h264_sps {
> > + __u8 profile_idc;
> > + __u8 constraint_set_flags;
> > + __u8 level_idc;
> > + __u8 seq_parameter_set_id;
> > + __u8 chroma_format_idc;
> > + __u8 bit_depth_luma_minus8;
> > + __u8 bit_depth_chroma_minus8;
> > + __u8 log2_max_frame_num_minus4;
> > + __u8 pic_order_cnt_type;
> > + __u8 log2_max_pic_order_cnt_lsb_minus4;
>
> There is a hole in the struct here. Is that OK? Are there alignment
> requirements?
This structure represents an equivalent structure in the H264
bitstream, but it's not a 1:1 mapping, so I don't think there's any
alignment issues.
As of the padding, is it an issue? Isn't it defined by the ABI, and
therefore the userspace will have the same padding rules?
>
> > + __s32 offset_for_non_ref_pic;
> > + __s32 offset_for_top_to_bottom_field;
> > + __u8 num_ref_frames_in_pic_order_cnt_cycle;
> > + __s32 offset_for_ref_frame[255];
>
> Perhaps use a define instead of hardcoding 255? Not sure if that makes sense.
> Same for other arrays below.
>
> > + __u8 max_num_ref_frames;
> > + __u16 pic_width_in_mbs_minus1;
> > + __u16 pic_height_in_map_units_minus1;
> > + __u8 flags;
> > +};
>
> You have to test the struct layout for 32 bit and 64 bit systems
> (the latter for both 64 bit arm and Intel). The layout should be the
> same for all of them since the control framework does not support
> compat32 conversions for compound controls.
I'm not really sure how to test that though? Should I write a program
doing a bunch of offset_of calls to make sure it matches by hand, or
is there anything smarter?
Thanks!
Maxime
--
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2018-07-12 16:38 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-13 14:07 [PATCH 0/9] media: cedrus: Add H264 decoding support Maxime Ripard
2018-06-13 14:07 ` [PATCH 1/9] CHROMIUM: v4l: Add H264 low-level decoder API compound controls Maxime Ripard
2018-06-15 11:59 ` Hans Verkuil
2018-06-15 13:01 ` Guenter Roeck
2018-07-12 16:38 ` Maxime Ripard [this message]
2018-07-12 16:47 ` Andrew Lunn
2018-06-21 8:58 ` Paul Kocialkowski
2018-08-21 16:58 ` Ezequiel Garcia
2018-08-21 17:07 ` Nicolas Dufresne
2018-08-22 13:07 ` Paul Kocialkowski
2018-08-22 13:38 ` Tomasz Figa
2018-08-22 13:52 ` Nicolas Dufresne
2018-08-22 14:45 ` Paul Kocialkowski
2018-08-28 8:11 ` Tomasz Figa
2018-09-07 7:54 ` Tomasz Figa
2018-08-22 9:15 ` Maxime Ripard
2018-08-22 9:54 ` Tomasz Figa
2018-08-22 13:03 ` Paul Kocialkowski
2018-08-22 13:24 ` Tomasz Figa
2018-08-22 14:03 ` Nicolas Dufresne
2018-08-22 14:30 ` Paul Kocialkowski
2018-06-13 14:07 ` [PATCH 2/9] media: cedrus: Add wrappers around container_of for our buffers Maxime Ripard
2018-06-21 9:03 ` Paul Kocialkowski
2018-06-13 14:07 ` [PATCH 3/9] media: cedrus: Add a macro to check for the validity of a control Maxime Ripard
2018-06-21 9:13 ` Paul Kocialkowski
2018-06-13 14:07 ` [PATCH 4/9] media: cedrus: make engine type more generic Maxime Ripard
2018-06-21 9:33 ` Paul Kocialkowski
2018-06-13 14:07 ` [PATCH 5/9] media: cedrus: Remove MPEG1 support Maxime Ripard
2018-06-13 14:07 ` [PATCH 6/9] media: cedrus: Add ops structure Maxime Ripard
2018-06-21 9:49 ` Paul Kocialkowski
2018-06-25 13:29 ` Maxime Ripard
2018-06-25 13:48 ` Paul Kocialkowski
2018-06-13 14:07 ` [PATCH 7/9] media: cedrus: Move IRQ maintainance to cedrus_dec_ops Maxime Ripard
2018-06-21 15:35 ` Paul Kocialkowski
2018-06-25 14:18 ` Paul Kocialkowski
2018-06-25 16:15 ` Maxime Ripard
2018-06-25 15:38 ` Paul Kocialkowski
2018-06-25 15:49 ` Paul Kocialkowski
2018-06-25 19:01 ` Maxime Ripard
2018-06-27 17:58 ` Maxime Ripard
2018-06-13 14:07 ` [PATCH 8/9] media: cedrus: Add start and stop decoder operations Maxime Ripard
2018-06-21 15:38 ` Paul Kocialkowski
2018-06-25 13:32 ` Maxime Ripard
2018-06-25 13:42 ` Paul Kocialkowski
2018-06-13 14:07 ` [PATCH 9/9] media: cedrus: Add H264 decoding support Maxime Ripard
2018-07-27 13:56 ` Paul Kocialkowski
2018-07-27 14:01 ` Chen-Yu Tsai
2018-07-27 14:03 ` Paul Kocialkowski
2018-07-30 12:54 ` Paul Kocialkowski
2018-06-14 13:00 ` [PATCH 0/9] " Tomasz Figa
2018-06-14 16:37 ` Maxime Ripard
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=20180712163821.np57u46m7akpubht@flea \
--to=maxime.ripard@bootlin.com \
--cc=linux-arm-kernel@lists.infradead.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