android_kernel_xiaomi_sm8350/drivers/media/video
Trent Piepho a8ab68bffe V4L/DVB (6392): bttv: Update initial image size when set via V4L1 VIDIOCMCAPTURE
The V4L1 spec says that the image size should be with with VIDIOCSWIN before
requesting buffers with VIDIOCGMBUF and capturing into them with
VIDIOCMCAPTURE.

But it seems that many apps don't do this.  They set the size using the fields
in the VIDIOCMCAPTURE ioctl.  The driver doesn't know what size to capture
until it actually starts to capture.  In particular, it doesn't know what size
to capture until it has already mmap the captured buffers.  Which is quite
stupid.  Why V4L1 has size and format fields for VIDIOCMCAPTURE I have no idea.

Many drivers don't support this, including those using v4l1-compat.

The bttv does, which is probably the only reason such broken software is so
prevalent.

But, the driver doesn't adjust its idea of what size is being captured when it
is set this way.  If you try to query the driver's current setting with
v4l2-ctl, it won't be correct.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-04 21:41:16 -02:00
..
bt8xx V4L/DVB (6392): bttv: Update initial image size when set via V4L1 VIDIOCMCAPTURE 2007-11-04 21:41:16 -02:00
cpia2 V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
cx88 V4L/DVB (6336): cx8802: Plug memory leak when unregistering a driver 2007-10-22 12:01:43 -02:00
cx23885 V4L/DVB (6325): Double-free in cx23885_initdev 2007-10-22 12:01:36 -02:00
cx25840 V4L/DVB (6142): cx25840: fix build warning 2007-10-09 22:07:51 -03:00
em28xx V4L/DVB (6350): V4L: possible leak in em28xx_init_isoc 2007-10-22 12:01:49 -02:00
et61x251 V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
ivtv [MEDIA] IVTV: exit_ivtv_i2c() cannot be __devexit 2007-10-31 07:48:21 -07:00
ovcamchip V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
pvrusb2 V4L/DVB (6357): pvrusb2: Improve encoder chip health tracking 2007-10-22 12:01:51 -02:00
pwc V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
saa7134 V4L/DVB (6382): saa7134: fix NULL dereference at suspend time for cards without IR receiver 2007-10-22 12:01:53 -02:00
sn9c102 V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
usbvideo V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
usbvision V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
zc0301 V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
adv7170.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
adv7175.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
arv.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
bt819.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
bt856.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
bt866.c V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers 2007-07-20 17:35:49 -03:00
btcx-risc.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
btcx-risc.h
bw-qcam.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
bw-qcam.h
c-qcam.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
cafe_ccic-regs.h
cafe_ccic.c V4L/DVB (6252): Adapt drivers to use the newer videobuf modules 2007-10-09 22:14:55 -03:00
compat_ioctl32.c V4L/DVB (5989): V4L: Add additional ioctls to compat_ioctl32 2007-10-09 22:04:45 -03:00
cpia_pp.c
cpia_usb.c
cpia.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
cpia.h
cs53l32a.c
cs8420.h
cx2341x.c V4L/DVB (6088): cx2341x: some controls can't be changed while the device is busy 2007-10-09 22:06:42 -03:00
dabfirmware.h
dabusb.c
dabusb.h
dpc7146.c V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry 2007-10-10 13:35:29 -03:00
font.h
hexium_gemini.c
hexium_orion.c
ibmmpeg2.h
indycam.c
indycam.h
ir-kbd-i2c.c V4L/DVB (6352): ir-kbd-i2c: Missing break statement 2007-10-22 12:01:50 -02:00
Kconfig V4L/DVB (6254): Add videobuf-vmalloc 2007-10-09 22:14:56 -03:00
ks0127.c
ks0127.h
Makefile V4L/DVB (6257): Rename video-buf-dvb to videobuf-dvb to be consistent with the other patches 2007-10-10 00:02:46 -03:00
meye.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
meye.h Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
msp3400-driver.c V4L/DVB (6125): whitespace cleanup: replace leading spaces with tabs 2007-10-09 22:07:29 -03:00
msp3400-driver.h
msp3400-kthreads.c Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
mt20xx.c V4L/DVB (6130): mt20xx: convert from tuner sub-driver into dvb_frontend module 2007-10-09 22:07:39 -03:00
mt20xx.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
mxb.c V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry 2007-10-10 13:35:29 -03:00
mxb.h
ov511.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
ov511.h
ov7670.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
planb.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
planb.h
pms.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
saa711x_regs.h
saa711x.c
saa5246a.c more UTF-8 conversions 2007-10-19 23:22:11 +02:00
saa5246a.h
saa5249.c more UTF-8 conversions 2007-10-19 23:22:11 +02:00
saa6588.c V4L/DVB (6215): Bugfix for saa6588.c, add forgotten spin_lock_init() 2007-10-09 22:14:35 -03:00
saa7110.c V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers 2007-07-20 17:35:49 -03:00
saa7111.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
saa7114.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
saa7115.c
saa7121.h
saa7127.c V4L/DVB (6116): ivtv: VBI cleanups and fixes 2007-10-09 22:07:14 -03:00
saa7146.h
saa7146reg.h
saa7185.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
saa7191.c V4L/DVB (6148): Fix a warning at saa7191_probe 2007-09-14 13:13:42 -03:00
saa7191.h
saa7196.h
se401.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
se401.h
stradis.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
stv680.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
stv680.h
tcm825x.c V4L/DVB (6220): TCM825x: Add support for vidioc_int_g_ifparm call, small cleanups 2007-10-09 22:14:40 -03:00
tcm825x.h V4L/DVB (6220): TCM825x: Add support for vidioc_int_g_ifparm call, small cleanups 2007-10-09 22:14:40 -03:00
tda7432.c
tda8290.c V4L/DVB (6140): tda8290: add get_rf_strength and improve status reading efficiency 2007-10-09 22:07:49 -03:00
tda8290.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
tda9840.c
tda9840.h
tda9875.c
tda9887.c V4L/DVB (6127): tuner: kill i2c_client interface to tuner sub-drivers 2007-10-09 22:07:34 -03:00
tea5761.c V4L/DVB (6138): tea5761: add get_rf_strength and improve status reading efficiency 2007-10-09 22:07:46 -03:00
tea5761.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
tea5767.c V4L/DVB (6139): tea5767: add get_rf_strength and improve status reading efficiency 2007-10-09 22:07:49 -03:00
tea5767.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
tea6415c.c
tea6415c.h
tea6420.c
tea6420.h
tlv320aic23b.c
tuner-3036.c
tuner-core.c V4L/DVB (6326): tuner-core.c: fe_has_signal() can return uninitialized value 2007-10-22 12:01:39 -02:00
tuner-driver.h V4L/DVB (6133): tuner-simple: convert from tuner sub-driver into dvb_frontend module 2007-10-09 22:07:41 -03:00
tuner-i2c.h V4L/DVB (6127): tuner: kill i2c_client interface to tuner sub-drivers 2007-10-09 22:07:34 -03:00
tuner-simple.c V4L/DVB (6137): tuner-simple: add get_rf_strength and improve status reading efficiency 2007-10-09 22:07:45 -03:00
tuner-simple.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
tuner-types.c V4L/DVB (5978): tuner: Better tuner radio support 2007-10-09 22:04:34 -03:00
tvaudio.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
tveeprom.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
tvmixer.c V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry 2007-10-10 13:35:29 -03:00
tvp5150_reg.h
tvp5150.c V4L/DVB (5739): Replace C code with calls to ARRAY_SIZE macro. 2007-07-18 14:23:52 -03:00
upd64031a.c
upd64083.c
v4l1-compat.c Replace __attribute_pure__ with __pure 2007-10-18 14:37:32 -07:00
v4l2-common.c V4L/DVB (6321): Remove obsolete VIDIOC_S/G_MPEGCOMP ioctls 2007-10-22 12:01:30 -02:00
v4l2-int-device.c V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry 2007-10-10 13:35:29 -03:00
videobuf-core.c V4L/DVB (6324): fix videobuf_cgmbuf export 2007-10-22 12:01:35 -02:00
videobuf-dma-sg.c SG: Change sg_set_page() to take length and offset argument 2007-10-24 11:20:47 +02:00
videobuf-dvb.c V4L/DVB (6257): Rename video-buf-dvb to videobuf-dvb to be consistent with the other patches 2007-10-10 00:02:46 -03:00
videobuf-vmalloc.c v4l: copy_to_user() is not a good method name 2007-10-13 09:58:59 -07:00
videocodec.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
videocodec.h
videodev.c V4L/DVB (6321): Remove obsolete VIDIOC_S/G_MPEGCOMP ioctls 2007-10-22 12:01:30 -02:00
vino.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
vino.h
vivi.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
vp27smpx.c V4L/DVB (6044): vp27smpx: clarify history of this source. 2007-10-09 22:05:30 -03:00
vpx3220.c
w9966.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
w9968cf_decoder.h
w9968cf_vpp.h
w9968cf.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
w9968cf.h
wm8739.c V4L/DVB (5880): wm8775/wm8739: Fix memory leak when unloading module 2007-07-20 17:35:57 -03:00
wm8775.c V4L/DVB (5880): wm8775/wm8739: Fix memory leak when unloading module 2007-07-20 17:35:57 -03:00
zoran_card.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
zoran_card.h V4L/DVB (5884): zr36067: clean up debug function 2007-10-09 22:02:57 -03:00
zoran_device.c V4L/DVB (5885): zr36067: Fix problems with module parameters 2007-10-09 22:02:58 -03:00
zoran_device.h
zoran_driver.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
zoran_procfs.c V4L/DVB (5884): zr36067: clean up debug function 2007-10-09 22:02:57 -03:00
zoran_procfs.h
zoran.h V4L/DVB (5890): zr36067: Add UYVY, RGB555X, RGB565X, and RGB32 formats 2007-07-30 16:26:26 -03:00
zr364xx.c V4L/DVB (5792): Zr364xx: add support for Trust Powerc@m 970Z 2007-07-18 14:24:23 -03:00
zr36016.c V4L/DVB (6078): Coding style fix drivers/media/video/zr36016.c 2007-10-09 22:06:07 -03:00
zr36016.h
zr36050.c V4L/DVB (6077): Coding style fix drivers/media/video/zr36050.c 2007-10-09 22:06:06 -03:00
zr36050.h
zr36057.h
zr36060.c V4L/DVB (6076): Coding style fix drivers/media/video/zr36060.c 2007-10-09 22:06:05 -03:00
zr36060.h