Creating Test Patterns - AVS Forum
Forum Jump: 
Reply
 
Thread Tools
post #1 of 44 Old 10-05-2007, 11:54 AM - Thread Starter
AVS Special Member
 
alluringreality's Avatar
 
Join Date: Jul 2006
Posts: 3,203
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 46 Post(s)
Liked: 39
I've seen that dr1394 has made a couple comments that he hasn't been doing much with the w6rz site recently. I would like to have a 75% gray, above white, and maybe a flashing color decoder pattern on an HD DVD disk. Can anyone give me any insight if it's possible to create the base image files with a computer graphics editor? Movie factory seems to accept either MPG or image files, so I figure getting correct images would be a good start.

From Ron's posts I've gathered that his files were created in YCbCr, not the typical RGB that most image editors use. On searches the only editor that I've noticed which is said to use that without getting into conversion of some sort is Krita on Linux. I found a comment that the latest stable version was said to use 601 and they were wanting to change things for 2.0 to make it adjustable where 709 would be a possability. I'm not sure if I really want to learn how to use Linux just to check out Krita alpha files where I have no idea if that change was implemented.

Would there be some other way to go about this? Would looking into something like sRGB be the way to go with the 709 color points? http://avisynth.org/ColorConversions and http://www5.informatik.tu-muenchen.d...csc/COL_32.htm or http://www.poynton.com/PDFs/coloureq.pdf are about the best leads I have, but generally I'm just confused on how it isn't easy to just create a few patterns to run through my HD DVD player.
alluringreality is offline  
Sponsored Links
Advertisement
 
post #2 of 44 Old 11-08-2007, 07:26 PM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,174
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 21 Post(s)
Liked: 21
Sorry for the extremely late reply, but I had to resurrect some code to make a meaningful response.

IMHO, the major issue with creating test patterns is verifying their accuracy. After all, they are to be used for calibration, so it's imperative that they are accurate (and traceable).

For all of the patterns on my website, I used a direct to YCbCr technique. Since I'm a software guy (well, I'm really a hardware guy, but I know how to write code), I just wrote C programs to create the patterns. For example, here's the code for REC709 colorbars:
Code:
/*
4:2:2 YCbCr (UYVY) REC709 color bars
*/

#include 
#include 

#define TRUE            1
#define FALSE           0

unsigned        char    buffer422[1920 * 1088 * 2];

int main(int argc, char **argv)
{
        FILE    *fpout;
        unsigned int    i, j, index = 0;
        unsigned char   y, cb, cr;

        if (argc != 2) {
                fprintf(stderr, "usage: bars709 \
");
                exit(-1);
        }

        /*--- open binary file (for parsing) ---*/
        fpout = fopen(argv[1], "wb");
        if (fpout == 0) {
                fprintf(stderr, "Cannot open output file <%s>\
", argv[1]);
                exit(-1);
        }

        for(j = 0; j < 720; j++)  {
                for(i = 0; i < 4; i++)  {
                        y = 16;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 180;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 168;
                        cr = 136;
                        cb = 44;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 145;
                        cr = 44;
                        cb = 147;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 133;
                        cr = 52;
                        cb = 63;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 63;
                        cr = 204;
                        cb = 193;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 51;
                        cr = 212;
                        cb = 109;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 28;
                        cr = 120;
                        cb = 212;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 4; i++)  {
                        y = 16;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
        }
        for(j = 0; j < 96; j++)  {
                for(i = 0; i < 4; i++)  {
                        y = 16;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 28;
                        cr = 120;
                        cb = 212;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 16;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 63;
                        cr = 204;
                        cb = 193;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 16;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 145;
                        cr = 44;
                        cb = 147;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 16;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 180;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 4; i++)  {
                        y = 16;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
        }
        for(j = 0; j < 264; j++)  {
                for(i = 0; i < 4; i++)  {
                        y = 16;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < (136 * 2); i++)  {
                        y = 16;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 7;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 16;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 136; i++)  {
                        y = 25;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < (136 * 2); i++)  {
                        y = 16;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
                for(i = 0; i < 4; i++)  {
                        y = 16;
                        cr = 128;
                        cb = 128;
                        buffer422[index++] = cb;
                        buffer422[index++] = y;
                        buffer422[index++] = cr;
                        buffer422[index++] = y;
                }
        }
        fwrite(&buffer422[0], 1, 1920 * 1080 * 2, fpout);
        fclose(fpout);
        return 0;
}
The program creates a YCbCr file (in UYVY 4:2:2 format) that can be fed directly to an uncompressed file server that I use with my hardware MPEG-2 HD encoder. The file is also compatible with AVIsynth, using the "RawSource" plugin.

Of course, most folks won't be willing to take this approach. Many don't even have a C compiler on their Windows machine. So an approach that works with an image editor is required.

When I helped out on the GetGray disc, I developed a program to convert .tga files created in Photoshop to YCbCr files. I've updated the code to do REC709 for HD images, and it can be downloaded here:

http://www.w6rz.net/rgbtouyvy.zip

The program expects video RGB (16 - 235) values so that below black and above white patterns can be created.

So the workflow is:

1) Create a 1920x1080 RGB image in Photoshop (or some other image editor)
2) Save to 24-bit Targa (.tga) format.
3) Convert to YCbCr with rgbtouyvy

rgbtouyvy 1920 1080 test.tga test.yuv

4) Create an AVIsynth script that uses the "RawSource" command to read the .yuv file
5) Encode a clip with your favorite AVIsynth compatible MPEG-2 encoder.
6) Author the HD-DVD

Ron

HD MPEG-2 Test Patterns http://www.w6rz.net
dr1394 is online now  
post #3 of 44 Old 11-09-2007, 05:42 PM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by dr1394 View Post

Sorry for the extremely late reply, but I had to resurrect some code to make a meaningful response.

