Projects
Multimedia
ffx264
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 36
View file
ffx264.changes
Changed
@@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Thu Jan 12 00:26:00 UTC 2017 - neutrino8@opensuse.org + +- Update to version 3.2.8 + * Added support for pixel format conversion + * Added support for colorspace conversion + +------------------------------------------------------------------- Mon Jan 09 12:45:00 UTC 2017 - neutrino8@opensuse.org - Update to version 3.2.7
View file
ffx264.spec
Changed
@@ -17,7 +17,7 @@ Name: ffx264 -Version: 3.2.7 +Version: 3.2.8 Release: 0 Summary: A small shell script for encoding to H.264 with ffmpeg License: GPL-2.0+
View file
ffx264-3.2.7.tar.gz/ChangeLog -> ffx264-3.2.8.tar.gz/ChangeLog
Changed
@@ -1,3 +1,7 @@ +2017-01-12 - ffx264 3.2.8 + * Added support for pixel format conversion + * Added support for colorspace conversion + 2017-01-09 - ffx264 3.2.7 * Fix a possible issue when detecting the FPS value that occurs with some files
View file
ffx264-3.2.7.tar.gz/ffx264 -> ffx264-3.2.8.tar.gz/ffx264
Changed
@@ -2,8 +2,8 @@ # # Small script to encode to H.264/AVC video using FFmpeg and libx264. # Author: Grozdan "microchip" Nikolov <neutrino8@opensuse.org> -# Version: 3.2.7 -# Date: 2017-01-09 +# Version: 3.2.8 +# Date: 2017-01-12 # # ffx264 is free software ; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,10 +24,10 @@ 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.7" +version="3.2.8" CFG="$HOME/.ffx264" -cfgversion="29" +cfgversion="30" genconfig_func() { cat<<EOF>>"$CFG" @@ -86,6 +86,8 @@ VID_ROTATE="y" VID_DEINTERLACE="y" VID_DETELECINE="y" +VID_PIXEL_FORMAT="y" +VID_COLORSPACE="y" # Audio filters AUD_NORMALIZE="y" @@ -853,6 +855,153 @@ fi } +video_pixfmt_func() { + printf "Do a Pixel Format Conversion? [y/N]: " + read pix + if [ "$pix" = "y" -o "$pix" = "Y" ]; then + echo + brown " Pixel Formats" + brown " ~~~~~~~~~~~~~" + echo " 0 -> yuv420p" + echo " 1 -> yuv420p10 (requires 10-bits encoder)" + echo " 2 -> yuv420p12 (requires 12-bits encoder)" + echo " 3 -> yuv422p" + echo " 4 -> yuv422p10 (requires 10-bits encoder)" + echo " 5 -> yuv422p12 (requires 12-bits encoder)" + echo " 6 -> yuv444p" + echo " 7 -> yuv444p10 (requires 10-bits encoder)" + echo " 8 -> yuv444p12 (requires 12-bits encoder)" + echo + printf "Specify the Pixel Format option [default is 0]: " + read pixopt + case "$pixopt" in + 0|"") pixfmt="yuv420p" ;; + 1) pixfmt="yuv420p10" ;; + 2) pixfmt="yuv420p12" ;; + 3) pixfmt="yuv422p" ;; + 4) pixfmt="yuv422p10" ;; + 5) pixfmt="yuv422p12" ;; + 6) pixfmt="yuv444p" ;; + 7) pixfmt="yuv444p10" ;; + 8) pixfmt="yuv444p12" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + pixformat="format=pix_fmts=$pixfmt," + fi +} + +video_colorspace_func() { + printf "Do a Colorspace/Transfer/Primaries Conversion? [y/N]: " + read ctp + if [ "$ctp" = "y" -o "$ctp" = "Y" ]; then + video_csmisc_func() { + printf "Use 10- or 12-bits BT2020 Transfer? [default is 10]: " + read bdepth + case "$bdepth" in + 10|"") bd="-10" ;; + 12) bd="-12" ;; + *) + error "-> Invalid value!" + exit 1 + ;; + esac + printf "Use Constant or Non-Constant Matrix? [c/n - default is n]: " + read mtype + case "$mtype" in + n|N|"") cm="nc" ;; + c|C) cm="c" ;; + *) + error "-> Invalid value!" + exit 1 + ;; + esac + } + echo + brown " Colorspace Conversion" + brown " ~~~~~~~~~~~~~~~~~~~~~" + echo " 1 --> SMPTE170M (NTSC) -> BT470BG (PAL)" + echo " 2 --> SMPTE170M (NTSC) -> BT709 (HD/FHD)" + echo " 3 --> SMPTE170M (NTSC) -> BT2020 (4K/UHD)" + echo " 4 --> BT470BG (PAL) -> SMPTE170M (NTSC)" + echo " 5 --> BT470BG (PAL) -> BT709 (HD/FHD)" + echo " 6 --> BT470BG (PAL) -> BT2020 (4K/UHD)" + echo " 7 --> BT709 (HD/FHD) -> SMPTE170M (NTSC)" + echo " 8 --> BT709 (HD/FHD) -> BT470BG (PAL)" + echo " 9 --> BT709 (HD/FHD) -> BT2020 (4K/UHD)" + echo " 10 -> BT2020 (4K/UHD) -> SMPTE170M (NTSC)" + echo " 11 -> BT2020 (4K/UHD) -> BT470BG (PAL)" + echo " 12 -> 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=smpte170m:ispace=smpte170m:itrc=smpte170m:iprimaries=smpte170m:irange=mpeg:all=bt470bg:space=bt470bg:trc=bt470bg:primaries=bt470bg:range=mpeg:dither=fsb" + colorprim=":colormatrix=bt470bg:colorprim=bt470bg:transfer=bt470bg" + ;; + 2) + cspace="iall=smpte170m:ispace=smpte170m:itrc=smpte170m:iprimaries=smpte170m:irange=mpeg:all=bt709:space=bt709:trc=bt709:primaries=bt709:range=mpeg:dither=fsb" + colorprim=":colormatrix=bt709:colorprim=bt709:transfer=bt709" + ;; + 3) + video_csmisc_func + cspace="iall=smpte170m:ispace=smpte170m:itrc=smpte170m:iprimaries=smpte170m:irange=mpeg:all=bt2020:space=bt2020ncl:trc=bt2020$bd:primaries=bt2020:range=mpeg:dither=fsb" + colorprim=":colormatrix=bt2020$cm:colorprim=bt2020:transfer=bt2020$bd" + ;; + 4) + cspace="iall=bt470bg:ispace=bt470bg:itrc=bt470bg:iprimaries=bt470bg:irange=mpeg:all=smpte170m:space=smpte170m:trc=smpte170m:primaries=smpte170m:range=mpeg:dither=fsb" + colorprim=":colormatrix=bt470bg:colorprim=bt470bg:transfer=bt470bg" + ;; + 5) + cspace="iall=bt470bg:ispace=bt470bg:itrc=bt470bg:iprimaries=bt470bg:irange=mpeg:all=bt709:space=bt709:trc=bt709:primaries=bt709:range=mpeg:dither=fsb" + colorprim=":colormatrix=bt709:colorprim=bt709:transfer=bt709" + ;; + 6) + video_csmisc_func + cspace="iall=bt470bg:ispace=bt470bg:itrc=bt470bg:iprimaries=bt470bg:irange=mpeg:all=bt2020:space=bt2020ncl:trc=bt2020$bd:primaries=bt2020:range=mpeg:dither=fsb" + colorprim=":colormatrix=bt2020$cm:colorprim=bt2020:transfer=bt2020$bd" + ;; + 7) + cspace="iall=bt709:ispace=bt709:itrc=bt709:iprimaries=bt709:irange=mpeg:all=smpte170m:space=smpte170m:trc=smpte170m:primaries=smpte170m:range=mpeg:dither=fsb" + colorprim=":colormatrix=smpte170m:colorprim=smpte170m:transfer=smpte170m" + ;; + 8) + cspace="iall=bt709:ispace=bt709:itrc=bt709:iprimaries=bt709:irange=mpeg:all=bt470bg:space=bt470bg:trc=bt470bg:primaries=bt470bg:range=mpeg:dither=fsb" + colorprim=":colormatrix=bt470bg:colorprim=bt470bg:transfer=bt470bg" + ;; + 9) + video_csmisc_func + cspace="iall=bt709:ispace=bt709:itrc=bt709:iprimaries=bt709:irange=mpeg:all=bt2020:space=bt2020ncl:trc=bt2020$bd:primaries=bt2020:range=mpeg:dither=fsb" + colorprim=":colormatrix=bt2020$cm:colorprim=bt2020:transfer=bt2020$bd" + ;; + 10) + video_csmisc_func + cspace="iall=bt2020:ispace=bt2020:itrc=bt2020$bd:iprimaries=bt2020:irange=mpeg:all=smpte170m:space=smpte170m:trc=smpte170m:primaries=smpte170m:range=mpeg:dither=fsb" + colorprim=":colormatrix=smpte170m:colorprim=smpte170m:transfer=smpte170m" + ;; + 11) + video_csmisc_func + cspace="iall=bt2020:ispace=bt2020:itrc=bt2020$bd:iprimaries=bt2020:irange=mpeg:all=bt470bg:space=bt470bg:trc=bt470bg:primaries=bt470bg:range=mpeg:dither=fsb" + colorprim=":colormatrix=bt470bg:colorprim=bt470bg:transfer=bt470bg" + ;; + 12) + video_csmisc_func + cspace="iall=bt2020:ispace=bt2020:itrc=bt2020$bd:iprimaries=bt2020:irange=mpeg:all=bt709:space=bt709:trc=bt709:primaries=bt709:range=mpeg:dither=fsb" + colorprim=":colormatrix=bt709:colorprim=bt709:transfer=bt709" + ;; + "") true ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + test ! -z "$cspace" && colorspace="colorspace=$cspace," + fi +} + printf "Use Post-Processing Video Filters? [y/N]: " read postproc if [ "$postproc" = "y" -o "$postproc" = "Y" ]; then @@ -860,6 +1009,8 @@ test "$VID_DEBLOCK" = "y" && video_deblock_func test "$VID_DEINTERLACE" = "y" && video_deinterlace_func test "$VID_DETELECINE" = "y" && video_detelecine_func + test "$VID_PIXEL_FORMAT" = "y" && video_pixfmt_func + test "$VID_COLORSPACE" = "y" && video_colorspace_func test "$VID_ROTATE" = "y" && video_rotate_func fi @@ -969,47 +1120,49 @@ fi fi
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
.