Skip to content

raspiyuv: request for output Y values only. #170

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
chewep opened this issue May 9, 2014 · 6 comments
Closed

raspiyuv: request for output Y values only. #170

chewep opened this issue May 9, 2014 · 6 comments

Comments

@chewep
Copy link

chewep commented May 9, 2014

Is it possible to output Y values only and discarding U and V values?

@a1k0n
Copy link
Contributor

a1k0n commented Sep 7, 2014

Well, the good part about the I420 image format that it outputs is that the Y values come first, and then U, and then V, so truncating the file to a size of width*height bytes will do it without messing around with the source.

However it wouldn't be super hard to hack in an option to RaspiStillYUV.c -- inside camera_buffer_callback, you could check pData->pstate->(some option) and then just write something smaller than buffer->length.

@Ruffio
Copy link

Ruffio commented Jun 27, 2015

@chewep is this still an issue?

1 similar comment
@Ruffio
Copy link

Ruffio commented Jun 27, 2016

@chewep is this still an issue?

@waveform80
Copy link
Contributor

Not even necessary to hack raspiyuv for this - simply pipe the output through the standard head command to chop off the UV tail and you should be good to go. Just calculate the number of bytes you need (bearing in mind the camera rounding horizontal resolution up to 32, and the vertical up to 16).

For example, with a V1 camera module capturing at 2592x1944 the amount of data output by raspiyuv will be 2592 * 1952 * 1.5 (1952 because of the vertical rounding, 1.5 because YUV420 format includes Y values at full resolution and U and V values at quarter resolution each). We only want the first 2592 * 1952 = 5059584 bytes of information, which the following command line should achieve:

$ raspiyuv -o - | head -c $((2592*1952)) > output.yuv

Just adjust the -c value according to your resolution and you should be good to go.

@6by9
Copy link
Contributor

6by9 commented Aug 15, 2016

You can use head, but that won't work for timelapse sensibly.

Boredom, so just making up a PR. raspividyuv also appears to be missing support for RGB mode, so stuffing that in at the same time.

6by9 added a commit to 6by9/userland that referenced this issue Aug 15, 2016
Fixes raspberrypi#170

Option for saving only the luma / Y plane of the image data.
@6by9
Copy link
Contributor

6by9 commented Aug 15, 2016

Patches pushed to my tree, but totally untested beyond "they build", so need to do that before creating a PR.

6by9 added a commit to 6by9/userland that referenced this issue Aug 15, 2016
Fixes raspberrypi#170

Option for saving only the luma / Y plane of the image data.
popcornmix added a commit that referenced this issue Aug 17, 2016
Fix for issue #170, and raspividyuv supporting rgb
popcornmix added a commit to raspberrypi/firmware that referenced this issue Aug 19, 2016
kernel: config: Enable SERIAL_SC16IS7XX_SPI
See: raspberrypi/linux#1594

kernel: Added Overlay for Microchip MCP23S08/17 SPI gpio expanders
See: raspberrypi/linux#1566

kernel: BCM270X_DT: Add audio_pins to CM dtb
kernel: BCM270X_DT: Don't enable UART0 in CM3 dtb

kernel: overlays: Add audremap overlay
kernel: overlays: Add swap_lr and enable_jack to audremap
See: raspberrypi/linux#1473

firmware: Raspi[Still|Vid]Yuv: Add option for just saving luma
See: raspberrypi/userland#170

firmware: RaspiVidYuv: Add option of saving RGB data

firmware: Only change I2C/GPIO pin functions when needed

firmware: platform: Redo the audio remapping logic
See: raspberrypi/linux#1473
popcornmix added a commit to Hexxeh/rpi-firmware that referenced this issue Aug 19, 2016
kernel: config: Enable SERIAL_SC16IS7XX_SPI
See: raspberrypi/linux#1594

kernel: Added Overlay for Microchip MCP23S08/17 SPI gpio expanders
See: raspberrypi/linux#1566

kernel: BCM270X_DT: Add audio_pins to CM dtb
kernel: BCM270X_DT: Don't enable UART0 in CM3 dtb

kernel: overlays: Add audremap overlay
kernel: overlays: Add swap_lr and enable_jack to audremap
See: raspberrypi/linux#1473

firmware: Raspi[Still|Vid]Yuv: Add option for just saving luma
See: raspberrypi/userland#170

firmware: RaspiVidYuv: Add option of saving RGB data

firmware: Only change I2C/GPIO pin functions when needed

firmware: platform: Redo the audio remapping logic
See: raspberrypi/linux#1473
mkreisl added a commit to xbianonpi/xbian-package-firmware that referenced this issue Sep 16, 2016
- kernel: config: Enable SENSORS_LM75
  See: #508

- kernel: config: Enable SERIAL_SC16IS7XX
  See: raspberrypi/linux#1594

- kernel: snd-bcm2835: Don't allow responses from VC to be interrupted by user signals
  See: raspberrypi/linux#1560

- kernel: Merge many vc4 changes from drm-vc4-next-2016-07-15
  See: raspberrypi/linux#1596

