Re: [PATCHv2 0/7] vicodec improvements

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

 



On 08/23/2018 09:32 AM, Hans Verkuil wrote:
> From: Hans Verkuil <hans.verkuil@xxxxxxxxx>
> 
> - add support for quantization parameters
> - support many more pixel formats
> - code simplifications
> - rename source and use proper prefixes for the codec: this makes it
>   independent from the vicodec driver and easier to reuse in userspace
>   (similar to what we do for the v4l2-tpg code).
> - split off the v4l2 'frontend' code for the FWHT codec into its own
>   source for easier re-use elsewhere (i.e. v4l2-ctl/qvidcap).
> 
> I made a v4l-utils branch that uses the FWHT codec to compress video
> when streaming over the network:
> 
> https://git.linuxtv.org/hverkuil/v4l-utils.git/log/?h=qvidcap
> 
> You need to add the --stream-to-host-lossy flag to enable FWHT streaming.
> 
> Note: the FWHT codec clips R/G/B values for RGB formats. This will be
> addressed later. I might have to convert the R/G/B values from full to
> limited range before encoding them, but I want to discuss this with the
> author of the codec (Tom aan de Wiel) first.

Figured out where the problem is and posted a patch 8/7 to fix this.

Since I no longer have these artifacts I also changed the --stream-to-host-lossy
argument to --stream-lossless: by default v4l2-ctl --stream-to-host will now
use the FWHT codec (if supported for the given pixelformat), unless --stream-lossless
is given.

Still not 100% certain about this, so this might change in the future.

Regards,

	Hans

> 
> Regards,
> 
> 	Hans
> 
> Changes since v1:
> 
> - added the last patch (split off v4l2 FWHT code)
> - the GOP_SIZE and QP controls can now be set during streaming as
>   well.
> 
> Hans Verkuil (7):
>   vicodec: add QP controls
>   vicodec: add support for more pixel formats
>   vicodec: simplify flags handling
>   vicodec: simplify blocktype checking
>   vicodec: improve handling of uncompressable planes
>   vicodec: rename and use proper fwht prefix for codec
>   vicodec: split off v4l2 specific parts for the codec
> 
>  .../media/uapi/v4l/pixfmt-compressed.rst      |   2 +-
>  drivers/media/platform/vicodec/Makefile       |   2 +-
>  .../vicodec/{vicodec-codec.c => codec-fwht.c} | 148 ++++--
>  .../vicodec/{vicodec-codec.h => codec-fwht.h} |  80 ++-
>  .../media/platform/vicodec/codec-v4l2-fwht.c  | 325 ++++++++++++
>  .../media/platform/vicodec/codec-v4l2-fwht.h  |  50 ++
>  drivers/media/platform/vicodec/vicodec-core.c | 483 ++++++++----------
>  7 files changed, 723 insertions(+), 367 deletions(-)
>  rename drivers/media/platform/vicodec/{vicodec-codec.c => codec-fwht.c} (85%)
>  rename drivers/media/platform/vicodec/{vicodec-codec.h => codec-fwht.h} (64%)
>  create mode 100644 drivers/media/platform/vicodec/codec-v4l2-fwht.c
>  create mode 100644 drivers/media/platform/vicodec/codec-v4l2-fwht.h
> 




[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