mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 20:42:49 +08:00 
			
		
		
		
	avcodec/iff: Factorize av_pix_fmt_desc_get() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		| @@ -677,11 +677,15 @@ static int decode_frame(AVCodecContext *avctx, | |||||||
|     const uint8_t *buf_end = buf + buf_size; |     const uint8_t *buf_end = buf + buf_size; | ||||||
|     int y, plane, res; |     int y, plane, res; | ||||||
|     GetByteContext gb; |     GetByteContext gb; | ||||||
|  |     const AVPixFmtDescriptor *desc; | ||||||
|  |  | ||||||
|     if ((res = extract_header(avctx, avpkt)) < 0) |     if ((res = extract_header(avctx, avpkt)) < 0) | ||||||
|         return res; |         return res; | ||||||
|     if ((res = ff_reget_buffer(avctx, s->frame)) < 0) |     if ((res = ff_reget_buffer(avctx, s->frame)) < 0) | ||||||
|         return res; |         return res; | ||||||
|  |  | ||||||
|  |     desc = av_pix_fmt_desc_get(avctx->pix_fmt); | ||||||
|  |  | ||||||
|     if (!s->init && avctx->bits_per_coded_sample <= 8 && |     if (!s->init && avctx->bits_per_coded_sample <= 8 && | ||||||
|         avctx->pix_fmt == AV_PIX_FMT_PAL8) { |         avctx->pix_fmt == AV_PIX_FMT_PAL8) { | ||||||
|         if ((res = cmap_read_palette(avctx, (uint32_t *)s->frame->data[1])) < 0) |         if ((res = cmap_read_palette(avctx, (uint32_t *)s->frame->data[1])) < 0) | ||||||
| @@ -721,7 +725,6 @@ static int decode_frame(AVCodecContext *avctx, | |||||||
|             } else |             } else | ||||||
|                 return unsupported(avctx); |                 return unsupported(avctx); | ||||||
|         } else if (avctx->codec_tag == MKTAG('D', 'E', 'E', 'P')) { |         } else if (avctx->codec_tag == MKTAG('D', 'E', 'E', 'P')) { | ||||||
|             const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); |  | ||||||
|             int raw_width = avctx->width * (av_get_bits_per_pixel(desc) >> 3); |             int raw_width = avctx->width * (av_get_bits_per_pixel(desc) >> 3); | ||||||
|             int x; |             int x; | ||||||
|             for (y = 0; y < avctx->height && buf < buf_end; y++) { |             for (y = 0; y < avctx->height && buf < buf_end; y++) { | ||||||
| @@ -838,7 +841,6 @@ static int decode_frame(AVCodecContext *avctx, | |||||||
|             } else |             } else | ||||||
|                 return unsupported(avctx); |                 return unsupported(avctx); | ||||||
|         } else if (avctx->codec_tag == MKTAG('D', 'E', 'E', 'P')) { // IFF-DEEP |         } else if (avctx->codec_tag == MKTAG('D', 'E', 'E', 'P')) { // IFF-DEEP | ||||||
|             const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); |  | ||||||
|             if (av_get_bits_per_pixel(desc) == 32) |             if (av_get_bits_per_pixel(desc) == 32) | ||||||
|                 decode_deep_rle32(s->frame->data[0], buf, buf_size, avctx->width, avctx->height, s->frame->linesize[0]); |                 decode_deep_rle32(s->frame->data[0], buf, buf_size, avctx->width, avctx->height, s->frame->linesize[0]); | ||||||
|             else |             else | ||||||
| @@ -856,7 +858,6 @@ static int decode_frame(AVCodecContext *avctx, | |||||||
|         break; |         break; | ||||||
|     case 5: |     case 5: | ||||||
|         if (avctx->codec_tag == MKTAG('D', 'E', 'E', 'P')) { |         if (avctx->codec_tag == MKTAG('D', 'E', 'E', 'P')) { | ||||||
|             const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); |  | ||||||
|             if (av_get_bits_per_pixel(desc) == 32) |             if (av_get_bits_per_pixel(desc) == 32) | ||||||
|                 decode_deep_tvdc32(s->frame->data[0], buf, buf_size, avctx->width, avctx->height, s->frame->linesize[0], s->tvdc); |                 decode_deep_tvdc32(s->frame->data[0], buf, buf_size, avctx->width, avctx->height, s->frame->linesize[0], s->tvdc); | ||||||
|             else |             else | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Michael Niedermayer
					Michael Niedermayer