- kernel: drm/vc4: vc4 loops support
  See: raspberrypi/linux#1597

- kernel: Add cm3 dts file
  See: raspberrypi/linux#1595

- kernel: net: ethernet: enc28j60: add device tree support

- kernel: enc28j60: Fix race condition in enc28j60 driver
  See: raspberrypi/linux#1385

- firmware: platform: Don't swap audio L&R if using GPIOs 12&13
  See: http://github.com/raspberrypi/linux/issues/1473

- firmware: hdmi: Increase muting before resolution change

- firmware: board_info: Add cm3-specific dtb file

- firmware: Ensure extended part of vg_spath is zeroed
  See: raspberrypi/linux#943

- kernel: config: Enable SERIAL_SC16IS7XX_SPI
  See: raspberrypi/linux#1594

- kernel: Added Overlay for Microchip MCP23S08/17 SPI gpio expanders
  See: raspberrypi/linux#1566

- kernel: BCM270X_DT: Add audio_pins to CM dtb
- kernel: BCM270X_DT: Don't enable UART0 in CM3 dtb

- kernel: overlays: Add audremap overlay
- kernel: overlays: Add swap_lr and enable_jack to audremap
  See: raspberrypi/linux#1473

- firmware: Raspi[Still|Vid]Yuv: Add option for just saving luma
  See: raspberrypi/userland#170

- firmware: RaspiVidYuv: Add option of saving RGB data

- firmware: Only change I2C/GPIO pin functions when needed

- firmware: platform: Redo the audio remapping logic
  See: raspberrypi/linux#1473

- kernel: overlays: added sc16is750 UART over I2C
  See: raspberrypi/linux#1617

- kernel: config: Add CONFIG_IPVLAN module
  See: raspberrypi/linux#1612

- kernel: config: Add CONFIG_VXLAN module
  See: raspberrypi/linux#1614

- firmware: platform: Make the default UART0 clock 48MHz for all Pis
  See: raspberrypi/linux#1601
  See: #643

- firmware: cacheasm: Enable workaround for unwanted sdram write after flush/invalidate
  See: raspberrypi/linux#943

- firmware: vchiq_arm: Fix return value of vchiq_initialise
  See: raspberrypi/userland#331

- firmware: Revert temp: Ensure extended part of vg_spath is zeroed
  See: raspberrypi/linux#943

- firmware: MMAL: Support MMAL_ENCODING_xxx_SLICE formats

- firmware: arm_display: Add bitmapped icons for warning conditions
  See: #367

- firmware: deinterlace: Avoid frame doubling with progressive frames
  See: http://forum.kodi.tv/showthread.php?tid=269814&pid=2412845#pid2412845

- kernel: config: Enable SENSORS_INA2XX module
  See: raspberrypi/linux#1632

- kernel: overlays: Add dpi18 overlay
  See: raspberrypi/linux#1634

- kernel: brcmfmac: do not use internal roaming engine by default
  See: http://projectable.me/optimize-my-pi-wi-fi/

- firmware: arm_display: Fix alpha of warning icons
  See: #367

- firmware: mmal: Advertise sliced formats in MMAL_PARAMETER_SUPPORTED_ENCODINGS
- firmware: IL Resize: Accept strides greater than the minimum

- firmware: vmcs_host: Poll for multiple dispmanx messages
- firmware: VCHI clients: Poll for messages until empty
  See: https://discourse.osmc.tv/t/april-update-causes-system-freezes/15361/183

- firmware: tvservice/cecservice: Make unexpected messages more fatal

- kernel: drm/vc4: Allow some more signals to be packed with uniform resets
  See: raspberrypi/linux#1636

- kernel: Rpi 4.4.y firmware kms
  See: raspberrypi/linux#1637

- firmware: tvservice/cecservice: We only care about unexpected message sizes

- firmware: khronos: Avoid starting khronos service when vc4-kms-v3d is active
- firmeare: arm_loader: Enable fake_vsync_isr when fkms overlay is used
  See: raspberrypi/linux#1637

- firmware: vcdbg: Add support for vchiq debugging
neuschaefer pushed a commit to neuschaefer/raspi-binary-firmware that referenced this issue Feb 27, 2017
kernel: config: Enable SERIAL_SC16IS7XX_SPI
See: raspberrypi/linux#1594

kernel: Added Overlay for Microchip MCP23S08/17 SPI gpio expanders
See: raspberrypi/linux#1566

kernel: BCM270X_DT: Add audio_pins to CM dtb
kernel: BCM270X_DT: Don't enable UART0 in CM3 dtb

kernel: overlays: Add audremap overlay
kernel: overlays: Add swap_lr and enable_jack to audremap
See: raspberrypi/linux#1473

firmware: Raspi[Still|Vid]Yuv: Add option for just saving luma
See: raspberrypi/userland#170

firmware: RaspiVidYuv: Add option of saving RGB data

firmware: Only change I2C/GPIO pin functions when needed

firmware: platform: Redo the audio remapping logic
See: raspberrypi/linux#1473
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants