Quote:
What is the advantage of 29.97 for deinterlacing/sync patterns? What is the advantage of 23.976 over 29.97 or 30?
30 is just such a nice, round number







C:\\xfer>xport -h Export20071209-006.mpg 1 1 1 xport Transport Stream Demuxer 1.00 program = 1, video channel = 1, audio channel = 1 Program Number = 0 (0x0000), Program Map PID = 31 (0x001f) Program Number = 1 (0x0001), Program Map PID = 256 (0x0100) program descriptor = 0x05, 0x04, 0x48, 0x44, 0x4d, 0x56 program descriptor = 0x88, 0x04, 0x0f, 0xff, 0xfc, 0xfc Video PID = 4113 <0x1011>, type = 0x1b ES descriptor for stream type 0x1b = 0x05, 0x08, 0x48, 0x44, 0x4d, 0x56, 0xff, 0x1b, 0x44, 0x3f Audio PID = 4352 <0x1100>, type = 0x81 ES descriptor for stream type 0x81 = 0x05, 0x04, 0x41, 0x43, 0x2d, 0x33 ES descriptor for stream type 0x81 = 0x81, 0x06, 0x04, 0x20, 0x05, 0x00, 0xff, 0x01 0 frames before first I-frame High Profile Level = 4.0 First Video PTS = 0x00004b03 Audio Bitrate = 128000, Audio Sampling Rate = 48000 Audio Mode = 2/0, bsid = 4, bsmod = 0 First Audio PTS = 0x00004b03, 0 ts rate = unspecified packets for pid 0 <0x0000> = 1366, first = 1, last = 36840 packets for pid 31 <0x001f> = 1366, first = 4, last = 36843 packets for pid 256 <0x0100> = 1366, first = 2, last = 36841 packets for pid 4097 <0x1001> = 1366, first = 3, last = 36842 packets for pid 4113 <0x1011> = 19868, first = 5, last = 36735 packets for pid 4352 <0x1100> = 11517, first = 131, last = 36849 packets for pid 8191 <0x1fff> = 15, first = 36850, last = 36864 coded pictures = 7364, video fields = 0 C:\\xfer>
C:\\xfer>xport -h 00009.m2ts 1 1 1 xport Transport Stream Demuxer 1.00 program = 1, video channel = 1, audio channel = 1 Program Number = 0 (0x0000), Program Map PID = 31 (0x001f) Program Number = 1 (0x0001), Program Map PID = 256 (0x0100) program descriptor = 0x05, 0x04, 0x48, 0x44, 0x4d, 0x56 program descriptor = 0x88, 0x04, 0x0f, 0xff, 0xff, 0xfc Video PID = 4113 <0x1011>, type = 0x1b ES descriptor for stream type 0x1b = 0x05, 0x08, 0x48, 0x44, 0x4d, 0x56, 0xff, 0x1b, 0x61, 0x3f Audio PID = 4352 <0x1100>, type = 0x80 ES descriptor for stream type 0x80 = 0x05, 0x08, 0x48, 0x44, 0x4d, 0x56, 0xff, 0x80, 0x61, 0xff ES descriptor for stream type 0x81 = 0x05, 0x04, 0x41, 0x43, 0x2d, 0x33 ES descriptor for stream type 0x81 = 0x81, 0x04, 0x06, 0x48, 0x0e, 0x00 ES descriptor for stream type 0x81 = 0x05, 0x04, 0x41, 0x43, 0x2d, 0x33 ES descriptor for stream type 0x81 = 0x81, 0x04, 0x06, 0x48, 0x0e, 0x00 ES descriptor for stream type 0x81 = 0x05, 0x04, 0x41, 0x43, 0x2d, 0x33 ES descriptor for stream type 0x81 = 0x81, 0x04, 0x06, 0x48, 0x0e, 0x00 ES descriptor for stream type 0x81 = 0x05, 0x04, 0x41, 0x43, 0x2d, 0x33 ES descriptor for stream type 0x81 = 0x81, 0x04, 0x06, 0x29, 0x04, 0x00 0 frames before first I-frame High Profile Level = 4.1 LPCM Audio Mode = 3/2+lfe LPCM Audio Bits/sample = 24 LPCM Audio Sample Rate = 48000 First Video PTS = 0x000ffff0 ts rate = unspecified packets for pid 0 <0x0000> = 21, first = 1, last = 50437 packets for pid 31 <0x001f> = 3, first = 3, last = 48197 packets for pid 256 <0x0100> = 21, first = 2, last = 50438 packets for pid 4097 <0x1001> = 22, first = 4, last = 50757 packets for pid 4113 <0x1011> = 36755, first = 5, last = 52083 packets for pid 4352 <0x1100> = 11720, first = 1542, last = 52084 packets for pid 4353 <0x1101> = 963, first = 1704, last = 51719 packets for pid 4354 <0x1102> = 963, first = 1724, last = 51721 packets for pid 4355 <0x1103> = 963, first = 1751, last = 51723 packets for pid 4356 <0x1104> = 403, first = 1825, last = 51649 packets for pid 4608 <0x1200> = 243, first = 6, last = 36726 packets for pid 4611 <0x1203> = 7, first = 80, last = 3124 coded pictures = 67, video fields = 0 C:\\xfer>







/*
Converts YUV to RGB floating point
*/
#include
#include
#define TRUE 1
#define FALSE 0
/* color space conversion coefficients
* for YCbCr -> RGB mapping
*
* entries are {crv,cbu,cgu,cgv}
*
* crv=(219/224)*(1-cr)/0.5
* cbu=(219/224)*(1-cb)/0.5
* cgu=(219/224)*(cb/cg)*(1-cb)/0.5
* cgv=(219/224)*(cr/cg)*(1-cr)/0.5
*
* where Y=cr*R+cg*G+cb*B (cr+cg+cb=1)
*/
/* ITU-R BT709-5 (2002) coefficients */
/* cg = 0.7152 */
/* cb = 0.0722 */
/* cr = 0.2126 */
int main(int argc, char **argv)
{
int y, cr, cb;
double r, g, b;
if (argc != 4) {
fprintf(stderr, "usage: yuvtorgbcalc \
");
exit(-1);
}
y = atoi(argv[1]);
cb = atoi(argv[2]);
cr = atoi(argv[3]);
r = (double)y + 1.5396482142857 * (double)(cr - 128);
g = (double)y - 0.4576750704098 * (double)(cr - 128) - 0.18314292755273 * (double)(cb - 128);
b = (double)y + 1.814180357142857 * (double)(cb - 128);
printf("R = %f, G = %f, B = %f\
", r, g, b);
return 0;
}







