linux/drivers/staging
Jonas Karlman 329f268821 media: hantro: Fix H264 motion vector buffer offset
A decoded 8-bit 4:2:0 frame need memory for up to 448 bytes per
macroblock and is laid out in memory as follow:

+---------------------------+
| Y-plane   256 bytes x MBs |
+---------------------------+
| UV-plane  128 bytes x MBs |
+---------------------------+
| MV buffer  64 bytes x MBs |
+---------------------------+

The motion vector buffer offset is currently correct for 4:2:0 because
the extra space for motion vectors is overallocated with an extra
64 bytes x MBs.

Wrong offset for both destination and motion vector buffer are used
for the bottom field of field encoded content, wrong offset is
also used for 4:0:0 (monochrome) content.

Fix this by setting the motion vector address to the expected 384 bytes
x MBs offset for 4:2:0 and 256 bytes x MBs offset for 4:0:0 content.

Also use correct destination and motion vector buffer offset
for the bottom field of field encoded content.

While at it also extend the check for 4:0:0 (monochrome) to include an
additional check for High Profile (100).

Fixes: dea0a82f3d ("media: hantro: Add support for H264 decoding on G1")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2019-11-10 17:57:00 +01:00
..
android mm: introduce page_size() 2019-09-24 15:54:08 -07:00
axis-fifo
board
clocking-wizard
comedi staging: comedi: ni_mio_common: Fix a typo in ni_mio_common.c 2019-08-21 05:44:07 -07:00
emxx_udc staging: emxx_udc: remove local TRUE/FALSE definition 2019-09-12 10:35:51 +01:00
exfat staging: exfat: drop unused function parameter 2019-09-12 10:29:29 +01:00
fbtft staging: fbtft: make several arrays static const, makes object smaller 2019-09-12 10:35:52 +01:00
fieldbus dt-bindings: anybus-controller: move to staging/ tree 2019-09-12 10:35:51 +01:00
fsl-dpaa2 staging: fsl-dpaa2/ethsw: do not force user to bring interface down 2019-08-14 16:46:25 +02:00
fwserial
gasket Staging: gasket: Use temporaries to reduce line length. 2019-09-12 10:38:45 +01:00
gdm724x
goldfish staging: Remove dev_err() usage after platform_get_irq() 2019-07-30 20:50:04 +02:00
greybus staging: greybus: light: fix a couple double frees 2019-09-03 09:39:10 +02:00
gs_fpgaboot
iio staging: iio: accel: adis16240: Improve readability on write_raw function 2019-08-18 20:12:52 +01:00
isdn Staging/IIO driver patches for 5.4-rc1 2019-09-18 11:05:34 -07:00
kpc2000 staging: kpc2000: Fix long constant sparse warning 2019-09-03 09:39:48 +02:00
ks7010
media media: hantro: Fix H264 motion vector buffer offset 2019-11-10 17:57:00 +01:00
most staging: most: sound: Fix error path of audio_init 2019-08-28 22:22:13 +02:00
mt7621-dma staging: Remove dev_err() usage after platform_get_irq() 2019-07-30 20:50:04 +02:00
mt7621-dts staging: mt7621-dts: add support for second network interface 2019-07-03 18:28:29 +02:00
mt7621-pci staging: mt7621-pci: avoid use 'err' local variable 2019-07-25 09:58:26 +02:00
mt7621-pci-phy
mt7621-pinctrl staging: mt7621-pinctrl: Add of_node_put() before return 2019-07-22 07:34:15 +02:00
netlogic staging: netlogic: Change GFP_ATOMIC to GFP_KERNEL 2019-07-01 09:07:03 +02:00
nvec staging: nvec: make use of devm_platform_ioremap_resource 2019-09-12 10:35:50 +01:00
octeon Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-09-18 12:34:53 -07:00
octeon-usb usb: add a HCD_DMA flag instead of guestimating DMA capabilities 2019-08-21 10:03:35 -07:00
olpc_dcon staging: olpc_dcon: Remove TODO item 2019-07-30 09:52:04 +02:00
pi433 staging: pi433: Fix typo in documentation 2019-09-06 18:20:33 +02:00
qlge qlge: Fix build error without CONFIG_ETHERNET 2019-07-24 14:12:40 -07:00
ralink-gdma staging: Remove dev_err() usage after platform_get_irq() 2019-07-30 20:50:04 +02:00
rtl8188eu staging: rtl8188eu: make two arrays static const, makes object smaller 2019-09-12 10:35:52 +01:00
rtl8192e staging: rtl8192e: remove unnecessary blank line 2019-09-05 09:37:31 +02:00
rtl8192u staging: rtl8192u: Fix indentation 2019-08-28 22:22:13 +02:00
rtl8712 staging: rtl8712: wifi: checkpatch style fix 2019-08-27 19:01:26 +02:00
rtl8723bs staging: rtl8723bs: core: Remove Macro "IS_MAC_ADDRESS_BROADCAST" 2019-09-12 10:35:52 +01:00
rts5208 staging: rts5208: Fix checkpath warning 2019-09-03 09:36:29 +02:00
sm750fb staging: sm750fb: fix odd license text 2019-08-15 14:43:57 +02:00
speakup
unisys Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-19 11:54:03 -07:00
uwb USB: Move wusbcore and UWB to staging as it is obsolete 2019-08-08 07:52:01 +02:00
vc04_services Staging/IIO driver patches for 5.4-rc1 2019-09-18 11:05:34 -07:00
vme
vt6655
vt6656 staging: vt6656: change alignment to match parenthesis 2019-07-22 07:34:15 +02:00
wilc1000 staging: wilc1000: avoid twice IRQ handler execution for each single interrupt 2019-09-12 10:37:26 +01:00
wlan-ng staging: wlan-ng: Remove function prism2mib_excludeunencrypted() 2019-08-02 13:55:38 +02:00
wusbcore staging: wusbcore: Fix build error without CONFIG_USB 2019-08-09 14:56:57 +02:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-09-18 12:34:53 -07:00
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-09-18 12:34:53 -07:00