PDA

View Full Version : Decrypt blu-ray CLIPINF files


cxl7980
9th April 2007, 11:19
I want cut .m2ts files and re-author a movie only blu-ray dvd.
need edit zzzzz.clpi file. i found some structs below:
typedef struct
{
BYTE fileflag[8]; //HDMV0200
DWORD clipattroffset;
DWORD subtitleattroffset;
DWORD packetmapaddroffset;
DWORD filelength;
BYTE fillzero1[16];
DWORD constvalue1; //0x000000b0
DWORD constvalue2; //0x00000101
BYTE fillzero2[4];
DWORD constvalue3; //0x005b8d80
DWORD unknowvalue1;
BYTE fillzero3[127];
DWORD constvalue4; //0x00001e80
BYTE hdmv[4]; //"HDMV"
BYTE fillzero4[25];
} CLIP_HEADER;


typedef struct
{
DWORD constvalue1; //0x00000016
DWORD constvalue2; //0x00010000
DWORD constvalue3; //0x00000100
WORD constvalue4; //0x1001
DWORD fillzero;
DWORD begintime;
DWORD endtime;
} CLIP_ATTR;


typedef struct
{
DWORD thislength;
WORD constvalue1; //0x0001
DWORD fillzero1;
WORD constvalue2; //0x0100
BYTE numoftitles;
BYTE fillzero2;
//some CLIP_SUBTITLE_ATTR_PART2 struct ...
} CLIP_SUBTITLE_ATTR_PART1;

typedef struct
{
BYTE mainidx;
BYTE subidx;
BYTE constvalue; //0x15
BYTE attr;
DWORD unknowvalue1;
BYTE subtitlename[12];
DWORD fillzero;
} CLIP_SUBTITLE_ATTR_PART2;

typedef struct
{
DWORD thislength;
DWORD constvalue1; //0x00010001
DWORD constvalue2; //0x10110004
WORD unknowvalue1;
WORD unknowvalue2;
DWORD constvalue3; //0x0000000e
//mapping data ...
} CLIP_ADDR_MAP;

now!
how dose translate time dword(offset:0x0000ed,0x0000f2) to normal BCD value?
how does calculate packet address map? what's the detail struct?
is there somebody interest in it, discuss.