diff options
author | Peter Ross <pross@xvid.org> | 2011-03-12 13:31:26 +1100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-03-13 01:36:36 +0100 |
commit | 2f1084ca87e465dde74cf70a26a6bcd6076aac82 (patch) | |
tree | 68ddd2104a7a832c5213a56765c844ad3daacb81 | |
parent | fbe98aee201ea448fb561e14e523f68c80ac53f9 (diff) | |
download | ffmpeg-2f1084ca87e465dde74cf70a26a6bcd6076aac82.tar.gz |
jv demuxer: calculate palette_size for each frame in read_header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/jvdec.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libavformat/jvdec.c b/libavformat/jvdec.c index 90b689948f..98fa6e72b2 100644 --- a/libavformat/jvdec.c +++ b/libavformat/jvdec.c @@ -31,7 +31,7 @@ typedef struct { int audio_size; /** audio packet size (bytes) */ int video_size; /** video packet size (bytes) */ - int palette; /** frame contains palette change */ + int palette_size; /** palette size (bytes) */ int video_type; /** per-frame video compression type */ } JVFrame; @@ -113,7 +113,7 @@ static int read_header(AVFormatContext *s, jvf->audio_size = avio_rl32(pb); jvf->video_size = avio_rl32(pb); - jvf->palette = avio_r8(pb); + jvf->palette_size = avio_r8(pb) ? 768 : 0; if (avio_r8(pb)) av_log(s, AV_LOG_WARNING, "unsupported audio codec\n"); jvf->video_type = avio_r8(pb); @@ -152,8 +152,8 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt) } case JV_VIDEO: jv->state++; - if (jvf->video_size || jvf->palette) { - int size = jvf->video_size + (jvf->palette ? 768 : 0); + if (jvf->video_size || jvf->palette_size) { + int size = jvf->video_size + jvf->palette_size; if (av_new_packet(pkt, size + 5)) return AVERROR(ENOMEM); @@ -171,7 +171,7 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt) } case JV_PADDING: avio_skip(pb, FFMAX(e->size - jvf->audio_size - jvf->video_size - - (jvf->palette ? 768 : 0), 0)); + - jvf->palette_size, 0)); jv->state = JV_AUDIO; jv->pts++; } |