|
|
| supermax |
| Posted: Sep 9 2014, 08:36 AM |
 |
|
Member
 
Group: Members
Posts: 15
Member No.: 38193
Joined: 1-August 14

|
| QUOTE (raffriff42 @ Aug 9 2013, 08:15 PM) | Per VirtualDub Help, Using External Encoders: Color space is 4:2:0 YCbCr using Rec. 601 limited-range, 8-bit per channel encoding Rec.601 color was a real issue for me, as I mostly work with Rec.709. I tried everything to get around this, but nothing worked very well.
Now I see it though (was this obvious to everyone but me?) - as long as you keep the video in YUV color space from end to end, the matrix doesn't matter - it will be passed through unchanged. This can be done by staying in fast recompress mode, or by using full processing mode and just being careful about using only YUV filters.
EDIT 2-Sep-13: Converting RGB to Rec.601 for external encoders. Try this! Seems to work; needs more testing- Source = RGB or YUV-709 upsampled to RGB (many VfW and DirectShow decoders do this)
- Full processing mode
- Filter 1: Convert Format 4:2:0 YV12 Rec.709
- Filter 2: Alias Format color=Rec.601, range=no change
- for x264.exe, use VUI flags --colorprim bt709 --transfer bt709 --colormatrix bt709
|
I have a video that is rec.709 full range (0-255) https://mega.co.nz/#!UZ8g0TID!RNHQZ...QWNDCyxPUO1py-Q
to open it in VirtualDub the video input is not full range. Should not be as full range? How do I get the video input to be identified and displayed as full range?

If I use the filter alias format, video output looks like full range. But was not there a conversion there?
In this case, in addition to its recommendations (--colorprim bt709 --transfer bt709 --colormatrix bt709) would need to use --input range and --range
already, thank you once again for your attention
Edit: I've tried changing all the options Color Depth, but the video is not full input range
This post has been edited by supermax on Sep 9 2014, 09:04 PM |
 |
| raffriff42 |
| Posted: Sep 10 2014, 09:10 PM |
 |
|

Advanced Member
  
Group: Members
Posts: 384
Member No.: 35081
Joined: 25-June 12

|
| QUOTE (supermax @ Sep 9 2014, 08:36 AM) | I have a video that is rec.709 full range (0-255) https://mega.co.nz/#!UZ8g0TID!RNHQZ...QWNDCyxPUO1py-Q
to open it in VirtualDub the video input is not full range. Should not be as full range? How do I get the video input to be identified and displayed as full range? ...
If I use the filter alias format, video output looks like full range. But was not there a conversion there? |
If I understand your question, your video is fine. Alias Format does not do any conversion; it simply tells VirtualDub how to display the video - whether to display the digital value "235" on screen as 235 (full range source, 235 in=235 out) or 255 (limited range source, 235 in=255 out)
| QUOTE (supermax @ Sep 9 2014, 08:36 AM) | | in addition to its recommendations (--colorprim bt709 --transfer bt709 --colormatrix bt709) would need to use --input range and --range | Without those flags, the output after compressing with either 264vfw or x264 external will be limited range - which is usually what you want. (try it!)
This post has been edited by raffriff42 on Sep 10 2014, 09:31 PM |
 |
| dloneranger |
| Posted: Sep 11 2014, 04:52 AM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
@supermax The reason the video isn't picked up as full range is because the file it isn't flagged as full range, so ffmpeg plugin reports it as limited range and gives that format back to virtualdub They are flagged as 709 though, so ffmpeg plugin knows that and handles it correctly
@raffriff42 Yes, the alias format filter just changes what virtualdub assumes the current format is without altering the video frames at all
-------------
I haven't seen any predictable way of guessing if a video is limited or full range from what information is available in a file when it doesn't have a full range flag unfortunately According to available info, if it's not flagged as full range it should be limited, but there seems a 50/50 chance it's either I guess we're lucky that more videos have started to flag the colourspace lately
More on this should be in a new thread, as it's an ffpeg plugin thing, not an external encoder thing (apart from correctly flagging your output file as tv or pc when you encode)
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| supermax |
| Posted: Sep 12 2014, 12:03 PM |
 |