IMHO, the major issue with creating test patterns is verifying their accuracy. After all, they are to be used for calibration, so it's imperative that they are accurate (and traceable).

For all of the patterns on my website, I used a direct to YCbCr technique. Since I'm a software guy (well, I'm really a hardware guy, but I know how to write code), I just wrote C programs to create the patterns. For example, here's the code for REC709 colorbars:
Code:
/*
4:2:2 YCbCr (UYVY) REC709 color bars
*/

#include 
#include 

#define TRUE            1
#define FALSE           0

unsigned        char    buffer422[1920 * 1088 * 2];

int main(int argc, char **argv)
{
        FILE    *fpout;
        unsigned int    i, j, index = 0;
        unsigned char   y, cb, cr;

        if (argc != 2) {
                fprintf(stderr, "usage: bars709 \
");
                exit(-1);
        }

        /*--- open binary file (for parsing) ---*/
        fpout = fopen(argv[1], "wb");
        if (fpout == 0) {
                fprintf(stderr, "Cannot open output file 

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
post #4 of 44 Old 11-09-2007, 08:04 PM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,174
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 21 Post(s)
Liked: 21
Quote:
Originally Posted by hwjohn View Post

Ron,
Can you please tell how you verified your patterns? I have generated a MPEG2 pattern (red primary window) using your outline above, but every program I use to display it on my computer monitor looks different and measures different. It seems as though the final output on my computer is altered by the program I'm using to display it. How did you verify that your patterns were correct when you were done?

One thing I'm doing differently is using a software MPEG2 encoder (HcEnc and QuEnc give similar results). Both of these free encoders require YV12 as the input, so I'm having to use ConvertToYV12 in my Avisynth script. Should this cause any problems? Isn't MPEG2 on DVD stored in YV12 anyway?

Lastly, have you tried converting a 1280x720 .tga with your program? 1920x1080 works like a champ, but when I use 1280x720 as command line arguments and attempt to playback the Avisynth script (using the resulting 720 .yuv file) in VirtualDub, VirtualDub gives an error stating that the file is too small for even one frame?

Thanks in advance for any help,
Casey

To verify the encoded patterns, I use the MPEG-2 reference decoder.

http://www.w6rz.net/reference_decoder.zip

mpeg2decode -b clip.mpv -f -r -o2 clip%d

This will decode the bitstream file to a sequence of .tga files with PC (0 - 255) levels using the REC709 matrix (unless the encoder had put a REC601 display extension in the bitstream). Or you can decode to YCbCr.

mpeg2decode -b clip.mpv -f -r -o1 clip%d

To view binary YCbCr files, I like to use XVI32

http://www.chmaas.handshake.de/delph...vi32/xvi32.htm

ConvertToYV12 is fine. It will not change any levels. It just does the 4:2:2 to 4:2:0 conversion.

rgbtouyvy works fine with 1280 x 720 images here. The resulting .yuv file is 1,843,200 bytes, which is 1280 x 720 x 2.

Ron

HD MPEG-2 Test Patterns http://www.w6rz.net
dr1394 is online now  
post #5 of 44 Old 11-09-2007, 10:40 PM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by dr1394 View Post

To verify the encoded patterns, I use the MPEG-2 reference decoder.

http://www.w6rz.net/reference_decoder.zip

mpeg2decode -b clip.mpv -f -r -o2 clip%d

This will decode the bitstream file to a sequence of .tga files with PC (0 - 255) levels using the REC709 matrix (unless the encoder had put a REC601 display extension in the bitstream). Or you can decode to YCbCr.

mpeg2decode -b clip.mpv -f -r -o1 clip%d

To view binary YCbCr files, I like to use XVI32

http://www.chmaas.handshake.de/delph...vi32/xvi32.htm

ConvertToYV12 is fine. It will not change any levels. It just does the 4:2:2 to 4:2:0 conversion.

rgbtouyvy works fine with 1280 x 720 images here. The resulting .yuv file is 1,843,200 bytes, which is 1280 x 720 x 2.

Ron


Ron,

I checked using the reference decoder and the pattern was decoded incorrectly. I think I found where the problem is. I am using a 100% red window. This was created in Photoshop with RGB values 235,16,16. I save that image in 24 bit .tga.

1) I create an Avisynth script using ImageSource to load the .tga file directly into VirtualDub. No other processing is used. The levels are correct when loaded into VirtualDub (235,16,16). This indicates Photoshop is saving it out correctly.

2) I run the .tga through rgbtouyvy. I then create another Avisynth script using only RawSource to load the newly created .yuv. I use VirtualDub to load the Avisynth script, the same as in 1. This time, the RGB comes out in VirtualDub as 255,0,0.

3) If I keep going and encode the .yuv to MPEG2, decode it using the reference decoder, and load the .tga file back into Photoshop, it shows 255,0,0. I thought Photoshop might be messing around with the RGB values, but it looks like it is working correctly.

It looks like rgbtouyvy is converting the video level to PC level. I'm sure that this is by design and I'm just using the program incorrectly. What am I doing wrong?

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
post #6 of 44 Old 11-09-2007, 10:59 PM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,174
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 21 Post(s)
Liked: 21
Quote:
Originally Posted by hwjohn View Post

Ron,

I checked using the reference decoder and the pattern was decoded incorrectly. I think I found where the problem is. I am using a 100% red window. This was created in Photoshop with RGB values 235,16,16. I save that image in 24 bit .tga.

1) I create an Avisynth script using ImageSource to load the .tga file directly into VirtualDub. No other processing is used. The levels are correct when loaded into VirtualDub (235,16,16). This indicates Photoshop is saving it out correctly.

2) I run the .tga through rgbtouyvy. I then create another Avisynth script using only RawSource to load the newly created .yuv. I use VirtualDub to load the Avisynth script, the same as in 1. This time, the RGB comes out in VirtualDub as 255,0,0.

