Commit 58c120a9 authored by Anton Khirnov's avatar Anton Khirnov

mpeg4videodec: move scalability from MpegEncContext to Mpeg4DecContext

parent 6e81597d
...@@ -75,6 +75,7 @@ typedef struct Mpeg4DecContext { ...@@ -75,6 +75,7 @@ typedef struct Mpeg4DecContext {
int new_pred; int new_pred;
int enhancement_type; int enhancement_type;
int scalability;
/* bug workarounds */ /* bug workarounds */
int divx_version; int divx_version;
......
...@@ -1953,9 +1953,9 @@ no_cplx_est: ...@@ -1953,9 +1953,9 @@ no_cplx_est:
ctx->new_pred = 0; ctx->new_pred = 0;
} }
s->scalability = get_bits1(gb); ctx->scalability = get_bits1(gb);
if (s->scalability) { if (ctx->scalability) {
GetBitContext bak = *gb; GetBitContext bak = *gb;
int h_sampling_factor_n; int h_sampling_factor_n;
int h_sampling_factor_m; int h_sampling_factor_m;
...@@ -1975,7 +1975,7 @@ no_cplx_est: ...@@ -1975,7 +1975,7 @@ no_cplx_est:
v_sampling_factor_n == 0 || v_sampling_factor_m == 0) { v_sampling_factor_n == 0 || v_sampling_factor_m == 0) {
/* illegal scalability header (VERY broken encoder), /* illegal scalability header (VERY broken encoder),
* trying to workaround */ * trying to workaround */
s->scalability = 0; ctx->scalability = 0;
*gb = bak; *gb = bak;
} else } else
av_log(s->avctx, AV_LOG_ERROR, "scalability not supported\n"); av_log(s->avctx, AV_LOG_ERROR, "scalability not supported\n");
...@@ -2249,7 +2249,7 @@ static int decode_vop_header(Mpeg4DecContext *ctx, GetBitContext *gb) ...@@ -2249,7 +2249,7 @@ static int decode_vop_header(Mpeg4DecContext *ctx, GetBitContext *gb)
ctx->cplx_estimation_trash_b); ctx->cplx_estimation_trash_b);
} }
if (!s->scalability) { if (!ctx->scalability) {
if (ctx->shape != RECT_SHAPE && s->pict_type != AV_PICTURE_TYPE_I) if (ctx->shape != RECT_SHAPE && s->pict_type != AV_PICTURE_TYPE_I)
skip_bits1(gb); // vop shape coding type skip_bits1(gb); // vop shape coding type
} else { } else {
......
...@@ -589,7 +589,6 @@ typedef struct MpegEncContext { ...@@ -589,7 +589,6 @@ typedef struct MpegEncContext {
int mcsel; int mcsel;
int quant_precision; int quant_precision;
int quarter_sample; ///< 1->qpel, 0->half pel ME/MC int quarter_sample; ///< 1->qpel, 0->half pel ME/MC
int scalability;
int aspect_ratio_info; //FIXME remove int aspect_ratio_info; //FIXME remove
int sprite_warping_accuracy; int sprite_warping_accuracy;
int data_partitioning; ///< data partitioning flag from header int data_partitioning; ///< data partitioning flag from header
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment