24 Commits

Author SHA1 Message Date
popcornmix
7b6b0a9295 vc_image_helper: Avoid misaligned exception due to uninitialised pointer
The function parameters were extended without spotting another
user with their own local prototype.
Observed as misaligned exception when using video_render.
2020-10-22 16:14:46 +01:00
Dave Stevenson
6e6a2c859a vc_image/video_decode: Move +16 lines for di_adv from vc_image to decoder
The advanced deinterlaced algorithm wanted 16 extra lines of height on
SAND images as a scratchpad. vc_image had been hacked to add those lines
to each and every SAND image.

HEVC decode uses SAND but doesn't care about that context, and will never
support interlaced content.

Remove the +16 lines from vc_image, and add specify it as a vpitch when
creating the image from within the decoder.
2020-02-28 19:36:43 +00:00
Dave Stevenson
1117308aaa vc_image: Default YUVUV to non-tall mode, with flag if required.
The HEVC block and various others don't require tall mode, it's only
the H264 codec block that has to keep the column stride below
64kB.

Switch the default configuration to NOT require tall mode.
All the users of SAND with the H264 block are currently internal
to the VPU (video decode will vc_image_convert, or pass an opaque
VC_IMAGE_T. Camera to video_encode either goes via planar, or is
passing a VC_IMAGE_T).
Add a flag to these when creating the images to request tall mode.
2020-01-14 17:28:49 +00:00
popcornmix
2eee5e89ef fixup! Add full support for Argon10 as a new image format 2019-07-24 16:35:31 +01:00
Dave Stevenson
ae1dd9e5a6 vc_image: Add vpitch to linear RGB formats
Adds a vpitch option for linear (not TF) RGB formats so
there is an option for not having the height aligned to
a multiple of 16 lines.
2018-11-06 12:49:53 +00:00
popcornmix
6c9eb49569 vc_image: Add plumbing for side-by-side YUV420 format
So U and V have same pitch as Y, but V = U + pitch/2
2018-02-07 19:09:06 +00:00
Dave Stevenson
7c8ee0eec5 vc_image_helper: Add YUV 16 bit formats to second header
Duplicated in vc_image.h and vc_image_helper.h :-(
2018-01-29 22:07:27 +00:00
Dave Stevenson
e38766e5a6 vc_image: Add VC_IMAGE_TF_U8 and V8 to the ANY_TFORMAT case
Thew case_VC_IMAGE_ANY_TFORMAT macro was missing VC_IMAGE_TF_U8
and VC_IMAGE_TF_V8, so computing the pitch was failing.

The case described in https://github.com/raspberrypi/userland/issues/433
is fixed with this.
2018-01-29 22:07:27 +00:00
Dave Stevenson
c507de9810 vc_image headers: Tidy up duplication
When vc_image_helper.h was merged in, some stuff got
left behind in vc_image.h leading to duplication and
confusion. Clean it up.
2017-08-22 15:18:31 +01:00
Dave Stevenson
ce575fb89a vc_image/mmal/il/isp: Add support for 16bit/component YUV420 and YUVUV 2017-07-11 14:27:17 +01:00
Dave Stevenson
d9e4d8c266 vc_image: Remove structure definition duplication
interface/vctypes/vc_image_structs.h gained all the
VC_IMAGE structures, but they didn't removed from
helpers/vc_image/vc_image.h.
Remove this duplication.
2017-06-13 18:02:29 +01:00
popcornmix
bf907515ad vc_image: Add VC_IMAGE_PROP_VPITCH property 2017-05-16 13:50:54 +01:00
popcornmix
9928048d92 vc_image: Include colourspace in RGB to YUV conversions 2016-10-25 16:34:14 +01:00
popcornmix
52eca998aa vc_image: Remove ifdefs for obsolete platforms 2016-04-19 21:17:05 +01:00
popcornmix
481fcfbcf8 Fix some typos found by codespell
See: https://github.com/raspberrypi/userland/pull/299
2016-04-06 19:47:08 +01:00
popcornmix
0de0b205ea vdec3: preparation work for MVC 2015-02-26 16:53:20 +00:00
popcornmix
3d7d675eba cosmetic: Whitespace tidy 2014-08-06 18:21:52 +01:00
Dom Cobley
09de358260 display: Add support for 32bpp palettes 2014-06-18 19:15:55 +01:00
Dom Cobley
d2c9f912da RaspiStill example code for YUV fast paths
Update RaspiStill framework to provide access to the new EGL image
targets that provide a fastpath for mapping the individual YUV planes to
one byte per pixel GL_LUMINANCE buffers. These are still accessed as OES
textures so this is effectively a greyscale image created from a single
plane of a MMAL buffer.

Also added some example code (yuv, sobel) that demonstrates how to use
the new EGL image targets.

Also, add -gc to the command line to capture the GL frame-buffer as a TGA file.

Thanks to Tim Gover
2013-11-28 22:26:15 +00:00
Dom Cobley
41c1db7d46 Update headers from latest firmware 2013-09-23 23:49:43 +01:00
Dom Cobley
8700279495 Update userland to match latest firmware.
Pull requests for accelerated khronos hash and improved testing for execinfo
2013-01-22 18:27:19 +00:00
Dom Cobley
9852ce2882 Update master branch to next 2012-12-27 19:00:17 +00:00
Dom Cobley
61232b4033 Add hello_pi apps and bcm_host.h to userland. Merge with latest code. 2012-11-13 01:59:50 +00:00
popcornmix
729c0e6562 Initial import of userland code 2012-10-24 11:42:57 +01:00