linux/drivers/media
Pawel Osciak f49f3ed519 [media] s5p-mfc: Don't try to resubmit VP8 bitstream buffer for decode
Currently, for formats that are not H264, MFC driver will check
the consumed stream size returned by the firmware and, based on that,
will try to decide whether the bitstream buffer contained more than
one frame. If the size of the buffer is larger than the consumed
stream, it assumes that there are more frames in the buffer and that the
buffer should be resubmitted for decode. This rarely works though and
actually introduces problems, because:

- v7 firmware will always return consumed stream size equal to whatever
the driver passed to it when running decode (which is the size of the whole
buffer), which means we will never try to resubmit, because the firmware
will always tell us that it consumed all the data we passed to it;

- v6 firmware will return the number of consumed bytes, but will not
include the padding ("stuffing") bytes that are allowed after the frame
in VP8. Since there is no way of figuring out how many of those bytes
follow the frame without getting the frame size from IVF headers (or
somewhere else, but not from the stream itself), the driver tries to guess that
padding size is not larger than 4 bytes, which is not always true;

The only way to make it work is to queue only one frame per buffer from
userspace and the check in the kernel is useless and wrong for VP8.
So adding VP8 also along with H264 to disallow re-submitting of buffer
back to hardware for decode.

Signed-off-by: Pawel Osciak <posciak@chromium.org>
Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23 15:28:02 -03:00
..
common [media] rc: abstract access to allowed/enabled protocols 2014-03-11 13:24:39 -03:00
dvb-core [media] rtl28xxu: add [1b80:d3af] Sveon STV27 2014-05-13 20:25:47 -03:00
dvb-frontends [media] si2168: relax demod lock checks a little 2014-04-23 09:54:26 -03:00
firewire firewire: introduce fw_driver.probe and .remove methods 2013-06-09 18:15:00 +02:00
i2c [media] mt9p031: Fix BLC configuration restore when disabling test pattern 2014-05-23 14:54:04 -03:00
mmc [media] siano: get rid of CammelCase from smscoreapi.h 2013-03-21 10:03:16 -03:00
parport [media] media: parport: Fix format string mismatch in bw-qcam.c 2014-05-23 12:18:53 -03:00
pci [media] saa7134: add saa7134_userptr module option to enable USERPTR 2014-05-23 14:16:53 -03:00
platform [media] s5p-mfc: Don't try to resubmit VP8 bitstream buffer for decode 2014-05-23 15:28:02 -03:00
radio [media] si4713: fix Kconfig dependencies 2014-03-28 18:06:55 -03:00
rc [media] rc-core: remove generic scancode filter 2014-04-06 11:30:29 -03:00
tuners Linux 3.15-rc6 2014-05-21 23:03:15 -03:00
usb [media] em28xx: make em28xx_free_v4l2 static() 2014-05-23 14:29:59 -03:00
v4l2-core [media] vb2: fix num_buffers calculation if req->count > VIDEO_MAX_FRAMES 2014-05-23 13:59:02 -03:00
Kconfig [media] subdev autoselect only works if I2C and I2C_MUX is selected 2013-12-21 06:03:06 -02:00
Makefile
media-device.c Linux 3.15-rc6 2014-05-21 23:03:15 -03:00
media-devnode.c [media] media: Use a better owner for the media device 2014-05-13 13:39:00 -03:00
media-entity.c [media] media: Check for active links on pads with MEDIA_PAD_FL_MUST_CONNECT flag 2013-12-04 15:03:45 -02:00