|
Member
 
Group: Members
Posts: 15
Member No.: 38193
Joined: 1-August 14

|
| QUOTE (raffriff42 @ Aug 9 2013, 08:15 PM) | Now I see it though (was this obvious to everyone but me?) - as long as you keep the video in YUV color space from end to end, the matrix doesn't matter - it will be passed through unchanged. This can be done by staying in fast recompress mode, or by using full processing mode and just being careful about using only YUV filters.
|
Now understand this, really I do not touch anything, not even appearing exactly as the video is, at the time of the video encoder output will be as input. Even without any filter I use the end result was a video file with the range 255 (even appearing in only 235 virtualdub)
| QUOTE | Yes, the alias format filter just changes what virtualdub assumes the current format is without altering the video frames at all
|
I did not understand it very well because I did some tests by changing the settings of this filter (alias format) and resulted in videos with different results. So there was some conversion. |
 |
| dloneranger |
| Posted: Sep 12 2014, 01:05 PM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
| QUOTE | | I did not understand it very well because I did some tests by changing the settings of this filter (alias format) and resulted in videos with different results. So there was some conversion |
This is just a misunderstanding, what you're seeing on the monitor is an rgb conversion of the image as monitors don't do yuv - the image data itself hasn't changed, the only thing that's changed is what virtualdub thinks it is The image is converted on as needed eg for rgb display on the monitor, or whatever output format you have chosen when saving All the alias format filter does is tell virtualdub 'trust me here, this is really <whatever>' When virtualdub has to display the image on screen it does a <whatever>-to-rgb conversion, the alias format changes the <whatever> to your choice Then virtualdub will do eg a yuv-601-limited->rgb or yuv-709-full->rgb when displaying it The image data hasn't been altered, but it will be treated differently from then on if it needs to be
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| supermax |
| Posted: Sep 12 2014, 01:47 PM |
 |
|
Member
 
Group: Members
Posts: 15
Member No.: 38193
Joined: 1-August 14

|
| QUOTE (dloneranger @ Sep 12 2014, 01:05 PM) | | QUOTE | | I did not understand it very well because I did some tests by changing the settings of this filter (alias format) and resulted in videos with different results. So there was some conversion |
This is just a misunderstanding, what you're seeing on the monitor is an rgb conversion of the image as monitors don't do yuv - the image data itself hasn't changed, the only thing that's changed is what virtualdub thinks it is The image is converted on as needed eg for rgb display on the monitor, or whatever output format you have chosen when saving All the alias format filter does is tell virtualdub 'trust me here, this is really <whatever>' When virtualdub has to display the image on screen it does a <whatever>-to-rgb conversion, the alias format changes the <whatever> to your choice Then virtualdub will do eg a yuv-601-limited->rgb or yuv-709-full->rgb when displaying it The image data hasn't been altered, but it will be treated differently from then on if it needs to be | Now I understood. thank you |
 |
| raffriff42 |
| Posted: Sep 12 2014, 06:24 PM |
 |
|

Advanced Member
  
Group: Members
Posts: 384
Member No.: 35081
Joined: 25-June 12

|
I have found the best way to check true luma range on a video is with a simple Avisynth Script. It requires FFMS2 (because many DirectShow decoders automatically convert from YUV to RGB, so you have no idea what the levels actually are in the video itself) | CODE | FFVideoSource("myvideo.mp4") ## any video format (IsRGB) ? RGBAdjust(analyze=true): ColorYUV(analyze=true) |
You save the code in the box above with an .avs extension, then after installing Avisynth, you drag the file into VirtualDub. You will see an on-screen display of color statistics; for limited range, Loose Minimum should be near 16; Loose Maximum should be near 235.
If you analyze a lot of videos, I have a batch script that does the above by drag-and-drop or a Send To shortcut.
(dloneranger, is there any way to move this conversation to a new thread? As you have noted, it's going way off topic)
|
 |
| dloneranger |
| Posted: Sep 12 2014, 06:34 PM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
[mod edit] Moved to a new thread
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |