Answers.Body: <p>Most videos are limited range i.e. luma goes from 16 to 235, and chroma from 16 to 240. </p>
  
  <p>Unless expressly set, FFmpeg does not scale the range from one to another. Whatever the source is, that's the output.*</p>
  
  <p>However, many inputs don't tag this property in their metadata. So, the output doesn't get tagged either. In that scenario, players tend to assume conventional values. So, a 720p video will get treated as a limited-range BT.709 picture, irrespective of the actual encoding. And some players, especially web ones, don't seem to parse this metadata, and aren't provisioned to adapt to non-default values. So, they will always the treat the input as having conventional encoding.</p>
  
  <p>For safety's sake, HD videos should be encoded to BT.709 Limited range and SD to BT.601 Limited range.</p>
  
  <p>*unless the source only accepts a pixel format whose range is different.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-18T05:23:55.123Z
Answers.LastActivityDate: 2017-08-23T18:06:25.530Z
Answers.LastEditDate: 2017-08-23T18:06:25.530Z
Answers.UserDisplayName: Gyan
Body: <p>Colour range (Limited, Expanded) is something I've only thought of recently, and I'm worried I may have introduced colour banding into some of my videos.</p>
  
  <p>When doing a standard MP4 export from ffmpeg, melt, Handbrake, Openshot, SimpleScreenRecorder, whatever, what will the colour range likely be? I would assume the Full range of 0-255, but seeing as all DVDs and Blu-Rays are Limited, I'm not so sure.</p>
  
  <p>It would also be good to know what range YouTube uses. I'm finding it very difficult to find out much more than "TV = Limited, PC = Full".</p>
  
  <hr>
  
  <p>Video sources I tend to work with:</p>
  
  <ul>
  <li>Component capture (PS2)</li>
  <li>HDMI capture (Xbox 360, laptop)</li>
  <li>DVDs</li>
  <li>MiniDV AVIs</li>
  <li>YouTube videos</li>
  <li>Screen recordings</li>
  <li>Android phone</li>
  <li>Webcam</li>
  <li>Sometimes various cameras/camcorders from various price ranges</li>
  </ul>
  
  <p>All Standard Definition content is PAL - I hear NTSC is weaker in terms of colour reproduction but haven't seen any difference myself from eyeballing.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-18T01:41:31.243Z
Comments.Text: From what I understand, it's the codec you're writing to that matters, not the source.  I don't know how ffmpeg etc work, but Davinci Resolve, which I am familiar with, automatically decides whether to use full data range code value levels or video range based on the codec you're delivering to.  Patrick Inhofer gives a good explanation if you sign up for a free 7 day trial of mixing light.   Video here:  https://mixinglight.com/color-tutorial/data-levels-or-video-levels-how-to-choose-wisely/
Comments.UserDisplayName: Jason Conrad
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-18T03:51:08.800Z
Comments.Text: @JasonConrad I've never even heard the terms _Data Levels_ and _Video Levels_ before. I guess they're pretty much the same thing. And I'm not giving my billing info just to watch a video - I'll accept a direct link if you have one (as it gives the impression it's just an unlisted YouTube video).
Comments.UserDisplayName: spacer GIF
Tags: <encoding><mp4><webvideos><color><colorspace>
Title: What is the colour range of most videos?
UserDisplayName: spacer GIF
ThreadText: # What is the colour range of most videos?
  
  (Asked by: username_0 on 2017-08-18)
  
  Colour range (Limited, Expanded) is something I've only thought of recently, and I'm worried I may have introduced colour banding into some of my videos.
  
  When doing a standard MP4 export from ffmpeg, melt, Handbrake, Openshot, SimpleScreenRecorder, whatever, what will the colour range likely be? I would assume the Full range of 0-255, but seeing as all DVDs and Blu-Rays are Limited, I'm not so sure.
  
  It would also be good to know what range YouTube uses. I'm finding it very difficult to find out much more than "TV = Limited, PC = Full".
  
  ---
  
  Video sources I tend to work with:
  
  * Component capture (PS2)
  * HDMI capture (Xbox 360, laptop)
  * DVDs
  * MiniDV AVIs
  * YouTube videos
  * Screen recordings
  * Android phone
  * Webcam
  * Sometimes various cameras/camcorders from various price ranges
  
  All Standard Definition content is PAL - I hear NTSC is weaker in terms of colour reproduction but haven't seen any difference myself from eyeballing.
  
  **Tags:** encoding, mp4, webvideos, color, colorspace
  
  > **Comments:**
  > **username_1**: From what I understand, it's the codec you're writing to that matters, not the source.  I don't know how ffmpeg etc work, but Davinci Resolve, which I am familiar with, automatically decides whether to use full data range code value levels or video range based on the codec you're delivering to.  Patrick Inhofer gives a good explanation if you sign up for a free 7 day trial of mixing light.   Video here:  https://mixinglight.com/color-tutorial/data-levels-or-video-levels-how-to-choose-wisely/  
  > **username_0**: @username_1 I've never even heard the terms _Data Levels_ and _Video Levels_ before. I guess they're pretty much the same thing. And I'm not giving my billing info just to watch a video - I'll accept a direct link if you have one (as it gives the impression it's just an unlisted YouTube video).  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2017-08-18. Score: 5
  
  Most videos are limited range i.e. luma goes from 16 to 235, and chroma from 16 to 240.
  
  Unless expressly set, FFmpeg does not scale the range from one to another. Whatever the source is, that's the output.\*
  
  However, many inputs don't tag this property in their metadata. So, the output doesn't get tagged either. In that scenario, players tend to assume conventional values. So, a 720p video will get treated as a limited-range BT.709 picture, irrespective of the actual encoding. And some players, especially web ones, don't seem to parse this metadata, and aren't provisioned to adapt to non-default values. So, they will always the treat the input as having conventional encoding.
  
  For safety's sake, HD videos should be encoded to BT.709 Limited range and SD to BT.601 Limited range.
  
  \*unless the source only accepts a pixel format whose range is different.
  
  
  ---
  
  