Re: [PATCH] qvidcap: Add stride option to command line

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Bård,

Can you document the new option in qvidcap.1.in as well?

I also have one comment:

On 12/6/19 11:26 AM, bwinther@xxxxxxxxx wrote:
> From: Bård Eirik Winther <bwinther@xxxxxxxxx>
> 
> Add new hotkeys Shift+Left and Shift+Right to decrase or increase stride.
> 
> Signed-off-by: Bård Eirik Winther <bwinther@xxxxxxxxx>
> ---
>  utils/qvidcap/capture.cpp | 38 ++++++++++++++++++++++++++++++++++----
>  utils/qvidcap/capture.h   |  2 ++
>  utils/qvidcap/qvidcap.cpp |  6 ++++++
>  3 files changed, 42 insertions(+), 4 deletions(-)
> 
> diff --git a/utils/qvidcap/capture.cpp b/utils/qvidcap/capture.cpp
> index a76dd2b6..e2903fb5 100644
> --- a/utils/qvidcap/capture.cpp
> +++ b/utils/qvidcap/capture.cpp
> @@ -571,6 +571,7 @@ void CaptureWin::keyPressEvent(QKeyEvent *event)
>  {
>  	unsigned w = m_v4l_fmt.g_width();
>  	unsigned h = m_v4l_fmt.g_frame_height();
> +	unsigned p = m_overrideHorPadding;
>  	bool hasShift = event->modifiers() & Qt::ShiftModifier;
>  	bool hasCtrl = event->modifiers() & Qt::ControlModifier;
>  	bool scalingEnabled = m_canOverrideResolution &&
> @@ -587,12 +588,22 @@ void CaptureWin::keyPressEvent(QKeyEvent *event)
>  		if (!m_scrollArea->isFullScreen())
>  			return;
>  	case Qt::Key_Left:
> -		if (scalingEnabled && w > 16)
> -			w -= 2;
> +		if (hasShift) {
> +			if (scalingEnabled && p >= 2)
> +				p -= 2;
> +		} else {
> +			if (scalingEnabled && w > 16)
> +				w -= 2;
> +		}
>  		break;
>  	case Qt::Key_Right:
> -		if (scalingEnabled && w < 10240)
> -			w += 2;
> +		if (hasShift) {
> +			if (scalingEnabled && p < 10240)
> +				p += 2;
> +		} else {
> +			if (scalingEnabled && w < 10240)
> +				w += 2;
> +		}
>  		break;
>  	case Qt::Key_Up:
>  		if (scalingEnabled && h > 16)
> @@ -675,6 +686,12 @@ void CaptureWin::keyPressEvent(QKeyEvent *event)
>  			m_scrollArea->resize(w, h);
>  		else
>  			resize(w, h);
> +
> +		if (p != m_v4l_fmt.g_bytesperline()) {
> +			printf("New horizontal resolution: %u + %u (%u)\n", w, p, w + p);

I think this message should only be shown if the padding changed. Otherwise I keep
seeing two messages when I just resize the image:

New horizontal resolution: 640 + 0 (640)
New resolution: 642x480
New horizontal resolution: 642 + 0 (642)
New resolution: 644x480
New horizontal resolution: 644 + 0 (644)
New resolution: 646x480
New horizontal resolution: 646 + 0 (646)
New resolution: 644x480
New horizontal resolution: 644 + 0 (644)

It's a bit too noisy.

Otherwise this looks great!

Regards,

	Hans



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux