You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	mlpdec: Check for bits left before each read of End-of-Stream indicator and
Substream parity check independently. This allows decoding of streams that have EOS but don't have Substream parity check. Originally committed as revision 14206 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		| @@ -1119,7 +1119,7 @@ static int read_access_unit(AVCodecContext *avctx, void* data, int *data_size, | |||||||
|                  && get_bits1(&gb) == 0); |                  && get_bits1(&gb) == 0); | ||||||
|  |  | ||||||
|         skip_bits(&gb, (-get_bits_count(&gb)) & 15); |         skip_bits(&gb, (-get_bits_count(&gb)) & 15); | ||||||
|         if (substream_data_len[substr] * 8 - get_bits_count(&gb) >= 48 && |         if (substream_data_len[substr] * 8 - get_bits_count(&gb) >= 32 && | ||||||
|             (show_bits_long(&gb, 32) == 0xd234d234 || |             (show_bits_long(&gb, 32) == 0xd234d234 || | ||||||
|              show_bits_long(&gb, 20) == 0xd234e)) { |              show_bits_long(&gb, 20) == 0xd234e)) { | ||||||
|             skip_bits(&gb, 18); |             skip_bits(&gb, 18); | ||||||
| @@ -1133,7 +1133,8 @@ static int read_access_unit(AVCodecContext *avctx, void* data, int *data_size, | |||||||
|             } else |             } else | ||||||
|                 skip_bits(&gb, 13); |                 skip_bits(&gb, 13); | ||||||
|         } |         } | ||||||
|         if (substream_parity_present[substr]) { |         if (substream_data_len[substr] * 8 - get_bits_count(&gb) >= 16 && | ||||||
|  |             substream_parity_present[substr]) { | ||||||
|             uint8_t parity, checksum; |             uint8_t parity, checksum; | ||||||
|  |  | ||||||
|             parity = calculate_parity(buf, substream_data_len[substr] - 2); |             parity = calculate_parity(buf, substream_data_len[substr] - 2); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user