mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
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)) {
|
||||
v->s.avctx->color_primaries = get_bits(gb, 8);
|
||||
v->s.avctx->color_trc = get_bits(gb, 8);
|
||||
v->s.avctx->colorspace = get_bits(gb, 8);
|
||||
v->s.avctx->color_range = AVCOL_RANGE_MPEG;
|
||||
v->color_prim = get_bits(gb, 8);
|
||||
v->transfer_char = get_bits(gb, 8);
|
||||
v->matrix_coef = get_bits(gb, 8);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -203,6 +203,9 @@ typedef struct VC1Context{
|
||||
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 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
|
||||
///< Decoder parameters
|
||||
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;
|
||||
|
||||
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_height = (avctx->coded_height + 15) >> 4;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user