mirror-linux/drivers/staging
Chen-Yu Tsai 70b0911ad8 media: hantro: jpeg: Remove open-coded size in quantization table code
The quantization tables used in the Hantro JPEG encoder driver are
implicitly sized by the data they contain, but the loop that scales
the tables based on the compression quality hard codes the size to
64. No code exists to check whether the two actually match.

Commit 85bdcb7eaa ("media: hantro: Write the quantization tables in
proper order") introduced two new tables, with sizes hardcoded to 64,
but still no checking if all the sizes are the same.

Commit 41479adb5e ("media: hantro: Avoid global variable for jpeg
quantization tables") added the macro JPEG_QUANT_SIZE, but only the
newly added fields used this.

This has resulted in code scattered with magic numbers and array sizes
that happen to match up, without any sort of sanity checking to enforce
it.

Drop the hard-coded array sizes, replace the magic loop count with
a proper JPEG_QUANT_SIZE macro, and add BUILD_BUG_ON()s to check
that all the table sizes match up.

Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-01-28 13:27:39 +01:00
..
android
axis-fifo staging: axis-fifo: Use platform_get_irq() to get the interrupt 2021-12-30 11:54:56 +01:00
board
clocking-wizard
emxx_udc
fbtft staging: fbtft: sh1106: use new macro FBTFT_REGISTER_SPI_DRIVER 2021-12-03 15:05:12 +01:00
fieldbus
fwserial
gdm724x
greybus staging: greybus: audio: Check null pointer 2022-01-06 14:46:11 +01:00
gs_fpgaboot
iio
ks7010
media media: hantro: jpeg: Remove open-coded size in quantization table code 2022-01-28 13:27:39 +01:00
most staging: most: dim2: use consistent routine naming 2021-12-28 17:10:13 +01:00
mt7621-dts staging: mt7621-dts: remove 'gdma' and 'hsdma' nodes 2021-11-15 10:29:12 +01:00
nvec
octeon
octeon-usb
olpc_dcon
pi433 staging: pi433: add comment to rx_lock mutex definition 2022-01-06 15:00:29 +01:00
qlge
r8188eu staging: r8188eu: rename camelcase variable uintPeerChannel 2022-01-06 15:15:04 +01:00
rtl8192e Staging drivers update for 5.17-rc1 2022-01-12 11:18:49 -08:00
rtl8192u staging: rtl8192u: remove some repeated words in some comments 2021-12-20 17:47:22 +01:00
rtl8712 staging: rtl8712: Fix alignment checks with flipped condition 2021-12-09 08:57:22 +01:00
rtl8723bs staging: rtl8723bs: removed unused if blocks 2021-12-28 17:08:07 +01:00
rts5208 exit: Rename complete_and_exit to kthread_complete_and_exit 2021-12-13 12:04:45 -06:00
sm750fb
unisys staging: unisys: visornic: removed a blank line at the end of function 2021-11-25 17:38:53 +01:00
vc04_services staging: vc04_services: rename BM2835 to BCM2835 in headers comments 2022-01-06 14:49:34 +01:00
vme
vt6655 staging: vt6655: drop off byRxMode var in device.h 2021-12-28 17:10:47 +01:00
vt6656
wfx
wlan-ng staging: wlan-ng: Removed unused comments 2021-11-15 10:02:05 +01:00
Kconfig Merge 5.16-rc3 into staging-next 2021-11-29 08:03:05 +01:00
Makefile Merge 5.16-rc3 into staging-next 2021-11-29 08:03:05 +01:00