3) If I keep going and encode the .yuv to MPEG2, decode it using the reference decoder, and load the .tga file back into Photoshop, it shows 255,0,0. I thought Photoshop might be messing around with the RGB values, but it looks like it is working correctly.

It looks like rgbtouyvy is converting the video level to PC level. I'm sure that this is by design and I'm just using the program incorrectly. What am I doing wrong?

The reference decoder uses PC levels in it's .tga files. So 255,0,0 is correct.

Ron

HD MPEG-2 Test Patterns http://www.w6rz.net
dr1394 is online now  
post #7 of 44 Old 11-09-2007, 11:18 PM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by dr1394 View Post

The reference decoder uses PC levels in it's .tga files. So 255,0,0 is correct.

Ron

Ok, that make sense and explains why VirtualDub is showing 255,0,0. I should have read your post more closely. Thanks a lot for the help.

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
post #8 of 44 Old 11-12-2007, 06:07 PM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,174
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 21 Post(s)
Liked: 21
I'm in the process of publishing the YCbCr source files for all (or at least most) of the patterns on my website. Here's the links to the first four.

http://www.w6rz.net/bars709.yuv

http://www.w6rz.net/irebars.yuv

http://www.w6rz.net/iresplitbars.yuv

http://www.w6rz.net/ramp.yuv

Ron

HD MPEG-2 Test Patterns http://www.w6rz.net
dr1394 is online now  
post #9 of 44 Old 11-12-2007, 06:55 PM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by dr1394 View Post

I'm in the process of publishing the YCbCr source files for all (or at least most) of the patterns on my website. Here's the links to the first four.

http://www.w6rz.net/bars709.yuv

http://www.w6rz.net/irebars.yuv

http://www.w6rz.net/iresplitbars.yuv

http://www.w6rz.net/ramp.yuv

Ron

Awesome. Did you get a message from alluringreality? We are working together on a new HD DVD disc and wanted to include a few of your patterns. Would that be ok? We are already going to credit you and link your site for allowing us to use rgbtouyvy, but we wanted to double check on the patterns. That is a great little program. It would have taken us forever to get that conversion right without it. I'm definetely interested in looking at the source for those patterns to learn some things.

If it is ok to use your patterns let us know. We have generated most of them ourselves, but there are some miscellanous patterns that we could use from w6rz.net that would really save us some time. Thanks!

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
post #10 of 44 Old 11-12-2007, 11:50 PM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,174
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 21 Post(s)
Liked: 21
Quote:
Originally Posted by hwjohn View Post

Awesome. Did you get a message from alluringreality? We are working together on a new HD DVD disc and wanted to include a few of your patterns. Would that be ok? We are already going to credit you and link your site for allowing us to use rgbtouyvy, but we wanted to double check on the patterns. That is a great little program. It would have taken us forever to get that conversion right without it. I'm definitely interested in looking at the source for those patterns to learn some things.

If it is ok to use your patterns let us know. We have generated most of them ourselves, but there are some miscellanous patterns that we could use from w6rz.net that would really save us some time. Thanks!

No problem using any of the patterns. Here's all the .yuv and source files:

http://www.w6rz.net/allpatternsyuv.zip

http://www.w6rz.net/allpatternssource.zip

There's a few patterns not included. The vertical resolution with 3:2 pulldown patterns were created on an uncompressed file server and don't have a file based version.

Ron

HD MPEG-2 Test Patterns http://www.w6rz.net
dr1394 is online now  
post #11 of 44 Old 11-13-2007, 04:52 AM
AVS Special Member
 
richlo's Avatar
 
Join Date: Aug 2004
Posts: 1,465
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
Liked: 11
what Im looking for - is a a 20-50-90 stimulus pattern..My Mits has parameters that are very non-linear so using 3 patterns is better so you can see how it effect at all levels.

Can someone create one of these??

Rich L

Go Chicago Bears

richlo is offline  
post #12 of 44 Old 11-13-2007, 08:07 AM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by richlo View Post

what Im looking for - is a a 20-50-90 stimulus pattern..My Mits has parameters that are very non-linear so using 3 patterns is better so you can see how it effect at all levels.

Can someone create one of these??


If you are talking about grayscale for gains/bias, the disc we are working on will have all of those but not in that order. It will have 25, 30, 75, 90 in order.

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
post #13 of 44 Old 11-13-2007, 08:08 AM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by dr1394 View Post

No problem using any of the patterns. Here's all the .yuv and source files:

http://www.w6rz.net/allpatternsyuv.zip

http://www.w6rz.net/allpatternssource.zip

There's a few patterns not included. The vertical resolution with 3:2 pulldown patterns were created on an uncompressed file server and don't have a file based version.

Ron

Thanks Ron!

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
post #14 of 44 Old 11-13-2007, 09:24 AM - Thread Starter
AVS Special Member
 
alluringreality's Avatar
 
Join Date: Jul 2006
Posts: 3,203
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 46 Post(s)
Liked: 39
Quote:
Originally Posted by hwjohn View Post

If you are talking about grayscale for gains/bias, the disc we are working on will have all of those but not in that order. It will have 25, 30, 75, 90 in order.

I do check 50 usually. I'll think about if I can get it to fit some way.
alluringreality is offline  
post #15 of 44 Old 11-13-2007, 12:28 PM
AVS Special Member
 
richlo's Avatar
 
Join Date: Aug 2004
Posts: 1,465
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
Liked: 11
Quote:
Originally Posted by alluringreality View Post

I do check 50 usually. I'll think about if I can get it to fit some way.

dropping 25 or 30 will make sense to me..Id prefer 25 over 30

Rich L

Go Chicago Bears

richlo is offline  
post #16 of 44 Old 11-13-2007, 09:07 PM - Thread Starter
AVS Special Member
 
alluringreality's Avatar
 
Join Date: Jul 2006
Posts: 3,203
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 46 Post(s)
Liked: 39
The patterns match with the w6rz video so I had a good idea of what each yuv was, but if anyone wants to view the images XnView changes the images to pc levels.
alluringreality is offline  
post #17 of 44 Old 11-14-2007, 06:20 AM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,174
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 21 Post(s)
Liked: 21
Do'h! I made a mistake with the bars709.yuv file. I uploaded an old version that I use with my hardware encoder that compensates for a bug with that encoder. YCbCr values above 128 have one added them.

The bars709.yuv files has been fixed in both the direct link and the .zip file.

Ron

HD MPEG-2 Test Patterns http://www.w6rz.net
dr1394 is online now  
post #18 of 44 Old 11-16-2007, 08:58 AM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by dr1394 View Post

Do'h! I made a mistake with the bars709.yuv file. I uploaded an old version that I use with my hardware encoder that compensates for a bug with that encoder. YCbCr values above 128 have one added them.

The bars709.yuv files has been fixed in both the direct link and the .zip file.

Ron

Ron,
We are making good progress on the new disc. Would you be willing to verify a few of our patterns? We want to get a third set of eyes on them before we beta test it. If you would be willing, I will PM you download information.
Thanks in advance,
Casey

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
post #19 of 44 Old 11-16-2007, 04:00 PM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,174
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 21 Post(s)
Liked: 21
Quote:
Originally Posted by hwjohn View Post

Ron,
We are making good progress on the new disc. Would you be willing to verify a few of our patterns? We want to get a third set of eyes on them before we beta test it. If you would be willing, I will PM you download information.
Thanks in advance,
Casey

Sure, no problemo. I finally have broadband internet at home now.

Ron

HD MPEG-2 Test Patterns http://www.w6rz.net
dr1394 is online now  
post #20 of 44 Old 11-17-2007, 02:51 PM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by dr1394 View Post

Sure, no problemo. I finally have broadband internet at home now.

Ron

PM sent. Let me know if you have any problems, and thanks again.

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
post #21 of 44 Old 11-18-2007, 09:25 PM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Ron,
This may be a little off topic, but I figure you will know the answer. One of the software encoders I have been using (QuEnc) has produced buffer underflows in several of the clips it has encoded. The encoder actually realizes that it is happening and produces a warning. The result is a flashing pattern that stutters.

What exactly is happening here? It is my understanding that SD and HD devices generally use two different buffer sizes (HD being larger), but what is the buffer for? Does it just store the decoded values from disc until they are ready for display? What would cause it to underflow, the bitrate being too low?

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
post #22 of 44 Old 11-18-2007, 10:11 PM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,174
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 21 Post(s)
Liked: 21
Quote:
Originally Posted by hwjohn View Post

Ron,
This may be a little off topic, but I figure you will know the answer. One of the software encoders I have been using (QuEnc) has produced buffer underflows in several of the clips it has encoded. The encoder actually realizes that it is happening and produces a warning. The result is a flashing pattern that stutters.

What exactly is happening here? It is my understanding that SD and HD devices generally use two different buffer sizes (HD being larger), but what is the buffer for? Does it just store the decoded values from disc until they are ready for display? What would cause it to underflow, the bitrate being too low?

It's called the VBV (Video Buffering Verifier). It's used to allow for frame by frame variability in the bitrate. In other words, you can have big I-frames that instantaneously exceed the peak bitrate.

For SD, the size of the VBV is usually 1835008 bits. For HD, the size is typically 9781248 bits, although for ATSC, it must be less than or equal to 7995392 bits.

The VBV is emptied at the peak bitrate which is signaled in the sequence header. In the test clips I downloaded from your ftp site, the VBV is set to 1835008 and the bitrate is set to 9.8 Mbps. It should be 9781248 bits and 29.4 Mbps for HD DVD or 40 Mbps for Blu-ray.

Ron

HD MPEG-2 Test Patterns http://www.w6rz.net
dr1394 is online now  
post #23 of 44 Old 11-18-2007, 10:26 PM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by dr1394 View Post

It's called the VBV (Video Buffering Verifier). It's used to allow for frame by frame variability in the bitrate. In other words, you can have big I-frames that instantaneously exceed the peak bitrate.

For SD, the size of the VBV is usually 1835008 bits. For HD, the size is typically 9781248 bits, although for ATSC, it must be less than or equal to 7995392 bits.

The VBV is emptied at the peak bitrate which is signaled in the sequence header. In the test clips I downloaded from your ftp site, the VBV is set to 1835008 and the bitrate is set to 9.8 Mbps. It should be 9781248 bits and 29.4 Mbps for HD DVD or 40 Mbps for Blu-ray.

Ron

Ok, that makes sense. I guess QuEnc is setting the VBV and bitrate based on SD since it is primarily intended for DVD compression. It must not change them based on the input resolution. Two questions:

1) Can we change the sequence header to the correct VBV and bitrate without re-encoding (using a hex editor maybe)?
EDIT: I tried hex editing one of the files, but I can't find any good information on how the bitstream is formatted. I know what flags the sequence header contains and the size of each flag, but I don't understand how the sequence headers are placed. Is there one sequence header at the beginning of the file? From what I have read, there seems to be a sequence header for every GOP. If that is the case, then I also don't understand what the start and end codes should be to define the start and end of a sequence header so that I can find them in the stream. Can you point me in the right direction on this? I apologize for being such a moron, but I have searched and searched and can't find any conclusive information.

2) Did you find anything else wrong?

Thanks again,
Casey

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
post #24 of 44 Old 11-19-2007, 08:59 PM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,174
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 21 Post(s)
Liked: 21
Quote:
Originally Posted by hwjohn View Post

