We have a Lumix GH-4 camera, which can shoot in 4K with 4:2:2 color space. I'd like to be able to convert the footage to 1080p 4:4:4 color space. I've read that there some ways of doing this:

http://www.dvxuser.com/V6/showthread.php?330608-GH4-Downsample-4K-to-1080p-10-bit-4-4-4 https://forums.adobe.com/thread/1483696

But I can't find a definitive step by step way of doing this.
I have the following tools:

Adobe CS6 After Effects & Premiere.
Final Cut X or 7.
Davinci Resolve v10

  • Brilliant question. I'm going to guess that the answer is no, but I'd love to be proven wrong. – Jason Conrad Feb 5 '15 at 17:22
  • 2
    Just a note: 4:4:4 isn't higher depth but just higher resolution. Your dynamic range will be the same, but the colours won't be sub-sampled. – stib Feb 6 '15 at 5:46
  • Good point - updated the title – tomh Feb 6 '15 at 10:06
  • Doing this makes sense if you don't need 3840x2160 luma resolution, but you don't want to downscale the chroma as much. (i.e. downscale chroma from 1920x2160 to 1920x1080, instead of to 960x1080). This only increases the chroma resolution relative to luma. In absolute terms, you're still downscaling both luma and chroma. (If your source was 4k 4:2:0, downscaling to 1920x1080 4:4:4 would be able to leave the chroma plane unchanged.) – Peter Cordes Nov 7 '15 at 22:11

As I understand it, ffmpeg creates a raw image buffer with the input files it is given, then applies effects such as scaling and then encodes. So if you use ffmpeg to do the scaling and encoding to a 4:4:4 codec it should do what you want:

ffmpeg -i "my_gh4_422_4k.mov" -vf scale=1920:1080 -c:v prores -profile:v 4 -c:a copy "my_prores_444_1080.mov"

It would be interesting to test this, but I don't have any 4:2:2 4k footage on hand. I believe ffmpeg also does dnxhd 444, but I can't find any documentation on how to specify it.

  • Hmm, tried that, but got an error... "Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height" Think I installed ffmpeg correctly using Homebrew etc.. – tomh Feb 6 '15 at 12:12
  • hmm, you might have to specify a pixel format. Try adding -pix_fmt yuv444p10 before the output file path – stib Feb 6 '15 at 12:16
  • ok will try - also saw this error "[prores @ 0x7f9f520a8a00] unknown profile 4, use [0 - apco, 1 - apcs, 2 - apcn (default), 3 - apch] [prores @ 0x7f9f53000c00] ff_frame_thread_encoder_init failed" – tomh Feb 6 '15 at 12:17
  • maybe install ffmbc and see if you have any more luck with it (same command just with ffmbc instead of ffmpeg)… – stib Feb 6 '15 at 12:18
  • 2
    probably -acodec copy would make more sense, unless you WANT the audio stored as raw PCM. And yeah, that should get ffmpeg to downscale the luma plane horizontally and vertically, and downscale the chroma only in the direction it's not already subsampled. (i.e. not upsampling to 4:4:4 4k before downscaling.) You might want -sws_flags lanczos+print_info for higher quality downscaling than the default bilinear (and to enable printing a line in the output about swscale's chosen options). – Peter Cordes Apr 11 '15 at 12:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.