On 8/16/2018 12:23 PM, Paul B Mahol wrote: > On 8/16/18, James Almer <jamr...@gmail.com> wrote: >> On 8/16/2018 8:00 AM, Paul B Mahol wrote: >>> Hi, >>> >>> another patch attached, please review. >> >>> +static int decode_frame(AVCodecContext *avctx, void *data, >>> + int *got_frame, AVPacket *avpkt) >>> +{ >>> + IMM4Context *s = avctx->priv_data; >>> + GetBitContext *gb = &s->gb; >>> + AVFrame *frame = data; >>> + unsigned type; >>> + int ret, scaled; >>> + >>> + if (avpkt->size <= 32) >>> + return AVERROR_INVALIDDATA; >>> + >>> + av_fast_padded_malloc(&s->bitstream, &s->bitstream_size, >>> + FFALIGN(avpkt->size, 4)); >>> + if (!s->bitstream) >>> + return AVERROR(ENOMEM); >>> + >>> + s->bdsp.bswap_buf((uint32_t *)s->bitstream, >>> + (uint32_t *)avpkt->data, >>> + (avpkt->size + 3) >> 2); >>> + >>> + if ((ret = init_get_bits8(gb, s->bitstream, FFALIGN(avpkt->size, 4))) >>> < 0) >> >> Split this in two, just to be safe. > > Why?, not mandatory.
It's not, but it's a better practice. Changing old lines is pointless, but lets try to not add new ones. > >> >>> + return ret; >>> + >>> + avctx->pix_fmt = AV_PIX_FMT_YUV420P; >>> + avctx->color_range = AVCOL_RANGE_JPEG; >>> + >>> + scaled = avpkt->data[8]; >>> + if (scaled < 2) { >>> + int width, height; >>> + int mode = avpkt->data[10]; >>> + >>> + switch (mode) { >>> + case 1: >>> + width = 352; >>> + height = 240; >>> + break; >>> + case 2: >>> + width = 704; >>> + height = 240; >>> + break; >>> + case 4: >>> + width = 480; >>> + height = 704; >>> + break; >>> + case 17: >>> + width = 352; >>> + height = 288; >>> + break; >>> + case 18: >>> + width = 704; >>> + height = 288; >>> + break; >>> + default: >>> + width = 704; >>> + height = 576; >>> + break; >>> + } >>> + >>> + if (s->changed_size == 1 && >>> + (avctx->width != width || avctx->height != height)) { >>> + av_log(avctx, AV_LOG_ERROR, "Frame size change is >>> unsupported.\n"); >>> + return AVERROR_INVALIDDATA; >>> + } >>> + avctx->width = width; >>> + avctx->height = height; >> >> ff_set_dimensions()? > > These are hardcoded values, always sane. > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel