|
|
@ -60,8 +60,16 @@ |
|
|
|
|
|
|
|
|
|
|
|
#define PACKET_SIZE 1024 |
|
|
|
#define PACKET_SIZE 1024 |
|
|
|
|
|
|
|
|
|
|
|
typedef enum {COMP_NONE, COMP_FIB, COMP_EXP} svx8_compression_type; |
|
|
|
typedef enum { |
|
|
|
typedef enum {BITMAP_RAW, BITMAP_BYTERUN1} bitmap_compression_type; |
|
|
|
COMP_NONE, |
|
|
|
|
|
|
|
COMP_FIB, |
|
|
|
|
|
|
|
COMP_EXP |
|
|
|
|
|
|
|
} svx8_compression_type; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum { |
|
|
|
|
|
|
|
BITMAP_RAW, |
|
|
|
|
|
|
|
BITMAP_BYTERUN1 |
|
|
|
|
|
|
|
} bitmap_compression_type; |
|
|
|
|
|
|
|
|
|
|
|
typedef struct { |
|
|
|
typedef struct { |
|
|
|
uint32_t body_size; |
|
|
|
uint32_t body_size; |
|
|
@ -176,27 +184,27 @@ static int iff_read_header(AVFormatContext *s, |
|
|
|
|
|
|
|
|
|
|
|
switch(st->codec->codec_type) { |
|
|
|
switch(st->codec->codec_type) { |
|
|
|
case AVMEDIA_TYPE_AUDIO: |
|
|
|
case AVMEDIA_TYPE_AUDIO: |
|
|
|
av_set_pts_info(st, 32, 1, st->codec->sample_rate); |
|
|
|
av_set_pts_info(st, 32, 1, st->codec->sample_rate); |
|
|
|
|
|
|
|
|
|
|
|
switch(compression) { |
|
|
|
switch(compression) { |
|
|
|
case COMP_NONE: |
|
|
|
case COMP_NONE: |
|
|
|
st->codec->codec_id = CODEC_ID_PCM_S8; |
|
|
|
st->codec->codec_id = CODEC_ID_PCM_S8; |
|
|
|
break; |
|
|
|
break; |
|
|
|
case COMP_FIB: |
|
|
|
case COMP_FIB: |
|
|
|
st->codec->codec_id = CODEC_ID_8SVX_FIB; |
|
|
|
st->codec->codec_id = CODEC_ID_8SVX_FIB; |
|
|
|
break; |
|
|
|
break; |
|
|
|
case COMP_EXP: |
|
|
|
case COMP_EXP: |
|
|
|
st->codec->codec_id = CODEC_ID_8SVX_EXP; |
|
|
|
st->codec->codec_id = CODEC_ID_8SVX_EXP; |
|
|
|
break; |
|
|
|
break; |
|
|
|
default: |
|
|
|
default: |
|
|
|
av_log(s, AV_LOG_ERROR, "iff: unknown compression method\n"); |
|
|
|
av_log(s, AV_LOG_ERROR, "iff: unknown compression method\n"); |
|
|
|
return -1; |
|
|
|
return -1; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
st->codec->bits_per_coded_sample = 8; |
|
|
|
st->codec->bits_per_coded_sample = 8; |
|
|
|
st->codec->bit_rate = st->codec->channels * st->codec->sample_rate * st->codec->bits_per_coded_sample; |
|
|
|
st->codec->bit_rate = st->codec->channels * st->codec->sample_rate * st->codec->bits_per_coded_sample; |
|
|
|
st->codec->block_align = st->codec->channels * st->codec->bits_per_coded_sample; |
|
|
|
st->codec->block_align = st->codec->channels * st->codec->bits_per_coded_sample; |
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
case AVMEDIA_TYPE_VIDEO: |
|
|
|
case AVMEDIA_TYPE_VIDEO: |
|
|
|
switch (compression) { |
|
|
|
switch (compression) { |
|
|
|