linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Bård Eirik Winther" <bwinther@cisco.com>
To: linux-media@vger.kernel.org
Subject: [PATCH 0/9] qv4l2: scaling, pixel aspect ratio and render fixes
Date: Tue,  6 Aug 2013 12:21:44 +0200	[thread overview]
Message-ID: <1375784513-18701-1-git-send-email-bwinther@cisco.com> (raw)

The patch series depends on the qv4l2 ALSA and OpenGL patch series.

This adds scaling and aspect ratio support to the qv4l2 CaptureWin.
In that regard it fixes a lot of other issues that would otherwise make scaling
render incorrectly. It also fixes some issues with the original OpenGL patch series,
as well as adding tweaks and improvements left out in the original patches.

Some of the changes/improvements:
- CaptureWin have scaling support for video frames for all renderers
- CaptureWin support pixel aspect ratio scaling
- Aspect ratio and scaling can be changed during capture
- Reset and disable scaling options
- CaptureWin's setMinimumSize is now resize, which resizes the window to the frame size given
  and minimum size is set automatically
- The YUY2 shader programs are rewritten and has the resizing issue fixed
- The Show Frames option in Capture menu can be toggled during capture
- Added a hotkey:
    CTRL + F : (size to video 'F'rame)
               When either the main window or capture window is selected
               this will reset the scaling to fit the frame size.
               This option is also available in the Capture menu.

Pixel Aspect Ratio Modes:
- Autodetect (if not supported this assumes square pixels)
- Square
- NTSC/PAL-M/PAL-60
- NTSC/PAL-M/PAL-60, Anamorphic
- PAL/SECAM
- PAL/SECAM, Anamorphic

Perfomance:
  All tests are done using the 3.10 kernel with OpenGL enabled and desktop effects disabled.
  Testing was done on an Intel i7-2600S (with Turbo Boost disabled)
  using the integrated Intel HD 2000 graphics processor. The mothreboard is an ASUS P8H77-I
  with 2x2GB CL 9-9-9-24 DDR3 RAM. The capture card is a Cisco test card with 4 HDMI
  inputs connected using PCIe2.0x8. All video input streams used for testing are
  progressive HD (1920x1080) with 60fps.

  FPS for every input for a given number of streams
  (BGR3, YU12 and YV12 are emulated using the CPU):
        1 STREAM  2 STREAMS  3 STREAMS  4 STREAMS
  RGB3      60        60         60         60
  BGR3      60        60         60         58
  YUYV      60        60         60         60
  YU12      60        60         60         60
  YV12      60        60         60         60

Sidenote:
- Performing scaling and colorspace conversion for 1080p60 using the CPU
  can/will give a performance drop in framerate. Recommended to use OpenGL instead.


             reply	other threads:[~2013-08-06 10:22 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-06 10:21 Bård Eirik Winther [this message]
2013-08-06 10:21 ` [PATCH 1/9] qv4l2: generalized opengl include guards Bård Eirik Winther
2013-08-06 10:21   ` [PATCH 2/9] qv4l2: fix YUY2 shader Bård Eirik Winther
2013-08-06 10:21   ` [PATCH 3/9] qv4l2: fix black screen with opengl after capture Bård Eirik Winther
2013-08-06 10:21   ` [PATCH 4/9] qv4l2: show frames option can be toggled during capture Bård Eirik Winther
2013-08-06 10:21   ` [PATCH 5/9] qv4l2: create function getMargins Bård Eirik Winther
2013-08-06 10:21   ` [PATCH 6/9] qv4l2: add video scaling for CaptureWin Bård Eirik Winther
2013-08-06 10:21   ` [PATCH 7/9] qv4l2: added resize to frame size in Capture menu Bård Eirik Winther
2013-08-06 10:21   ` [PATCH 8/9] qv4l2: add hotkey for reset scaling to frame size Bård Eirik Winther
2013-08-06 10:21   ` [PATCH 9/9] qv4l2: add pixel aspect ratio support for CaptureWin Bård Eirik Winther

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1375784513-18701-1-git-send-email-bwinther@cisco.com \
    --to=bwinther@cisco.com \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).