Answers.Body: <p>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:</p>
  
  <pre><code>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"
  </code></pre>
  
  <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-02-06T12:12:46.647Z
Answers.Text: 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..
Answers.UserDisplayName: tomh
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-02-06T12:16:51.373Z
Answers.Text: hmm, you might have to specify a pixel format. Try adding `-pix_fmt yuv444p10` before the output file path
Answers.UserDisplayName: stib
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-02-06T12:17:07.303Z
Answers.Text: 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"
Answers.UserDisplayName: tomh
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-02-06T12:18:26.027Z
Answers.Text: maybe install ffmbc and see if you have any more luck with it (same command just with ffmbc instead of ffmpeg)…
Answers.UserDisplayName: stib
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-02-06T12:18:26.243Z
Answers.Text: This gives an additional error "[NULL @ 0x7fb3c4055c00] Unable to find a suitable output format for 'yuv444p10'
  yuv444p10: Invalid argument"
Answers.UserDisplayName: tomh
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-02-06T12:19:57.510Z
Answers.Text: That error usually means you've missed the name of the option, and it's reading the parameters as if they were he output file. Check your typing. eg instead of -pix_fmt yuv444p10 you might have just typed yuv444p10
Answers.UserDisplayName: stib
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-02-06T14:27:51.560Z
Answers.Text: Let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/20896/discussion-between-tomh-and-stib).
Answers.UserDisplayName: tomh
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-02-06T14:30:03.817Z
Answers.Text: This seemed to work:
  ffmbc -i "inputfile.MOV" -vf scale=1920:1080 -vcodec prores -profile hq -pix_fmt yuv444p10 -acodec pcm_s24le  "my_prores_444_1080.mov"
Answers.UserDisplayName: tomh
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-04-11T12:02:40.400Z
Answers.Text: 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).
Answers.UserDisplayName: Peter Cordes
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-02-06T07:01:17.333Z
Answers.LastActivityDate: 2015-02-06T07:01:17.333Z
Answers.UserDisplayName: stib
Body: <p>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:</p>
  
  <p><a href="http://www.dvxuser.com/V6/showthread.php?330608-GH4-Downsample-4K-to-1080p-10-bit-4-4-4" rel="nofollow">http://www.dvxuser.com/V6/showthread.php?330608-GH4-Downsample-4K-to-1080p-10-bit-4-4-4</a>
  <a href="https://forums.adobe.com/thread/1483696" rel="nofollow">https://forums.adobe.com/thread/1483696</a></p>
  
  <p>But I can't find a definitive step by step way of doing this.<br>
  I have the following tools:  </p>
  
  <p>Adobe CS6 After Effects &amp; Premiere.<br>
  Final Cut X or 7.<br>
  Davinci Resolve v10</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-02-05T17:22:03.687Z
Comments.Text: Brilliant question.  I'm going to guess that the answer is no, but I'd love to be proven wrong.
Comments.UserDisplayName: Jason Conrad
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-02-06T05:46:10.480Z
Comments.Text: 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.
Comments.UserDisplayName: stib
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-02-06T10:06:10.580Z
Comments.Text: Good point - updated the title
Comments.UserDisplayName: tomh
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-11-07T22:11:36.903Z
Comments.Text: 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.)
Comments.UserDisplayName: Peter Cordes
Tags: <4k><color><colorspace><gh4>
Title: Downsampling 4K footage for an increase in chroma sub-sampling
UserDisplayName: tomh
ThreadText: # Downsampling 4K footage for an increase in chroma sub-sampling
  
  (Asked by: username_0 on 2015-02-04)
  
  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
  
  **Tags:** 4k, color, colorspace, gh4
  
  > **Comments:**
  > **username_1**: Brilliant question.  I'm going to guess that the answer is no, but I'd love to be proven wrong.  
  > **username_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.  
  > **username_0**: Good point - updated the title  
  > **username_3**: 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.)  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2015-02-06. Score: 1
  
  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.
  
  > **Comments:**
  > **username_0**: 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..  
  > **username_2**: hmm, you might have to specify a pixel format. Try adding `-pix_fmt yuv444p10` before the output file path  
  > **username_0**: 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"  
  > **username_2**: maybe install ffmbc and see if you have any more luck with it (same command just with ffmbc instead of ffmpeg)…  
  > **username_0**: This gives an additional error "[NULL @ 0x7fb3c4055c00] Unable to find a suitable output format for 'yuv444p10' yuv444p10: Invalid argument"  
  > **username_2**: That error usually means you've missed the name of the option, and it's reading the parameters as if they were he output file. Check your typing. eg instead of -pix_fmt yuv444p10 you might have just typed yuv444p10  
  > **username_0**: Let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/20896/discussion-between-username_0-and-username_2).  
  > **username_0**: This seemed to work: ffmbc -i "inputfile.MOV" -vf scale=1920:1080 -vcodec prores -profile hq -pix_fmt yuv444p10 -acodec pcm_s24le  "my_prores_444_1080.mov"  
  > **username_3**: 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).  
  
  ---
  
  