Re: [PATCHv2 2/5] scripts: Provide bin2png.sh helper

2017-02-21 Thread Kieran Bingham
Hi Geert,

On 20/02/17 20:45, Geert Uytterhoeven wrote:
> Hi Kieran,
> 
> On Mon, Feb 20, 2017 at 6:47 PM, Kieran Bingham
>  wrote:
>> This change breaks POSIX SH compliance, as reported by shellcheck:
>>
>> In scripts/bin2png.sh line 7:
>> local pnm=${file/%bin/pnm}
>>   ^-- SC2039: In POSIX sh, string replacement is not 
>> supported.
>>
>>
>> In scripts/bin2png.sh line 8:
>> local png=${file/%bin/png}
>>   ^-- SC2039: In POSIX sh, string replacement is not 
>> supported.
>>
>> It also breaks on my system which uses a strict posix compliant shell :D
> 
> Does "local pnm=${file%bin}pnm" work?

Yes, it does indeed seem to work so far!

Thanks for the hint.

I'll test a bit more and hopefully send a patch tomorrow :D

--
Kieran

> Gr{oetje,eeting}s,
> 
> Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- 
> ge...@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like 
> that.
> -- Linus Torvalds
> 


Re: [PATCHv2 2/5] scripts: Provide bin2png.sh helper

2017-02-20 Thread Geert Uytterhoeven
Hi Kieran,

On Mon, Feb 20, 2017 at 6:47 PM, Kieran Bingham
 wrote:
> This change breaks POSIX SH compliance, as reported by shellcheck:
>
> In scripts/bin2png.sh line 7:
> local pnm=${file/%bin/pnm}
>   ^-- SC2039: In POSIX sh, string replacement is not 
> supported.
>
>
> In scripts/bin2png.sh line 8:
> local png=${file/%bin/png}
>   ^-- SC2039: In POSIX sh, string replacement is not 
> supported.
>
> It also breaks on my system which uses a strict posix compliant shell :D

Does "local pnm=${file%bin}pnm" work?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


Re: [PATCHv2 2/5] scripts: Provide bin2png.sh helper

2017-02-13 Thread Laurent Pinchart
Hi Geert,

On Monday 13 Feb 2017 15:17:10 Geert Uytterhoeven wrote:
> On Mon, Feb 13, 2017 at 3:03 PM, Laurent Pinchart wrote:
> >> +PNM=$(echo $FILE | sed -e 's|\.bin$|.pnm|')
> > 
> > You can write this as
> > 
> > PNM=${FILE/.bin/.pnm}
> 
> / doesn't just match the suffix, try with waste.bin.picture.bin :-)

There's a single '.bin' string in the file names we deal with, but in general 
you're right, yes.

> PNM=${FILE%.bin}.pnm

I've used PNM={FILE/%bin/pnm}

-- 
Regards,

Laurent Pinchart



Re: [PATCHv2 2/5] scripts: Provide bin2png.sh helper

2017-02-13 Thread Geert Uytterhoeven
Hi Laurent,

On Mon, Feb 13, 2017 at 3:03 PM, Laurent Pinchart
 wrote:
>> +PNM=$(echo $FILE | sed -e 's|\.bin$|.pnm|')
>
> You can write this as
>
> PNM=${FILE/.bin/.pnm}

/ doesn't just match the suffix, try with waste.bin.picture.bin :-)

PNM=${FILE%.bin}.pnm

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


Re: [PATCHv2 2/5] scripts: Provide bin2png.sh helper

2017-02-13 Thread Laurent Pinchart
Hi Kieran,

Thank you for the patch.

On Thursday 01 Dec 2016 21:31:46 Kieran Bingham wrote:
> From: Kieran Bingham 
> 
> Identify the size and format from the test output filename, and pass
> to raw2rgbpnm for conversion to a PNM file.
> 
> From there we can convert easily to a PNG output file.
> 
> Signed-off-by: Kieran Bingham 
> 
> ---
> v2:
> 
> - use 'convert' to proces png files to png
> - strip '.bin' from target filenames
> 
>  scripts/Makefile   |  2 +-
>  scripts/bin2png.sh | 36 
>  2 files changed, 37 insertions(+), 1 deletion(-)
>  create mode 100755 scripts/bin2png.sh
> 
> diff --git a/scripts/Makefile b/scripts/Makefile
> index 8c452f4c54ce..6586b2989aed 100644
> --- a/scripts/Makefile
> +++ b/scripts/Makefile
> @@ -1,4 +1,4 @@
> -SCRIPTS=logger.sh vsp-lib.sh
> +SCRIPTS=$(wildcard *.sh)
> 
>  all:
> 
> diff --git a/scripts/bin2png.sh b/scripts/bin2png.sh
> new file mode 100755
> index ..bde1ddfa3eab
> --- /dev/null
> +++ b/scripts/bin2png.sh
> @@ -0,0 +1,36 @@
> +#!/bin/sh
> +
> +FILE="$1"
> +
> +PNM=$(echo $FILE | sed -e 's|\.bin$|.pnm|')

You can write this as

PNM=${FILE/.bin/.pnm}

> +PNG=$(echo $FILE | sed -e 's|\.bin$|.png|')

Ditto.

> +fmt=$(echo $FILE | sed -e
> 's|.*-\([[:alnum:]]*\)-\([0-9]*x[0-9]*\).*.bin|\1|') +size=$(echo $FILE |
> sed -e 's|.*-\([[:alnum:]]*\)-\([0-9]*x[0-9]*\).*.bin|\2|') +
> +case $fmt in
> + yuv410m|yvu410m|yuv411m|yuv420m|yvu420m|yuv422m|yvu422m|yuv444m|
yvu444m)
> + fmt=`echo $fmt | tr '[:lower:]' '[:upper:]'`
> + fmt=`echo $fmt | tr 'M' 'P'`
> + ;;
> + nv12m|nv21m|nv16m|nv61m)
> + fmt=`echo $fmt | tr '[:lower:]' '[:upper:]'`
> + fmt=`echo $fmt | tr -d 'M'`
> + ;;
> + argb555|xrgb555)
> + fmt=RGB555X

raw2rgbpnm doesn't support RGB555X, I think you should use RGB555.

> + ;;
> + argb32|xrgb32)
> + fmt=RGB32
> + ;;
> + abgr32|xbgr32)
> + fmt=BGR32
> + ;;

You could group all those cases by just removing the leading A or X.

No need to resubmit, I'll fix while applying.

> + *)
> + fmt=`echo $fmt | tr '[:lower:]' '[:upper:]'`
> + ;;
> +esac
> +
> +raw2rgbpnm -s $size -f $fmt $FILE $PNM && \
> + convert $PNM $PNG
> +rm $PNM

-- 
Regards,

Laurent Pinchart



[PATCHv2 2/5] scripts: Provide bin2png.sh helper

2016-12-01 Thread Kieran Bingham
From: Kieran Bingham 

Identify the size and format from the test output filename, and pass
to raw2rgbpnm for conversion to a PNM file.

>From there we can convert easily to a PNG output file.

Signed-off-by: Kieran Bingham 

---
v2:

- use 'convert' to proces png files to png
- strip '.bin' from target filenames

 scripts/Makefile   |  2 +-
 scripts/bin2png.sh | 36 
 2 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100755 scripts/bin2png.sh

diff --git a/scripts/Makefile b/scripts/Makefile
index 8c452f4c54ce..6586b2989aed 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -1,4 +1,4 @@
-SCRIPTS=logger.sh vsp-lib.sh
+SCRIPTS=$(wildcard *.sh)
 
 all:
 
diff --git a/scripts/bin2png.sh b/scripts/bin2png.sh
new file mode 100755
index ..bde1ddfa3eab
--- /dev/null
+++ b/scripts/bin2png.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+FILE="$1"
+
+PNM=$(echo $FILE | sed -e 's|\.bin$|.pnm|')
+PNG=$(echo $FILE | sed -e 's|\.bin$|.png|')
+
+fmt=$(echo $FILE | sed -e 's|.*-\([[:alnum:]]*\)-\([0-9]*x[0-9]*\).*.bin|\1|')
+size=$(echo $FILE | sed -e 's|.*-\([[:alnum:]]*\)-\([0-9]*x[0-9]*\).*.bin|\2|')
+
+case $fmt in
+   yuv410m|yvu410m|yuv411m|yuv420m|yvu420m|yuv422m|yvu422m|yuv444m|yvu444m)
+   fmt=`echo $fmt | tr '[:lower:]' '[:upper:]'`
+   fmt=`echo $fmt | tr 'M' 'P'`
+   ;;
+   nv12m|nv21m|nv16m|nv61m)
+   fmt=`echo $fmt | tr '[:lower:]' '[:upper:]'`
+   fmt=`echo $fmt | tr -d 'M'`
+   ;;
+   argb555|xrgb555)
+   fmt=RGB555X
+   ;;
+   argb32|xrgb32)
+   fmt=RGB32
+   ;;
+   abgr32|xbgr32)
+   fmt=BGR32
+   ;;
+   *)
+   fmt=`echo $fmt | tr '[:lower:]' '[:upper:]'`
+   ;;
+esac
+
+raw2rgbpnm -s $size -f $fmt $FILE $PNM && \
+   convert $PNM $PNG
+rm $PNM
-- 
2.7.4