Ok, that makes sense. I guess QuEnc is setting the VBV and bitrate based on SD since it is primarily intended for DVD compression. It must not change them based on the input resolution. Two questions:

1) Can we change the sequence header to the correct VBV and bitrate without re-encoding (using a hex editor maybe)?
EDIT: I tried hex editing one of the files, but I can't find any good information on how the bitstream is formatted. I know what flags the sequence header contains and the size of each flag, but I don't understand how the sequence headers are placed. Is there one sequence header at the beginning of the file? From what I have read, there seems to be a sequence header for every GOP. If that is the case, then I also don't understand what the start and end codes should be to define the start and end of a sequence header so that I can find them in the stream. Can you point me in the right direction on this? I apologize for being such a moron, but I have searched and searched and can't find any conclusive information.

2) Did you find anything else wrong?

Thanks again,
Casey

It looks like you got some good help over on doom9. I believe hank315 is directly involved with HCenc, so he's a great resource for you.

At this point, it seems like re-encoding your clips would be the best bet. However, if you want to try and patch a file, use the replace all function in the hex editor with these hex strings:

Find:
00 00 01 B3 78 04 38 34 17 ED 23 80

Replace with:
00 00 01 B3 78 04 38 34 47 C7 32 A8

Otherwise, the encodes look good. YCbCr levels are accurate.

Ron

HD MPEG-2 Test Patterns http://www.w6rz.net
dr1394 is online now  
post #25 of 44 Old 11-19-2007, 09:24 PM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by dr1394 View Post

It looks like you got some good help over on doom9. I believe hank315 is directly involved with HCenc, so he's a great resource for you.

At this point, it seems like re-encoding your clips would be the best bet. However, if you want to try and patch a file, use the replace all function in the hex editor with these hex strings:

Find:
00 00 01 B3 78 04 38 34 17 ED 23 80

Replace with:
00 00 01 B3 78 04 38 34 47 C7 32 A8

Otherwise, the encodes look good. YCbCr levels are accurate.

Ron


Thanks Ron, alluringreality and myself really appreciate your help. Hank has helped me tremendously. I was able to track down the flags, but you are correct, it is going to be much easier (and better in the long run) to re-encode the clips. The link to the specs helped my understanding a lot.

I'm not sure if you noticed in the doom9 posts or not, but do you know why Hank is using 24500 for the bitrate in HCenc? Is that for ATSC broadcast material or something?

EDIT: Bytes 8-11 of his sequence header are as follows: 17 ED 32 A9

Thanks again,
Casey

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
post #26 of 44 Old 11-19-2007, 09:56 PM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,174
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 21 Post(s)
Liked: 21
Quote:
Originally Posted by hwjohn View Post

Thanks Ron, alluringreality and myself really appreciate your help. Hank has helped me tremendously. I was able to track down the flags, but you are correct, it is going to be much easier (and better in the long run) to re-encode the clips. The link to the specs helped my understanding a lot.

I'm not sure if you noticed in the doom9 posts or not, but do you know why Hank is using 24500 for the bitrate in HCenc? Is that for ATSC broadcast material or something?

EDIT: Bytes 8-11 of his sequence header are as follows: 17 ED 32 A9

Thanks again,
Casey

The bitrate field in MPEG-2 is divided by 400. So 24500 is really 24500 * 400, or 9.8 Mbps.

The A9 byte versus the A8 byte is due to HCenc using a non-intra quantiser matrix.

Ron

HD MPEG-2 Test Patterns http://www.w6rz.net
dr1394 is online now  
post #27 of 44 Old 11-20-2007, 06:29 AM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by dr1394 View Post

The bitrate field in MPEG-2 is divided by 400. So 24500 is really 24500 * 400, or 9.8 Mbps.

The A9 byte versus the A8 byte is due to HCenc using a non-intra quantiser matrix.

Ron

Won't that cause the buffer to empty more often than it really needs to? For an encode of "real" material (not test patterns), it seems like it would be emptying all the time because the entire clip would most likely be over 9.8 Mbps. That's a problem isnt it?

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
post #28 of 44 Old 11-20-2007, 09:58 AM
Newbie
 
hank315's Avatar
 
Join Date: Oct 2007
Location: Netherlands
Posts: 3
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by hwjohn View Post

Won't that cause the buffer to empty more often than it really needs to? For an encode of "real" material (not test patterns), it seems like it would be emptying all the time because the entire clip would most likely be over 9.8 Mbps. That's a problem isnt it?

If the max. bitrate shows 9800 then the average of the whole clip will be lower, I don't see a problem here.
For a more extensive explanation how the VBV buffer works, please read the ITU H.262 document starting at annex C, clause C.3.2 which is applicable for HCenc.

About your sequence header, this is what I can make of it:
First part of the header:
78 04 38 34 17 ED 32 A9
splitted out in decimal:
1920 1080 3 4 24500 597 0 0 1

Resolution: 1920x1080
aspect ratio 9:16
frame rate 29.97
bitrate 24500*400 = 9.8 Mb/s
vbv buffer size 597*2048*8 = 9781248 bits
etc...

So the VBV buffer size fits the resolution, both MP@HL.
It just seems the encode was done with a max. bitrate of 9800?
hank315 is offline  
post #29 of 44 Old 11-21-2007, 05:33 AM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,174
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 21 Post(s)
Liked: 21
Quote:
Originally Posted by hwjohn View Post

Won't that cause the buffer to empty more often than it really needs to? For an encode of "real" material (not test patterns), it seems like it would be emptying all the time because the entire clip would most likely be over 9.8 Mbps. That's a problem isnt it?

Yes, it's too low. You always want to set the sequence header bitrate to something over the peak bitrate in the bitstream. For VBR, it really doesn't matter how much over. You'll often see HD bitstreams with sequence header bitrate values of 65 Mbps or 80 Mbps.

BTW, the VBV is modeled "upside down". Encoded bits empty the VBV and it's filled at the sequence header bitrate. An underflow is really too many bits from the encoder, while an overflow is not enough (for CBR only).

The tool I sent you will print the VBV levels.
Code:
C:\\xfer>intd BasicPatterns.mpv
Interactive MPEG Decoder intd 0.72A
@ v
Verbose output turned on.
@ e
 Found Sequence Start Code at byte position 0.
* --------  Sequence Start Code at 0        ---------
* Picture size: 1920x1080   Frame rate: 29.97   Bitrate: 9.80 Mb/s
* VBV size: 1792 Kb   Intra QM: default   Non Intra QM: default
* Progressive sequence.
* Main Profile, Main Level MPEG-2 bitstream.
* --------       GOP Start Code at 22       ---------
* Open GOP at 00:00:00.00  drop flag: 0
* Using VBR VBV model.
* --------          Intra frame at 30       ---------
* Temporal Reference:  0       VBV: 1835008 (+ 0) bits
* Intra DC:  8 bits            Quant scale: linear
* Scan: zig-zag                Intra VLC table: 0
* Top field first: 0           Repeat first field: 0
* Picture:  865880 bits        VBV after decoding: 969128 bits
* Average rate: 5.953 Mb/s
* Frame number: 2              Average mquant: 2.00
* Zero stuffing: 107 bits
* --------      Predicted frame at 108265   ---------
* Temporal Reference:  1       VBV: 1296122 (+ 0) bits
* Intra DC:  8 bits            Quant scale: linear
* Scan: zig-zag                Intra VLC table: 0
* Top field first: 0           Repeat first field: 0
* Picture:  117720 bits        VBV after decoding: 1178402 bits
* Average rate: 5.831 Mb/s
* Frame number: 3              Average mquant: 2.00
* Zero stuffing: 313 bits
* --------      Predicted frame at 122980   ---------
* Temporal Reference:  4       VBV: 1505395 (+ 0) bits
* Intra DC:  8 bits            Quant scale: linear
* Scan: zig-zag                Intra VLC table: 0
* Top field first: 0           Repeat first field: 0
* Picture:    8296 bits        VBV after decoding: 1497099 bits
* Average rate: 5.552 Mb/s
* Frame number: 4              Average mquant: 3.00
* Zero stuffing: 281 bits
* --------  Bidirectional frame at 124017   ---------
* Temporal Reference:  2       VBV: 1824093 (+ 0) bits
* Intra DC:  8 bits            Quant scale: linear
* Scan: zig-zag                Intra VLC table: 0
* Top field first: 0           Repeat first field: 0
* Picture:   69720 bits        VBV after decoding: 1754373 bits
* Average rate: 5.379 Mb/s
* Frame number: 5              Average mquant: 2.00
* Zero stuffing: 387 bits
* --------  Bidirectional frame at 132732   ---------
* Temporal Reference:  3       VBV: 1835008 (+ 246359) bits
* Intra DC:  8 bits            Quant scale: linear
* Scan: zig-zag                Intra VLC table: 0
* Top field first: 0           Repeat first field: 0
* Picture:   52288 bits        VBV after decoding: 1782720 bits
* Average rate: 5.188 Mb/s
* Frame number: 6              Average mquant: 3.00
* Zero stuffing: 142 bits
* --------      Predicted frame at 139268   ---------
* Temporal Reference:  7       VBV: 1835008 (+ 274706) bits
* Intra DC:  8 bits            Quant scale: linear
* Scan: zig-zag                Intra VLC table: 0
* Top field first: 0           Repeat first field: 0
* Picture:    7184 bits        VBV after decoding: 1827824 bits
* Average rate: 4.940 Mb/s
* Frame number: 7              Average mquant: 3.00
* Zero stuffing: 281 bits
* --------  Bidirectional frame at 140166   ---------
* Temporal Reference:  5       VBV: 1835008 (+ 319810) bits
* Intra DC:  8 bits            Quant scale: linear
* Scan: zig-zag                Intra VLC table: 0
* Top field first: 0           Repeat first field: 0
* Picture:   52272 bits        VBV after decoding: 1782736 bits
* Average rate: 4.771 Mb/s
* Frame number: 8              Average mquant: 4.00
* Zero stuffing: 145 bits
* --------  Bidirectional frame at 146700   ---------
* Temporal Reference:  6       VBV: 1835008 (+ 274722) bits
* Intra DC:  8 bits            Quant scale: linear
* Scan: zig-zag                Intra VLC table: 0
* Top field first: 0           Repeat first field: 0
The VBV starts out full at 1835008 bits. The first frame (an I-frame) is 865880 bits, and this brings the VBV to 1835008 - 865880 = 969128 bits. Then the VBV fills at the sequence header bitrate for one frame. 9.8 Mbps / 29.97 = 326994 bits. This brings the VBV to 969128 + 326994 = 1296122 bits. And so on and so forth. Note that 9.8 Mbps / 29.97 is really 326993.66 bits, and you do have to keep track of these fractional bits.

For VBR streams, we don't care if the VBV overflows. When it does, it's just set back to full.

Ron

HD MPEG-2 Test Patterns http://www.w6rz.net
dr1394 is online now  
post #30 of 44 Old 11-22-2007, 08:08 AM
AVS Special Member
 
hwjohn's Avatar
 
Join Date: Oct 2006
Location: Down by the river
Posts: 1,018
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
My apologies to hank315, I misunderstood how HCenc worked. I thought that it would switch between 9.8 Mbps and 29.4 Mbps based on input resolution. What it actually does is code whatever max bitrate you give it. For example, if I set 15 Mbps max bitrate and 6 Mbps avg. bitrate, then it codes 15 Mbps into the stream, so it is working correctly. The VBV also seems to be correct.

