Merge commit '1a02e78653a5c7674e6c43b6e6f2748dbd2091d7'
* commit '1a02e78653a5c7674e6c43b6e6f2748dbd2091d7': vc1: initialize color properties See: ddabecbbf5509325c6c695ccc60d67c0af2065f3 Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
f6777ce6fe
@ -496,10 +496,9 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (get_bits1(gb)) {
|
if (get_bits1(gb)) {
|
||||||
v->s.avctx->color_primaries = get_bits(gb, 8);
|
v->color_prim = get_bits(gb, 8);
|
||||||
v->s.avctx->color_trc = get_bits(gb, 8);
|
v->transfer_char = get_bits(gb, 8);
|
||||||
v->s.avctx->colorspace = get_bits(gb, 8);
|
v->matrix_coef = get_bits(gb, 8);
|
||||||
v->s.avctx->color_range = AVCOL_RANGE_MPEG;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -203,6 +203,9 @@ typedef struct VC1Context{
|
|||||||
int panscanflag; ///< NUMPANSCANWIN, TOPLEFT{X,Y}, BOTRIGHT{X,Y} present
|
int panscanflag; ///< NUMPANSCANWIN, TOPLEFT{X,Y}, BOTRIGHT{X,Y} present
|
||||||
int refdist_flag; ///< REFDIST syntax element present in II, IP, PI or PP field picture headers
|
int refdist_flag; ///< REFDIST syntax element present in II, IP, PI or PP field picture headers
|
||||||
int extended_dmv; ///< Additional extended dmv range at P/B frame-level
|
int extended_dmv; ///< Additional extended dmv range at P/B frame-level
|
||||||
|
int color_prim; ///< 8bits, chroma coordinates of the color primaries
|
||||||
|
int transfer_char; ///< 8bits, Opto-electronic transfer characteristics
|
||||||
|
int matrix_coef; ///< 8bits, Color primaries->YCbCr transform matrix
|
||||||
int hrd_param_flag; ///< Presence of Hypothetical Reference
|
int hrd_param_flag; ///< Presence of Hypothetical Reference
|
||||||
///< Decoder parameters
|
///< Decoder parameters
|
||||||
int psf; ///< Progressive Segmented Frame
|
int psf; ///< Progressive Segmented Frame
|
||||||
|
@ -527,6 +527,13 @@ static av_cold int vc1_decode_init(AVCodecContext *avctx)
|
|||||||
|
|
||||||
avctx->has_b_frames = !!avctx->max_b_frames;
|
avctx->has_b_frames = !!avctx->max_b_frames;
|
||||||
|
|
||||||
|
if (v->color_prim == 1 || v->color_prim == 5 || v->color_prim == 6)
|
||||||
|
avctx->color_primaries = v->color_prim;
|
||||||
|
if (v->transfer_char == 1 || v->transfer_char == 7)
|
||||||
|
avctx->color_trc = v->transfer_char;
|
||||||
|
if (v->matrix_coef == 1 || v->matrix_coef == 6 || v->matrix_coef == 7)
|
||||||
|
avctx->colorspace = v->matrix_coef;
|
||||||
|
|
||||||
s->mb_width = (avctx->coded_width + 15) >> 4;
|
s->mb_width = (avctx->coded_width + 15) >> 4;
|
||||||
s->mb_height = (avctx->coded_height + 15) >> 4;
|
s->mb_height = (avctx->coded_height + 15) >> 4;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user