Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 56
View file
ffhevc.changes
Changed
@@ -1,4 +1,12 @@ ------------------------------------------------------------------- +Thu Jun 01 12:06:00 UTC 2017 - neutrino8@opensuse.org + +- Update to version 3.3.0 + * Simplify the scale variable a bit + * Support SMPTE170M colorspace conversion + * Support SMPTE170M for color primaries/matrices/transfers + +------------------------------------------------------------------- Tue May 30 11:35:00 UTC 2017 - neutrino8@opensuse.org - Update to version 3.2.9
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 3.2.9 +Version: 3.3.0 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+
View file
ffhevc-3.2.9.tar.gz/ChangeLog -> ffhevc-3.3.0.tar.gz/ChangeLog
Changed
@@ -1,3 +1,8 @@ +2017-06-01 - ffhevc 3.3.0 + * Simplify the scale variable a bit + * Support SMPTE170M colorspace conversion + * Support SMPTE170M for color primaries/matrices/transfers + 2019-05-30 - ffhevc 3.2.9 * Bugfix: use an if conditional to set hdr-opt option * Increase default CRF value to 21
View file
ffhevc-3.2.9.tar.gz/ffhevc -> ffhevc-3.3.0.tar.gz/ffhevc
Changed
@@ -2,8 +2,8 @@ # # Small script to encode to H.265/HEVC video using FFmpeg and libx265. # Author: Grozdan "microchip" Nikolov <neutrino8@opensuse.org> -# Version: 3.2.9 -# Date: 2017-05-30 +# Version: 3.3.0 +# Date: 2017-06-01 # # ffhevc is free software ; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ brown() { echo -e "\e[0;33m$1\e[0;39;49m"; } error() { echo -e "\e[1;31m$1\e[0;39;49m"; } -version="3.2.9" +version="3.3.0" CFG="$HOME/.ffhevc" cfgversion="34" @@ -918,72 +918,118 @@ echo brown " Colorspace Conversion" brown " ~~~~~~~~~~~~~~~~~~~~~" - echo " 1 --> BT470M (NTSC) -> BT470BG (PAL)" - echo " 2 --> BT470M (NTSC) -> BT709 (HD/FHD)" - echo " 3 --> BT470M (NTSC) -> BT2020 (4K/UHD)" - echo " 4 --> BT470BG (PAL) -> BT470M (NTSC)" - echo " 5 --> BT470BG (PAL) -> BT709 (HD/FHD)" - echo " 6 --> BT470BG (PAL) -> BT2020 (4K/UHD)" - echo " 7 --> BT709 (HD/FHD) -> BT470M (NTSC)" - echo " 8 --> BT709 (HD/FHD) -> BT470BG (PAL)" - echo " 9 --> BT709 (HD/FHD) -> BT2020 (4K/UHD)" - echo " 10 -> BT2020 (4K/UHD) -> BT470M (NTSC)" - echo " 11 -> BT2020 (4K/UHD) -> BT470BG (PAL)" - echo " 12 -> BT2020 (4K/UHD) -> BT709 (HD/FHD)" + echo " 1 --> BT470M (NTSC) -> SMPTE170M (NTSC)" + echo " 2 --> BT470M (NTSC) -> BT470BG (PAL)" + echo " 3 --> BT470M (NTSC) -> BT709 (HD/FHD)" + echo " 4 --> BT470M (NTSC) -> BT2020 (4K/UHD)" + echo + echo " 5 --> SMPTE170M (NTSC) -> BT470M (NTSC)" + echo " 6 --> SMPTE170M (NTSC) -> BT470BG (PAL)" + echo " 7 --> SMPTE170M (NTSC) -> BT709 (HD/FHD)" + echo " 8 --> SMPTE170M (NTSC) -> BT2020 (4K/UHD)" + echo + echo " 9 --> BT470BG (PAL) -> BT470M (NTSC)" + echo " 10 -> BT470BG (PAL) -> SMPTE170M (NTSC)" + echo " 11 -> BT470BG (PAL) -> BT709 (HD/FHD)" + echo " 12 -> BT470BG (PAL) -> BT2020 (4K/UHD)" + echo + echo " 13 -> BT709 (HD/FHD) -> BT470M (NTSC)" + echo " 14 -> BT709 (HD/FHD) -> SMPTE170M (NTSC)" + echo " 15 -> BT709 (HD/FHD) -> BT470BG (PAL)" + echo " 16 -> BT709 (HD/FHD) -> BT2020 (4K/UHD)" + echo + echo " 17 -> BT2020 (4K/UHD) -> BT470M (NTSC)" + echo " 18 -> BT2020 (4K/UHD) -> SMPTE170M (NTSC)" + echo " 19 -> BT2020 (4K/UHD) -> BT470BG (PAL)" + echo " 20 -> BT2020 (4K/UHD) -> BT709 (HD/FHD)" echo printf "Specify the Colorspace Conversion option [press 'Enter' to skip]: " read csopt case "$csopt" in 1) + cspace="iall=bt470m:ispace=bt470m:itrc=bt470m:iprimaries=bt470m:irange=$irange:all=smpte170m:space=smpte170m:trc=smpte170m:primaries=smpte170m:range=$orange:dither=fsb" + colorprim=":colormatrix=smpte170m:colorprim=smpte170m:transfer=smpte170m" + ;; + 2) cspace="iall=bt470m:ispace=bt470m:itrc=bt470m:iprimaries=bt470m:irange=$irange:all=bt470bg:space=bt470bg:trc=bt470bg:primaries=bt470bg:range=$orange:dither=fsb" colorprim=":colormatrix=bt470bg:colorprim=bt470bg:transfer=bt470bg" ;; - 2) + 3) cspace="iall=bt470m:ispace=bt470m:itrc=bt470m:iprimaries=bt470m:irange=$irange:all=bt709:space=bt709:trc=bt709:primaries=bt709:range=$orange:dither=fsb" colorprim=":colormatrix=bt709:colorprim=bt709:transfer=bt709" ;; - 3) + 4) video_csmisc_func cspace="iall=bt470m:ispace=bt470m:itrc=bt470m:iprimaries=bt470m:irange=$irange:all=bt2020:space=bt2020ncl:trc=bt2020$bd:primaries=bt2020:range=$orange:dither=fsb" colorprim=":colormatrix=bt2020$cm:colorprim=bt2020:transfer=bt2020$bd" ;; - 4) + 5) + cspace="iall=smpte170m:ispace=smpte170m:itrc=smpte170m:iprimaries=smpte170m:irange=$irange:all=bt470m:space=bt470m:trc=bt470m:primaries=bt470m:range=$orange:dither=fsb" + colorprim=":colormatrix=bt470m:colorprim=bt470m:transfer=bt470m" + ;; + 6) + cspace="iall=smpte170m:ispace=smpte170m:itrc=smpte170m:iprimaries=smpte170m:irange=$irange:all=bt470bg:space=bt470bg:trc=bt470bg:primaries=bt470bg:range=$orange:dither=fsb" + colorprim=":colormatrix=bt470bg:colorprim=bt470bg:transfer=bt470bg" + ;; + 7) + cspace="iall=smpte170m:ispace=smpte170m:itrc=smpte170m:iprimaries=smpte170m:irange=$irange:all=bt709:space=bt709:trc=bt709:primaries=bt709:range=$orange:dither=fsb" + colorprim=":colormatrix=bt709:colorprim=bt709:transfer=bt709" + ;; + 8) + video_csmisc_func + cspace="iall=smpte170m:ispace=smpte170m:itrc=smpte170m:iprimaries=smpte170m:irange=$irange:all=bt2020:space=bt2020ncl:trc=bt2020$bd:primaries=bt2020:range=$orange:dither=fsb" + colorprim=":colormatrix=bt2020$cm:colorprim=bt2020:transfer=bt2020$bd" + ;; + 9) cspace="iall=bt470bg:ispace=bt470bg:itrc=bt470bg:iprimaries=bt470bg:irange=$irange:all=bt470m:space=bt470m:trc=bt470m:primaries=bt470m:range=$orange:dither=fsb" colorprim=":colormatrix=bt470m:colorprim=bt470m:transfer=bt470m" ;; - 5) + 10) + cspace="iall=bt470bg:ispace=bt470bg:itrc=bt470bg:iprimaries=bt470bg:irange=$irange:all=smpte170m:space=smpte170m:trc=smpte170m:primaries=smpte170m:range=$orange:dither=fsb" + colorprim=":colormatrix=smpte170m:colorprim=smpte170m:transfer=smpte170m" + ;; + 11) cspace="iall=bt470bg:ispace=bt470bg:itrc=bt470bg:iprimaries=bt470bg:irange=$irange:all=bt709:space=bt709:trc=bt709:primaries=bt709:range=$orange:dither=fsb" colorprim=":colormatrix=bt709:colorprim=bt709:transfer=bt709" ;; - 6) + 12) video_csmisc_func cspace="iall=bt470bg:ispace=bt470bg:itrc=bt470bg:iprimaries=bt470bg:irange=$irange:all=bt2020:space=bt2020ncl:trc=bt2020$bd:primaries=bt2020:range=$orange:dither=fsb" colorprim=":colormatrix=bt2020$cm:colorprim=bt2020:transfer=bt2020$bd" ;; - 7) + 13) cspace="iall=bt709:ispace=bt709:itrc=bt709:iprimaries=bt709:irange=$irange:all=bt470m:space=bt470m:trc=bt470m:primaries=bt470m:range=$orange:dither=fsb" colorprim=":colormatrix=bt470m:colorprim=bt470m:transfer=bt470m" ;; - 8) + 14) + cspace="iall=bt709:ispace=bt709:itrc=bt709:iprimaries=bt709:irange=$irange:all=smpte170m:space=smpte170m:trc=smpte170m:primaries=smpte170m:range=$orange:dither=fsb" + colorprim=":colormatrix=smpte170m:colorprim=smpte170m:transfer=smpte170m" + ;; + 15) cspace="iall=bt709:ispace=bt709:itrc=bt709:iprimaries=bt709:irange=$irange:all=bt470bg:space=bt470bg:trc=bt470bg:primaries=bt470bg:range=$orange:dither=fsb" colorprim=":colormatrix=bt470bg:colorprim=bt470bg:transfer=bt470bg" ;; - 9) + 16) video_csmisc_func cspace="iall=bt709:ispace=bt709:itrc=bt709:iprimaries=bt709:irange=$irange:all=bt2020:space=bt2020ncl:trc=bt2020$bd:primaries=bt2020:range=$orange:dither=fsb" colorprim=":colormatrix=bt2020$cm:colorprim=bt2020:transfer=bt2020$bd" ;; - 10) + 17) video_csmisc_func cspace="iall=bt2020:ispace=bt2020:itrc=bt2020$bd:iprimaries=bt2020:irange=$irange:all=bt470m:space=bt470m:trc=bt470m:primaries=bt470m:range=$orange:dither=fsb" colorprim=":colormatrix=bt470m:colorprim=bt470m:transfer=bt470m" ;; - 11) + 18) + video_csmisc_func + cspace="iall=bt2020:ispace=bt2020:itrc=bt2020$bd:iprimaries=bt2020:irange=$irange:all=smpte170m:space=smpte170m:trc=smpte170m:primaries=smpte170m:range=$orange:dither=fsb" + colorprim=":colormatrix=smpte170m:colorprim=smpte170m:transfer=smpte170m" + ;; + 19) video_csmisc_func cspace="iall=bt2020:ispace=bt2020:itrc=bt2020$bd:iprimaries=bt2020:irange=$irange:all=bt470bg:space=bt470bg:trc=bt470bg:primaries=bt470bg:range=$orange:dither=fsb" colorprim=":colormatrix=bt470bg:colorprim=bt470bg:transfer=bt470bg" ;; - 12) + 20) video_csmisc_func cspace="iall=bt2020:ispace=bt2020:itrc=bt2020$bd:iprimaries=bt2020:irange=$irange:all=bt709:space=bt709:trc=bt709:primaries=bt709:range=$orange:dither=fsb" colorprim=":colormatrix=bt709:colorprim=bt709:transfer=bt709" @@ -1154,7 +1200,8 @@ if [ "$fci" = "y" -o "$fci" = "Y" ]; then fullchroma="+full_chroma_int" fi - test -z "$interlaced" && scale="scale=$res:flags=$scaler$accuround$fullchroma," || scale="scale=$res:interl=1:flags=$scaler$accuround$fullchroma," + test ! -z "$interlaced" && interl=":interl=1" + scale="scale=$res$interl:flags=$scaler$accuround$fullchroma," fi fi @@ -1166,32 +1213,34 @@ brown " Color Primaries" brown " ~~~~~~~~~~~~~~~" echo " 0 -> BT470M (NTSC)" - echo " 1 -> BT470BG (PAL)" - echo " 2 -> BT709 (HD/Full HD)" - echo " 3 -> BT2020NC & BT2020-10 (4K/UHD)" - echo " 4 -> BT2020NC & BT2020-12 (4K/UHD)" - echo " 5 -> BT2020C & BT2020-10 (4K/UHD)" - echo " 6 -> BT2020C & BT2020-12 (4K/UHD)" - echo " 7 -> Undefined" + echo " 1 -> SMPTE170M (NTSC)" + echo " 2 -> BT470BG (PAL)" + echo " 3 -> BT709 (HD/Full HD)" + echo " 4 -> BT2020NC & BT2020-10 (4K/UHD)" + echo " 5 -> BT2020NC & BT2020-12 (4K/UHD)" + echo " 6 -> BT2020C & BT2020-10 (4K/UHD)" + echo " 7 -> BT2020C & BT2020-12 (4K/UHD)" + echo " 8 -> Undefined" echo - printf "Specify the Color Primaries [default is 7]: " + printf "Specify the Color Primaries [default is 8]: " read cpopt case "$cpopt" in 0) matrix="bt470m"; prim="bt470m"; transfer="bt470m" ;; - 1) matrix="bt470bg"; prim="bt470bg"; transfer="bt470bg" ;; - 2) matrix="bt709"; prim="bt709"; transfer="bt709" ;; - 3) matrix="bt2020nc"; prim="bt2020"; transfer="bt2020-10" ;; - 4) matrix="bt2020nc"; prim="bt2020"; transfer="bt2020-12" ;; - 5) matrix="bt2020c"; prim="bt2020"; transfer="bt2020-10" ;; - 6) matrix="bt2020c"; prim="bt2020"; transfer="bt2020-12" ;; - 7|"") matrix="undef"; prim="undef"; transfer="undef" ;; + 1) matrix="smpte170m"; prim="smpte170m"; transfer="smpte170m" ;; + 2) matrix="bt470bg"; prim="bt470bg"; transfer="bt470bg" ;; + 3) matrix="bt709"; prim="bt709"; transfer="bt709" ;; + 4) matrix="bt2020nc"; prim="bt2020"; transfer="bt2020-10" ;; + 5) matrix="bt2020nc"; prim="bt2020"; transfer="bt2020-12" ;; + 6) matrix="bt2020c"; prim="bt2020"; transfer="bt2020-10" ;; + 7) matrix="bt2020c"; prim="bt2020"; transfer="bt2020-12" ;; + 8|"") matrix="undef"; prim="undef"; transfer="undef" ;; *) error "-> Invalid option!" exit 1 ;; esac case "$cpopt" in - [3-6]) + [4-7]) printf "Use SMPTE-ST-2084 Transfer Characteristics? [y/N]: " read smpte if [ "$smpte" = "y" -o "$smpte" = "Y" ]; then
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.