Just for learning fun, I have been playing with the colorbalance, colorlevels and colorchannelmixer filters as outlined here :- http://ffmpeg.org/ffmpeg-all.html#file
The default viewer, to see what has happened, is Mplayer. Using _THAT_ viewer , results in a very greyed output with no discernable detail, however VLC and FFPLAY will display the resultant file quite well. At first, I thought the fault may have been in the Zeranoe build. Well it isn't. Now if I do this .... :- ffmpeg -y -threads auto -i File1.mp4 -vcodec libx264 -vf scale=720:576 -acodec copy outfile.mp4 ...the outputfile has a pix format of yup420p (same as it's input file). For most (all ?) of the "standard" -vf parameters and for all of the mp4 input files I used as tests, the pix_format remains at yuv420p in the resulting output. However when using colorbalance/colorlevels/colorchannelmixer, the output files has undergone a pix_format change to yuv444p and it is this which disturbs MPLAYER. Irritating though the Mplayer malfunction(?) might be, it is the _format_ change I am focussing on (and yes, I see that H264 likes a 444 default). --- As an example ... This will effect a format in the output. (Mplayer unhappy) ffmpeg -y -threads auto -i File1.mp4 -vcodec libx264 \ -vf colorlevels=rimax=0.902:gimax=0.902:bimax=0.90 -acodec copy \ outfile.mp4 --- but this restores the format(as you would expect - Mplayer happy) ffmpeg -y -threads auto -i File1.mp4 -vcodec libx264 \ -vf colorlevels=rimax=0.902:gimax=0.902:bimax=0.90 -acodec copy \ -pix_fmt yuv420p file.mp4 I suppose my basic question is this. Should the output be undergoing this format alteration under any circumstances? Or, put another way, does libx264 ignore some recognition of the pix format some of the time? If so, why? Perhaps those color commands are forcing new 'acknowledgements' on the 264 filter by necessity? It seems odd that some parameters leave the file untouched and a little confusing when one has to remember extra behaviour patterns. Just trying to clear up my understanding. Just to show it really is happening:- ffmpeg -y -threads auto -i H:\File1.mp4 -acodec copy -vcodec libx264 -vf colorlevels=romin=0.5:gomin=0.5:bomin=0.5 e:\Outfile.mp4 ffmpeg version N-69375-g4155f2d Copyright (c) 2000-2015 the FFmpeg developers built on Jan 28 2015 22:14:02 with gcc 4.9.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 18.100 / 54. 18.100 libavcodec 56. 21.101 / 56. 21.101 libavformat 56. 19.100 / 56. 19.100 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 9.101 / 5. 9.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tk.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 creation_time : 2014-03-01 03:29:00 Duration: 00:03:49.62, start: 0.000000, bitrate: 1326 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1131 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 191 kb/s (default) Metadata: creation_time : 2014-03-01 03:29:01 handler_name : IsoMedia File Produced by Google, 5-11-2011 No pixel format specified, yuv444p for H.264 encoding chosen. Use -pix_fmt yuv420p for compatibility with outdated media players. [libx264 @ 0000000004d8e9c0] using SAR=1/1 [libx264 @ 0000000004d8e9c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX [libx264 @ 0000000004d8e9c0] profile High 4:4:4 Predictive, level 3.1, 4:4:4 8-bit [libx264 @ 0000000004d8e9c0] 264 - core 144 r2525 40bb568 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 b luray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'e:\output.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 encoder : Lavf56.19.100 Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv444p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default) Metadata: handler_name : VideoHandler encoder : Lavc56.21.101 libx264 Stream #0:1(und): Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, 191 kb/s (default) Metadata: creation_time : 2014-03-01 03:29:01 handler_name : IsoMedia File Produced by Google, 5-11-2011 Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 5740 fps= 52 q=-1.0 Lsize= 26187kB time=00:03:49.62 bitrate= 934.2kbits/s video:20628kB audio:5382kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.682319% [libx264 @ 0000000004d8e9c0] frame I:43 Avg QP:16.33 size: 21000 [libx264 @ 0000000004d8e9c0] frame P:2945 Avg QP:20.14 size: 5617 [libx264 @ 0000000004d8e9c0] frame B:2752 Avg QP:22.29 size: 1336 [libx264 @ 0000000004d8e9c0] consecutive B-frames: 31.9% 10.5% 5.9% 51.7% [libx264 @ 0000000004d8e9c0] mb I I16..4: 23.4% 70.2% 6.4% [libx264 @ 0000000004d8e9c0] mb P I16..4: 4.6% 8.3% 0.1% P16..4: 32.0% 4.5% 1.5% 0.0% 0.0% skip:48.9% [libx264 @ 0000000004d8e9c0] mb B I16..4: 0.2% 0.3% 0.0% B16..8: 24.5% 0.6% 0.0% direct: 0.1% skip:74.3% L0:47.6% L1:51.9% BI: 0.5 % [libx264 @ 0000000004d8e9c0] 8x8 transform intra:64.6% inter:97.9% [libx264 @ 0000000004d8e9c0] coded y,u,v intra: 19.5% 6.9% 5.8% inter: 3.4% 1.3% 1.1% [libx264 @ 0000000004d8e9c0] i16 v,h,dc,p: 41% 29% 12% 19% [libx264 @ 0000000004d8e9c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 18% 38% 2% 3% 3% 3% 3% 2% [libx264 @ 0000000004d8e9c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41% 18% 13% 3% 6% 6% 5% 4% 3% [libx264 @ 0000000004d8e9c0] Weighted P-Frames: Y:0.6% UV:0.2% [libx264 @ 0000000004d8e9c0] ref P L0: 72.3% 4.3% 16.8% 6.6% 0.0% [libx264 @ 0000000004d8e9c0] ref B L0: 86.5% 11.7% 1.8% [libx264 @ 0000000004d8e9c0] ref B L1: 96.5% 3.5% [libx264 @ 0000000004d8e9c0] kb/s:735.96 Thanks _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user