[FFmpeg-soc] [soc]: r852 - dirac/libavcodec/dirac.c
marco
subversion at mplayerhq.hu
Thu Aug 16 13:47:30 CEST 2007
Author: marco
Date: Thu Aug 16 13:47:29 2007
New Revision: 852
Log:
simplify chroma dimension calculations
Modified:
dirac/libavcodec/dirac.c
Modified: dirac/libavcodec/dirac.c
==============================================================================
--- dirac/libavcodec/dirac.c (original)
+++ dirac/libavcodec/dirac.c Thu Aug 16 13:47:29 2007
@@ -422,32 +422,11 @@ static void parse_sequence_parameters(Di
if (get_bits1(gb))
s->sequence.chroma_format = svq3_get_ue_golomb(gb);
- /* Override the chroma dimensions. */
- switch (s->sequence.chroma_format) {
- case 0:
- /* 4:4:4 */
- s->sequence.chroma_width = s->sequence.luma_width;
- s->sequence.chroma_height = s->sequence.luma_height;
- s->chroma_hratio = 1;
- s->chroma_vratio = 1;
- break;
-
- case 1:
- /* 4:2:2 */
- s->sequence.chroma_width = s->sequence.luma_width >> 1;
- s->sequence.chroma_height = s->sequence.luma_height;
- s->chroma_hratio = 1;
- s->chroma_vratio = 2;
- break;
-
- case 2:
- /* 4:2:0 */
- s->sequence.chroma_width = s->sequence.luma_width >> 1;
- s->sequence.chroma_height = s->sequence.luma_height >> 1;
- s->chroma_hratio = 2;
- s->chroma_vratio = 2;
- break;
- }
+ /* Calculate the chroma dimensions. */
+ s->chroma_hratio = 1 + (s->sequence.chroma_format > 1);
+ s->chroma_vratio = 1 + (s->sequence.chroma_format > 0);
+ s->sequence.chroma_width = s->sequence.luma_width / s->chroma_hratio;
+ s->sequence.chroma_height = s->sequence.luma_height / s->chroma_vratio;
/* Override the video depth. */
if (get_bits1(gb))
More information about the FFmpeg-soc
mailing list