I encoded two clips using the same Avisynth script and as close to the same settings between HCenc and QuEnc as possible. The bad news is that the Toshiba XA2 we are testing on will not play any of the HCenc encoded files for some reason (just gives an error code and won't read the disc). On the other side, QuEnc produces buffer underflows when I mux using TMPGEnc. The resulting video stutters as the buffer drops.

Below is the output from Ron's program to analyze the sequence headers. It looks like QuEnc might be underflowing because the VBV is too small. It actually sets the bitrate the same way HCenc does. Both clips were encoded at a max bitrate of 15000, avg. of 6000.

QuEnc:
Code:
Interactive MPEG Decoder intd 0.72A
@ v
Verbose output turned on.
@ th
High level trace turned on
@ f1
 Found Sequence Start Code at byte position 0.
     435 Sequence_Header_Code
    1920 Horizontal_Size_Value
    1080 Vertical_Size_Value
       3 Aspect_Ratio_Information
       4 Frame_Rate_Code
   37500 Bit_Rate_Value
       1 Marker_Bit
     192 Vbv_Buffer_Size_Value
       0 Constrained_Parameters_Flag
       0 Load_Intra_Quantiser_Matrix
       0 Load_Non_Intra_Quantiser_Matrix
* --------  Sequence Start Code at 0        ---------
* Picture size: 1920x1080   Frame rate: 29.97   Bitrate: 15.00 Mb/s
* VBV size: 3072 Kb   Intra QM: default   Non Intra QM: default
     437 Extension_Start_Code
       1 Extension_Start_Code_Identifier
      72 Profile_And_Level_Indication
       1 Progressive_Sequence
       1 Chroma_Format
       0 Horizontal_Size_Extension
       0 Vertical_Size_Extension
       0 Bit_Rate_Extension
       1 Marker_Bit
       0 Vbv_Buffer_Size_Extension
       0 Low_Delay
       0 Frame_Rate_Extension_N
       0 Frame_Rate_Extension_D
* Progressive sequence.
* Main Profile, Main Level MPEG-2 bitstream.
     440 Group_Start_Code
    4096 Time_Code
       0 Closed_Gop
       0 Broken_Link
* --------       GOP Start Code at 22       ---------
* Open GOP at 00:00:00.00  drop flag: 0
     256 Picture_Start_Code
       0 Temporal_Reference
       1 Picture_Coding_Type
   65535 Vbv_Delay
       0 Extra_Bit_Picture
* Using VBR VBV model.
* --------          Intra frame at 30       ---------
* Temporal Reference:  0       VBV: 3145728 (+ 0) bits
     437 Extension_Start_Code
       8 Extension_Start_Code_Identifier
      15 Forward_Horizontal_F_Code
      15 Forward_Vertical_F_Code
      15 Backward_Horizontal_F_Code
      15 Backward_Vertical_F_Code
       0 Intra_Dc_Precision
       3 Picture_Structure
       0 Top_Field_First
       1 Frame_Pred_Frame_Dct
       0 Concealment_Motion_Vectors
       0 Q_Scale_Type
       0 Intra_Vlc_Format
       0 Alternate_Scan
       0 Repeat_First_Field
       1 Chroma_420_Type
       1 Progressive_Frame
       0 Composite_Display_Flag
* Intra DC:  8 bits            Quant scale: linear
* Scan: zig-zag                Intra VLC table: 0
* Top field first: 0           Repeat first field: 0
 Found Picture Start Code at byte position 49229.
HCenc:
Code:
Interactive MPEG Decoder intd 0.72A
@ v
Verbose output turned on.
@ th
High level trace turned on
@ f1
 Found Sequence Start Code at byte position 0.
     435 Sequence_Header_Code
    1920 Horizontal_Size_Value
    1080 Vertical_Size_Value
       3 Aspect_Ratio_Information
       4 Frame_Rate_Code
   37500 Bit_Rate_Value
       1 Marker_Bit
     597 Vbv_Buffer_Size_Value
       0 Constrained_Parameters_Flag
       0 Load_Intra_Quantiser_Matrix
       1 Load_Non_Intra_Quantiser_Matrix
      16 Non_Intra_Quantiser_Matrix
      17 Non_Intra_Quantiser_Matrix
      17 Non_Intra_Quantiser_Matrix
      18 Non_Intra_Quantiser_Matrix
      18 Non_Intra_Quantiser_Matrix
      18 Non_Intra_Quantiser_Matrix
      19 Non_Intra_Quantiser_Matrix
      19 Non_Intra_Quantiser_Matrix
      19 Non_Intra_Quantiser_Matrix
      19 Non_Intra_Quantiser_Matrix
      20 Non_Intra_Quantiser_Matrix
      20 Non_Intra_Quantiser_Matrix
      20 Non_Intra_Quantiser_Matrix
      20 Non_Intra_Quantiser_Matrix
      20 Non_Intra_Quantiser_Matrix
      21 Non_Intra_Quantiser_Matrix
      21 Non_Intra_Quantiser_Matrix
      21 Non_Intra_Quantiser_Matrix
      21 Non_Intra_Quantiser_Matrix
      21 Non_Intra_Quantiser_Matrix
      21 Non_Intra_Quantiser_Matrix
      22 Non_Intra_Quantiser_Matrix
      22 Non_Intra_Quantiser_Matrix
      22 Non_Intra_Quantiser_Matrix
      22 Non_Intra_Quantiser_Matrix
      22 Non_Intra_Quantiser_Matrix
      22 Non_Intra_Quantiser_Matrix
      22 Non_Intra_Quantiser_Matrix
      23 Non_Intra_Quantiser_Matrix
      23 Non_Intra_Quantiser_Matrix
      23 Non_Intra_Quantiser_Matrix
      23 Non_Intra_Quantiser_Matrix
      23 Non_Intra_Quantiser_Matrix
      23 Non_Intra_Quantiser_Matrix
      23 Non_Intra_Quantiser_Matrix
      23 Non_Intra_Quantiser_Matrix
      24 Non_Intra_Quantiser_Matrix
      24 Non_Intra_Quantiser_Matrix
      24 Non_Intra_Quantiser_Matrix
      25 Non_Intra_Quantiser_Matrix
      24 Non_Intra_Quantiser_Matrix
      24 Non_Intra_Quantiser_Matrix
      24 Non_Intra_Quantiser_Matrix
      25 Non_Intra_Quantiser_Matrix
      26 Non_Intra_Quantiser_Matrix
      26 Non_Intra_Quantiser_Matrix
      26 Non_Intra_Quantiser_Matrix
      26 Non_Intra_Quantiser_Matrix
      25 Non_Intra_Quantiser_Matrix
      27 Non_Intra_Quantiser_Matrix
      27 Non_Intra_Quantiser_Matrix
      27 Non_Intra_Quantiser_Matrix
      27 Non_Intra_Quantiser_Matrix
      27 Non_Intra_Quantiser_Matrix
      28 Non_Intra_Quantiser_Matrix
      28 Non_Intra_Quantiser_Matrix
      28 Non_Intra_Quantiser_Matrix
      28 Non_Intra_Quantiser_Matrix
      30 Non_Intra_Quantiser_Matrix
      30 Non_Intra_Quantiser_Matrix
      30 Non_Intra_Quantiser_Matrix
      31 Non_Intra_Quantiser_Matrix
      31 Non_Intra_Quantiser_Matrix
      33 Non_Intra_Quantiser_Matrix
* --------  Sequence Start Code at 0        ---------
* Picture size: 1920x1080   Frame rate: 29.97   Bitrate: 15.00 Mb/s
* VBV size: 9552 Kb   Intra QM: default   Non Intra QM: loaded
     437 Extension_Start_Code
       1 Extension_Start_Code_Identifier
      68 Profile_And_Level_Indication
       1 Progressive_Sequence
       1 Chroma_Format
       0 Horizontal_Size_Extension
       0 Vertical_Size_Extension
       0 Bit_Rate_Extension
       1 Marker_Bit
       0 Vbv_Buffer_Size_Extension
       0 Low_Delay
       0 Frame_Rate_Extension_N
       0 Frame_Rate_Extension_D
* Progressive sequence.
* Main Profile, High Level MPEG-2 bitstream.
     437 Extension_Start_Code
       2 Extension_Start_Code_Identifier
       2 Video_Format
       1 Colour_Description
       1 Colour_Primaries
       1 Transfer_Characteristics
       1 Matrix_Coefficients
    1920 Display_Horizontal_Size
       1 Marker_Bit
    1080 Display_Vertical_Size
     434 User_Data_Start_Code
* -------- User Data Start Code at 98       ---------
     124 User_Data
      72 User_Data
** Unknown type: 72 (error reporting turned off)
      67 User_Data
     101 User_Data
     110 User_Data
      99 User_Data
      32 User_Data
      48 User_Data
      46 User_Data
      50 User_Data
      50 User_Data
      46 User_Data
      48 User_Data
      46 User_Data
      48 User_Data
      32 User_Data
      45 User_Data
      32 User_Data
      40 User_Data
      99 User_Data
      41 User_Data
      32 User_Data
      50 User_Data
      48 User_Data
      48 User_Data
      52 User_Data
      47 User_Data
      50 User_Data
      48 User_Data
      48 User_Data
      55 User_Data
     124 User_Data
     440 Group_Start_Code
    4096 Time_Code
       1 Closed_Gop
       0 Broken_Link
* --------       GOP Start Code at 134      ---------
* Closed GOP at 00:00:00.00  drop flag: 0
     256 Picture_Start_Code
       0 Temporal_Reference
       1 Picture_Coding_Type
   65535 Vbv_Delay
       0 Extra_Bit_Picture
* Using VBR VBV model.
* --------          Intra frame at 142      ---------
* Temporal Reference:  0       VBV: 9781248 (+ 0) bits
     437 Extension_Start_Code
       8 Extension_Start_Code_Identifier
      15 Forward_Horizontal_F_Code
      15 Forward_Vertical_F_Code
      15 Backward_Horizontal_F_Code
      15 Backward_Vertical_F_Code
       0 Intra_Dc_Precision
       3 Picture_Structure
       0 Top_Field_First
       1 Frame_Pred_Frame_Dct
       0 Concealment_Motion_Vectors
       1 Q_Scale_Type
       0 Intra_Vlc_Format
       0 Alternate_Scan
       0 Repeat_First_Field
       1 Chroma_420_Type
       1 Progressive_Frame
       0 Composite_Display_Flag
* Intra DC:  8 bits            Quant scale: non-linear
* Scan: zig-zag                Intra VLC table: 0
* Top field first: 0           Repeat first field: 0
 Found Picture Start Code at byte position 50149.
@
I'm going to try using QuEnc by patching the VBV and seeing if it plays smoothly.

hank315, do you have any ideas why the HCenc encode would not play? It is being authored using Ulead Movie Factory to HD DVD, burned to DVD+R, and tested on XA2. We can get you an ISO or anything else you want if you would like to take a look. I would still like to use HCenc for the entire disc, but we can't figure out why it will not play. Thanks in advance for any help you could give, and I apologize again for giving bad information.

AVS HD 709 - Free calibration disks
The 2007 Patriots: 18 -1
Tom who?
"...the small of napalm in the evening breeze, as I crouch behind a shopping cart in the parking lot..." - The Mall Ninja
hwjohn is offline  
Reply Display Calibration

Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off