diff options
author | Steve Longerbeam <slongerbeam@gmail.com> | 2019-01-09 13:30:05 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2019-01-16 14:11:42 -0500 |
commit | fc8c723852380b0f4349bb06cf553a6bba47462e (patch) | |
tree | 2bfb3262a1b486b4014ef854a6c0672aab6f1de5 /fs | |
parent | 1c3721b1f22286033abeda30b7e12439b083ed0f (diff) | |
download | linux-fc8c723852380b0f4349bb06cf553a6bba47462e.tar.gz linux-fc8c723852380b0f4349bb06cf553a6bba47462e.tar.bz2 linux-fc8c723852380b0f4349bb06cf553a6bba47462e.zip |
media: gpu: ipu-csi: Swap fields according to input/output field types
The function ipu_csi_init_interface() was inverting the F-bit for
NTSC case, in the CCIR_CODE_1/2 registers. The result being that
for NTSC bottom-top field order, the CSI would swap fields and
capture in top-bottom order.
Instead, base field swap on the field order of the input to the CSI,
and the field order of the requested output. If the input/output
fields are sequential but different, swap fields, otherwise do
not swap. This requires passing both the input and output mbus
frame formats to ipu_csi_init_interface().
Move this code to a new private function ipu_csi_set_bt_interlaced_codes()
that programs the CCIR_CODE_1/2 registers for interlaced BT.656 (and
possibly interlaced BT.1120 in the future).
When detecting input video standard from the input frame width/height,
make sure to double height if input field type is alternate, since
in that case input height only includes lines for one field.
Signed-off-by: Steve Longerbeam <slongerbeam@gmail.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions