History

avcodec/mpegvideo_{dec,enc}: Reindent after the previous commit

Andreas Rheinhardt committed 2 years ago

Commit 8f2af8f1 parent b05ec7f2 files · +193 −195Browse files

Showing the changes to libavcodec (2 of 2 files). Show all

Unified · Split

2 files
  1. libavcodec/mpegvideo_dec.c +158 −160
  2. libavcodec/mpegvideo_enc.c +35 −35
libavcodec/mpegvideo_dec.c+158−160
@@ -940,167 +940,165 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], · 939 unmodified lines
940 int lowres_flag, int is_mpeg12)940 int lowres_flag, int is_mpeg12)
941{941{
942#define IS_MPEG12_H261(s) (is_mpeg12 == MAY_BE_MPEG12_H261 ? ((s)->out_format <= FMT_H261) : is_mpeg12)942#define IS_MPEG12_H261(s) (is_mpeg12 == MAY_BE_MPEG12_H261 ? ((s)->out_format <= FMT_H261) : is_mpeg12)
943 {943 uint8_t *dest_y = s->dest[0], *dest_cb = s->dest[1], *dest_cr = s->dest[2];
944 uint8_t *dest_y = s->dest[0], *dest_cb = s->dest[1], *dest_cr = s->dest[2];944 int dct_linesize, dct_offset;
945 int dct_linesize, dct_offset;945 const int linesize = s->cur_pic.linesize[0]; //not s->linesize as this would be wrong for field pics
946 const int linesize = s->cur_pic.linesize[0]; //not s->linesize as this would be wrong for field pics946 const int uvlinesize = s->cur_pic.linesize[1];
947 const int uvlinesize = s->cur_pic.linesize[1];947 const int block_size = lowres_flag ? 8 >> s->avctx->lowres : 8;
948 const int block_size = lowres_flag ? 8 >> s->avctx->lowres : 8;948
949 949 dct_linesize = linesize << s->interlaced_dct;
950 dct_linesize = linesize << s->interlaced_dct;950 dct_offset = s->interlaced_dct ? linesize : linesize * block_size;
951 dct_offset = s->interlaced_dct ? linesize : linesize * block_size;951
952 952 if (!s->mb_intra) {
953 if (!s->mb_intra) {953 /* motion handling */
954 /* motion handling */954 if (HAVE_THREADS && is_mpeg12 != DEFINITELY_MPEG12_H261 &&
955 if (HAVE_THREADS && is_mpeg12 != DEFINITELY_MPEG12_H261 &&955 s->avctx->active_thread_type & FF_THREAD_FRAME) {
956 s->avctx->active_thread_type & FF_THREAD_FRAME) {956 if (s->mv_dir & MV_DIR_FORWARD) {
957 if (s->mv_dir & MV_DIR_FORWARD) {957 ff_thread_progress_await(&s->last_pic.ptr->progress,
958 ff_thread_progress_await(&s->last_pic.ptr->progress,958 lowest_referenced_row(s, 0));
959 lowest_referenced_row(s, 0));959 }
960 }960 if (s->mv_dir & MV_DIR_BACKWARD) {
961 if (s->mv_dir & MV_DIR_BACKWARD) {961 ff_thread_progress_await(&s->next_pic.ptr->progress,
962 ff_thread_progress_await(&s->next_pic.ptr->progress,962 lowest_referenced_row(s, 1));
963 lowest_referenced_row(s, 1));
964 }
965 }963 }
964 }
966 965
967 if (lowres_flag) {966 if (lowres_flag) {
968 const h264_chroma_mc_func *op_pix = s->h264chroma.put_h264_chroma_pixels_tab;967 const h264_chroma_mc_func *op_pix = s->h264chroma.put_h264_chroma_pixels_tab;
969 968
970 if (s->mv_dir & MV_DIR_FORWARD) {969 if (s->mv_dir & MV_DIR_FORWARD) {
971 MPV_motion_lowres(s, dest_y, dest_cb, dest_cr, 0, s->last_pic.data, op_pix);970 MPV_motion_lowres(s, dest_y, dest_cb, dest_cr, 0, s->last_pic.data, op_pix);
972 op_pix = s->h264chroma.avg_h264_chroma_pixels_tab;971 op_pix = s->h264chroma.avg_h264_chroma_pixels_tab;
973 }972 }
974 if (s->mv_dir & MV_DIR_BACKWARD) {973 if (s->mv_dir & MV_DIR_BACKWARD) {
975 MPV_motion_lowres(s, dest_y, dest_cb, dest_cr, 1, s->next_pic.data, op_pix);974 MPV_motion_lowres(s, dest_y, dest_cb, dest_cr, 1, s->next_pic.data, op_pix);
976 }
977 } else {
978 const op_pixels_func (*op_pix)[4];
979 const qpel_mc_func (*op_qpix)[16];
980
981 if ((is_mpeg12 == DEFINITELY_MPEG12_H261 || !s->no_rounding) || s->pict_type == AV_PICTURE_TYPE_B) {
982 op_pix = s->hdsp.put_pixels_tab;
983 op_qpix = s->qdsp.put_qpel_pixels_tab;
984 } else {
985 op_pix = s->hdsp.put_no_rnd_pixels_tab;
986 op_qpix = s->qdsp.put_no_rnd_qpel_pixels_tab;
987 }
988 if (s->mv_dir & MV_DIR_FORWARD) {
989 ff_mpv_motion(s, dest_y, dest_cb, dest_cr, 0, s->last_pic.data, op_pix, op_qpix);
990 op_pix = s->hdsp.avg_pixels_tab;
991 op_qpix = s->qdsp.avg_qpel_pixels_tab;
992 }
993 if (s->mv_dir & MV_DIR_BACKWARD) {
994 ff_mpv_motion(s, dest_y, dest_cb, dest_cr, 1, s->next_pic.data, op_pix, op_qpix);
995 }
996 }975 }
976 } else {
977 const op_pixels_func (*op_pix)[4];
978 const qpel_mc_func (*op_qpix)[16];
997 979
998 /* skip dequant / idct if we are really late ;) */980 if ((is_mpeg12 == DEFINITELY_MPEG12_H261 || !s->no_rounding) || s->pict_type == AV_PICTURE_TYPE_B) {
999 if (s->avctx->skip_idct) {981 op_pix = s->hdsp.put_pixels_tab;
1000 if( (s->avctx->skip_idct >= AVDISCARD_NONREF && s->pict_type == AV_PICTURE_TYPE_B)982 op_qpix = s->qdsp.put_qpel_pixels_tab;
1001 ||(s->avctx->skip_idct >= AVDISCARD_NONKEY && s->pict_type != AV_PICTURE_TYPE_I)983 } else {
1002 || s->avctx->skip_idct >= AVDISCARD_ALL)984 op_pix = s->hdsp.put_no_rnd_pixels_tab;
1003 return;985 op_qpix = s->qdsp.put_no_rnd_qpel_pixels_tab;
986 }
987 if (s->mv_dir & MV_DIR_FORWARD) {
988 ff_mpv_motion(s, dest_y, dest_cb, dest_cr, 0, s->last_pic.data, op_pix, op_qpix);
989 op_pix = s->hdsp.avg_pixels_tab;
990 op_qpix = s->qdsp.avg_qpel_pixels_tab;
991 }
992 if (s->mv_dir & MV_DIR_BACKWARD) {
993 ff_mpv_motion(s, dest_y, dest_cb, dest_cr, 1, s->next_pic.data, op_pix, op_qpix);
1004 }994 }
995 }
1005 996
1006 /* add dct residue */997 /* skip dequant / idct if we are really late ;) */
1007 if (!(IS_MPEG12_H261(s) || s->msmpeg4_version != MSMP4_UNUSED ||998 if (s->avctx->skip_idct) {
1008 (s->codec_id == AV_CODEC_ID_MPEG4 && !s->mpeg_quant))) {999 if ( (s->avctx->skip_idct >= AVDISCARD_NONREF && s->pict_type == AV_PICTURE_TYPE_B)
1009 add_dequant_dct(s, block[0], 0, dest_y , dct_linesize, s->qscale);1000 ||(s->avctx->skip_idct >= AVDISCARD_NONKEY && s->pict_type != AV_PICTURE_TYPE_I)
1010 add_dequant_dct(s, block[1], 1, dest_y + block_size, dct_linesize, s->qscale);1001 || s->avctx->skip_idct >= AVDISCARD_ALL)
1011 add_dequant_dct(s, block[2], 2, dest_y + dct_offset , dct_linesize, s->qscale);1002 return;
1012 add_dequant_dct(s, block[3], 3, dest_y + dct_offset + block_size, dct_linesize, s->qscale);1003 }
1013 1004
1014 if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {1005 /* add dct residue */
1015 av_assert2(s->chroma_y_shift);1006 if (!(IS_MPEG12_H261(s) || s->msmpeg4_version != MSMP4_UNUSED ||
1016 add_dequant_dct(s, block[4], 4, dest_cb, uvlinesize, s->chroma_qscale);1007 (s->codec_id == AV_CODEC_ID_MPEG4 && !s->mpeg_quant))) {
1017 add_dequant_dct(s, block[5], 5, dest_cr, uvlinesize, s->chroma_qscale);1008 add_dequant_dct(s, block[0], 0, dest_y , dct_linesize, s->qscale);
1018 }1009 add_dequant_dct(s, block[1], 1, dest_y + block_size, dct_linesize, s->qscale);
1019 } else if (is_mpeg12 == DEFINITELY_MPEG12_H261 || lowres_flag || (s->codec_id != AV_CODEC_ID_WMV2)) {1010 add_dequant_dct(s, block[2], 2, dest_y + dct_offset , dct_linesize, s->qscale);
1020 add_dct(s, block[0], 0, dest_y , dct_linesize);1011 add_dequant_dct(s, block[3], 3, dest_y + dct_offset + block_size, dct_linesize, s->qscale);
1021 add_dct(s, block[1], 1, dest_y + block_size, dct_linesize);1012
1022 add_dct(s, block[2], 2, dest_y + dct_offset , dct_linesize);1013 if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {
1023 add_dct(s, block[3], 3, dest_y + dct_offset + block_size, dct_linesize);1014 av_assert2(s->chroma_y_shift);
1024 1015 add_dequant_dct(s, block[4], 4, dest_cb, uvlinesize, s->chroma_qscale);
1025 if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {1016 add_dequant_dct(s, block[5], 5, dest_cr, uvlinesize, s->chroma_qscale);
1026 if (s->chroma_y_shift) {//Chroma4201017 }
1027 add_dct(s, block[4], 4, dest_cb, uvlinesize);1018 } else if (is_mpeg12 == DEFINITELY_MPEG12_H261 || lowres_flag || (s->codec_id != AV_CODEC_ID_WMV2)) {
1028 add_dct(s, block[5], 5, dest_cr, uvlinesize);1019 add_dct(s, block[0], 0, dest_y , dct_linesize);
1029 } else {1020 add_dct(s, block[1], 1, dest_y + block_size, dct_linesize);
1030 //chroma4221021 add_dct(s, block[2], 2, dest_y + dct_offset , dct_linesize);
1031 dct_linesize = uvlinesize << s->interlaced_dct;1022 add_dct(s, block[3], 3, dest_y + dct_offset + block_size, dct_linesize);
1032 dct_offset = s->interlaced_dct ? uvlinesize : uvlinesize*block_size;1023
1033 1024 if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {
1034 add_dct(s, block[4], 4, dest_cb, dct_linesize);1025 if (s->chroma_y_shift) {//Chroma420
1035 add_dct(s, block[5], 5, dest_cr, dct_linesize);1026 add_dct(s, block[4], 4, dest_cb, uvlinesize);
1036 add_dct(s, block[6], 6, dest_cb+dct_offset, dct_linesize);1027 add_dct(s, block[5], 5, dest_cr, uvlinesize);
1037 add_dct(s, block[7], 7, dest_cr+dct_offset, dct_linesize);1028 } else {
1038 if (!s->chroma_x_shift) {//Chroma4441029 //chroma422
1039 add_dct(s, block[8], 8, dest_cb+block_size, dct_linesize);1030 dct_linesize = uvlinesize << s->interlaced_dct;
1040 add_dct(s, block[9], 9, dest_cr+block_size, dct_linesize);1031 dct_offset = s->interlaced_dct ? uvlinesize : uvlinesize*block_size;
1041 add_dct(s, block[10], 10, dest_cb+block_size+dct_offset, dct_linesize);1032
1042 add_dct(s, block[11], 11, dest_cr+block_size+dct_offset, dct_linesize);1033 add_dct(s, block[4], 4, dest_cb, dct_linesize);
1043 }1034 add_dct(s, block[5], 5, dest_cr, dct_linesize);
1035 add_dct(s, block[6], 6, dest_cb + dct_offset, dct_linesize);
1036 add_dct(s, block[7], 7, dest_cr + dct_offset, dct_linesize);
1037 if (!s->chroma_x_shift) {//Chroma444
1038 add_dct(s, block[8], 8, dest_cb + block_size, dct_linesize);
1039 add_dct(s, block[9], 9, dest_cr + block_size, dct_linesize);
1040 add_dct(s, block[10], 10, dest_cb + block_size + dct_offset, dct_linesize);
1041 add_dct(s, block[11], 11, dest_cr + block_size + dct_offset, dct_linesize);
1044 }1042 }
1045 } //fi gray1043 }
1046 } else if (CONFIG_WMV2_DECODER) {1044 } //fi gray
1047 ff_wmv2_add_mb(s, block, dest_y, dest_cb, dest_cr);1045 } else if (CONFIG_WMV2_DECODER) {
1046 ff_wmv2_add_mb(s, block, dest_y, dest_cb, dest_cr);
1047 }
1048 } else {
1049 /* Only MPEG-4 Simple Studio Profile is supported in > 8-bit mode.
1050 TODO: Integrate 10-bit properly into mpegvideo.c so that ER works properly */
1051 if (is_mpeg12 != DEFINITELY_MPEG12_H261 && CONFIG_MPEG4_DECODER &&
1052 /* s->codec_id == AV_CODEC_ID_MPEG4 && */
1053 s->avctx->bits_per_raw_sample > 8) {
1054 ff_mpeg4_decode_studio(s, dest_y, dest_cb, dest_cr, block_size,
1055 uvlinesize, dct_linesize, dct_offset);
1056 } else if (!IS_MPEG12_H261(s)) {
1057 /* dct only in intra block */
1058 put_dct(s, block[0], 0, dest_y , dct_linesize, s->qscale);
1059 put_dct(s, block[1], 1, dest_y + block_size, dct_linesize, s->qscale);
1060 put_dct(s, block[2], 2, dest_y + dct_offset , dct_linesize, s->qscale);
1061 put_dct(s, block[3], 3, dest_y + dct_offset + block_size, dct_linesize, s->qscale);
1062
1063 if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {
1064 if (s->chroma_y_shift) {
1065 put_dct(s, block[4], 4, dest_cb, uvlinesize, s->chroma_qscale);
1066 put_dct(s, block[5], 5, dest_cr, uvlinesize, s->chroma_qscale);
1067 } else {
1068 dct_offset >>= 1;
1069 dct_linesize >>= 1;
1070 put_dct(s, block[4], 4, dest_cb, dct_linesize, s->chroma_qscale);
1071 put_dct(s, block[5], 5, dest_cr, dct_linesize, s->chroma_qscale);
1072 put_dct(s, block[6], 6, dest_cb + dct_offset, dct_linesize, s->chroma_qscale);
1073 put_dct(s, block[7], 7, dest_cr + dct_offset, dct_linesize, s->chroma_qscale);
1074 }
1048 }1075 }
1049 } else {1076 } else {
1050 /* Only MPEG-4 Simple Studio Profile is supported in > 8-bit mode.1077 s->idsp.idct_put(dest_y, dct_linesize, block[0]);
1051 TODO: Integrate 10-bit properly into mpegvideo.c so that ER works properly */1078 s->idsp.idct_put(dest_y + block_size, dct_linesize, block[1]);
1052 if (is_mpeg12 != DEFINITELY_MPEG12_H261 && CONFIG_MPEG4_DECODER &&1079 s->idsp.idct_put(dest_y + dct_offset, dct_linesize, block[2]);
1053 /* s->codec_id == AV_CODEC_ID_MPEG4 && */1080 s->idsp.idct_put(dest_y + dct_offset + block_size, dct_linesize, block[3]);
1054 s->avctx->bits_per_raw_sample > 8) {1081
1055 ff_mpeg4_decode_studio(s, dest_y, dest_cb, dest_cr, block_size,1082 if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {
1056 uvlinesize, dct_linesize, dct_offset);1083 if (s->chroma_y_shift) {
1057 } else if (!IS_MPEG12_H261(s)) {1084 s->idsp.idct_put(dest_cb, uvlinesize, block[4]);
1058 /* dct only in intra block */1085 s->idsp.idct_put(dest_cr, uvlinesize, block[5]);
1059 put_dct(s, block[0], 0, dest_y , dct_linesize, s->qscale);1086 } else {
1060 put_dct(s, block[1], 1, dest_y + block_size, dct_linesize, s->qscale);1087 dct_linesize = uvlinesize << s->interlaced_dct;
1061 put_dct(s, block[2], 2, dest_y + dct_offset , dct_linesize, s->qscale);1088 dct_offset = s->interlaced_dct ? uvlinesize : uvlinesize*block_size;
1062 put_dct(s, block[3], 3, dest_y + dct_offset + block_size, dct_linesize, s->qscale);1089
1063 1090 s->idsp.idct_put(dest_cb, dct_linesize, block[4]);
1064 if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {1091 s->idsp.idct_put(dest_cr, dct_linesize, block[5]);
1065 if (s->chroma_y_shift) {1092 s->idsp.idct_put(dest_cb + dct_offset, dct_linesize, block[6]);
1066 put_dct(s, block[4], 4, dest_cb, uvlinesize, s->chroma_qscale);1093 s->idsp.idct_put(dest_cr + dct_offset, dct_linesize, block[7]);
1067 put_dct(s, block[5], 5, dest_cr, uvlinesize, s->chroma_qscale);1094 if (!s->chroma_x_shift) { //Chroma444
1068 } else {1095 s->idsp.idct_put(dest_cb + block_size, dct_linesize, block[8]);
1069 dct_offset >>=1;1096 s->idsp.idct_put(dest_cr + block_size, dct_linesize, block[9]);
1070 dct_linesize >>=1;1097 s->idsp.idct_put(dest_cb + block_size + dct_offset, dct_linesize, block[10]);
1071 put_dct(s, block[4], 4, dest_cb, dct_linesize, s->chroma_qscale);1098 s->idsp.idct_put(dest_cr + block_size + dct_offset, dct_linesize, block[11]);
1072 put_dct(s, block[5], 5, dest_cr, dct_linesize, s->chroma_qscale);
1073 put_dct(s, block[6], 6, dest_cb + dct_offset, dct_linesize, s->chroma_qscale);
1074 put_dct(s, block[7], 7, dest_cr + dct_offset, dct_linesize, s->chroma_qscale);
1075 }1099 }
1076 }1100 }
1077 } else {1101 } //gray
1078 s->idsp.idct_put(dest_y, dct_linesize, block[0]);
1079 s->idsp.idct_put(dest_y + block_size, dct_linesize, block[1]);
1080 s->idsp.idct_put(dest_y + dct_offset, dct_linesize, block[2]);
1081 s->idsp.idct_put(dest_y + dct_offset + block_size, dct_linesize, block[3]);
1082
1083 if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {
1084 if (s->chroma_y_shift) {
1085 s->idsp.idct_put(dest_cb, uvlinesize, block[4]);
1086 s->idsp.idct_put(dest_cr, uvlinesize, block[5]);
1087 } else {
1088 dct_linesize = uvlinesize << s->interlaced_dct;
1089 dct_offset = s->interlaced_dct ? uvlinesize : uvlinesize*block_size;
1090
1091 s->idsp.idct_put(dest_cb, dct_linesize, block[4]);
1092 s->idsp.idct_put(dest_cr, dct_linesize, block[5]);
1093 s->idsp.idct_put(dest_cb + dct_offset, dct_linesize, block[6]);
1094 s->idsp.idct_put(dest_cr + dct_offset, dct_linesize, block[7]);
1095 if (!s->chroma_x_shift) { //Chroma444
1096 s->idsp.idct_put(dest_cb + block_size, dct_linesize, block[8]);
1097 s->idsp.idct_put(dest_cr + block_size, dct_linesize, block[9]);
1098 s->idsp.idct_put(dest_cb + block_size + dct_offset, dct_linesize, block[10]);
1099 s->idsp.idct_put(dest_cr + block_size + dct_offset, dct_linesize, block[11]);
1100 }
1101 }
1102 } //gray
1103 }
1104 }1102 }
1105 }1103 }
1106}1104}
@@ -1108,20 +1106,20 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], · 1 unmodified line
1108void ff_mpv_reconstruct_mb(MpegEncContext *s, int16_t block[12][64])1106void ff_mpv_reconstruct_mb(MpegEncContext *s, int16_t block[12][64])
1109{1107{
1110 const int mb_xy = s->mb_y * s->mb_stride + s->mb_x;1108 const int mb_xy = s->mb_y * s->mb_stride + s->mb_x;
1111 uint8_t *mbskip_ptr = &s->mbskip_table[mb_xy];1109 uint8_t *mbskip_ptr = &s->mbskip_table[mb_xy];
1112 1110
1113 s->cur_pic.qscale_table[mb_xy] = s->qscale;1111 s->cur_pic.qscale_table[mb_xy] = s->qscale;
1114 1112
1115 /* avoid copy if macroblock skipped in last frame too */1113 /* avoid copy if macroblock skipped in last frame too */
1116 if (s->mb_skipped) {1114 if (s->mb_skipped) {
1117 s->mb_skipped = 0;1115 s->mb_skipped = 0;
1118 av_assert2(s->pict_type!=AV_PICTURE_TYPE_I);1116 av_assert2(s->pict_type != AV_PICTURE_TYPE_I);
1119 *mbskip_ptr = 1;1117 *mbskip_ptr = 1;
1120 } else if (!s->cur_pic.reference) {1118 } else if (!s->cur_pic.reference) {
1121 *mbskip_ptr = 1;1119 *mbskip_ptr = 1;
1122 } else{1120 } else{
1123 *mbskip_ptr = 0; /* not skipped */1121 *mbskip_ptr = 0; /* not skipped */
1124 }1122 }
1125 1123
1126 if (s->avctx->debug & FF_DEBUG_DCT_COEFF) {1124 if (s->avctx->debug & FF_DEBUG_DCT_COEFF) {
1127 /* print DCT coefficients */1125 /* print DCT coefficients */
libavcodec/mpegvideo_enc.c+35−35
@@ -1148,44 +1148,44 @@ static void mpv_reconstruct_mb(MpegEncContext *s, int16_t block[12][64]) · 1147 unmodified lines
1148 1148
1149 if (!s->mb_intra) {1149 if (!s->mb_intra) {
1150 /* No MC, as that was already done otherwise */1150 /* No MC, as that was already done otherwise */
1151 add_dequant_dct(s, block[0], 0, dest_y , dct_linesize, s->qscale);1151 add_dequant_dct(s, block[0], 0, dest_y , dct_linesize, s->qscale);
1152 add_dequant_dct(s, block[1], 1, dest_y + block_size, dct_linesize, s->qscale);1152 add_dequant_dct(s, block[1], 1, dest_y + block_size, dct_linesize, s->qscale);
1153 add_dequant_dct(s, block[2], 2, dest_y + dct_offset , dct_linesize, s->qscale);1153 add_dequant_dct(s, block[2], 2, dest_y + dct_offset , dct_linesize, s->qscale);
1154 add_dequant_dct(s, block[3], 3, dest_y + dct_offset + block_size, dct_linesize, s->qscale);1154 add_dequant_dct(s, block[3], 3, dest_y + dct_offset + block_size, dct_linesize, s->qscale);
1155 1155
1156 if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {1156 if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {
1157 if (s->chroma_y_shift) {1157 if (s->chroma_y_shift) {
1158 add_dequant_dct(s, block[4], 4, dest_cb, uvlinesize, s->chroma_qscale);1158 add_dequant_dct(s, block[4], 4, dest_cb, uvlinesize, s->chroma_qscale);
1159 add_dequant_dct(s, block[5], 5, dest_cr, uvlinesize, s->chroma_qscale);1159 add_dequant_dct(s, block[5], 5, dest_cr, uvlinesize, s->chroma_qscale);
1160 } else {1160 } else {
1161 dct_linesize >>= 1;1161 dct_linesize >>= 1;
1162 dct_offset >>= 1;1162 dct_offset >>= 1;
1163 add_dequant_dct(s, block[4], 4, dest_cb, dct_linesize, s->chroma_qscale);1163 add_dequant_dct(s, block[4], 4, dest_cb, dct_linesize, s->chroma_qscale);
1164 add_dequant_dct(s, block[5], 5, dest_cr, dct_linesize, s->chroma_qscale);1164 add_dequant_dct(s, block[5], 5, dest_cr, dct_linesize, s->chroma_qscale);
1165 add_dequant_dct(s, block[6], 6, dest_cb + dct_offset, dct_linesize, s->chroma_qscale);1165 add_dequant_dct(s, block[6], 6, dest_cb + dct_offset, dct_linesize, s->chroma_qscale);
1166 add_dequant_dct(s, block[7], 7, dest_cr + dct_offset, dct_linesize, s->chroma_qscale);1166 add_dequant_dct(s, block[7], 7, dest_cr + dct_offset, dct_linesize, s->chroma_qscale);
1167 }
1168 }1167 }
1168 }
1169 } else {1169 } else {
1170 /* dct only in intra block */1170 /* dct only in intra block */
1171 put_dct(s, block[0], 0, dest_y , dct_linesize, s->qscale);1171 put_dct(s, block[0], 0, dest_y , dct_linesize, s->qscale);
1172 put_dct(s, block[1], 1, dest_y + block_size, dct_linesize, s->qscale);1172 put_dct(s, block[1], 1, dest_y + block_size, dct_linesize, s->qscale);
1173 put_dct(s, block[2], 2, dest_y + dct_offset , dct_linesize, s->qscale);1173 put_dct(s, block[2], 2, dest_y + dct_offset , dct_linesize, s->qscale);
1174 put_dct(s, block[3], 3, dest_y + dct_offset + block_size, dct_linesize, s->qscale);1174 put_dct(s, block[3], 3, dest_y + dct_offset + block_size, dct_linesize, s->qscale);
1175 1175
1176 if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {1176 if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {
1177 if (s->chroma_y_shift) {1177 if (s->chroma_y_shift) {
1178 put_dct(s, block[4], 4, dest_cb, uvlinesize, s->chroma_qscale);1178 put_dct(s, block[4], 4, dest_cb, uvlinesize, s->chroma_qscale);
1179 put_dct(s, block[5], 5, dest_cr, uvlinesize, s->chroma_qscale);1179 put_dct(s, block[5], 5, dest_cr, uvlinesize, s->chroma_qscale);
1180 } else {1180 } else {
1181 dct_offset >>=1;1181 dct_offset >>= 1;
1182 dct_linesize >>=1;1182 dct_linesize >>= 1;
1183 put_dct(s, block[4], 4, dest_cb, dct_linesize, s->chroma_qscale);1183 put_dct(s, block[4], 4, dest_cb, dct_linesize, s->chroma_qscale);
1184 put_dct(s, block[5], 5, dest_cr, dct_linesize, s->chroma_qscale);1184 put_dct(s, block[5], 5, dest_cr, dct_linesize, s->chroma_qscale);
1185 put_dct(s, block[6], 6, dest_cb + dct_offset, dct_linesize, s->chroma_qscale);1185 put_dct(s, block[6], 6, dest_cb + dct_offset, dct_linesize, s->chroma_qscale);
1186 put_dct(s, block[7], 7, dest_cr + dct_offset, dct_linesize, s->chroma_qscale);1186 put_dct(s, block[7], 7, dest_cr + dct_offset, dct_linesize, s->chroma_qscale);
1187 }
1188 }1187 }
1188 }
1189 }1189 }
1190 }1190 }
1191}1191}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t