[cvs] / xvidcore / src / bitstream / bitstream.c Repository:
ViewVC logotype

Diff of /xvidcore/src/bitstream/bitstream.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.39.2.19, Wed Nov 19 15:42:38 2003 UTC revision 1.39.2.21, Wed Dec 3 02:22:30 2003 UTC
# Line 662  Line 662 
662                                                  DPRINTF(XVID_DEBUG_HEADER, "load_intra_quant_mat\n");                                                  DPRINTF(XVID_DEBUG_HEADER, "load_intra_quant_mat\n");
663    
664                                                  bs_get_matrix(bs, matrix);                                                  bs_get_matrix(bs, matrix);
665                                                  set_intra_matrix(matrix);                                                  set_intra_matrix(dec->mpeg_quant_matrices, matrix);
666                                          } else                                          } else
667                                                  set_intra_matrix(get_default_intra_matrix());                                                  set_intra_matrix(dec->mpeg_quant_matrices, get_default_intra_matrix());
668    
669                                          if (BitstreamGetBit(bs))        /* load_inter_quant_mat */                                          if (BitstreamGetBit(bs))        /* load_inter_quant_mat */
670                                          {                                          {
# Line 673  Line 673 
673                                                  DPRINTF(XVID_DEBUG_HEADER, "load_inter_quant_mat\n");                                                  DPRINTF(XVID_DEBUG_HEADER, "load_inter_quant_mat\n");
674    
675                                                  bs_get_matrix(bs, matrix);                                                  bs_get_matrix(bs, matrix);
676                                                  set_inter_matrix(matrix);                                                  set_inter_matrix(dec->mpeg_quant_matrices, matrix);
677                                          } else                                          } else
678                                                  set_inter_matrix(get_default_inter_matrix());                                                  set_inter_matrix(dec->mpeg_quant_matrices, get_default_inter_matrix());
679    
680                                          if (dec->shape == VIDOBJLAY_SHAPE_GRAYSCALE) {                                          if (dec->shape == VIDOBJLAY_SHAPE_GRAYSCALE) {
681                                                  DPRINTF(XVID_DEBUG_ERROR, "greyscale matrix not supported\n");                                                  DPRINTF(XVID_DEBUG_ERROR, "greyscale matrix not supported\n");
# Line 1053  Line 1053 
1053    
1054  static void  static void
1055  bs_put_matrix(Bitstream * bs,  bs_put_matrix(Bitstream * bs,
1056                            const int16_t * matrix)                            const uint16_t * matrix)
1057  {  {
1058          int i, j;          int i, j;
1059          const int last = matrix[scan_tables[0][63]];          const int last = matrix[scan_tables[0][63]];
# Line 1106  Line 1106 
1106           * byte aligned, and that always 1-8 padding bits have been written           * byte aligned, and that always 1-8 padding bits have been written
1107           */           */
1108    
     if (pParam->profile) {  
1109              BitstreamPutBits(bs, VISOBJSEQ_START_CODE, 32);              BitstreamPutBits(bs, VISOBJSEQ_START_CODE, 32);
1110              BitstreamPutBits(bs, pParam->profile, 8);              BitstreamPutBits(bs, pParam->profile, 8);
     }  
1111    
1112          /* visual_object_start_code */          /* visual_object_start_code */
1113          BitstreamPad(bs);          BitstreamPad(bs);
# Line 1211  Line 1209 
1209          BitstreamPutBit(bs, pParam->vol_flags & XVID_VOL_MPEGQUANT);          BitstreamPutBit(bs, pParam->vol_flags & XVID_VOL_MPEGQUANT);
1210    
1211          if ((pParam->vol_flags & XVID_VOL_MPEGQUANT)) {          if ((pParam->vol_flags & XVID_VOL_MPEGQUANT)) {
1212                  BitstreamPutBit(bs, get_intra_matrix_status()); /* load_intra_quant_mat */                  BitstreamPutBit(bs, is_custom_intra_matrix(pParam->mpeg_quant_matrices));       /* load_intra_quant_mat */
1213                  if (get_intra_matrix_status()) {                  if(is_custom_intra_matrix(pParam->mpeg_quant_matrices))
1214                          bs_put_matrix(bs, get_intra_matrix());                          bs_put_matrix(bs, get_intra_matrix(pParam->mpeg_quant_matrices));
1215                  }  
1216                    BitstreamPutBit(bs, is_custom_inter_matrix(pParam->mpeg_quant_matrices));       /* load_inter_quant_mat */
1217                  BitstreamPutBit(bs, get_inter_matrix_status()); /* load_inter_quant_mat */                  if(is_custom_inter_matrix(pParam->mpeg_quant_matrices))
1218                  if (get_inter_matrix_status()) {                          bs_put_matrix(bs, get_inter_matrix(pParam->mpeg_quant_matrices));
                         bs_put_matrix(bs, get_inter_matrix());  
                 }  
   
1219          }          }
1220    
1221          if (vol_ver_id != 1) {          if (vol_ver_id != 1) {

Legend:
Removed from v.1.39.2.19  
changed lines
  Added in v.1.39.2.21

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4