| | 71 | |
| | 72 | == Examples ^(Build from: https://zeranoe.com/builds/win64/static/ffmpeg-20190416-e2f766e-win64-static.zip)^ == |
| | 73 | |
| | 74 | Caveat: For all these images to be properly displayed... some decent browser shall be a requisite. |
| | 75 | [[BR]] |
| | 76 | [[BR]] |
| | 77 | [[BR]] |
| | 78 | ==== The input source (rgb24): ==== |
| | 79 | |
| | 80 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/origin(rgb24).png, 720px)]] |
| | 81 | [[BR]] |
| | 82 | [[BR]] |
| | 83 | [[BR]] |
| | 84 | [[BR]] |
| | 85 | [[BR]] |
| | 86 | [[BR]] |
| | 87 | [[BR]] |
| | 88 | ==== `colormatrix` (yuv444p10le): ==== |
| | 89 | {{{ |
| | 90 | ffmpeg -i "origin(rgb24).png" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv444p10le -sws_flags spline+accurate_rnd+full_chroma_int -vf "colormatrix=bt470bg:bt709" -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 "colormatrix_yuv444p10le.avi" |
| | 91 | ffmpeg -i "colormatrix_yuv444p10le.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "colormatrix_yuv444p10le.png" |
| | 92 | }}} |
| | 93 | Output bit-identical as [#colormatrixyuv444p: `colormatrix` (yuv444p)]. |
| | 94 | [[BR]] |
| | 95 | [[BR]] |
| | 96 | ==== `colorspace` (yuv444p10le): ^(Note: SSIM > 99.98% with [#Theinputsourcergb24: The input source (rgb24)]. Should be 100% if the conversion algorithms are improved though...)^ ==== |
| | 97 | {{{ |
| | 98 | ffmpeg -i "origin(rgb24).png" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv444p10le -sws_flags spline+accurate_rnd+full_chroma_int -vf "colorspace=bt709:iall=bt601-6-625:fast=1" -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 "colorspace_yuv444p10le.avi" |
| | 99 | ffmpeg -i "colorspace_yuv444p10le.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "colorspace_yuv444p10le.png" |
| | 100 | }}} |
| | 101 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/colorspace_yuv444p10le.png, 720px)]] |
| | 102 | [[BR]] |
| | 103 | [[BR]] |
| | 104 | [[BR]] |
| | 105 | [[BR]] |
| | 106 | [[BR]] |
| | 107 | ==== Reference (yuv444p): ==== |
| | 108 | {{{ |
| | 109 | ffmpeg -i "origin(rgb24).png" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv444p -sws_flags spline+accurate_rnd+full_chroma_int -color_range 1 -colorspace 5 -color_primaries 5 -color_trc 6 "yuv444p.avi" |
| | 110 | ffmpeg -i "yuv444p.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "yuv444p.png" |
| | 111 | }}} |
| | 112 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/yuv444p.png, 720px)]] |
| | 113 | [[BR]] |
| | 114 | [[BR]] |
| | 115 | ==== `colormatrix` (yuv444p): ==== |
| | 116 | {{{ |
| | 117 | ffmpeg -i "origin(rgb24).png" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv444p -sws_flags spline+accurate_rnd+full_chroma_int -vf "colormatrix=bt470bg:bt709" -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 "colormatrix_yuv444p.avi" |
| | 118 | ffmpeg -i "colormatrix_yuv444p.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "colormatrix_yuv444p.png" |
| | 119 | }}} |
| | 120 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/colormatrix_yuv444p.png, 720px)]] |
| | 121 | [[BR]] |
| | 122 | [[BR]] |
| | 123 | ==== `colorspace` (yuv444p): ==== |
| | 124 | {{{ |
| | 125 | ffmpeg -i "origin(rgb24).png" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv444p -sws_flags spline+accurate_rnd+full_chroma_int -vf "colorspace=bt709:iall=bt601-6-625:fast=1" -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 "colorspace_yuv444p.avi" |
| | 126 | ffmpeg -i "colorspace_yuv444p.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "colorspace_yuv444p.png" |
| | 127 | }}} |
| | 128 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/colorspace_yuv444p.png, 720px)]] |
| | 129 | [[BR]] |
| | 130 | [[BR]] |
| | 131 | ==== `colorspace` (yuv444p10le -> yuv444p): ==== |
| | 132 | {{{ |
| | 133 | ffmpeg -i "colorspace_yuv444p10le.avi" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv444p -sws_flags spline+accurate_rnd+full_chroma_int -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 "colorspace_yuv444p10le-yuv444p.avi" |
| | 134 | ffmpeg -i "colorspace_yuv444p10le-yuv444p.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "colorspace_yuv444p10le-yuv444p.png" |
| | 135 | }}} |
| | 136 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/colorspace_yuv444p10le-yuv444p.png, 720px)]] |
| | 137 | [[BR]] |
| | 138 | [[BR]] |
| | 139 | [[BR]] |
| | 140 | [[BR]] |
| | 141 | [[BR]] |
| | 142 | [[BR]] |
| | 143 | [[BR]] |
| | 144 | ==== `colorspace` with `fast=0` `iall=bt601-6-625`: ==== |
| | 145 | {{{ |
| | 146 | ffmpeg -i "origin(rgb24).png" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv444p10le -sws_flags spline+accurate_rnd+full_chroma_int -vf "colorspace=bt709:iall=bt601-6-625" -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 "colorspace_fast=0_iall=bt601-6-625.avi" |
| | 147 | ffmpeg -i "colorspace_fast=0_iall=bt601-6-625.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "colorspace_fast=0_iall=bt601-6-625.png" |
| | 148 | }}} |
| | 149 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/colorspace_fast%3D0_iall%3Dbt601-6-625.png, 720px)]] |
| | 150 | [[BR]] |
| | 151 | [[BR]] |
| | 152 | ==== `colorspace` with `fast=0` `iall=bt601-6-525`: ==== |
| | 153 | {{{ |
| | 154 | ffmpeg -i "origin(rgb24).png" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv444p10le -sws_flags spline+accurate_rnd+full_chroma_int -vf "colorspace=bt709:iall=bt601-6-525" -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 "colorspace_fast=0_iall=bt601-6-525.avi" |
| | 155 | ffmpeg -i "colorspace_fast=0_iall=bt601-6-525.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "colorspace_fast=0_iall=bt601-6-525.png" |
| | 156 | }}} |
| | 157 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/colorspace_fast%3D0_iall%3Dbt601-6-525.png, 720px)]] |
| | 158 | [[BR]] |
| | 159 | [[BR]] |
| | 160 | ==== `colorspace` with `fast=1` `iall=bt601-6-525`: ==== |
| | 161 | {{{ |
| | 162 | ffmpeg -i "origin(rgb24).png" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv444p10le -sws_flags spline+accurate_rnd+full_chroma_int -vf "colorspace=bt709:iall=bt601-6-525:fast=1" -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 "colorspace_fast=1_iall=bt601-6-525.avi" |
| | 163 | ffmpeg -i "colorspace_fast=1_iall=bt601-6-525.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "colorspace_fast=1_iall=bt601-6-525.png" |
| | 164 | }}} |
| | 165 | Output bit-identical as [#colorspaceyuv444p10le:Note:SSIM99.98withTheinputsourcergb24.Shouldbe100iftheconversionalgorithmsareimprovedthough... `colorspace` (yuv444p10le)]. |
| | 166 | [[BR]] |
| | 167 | [[BR]] |
| | 168 | [[BR]] |
| | 169 | [[BR]] |
| | 170 | [[BR]] |
| | 171 | [[BR]] |
| | 172 | [[BR]] |
| | 173 | ==== Reference (yuv420p10le): ==== |
| | 174 | {{{ |
| | 175 | ffmpeg -i "origin(rgb24).png" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv420p10le -sws_flags spline+accurate_rnd+full_chroma_int -color_range 1 -colorspace 5 -color_primaries 5 -color_trc 6 "yuv420p10le.avi" |
| | 176 | ffmpeg -i "yuv420p10le.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "yuv420p10le.png" |
| | 177 | }}} |
| | 178 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/yuv420p10le.png, 720px)]] |
| | 179 | [[BR]] |
| | 180 | [[BR]] |
| | 181 | ==== `colorspace` (yuv420p10le): ==== |
| | 182 | {{{ |
| | 183 | ffmpeg -i "origin(rgb24).png" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv420p10le -sws_flags spline+accurate_rnd+full_chroma_int -vf "colorspace=bt709:iall=bt601-6-625:fast=1" -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 "colorspace_yuv420p10le.avi" |
| | 184 | ffmpeg -i "colorspace_yuv420p10le.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "colorspace_yuv420p10le.png" |
| | 185 | }}} |
| | 186 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/colorspace_yuv420p10le.png, 720px)]] |
| | 187 | [[BR]] |
| | 188 | [[BR]] |
| | 189 | [[BR]] |
| | 190 | [[BR]] |
| | 191 | [[BR]] |
| | 192 | ==== Reference (yuv420p): ==== |
| | 193 | {{{ |
| | 194 | ffmpeg -i "origin(rgb24).png" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv420p -sws_flags spline+accurate_rnd+full_chroma_int -color_range 1 -colorspace 5 -color_primaries 5 -color_trc 6 "yuv420p.avi" |
| | 195 | ffmpeg -i "yuv420p.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "yuv420p.png" |
| | 196 | }}} |
| | 197 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/yuv420p.png, 720px)]] |
| | 198 | [[BR]] |
| | 199 | [[BR]] |
| | 200 | ==== `colorspace` (yuv420p): ==== |
| | 201 | {{{ |
| | 202 | ffmpeg -i "origin(rgb24).png" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv420p -sws_flags spline+accurate_rnd+full_chroma_int -vf "colorspace=bt709:iall=bt601-6-625:fast=1" -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 "colorspace_yuv420p.avi" |
| | 203 | ffmpeg -i "colorspace_yuv420p.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "colorspace_yuv420p.png" |
| | 204 | }}} |
| | 205 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/colorspace_yuv420p.png, 720px)]] |
| | 206 | [[BR]] |
| | 207 | [[BR]] |
| | 208 | ==== `colorspace` (yuv420p10le -> yuv420p): ==== |
| | 209 | {{{ |
| | 210 | ffmpeg -i "colorspace_yuv420p10le.avi" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv420p -sws_flags spline+accurate_rnd+full_chroma_int -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 "colorspace_yuv420p10le-yuv420p.avi" |
| | 211 | ffmpeg -i "colorspace_yuv420p10le-yuv420p.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "colorspace_yuv420p10le-yuv420p.png" |
| | 212 | }}} |
| | 213 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/colorspace_yuv420p10le-yuv420p.png, 720px)]] |
| | 214 | [[BR]] |
| | 215 | [[BR]] |
| | 216 | ==== `colorspace` (yuv444p10le -> yuv420p): ==== |
| | 217 | {{{ |
| | 218 | ffmpeg -i "colorspace_yuv444p10le.avi" -c:v libx264 -preset placebo -qp 0 -x264-params "keyint=15:no-deblock=1" -pix_fmt yuv420p -sws_flags spline+accurate_rnd+full_chroma_int -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 "colorspace_yuv444p10le-yuv420p.avi" |
| | 219 | ffmpeg -i "colorspace_yuv444p10le-yuv420p.avi" -compression_level 10 -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int "colorspace_yuv444p10le-yuv420p.png" |
| | 220 | }}} |
| | 221 | [[Image(https://trac.ffmpeg.org/raw-attachment/wiki/colorspace/colorspace_yuv444p10le-yuv420p.png, 720px)]] |