encoding 4:2:2 in 10-bit with libx264 I believe that libx264 is now capable of doing 10-bit 4:2:2 encodings, but I can't seem to get it to work. I'm using ffmpeg (info below), and I've also tried the x264 encoder directly. I've tried 

ffmpeg.exe -i input.mov -c:v libx264 -profile:v high422 -crf 20 -pix_fmt yuv422p output.mp4


and that produces nice 4:2:2 output, but only at 8 bit depth,

[libx264 @ 00000000055a9de0] profile High 4:2:2, level 4.0, 4:2:2 8-bit


and I've tried

ffmpeg.exe -i input.mov -c:v libx264 -profile:v high10 -crf 20 -pix_fmt yuv422p output.mp4


and that gives me the error:

x264 [error]: high10 profile doesn't support 4:2:2
[libx264 @ 00000000051ead60] Error setting profile high10.
[libx264 @ 00000000051ead60] Possible profiles: baseline main high high10 high422 high444


In the x264 --fullhelp documentation I find:

  --profile &lt;string&gt;      Force the limits of an H.264 profile
                              Overrides all settings.
                              [...]
                              - high10:
                                No lossless.
                                Support for bit depth 8-10.
                              - high422:
                                No lossless.
                                Support for bit depth 8-10.
                                Support for 4:2:0/4:2:2 chroma subsampling.
                              - high444:
                                Support for bit depth 8-10.
                                Support for 4:2:0/4:2:2/4:4:4 chroma subsampling.


So it can do 4:2:2 at 10 bit depth, and even 4:4:4 at 10 bits apparently, but there's no indication of how to set the output bit depth. There is an option --input-depth &lt;integer&gt; Specify input bit depth for raw input but nothing for output bit depth.
x264 supports both 8-bit and 10-bit outputs, and you don't have to do anything special.

ffmpeg

If using ffmpeg you can see what pixel formats and bit depths are supported by libx264:

$ ffmpeg -h encoder=libx264
  [...]
  Supported pixel formats: yuv420p yuvj420p yuv422p yuvj422p yuv444p yuvj444p nv12 nv16 nv21 yuv420p10le yuv422p10le yuv444p10le nv20le


10-bit pixel formats are: yuv420p10le, yuv422p10le, yuv444p10le.

x264

You can also check x264 for supported bit depths:

$ x264 --help
  [...]
  Output bit depth: 8/10


Previously you had to compile x264 with --bit-depth=10, and then link your ffmpeg to either an 8-bit or 10-bit libx264, but that is now unnecessary. See Unify 8-bit and 10-bit CLI and libraries for more info.