X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fmjpegdec.c;h=1bcbcfd1d4e86a47d70c970ceb3cbae88ed465a3;hb=cc5e9e5ff052fe31aa757de79f2d11fb21df3fba;hp=f79eabe25b990893e3f9ac2dbbe9e5a3f6d07621;hpb=ac330161584b69c766d955d6ee3ee045cca31030;p=ffmpeg diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index f79eabe25b9..1bcbcfd1d4e 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -67,18 +67,18 @@ static int build_vlc(VLC *vlc, const uint8_t *bits_table, static void build_basic_mjpeg_vlc(MJpegDecodeContext *s) { - build_vlc(&s->vlcs[0][0], ff_mjpeg_bits_dc_luminance, - ff_mjpeg_val_dc, 12, 0, 0); - build_vlc(&s->vlcs[0][1], ff_mjpeg_bits_dc_chrominance, - ff_mjpeg_val_dc, 12, 0, 0); - build_vlc(&s->vlcs[1][0], ff_mjpeg_bits_ac_luminance, - ff_mjpeg_val_ac_luminance, 251, 0, 1); - build_vlc(&s->vlcs[1][1], ff_mjpeg_bits_ac_chrominance, - ff_mjpeg_val_ac_chrominance, 251, 0, 1); - build_vlc(&s->vlcs[2][0], ff_mjpeg_bits_ac_luminance, - ff_mjpeg_val_ac_luminance, 251, 0, 0); - build_vlc(&s->vlcs[2][1], ff_mjpeg_bits_ac_chrominance, - ff_mjpeg_val_ac_chrominance, 251, 0, 0); + build_vlc(&s->vlcs[0][0], avpriv_mjpeg_bits_dc_luminance, + avpriv_mjpeg_val_dc, 12, 0, 0); + build_vlc(&s->vlcs[0][1], avpriv_mjpeg_bits_dc_chrominance, + avpriv_mjpeg_val_dc, 12, 0, 0); + build_vlc(&s->vlcs[1][0], avpriv_mjpeg_bits_ac_luminance, + avpriv_mjpeg_val_ac_luminance, 251, 0, 1); + build_vlc(&s->vlcs[1][1], avpriv_mjpeg_bits_ac_chrominance, + avpriv_mjpeg_val_ac_chrominance, 251, 0, 1); + build_vlc(&s->vlcs[2][0], avpriv_mjpeg_bits_ac_luminance, + avpriv_mjpeg_val_ac_luminance, 251, 0, 0); + build_vlc(&s->vlcs[2][1], avpriv_mjpeg_bits_ac_chrominance, + avpriv_mjpeg_val_ac_chrominance, 251, 0, 0); } av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx) @@ -365,9 +365,9 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) for (i = 0; i < 3; i++) s->linesize[i] = s->picture_ptr->linesize[i] << s->interlaced; -// printf("%d %d %d %d %d %d\n", -// s->width, s->height, s->linesize[0], s->linesize[1], -// s->interlaced, s->avctx->height); + av_dlog(s->avctx, "%d %d %d %d %d %d\n", + s->width, s->height, s->linesize[0], s->linesize[1], + s->interlaced, s->avctx->height); if (len != (8 + (3 * nb_components))) av_log(s->avctx, AV_LOG_DEBUG, "decode_sof0: error, len(%d) mismatch\n", len); @@ -892,11 +892,10 @@ static int mjpeg_decode_scan(MJpegDecodeContext *s, int nb_components, int Ah, return AVERROR_INVALIDDATA; } } - // av_log(s->avctx, AV_LOG_DEBUG, "mb: %d %d processed\n", - // mb_y, mb_x); - // av_log(NULL, AV_LOG_DEBUG, "%d %d %d %d %d %d %d %d \n", - // mb_x, mb_y, x, y, c, s->bottom_field, - // (v * mb_y + y) * 8, (h * mb_x + x) * 8); + av_dlog(s->avctx, "mb: %d %d processed\n", mb_y, mb_x); + av_dlog(s->avctx, "%d %d %d %d %d %d %d %d \n", + mb_x, mb_y, x, y, c, s->bottom_field, + (v * mb_y + y) * 8, (h * mb_x + x) * 8); if (++x == h) { x = 0; y++; @@ -1178,8 +1177,6 @@ static int mjpeg_decode_app(MJpegDecodeContext *s) 4bytes field_size_less_padding */ s->buggy_avid = 1; -// if (s->first_picture) -// printf("mjpeg: workarounding buggy AVID\n"); i = get_bits(&s->gb, 8); if (i == 2) s->bottom_field = 1; @@ -1191,8 +1188,6 @@ static int mjpeg_decode_app(MJpegDecodeContext *s) skip_bits(&s->gb, 32); len -= 10; #endif -// if (s->interlace_polarity) -// printf("mjpeg: interlace polarity: %d\n", s->interlace_polarity); goto out; } @@ -1314,8 +1309,6 @@ static int mjpeg_decode_com(MJpegDecodeContext *s) /* buggy avid, it puts EOI only at every 10th frame */ if (!strcmp(cbuf, "AVID")) { s->buggy_avid = 1; - // if (s->first_picture) - // printf("mjpeg: workarounding buggy AVID\n"); } else if (!strcmp(cbuf, "CS=ITU601")) s->cs_itu601 = 1; else if ((len > 20 && !strncmp(cbuf, "Intel(R) JPEG Library", 21)) || @@ -1605,9 +1598,6 @@ eoi_parser: av_log(avctx, AV_LOG_ERROR, "mjpeg: unsupported coding type (%x)\n", start_code); break; -// default: -// printf("mjpeg: unsupported marker (%x)\n", start_code); -// break; } not_the_end: @@ -1659,7 +1649,7 @@ av_cold int ff_mjpeg_decode_end(AVCodecContext *avctx) #define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM static const AVOption options[] = { { "extern_huff", "Use external huffman table.", - OFFSET(extern_huff), AV_OPT_TYPE_INT, { 0 }, 0, 1, VD }, + OFFSET(extern_huff), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VD }, { NULL }, };