|
|
@@ -1056,12 +1056,21 @@ static int decode_pic(AVSContext *h) { |
|
|
|
static int decode_seq_header(AVSContext *h) { |
|
|
|
MpegEncContext *s = &h->s; |
|
|
|
int frame_rate_code; |
|
|
|
int width, height; |
|
|
|
|
|
|
|
h->profile = get_bits(&s->gb,8); |
|
|
|
h->level = get_bits(&s->gb,8); |
|
|
|
skip_bits1(&s->gb); //progressive sequence |
|
|
|
s->width = get_bits(&s->gb,14); |
|
|
|
s->height = get_bits(&s->gb,14); |
|
|
|
|
|
|
|
width = get_bits(&s->gb, 14); |
|
|
|
height = get_bits(&s->gb, 14); |
|
|
|
if ((s->width || s->height) && (s->width != width || s->height != height)) { |
|
|
|
av_log_missing_feature(s, "Width/height changing in CAVS is", 0); |
|
|
|
return AVERROR_PATCHWELCOME; |
|
|
|
} |
|
|
|
s->width = width; |
|
|
|
s->height = height; |
|
|
|
|
|
|
|
skip_bits(&s->gb,2); //chroma format |
|
|
|
skip_bits(&s->gb,3); //sample_precision |
|
|
|
h->aspect_ratio = get_bits(&s->gb,4); |
|
|
|