forked from bartvdbraak/blender
== REDCODE ==
Fixed 64bit issues. sizeof(unsigned long) = 8 on 64 bit machines, shame on me...
This commit is contained in:
parent
0039da6ed8
commit
270b724b8d
54
extern/libredcode/format.c
vendored
54
extern/libredcode/format.c
vendored
@ -4,38 +4,38 @@
|
||||
#include "format.h"
|
||||
|
||||
struct red_reob {
|
||||
unsigned long len;
|
||||
unsigned long head;
|
||||
unsigned int len;
|
||||
unsigned int head;
|
||||
|
||||
unsigned long rdvo;
|
||||
unsigned long rdvs;
|
||||
unsigned long rdao;
|
||||
unsigned long rdas;
|
||||
unsigned int rdvo;
|
||||
unsigned int rdvs;
|
||||
unsigned int rdao;
|
||||
unsigned int rdas;
|
||||
|
||||
unsigned long unknown1;
|
||||
unsigned long unknown2;
|
||||
unsigned long totlen;
|
||||
unsigned int unknown1;
|
||||
unsigned int unknown2;
|
||||
unsigned int totlen;
|
||||
|
||||
unsigned long avgv;
|
||||
unsigned long avgs;
|
||||
unsigned int avgv;
|
||||
unsigned int avgs;
|
||||
|
||||
unsigned long unknown3;
|
||||
unsigned long unknown4;
|
||||
unsigned long unknown5;
|
||||
unsigned int unknown3;
|
||||
unsigned int unknown4;
|
||||
unsigned int unknown5;
|
||||
};
|
||||
|
||||
struct redcode_handle {
|
||||
FILE * fp;
|
||||
struct red_reob * reob;
|
||||
unsigned long * rdvo;
|
||||
unsigned long * rdvs;
|
||||
unsigned long * rdao;
|
||||
unsigned long * rdas;
|
||||
unsigned int * rdvo;
|
||||
unsigned int * rdvs;
|
||||
unsigned int * rdao;
|
||||
unsigned int * rdas;
|
||||
long cfra;
|
||||
long length;
|
||||
};
|
||||
|
||||
unsigned long read_be32(unsigned long val)
|
||||
unsigned int read_be32(unsigned int val)
|
||||
{
|
||||
unsigned char * v = (unsigned char*) & val;
|
||||
|
||||
@ -44,7 +44,7 @@ unsigned long read_be32(unsigned long val)
|
||||
|
||||
static unsigned char* read_packet(FILE * fp, char * expect)
|
||||
{
|
||||
unsigned long len;
|
||||
unsigned int len;
|
||||
char head[5];
|
||||
unsigned char * rv;
|
||||
|
||||
@ -70,9 +70,9 @@ static unsigned char* read_packet(FILE * fp, char * expect)
|
||||
return rv;
|
||||
}
|
||||
|
||||
static unsigned long * read_index_packet(FILE * fp, char * expect)
|
||||
static unsigned int * read_index_packet(FILE * fp, char * expect)
|
||||
{
|
||||
unsigned long * rv = (unsigned long*) read_packet(fp, expect);
|
||||
unsigned int * rv = (unsigned int*) read_packet(fp, expect);
|
||||
int i;
|
||||
|
||||
if (!rv) {
|
||||
@ -92,14 +92,14 @@ static struct red_reob * read_reob(FILE * fp)
|
||||
return (struct red_reob *) read_index_packet(fp, "REOB");
|
||||
}
|
||||
|
||||
static unsigned long * read_index(FILE * fp, unsigned long i, char * expect)
|
||||
static unsigned int * read_index(FILE * fp, unsigned int i, char * expect)
|
||||
{
|
||||
fseek(fp, i, SEEK_SET);
|
||||
|
||||
return (unsigned long*) read_index_packet(fp, expect);
|
||||
return (unsigned int*) read_index_packet(fp, expect);
|
||||
}
|
||||
|
||||
static unsigned char * read_data(FILE * fp, unsigned long i, char * expect)
|
||||
static unsigned char * read_data(FILE * fp, unsigned int i, char * expect)
|
||||
{
|
||||
fseek(fp, i, SEEK_SET);
|
||||
|
||||
@ -190,7 +190,7 @@ struct redcode_frame * redcode_read_video_frame(
|
||||
rv = (struct redcode_frame*) calloc(1, sizeof(struct redcode_frame));
|
||||
|
||||
rv->offset = 12+8;
|
||||
rv->length = *(unsigned long*)data - rv->offset;
|
||||
rv->length = *(unsigned int*)data - rv->offset;
|
||||
rv->data = data;
|
||||
|
||||
return rv;
|
||||
@ -213,7 +213,7 @@ struct redcode_frame * redcode_read_audio_frame(
|
||||
rv = (struct redcode_frame*) calloc(1, sizeof(struct redcode_frame));
|
||||
|
||||
rv->offset = 24+8;
|
||||
rv->length = *(unsigned long*)data - rv->offset;
|
||||
rv->length = *(unsigned int*)data - rv->offset;
|
||||
rv->data = data;
|
||||
|
||||
return rv;
|
||||
|
4
extern/libredcode/format.h
vendored
4
extern/libredcode/format.h
vendored
@ -3,8 +3,8 @@
|
||||
|
||||
struct redcode_handle;
|
||||
struct redcode_frame {
|
||||
unsigned long length;
|
||||
unsigned long offset;
|
||||
unsigned int length;
|
||||
unsigned int offset;
|
||||
unsigned char * data;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user