simplifying the code as per Michael's suggestion
Originally committed as revision 15577 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		
							parent
							
								
									8f271177b0
								
							
						
					
					
						commit
						c9b0b38f45
					
				| @ -492,7 +492,7 @@ static inline void dv_decode_video_segment(DVVideoContext *s, | ||||
|         mb_x = v & 0xff; | ||||
|         mb_y = v >> 8; | ||||
|         /* We work with 720p frames split in half. The odd half-frame (chan==2,3) is displaced :-( */ | ||||
|         if (s->sys->height == 720 && ((s->buf[1]>>2)&0x3) == 0) { | ||||
|         if (s->sys->height == 720 && !(s->buf[1]&0x0C)) { | ||||
|                mb_y -= (mb_y>17)?18:-72; /* shifting the Y coordinate down by 72/2 macroblocks */ | ||||
|         } | ||||
| 
 | ||||
|  | ||||
| @ -122,7 +122,7 @@ static int dv_extract_audio(uint8_t* frame, uint8_t* ppcm[4], | ||||
|     half_ch = sys->difseg_size/2; | ||||
| 
 | ||||
|     /* We work with 720p frames split in half, thus even frames have channels 0,1 and odd 2,3 */ | ||||
|     ipcm = (sys->height == 720 && ((frame[1]>>2)&0x3) == 0)?2:0; | ||||
|     ipcm = (sys->height == 720 && !(frame[1]&0x0C))?2:0; | ||||
|     pcm = ppcm[ipcm++]; | ||||
| 
 | ||||
|     /* for each DIF channel */ | ||||
| @ -339,7 +339,7 @@ int dv_produce_packet(DVDemuxContext *c, AVPacket *pkt, | ||||
| 
 | ||||
|     /* We work with 720p frames split in half, thus even frames have channels 0,1 and odd 2,3 */ | ||||
|     if (c->sys->height == 720) { | ||||
|         if (((buf[1]>>2)&0x3)) | ||||
|         if (buf[1]&0x0C) | ||||
|             c->audio_pkt[2].size = c->audio_pkt[3].size = 0; | ||||
|         else | ||||
|             c->audio_pkt[0].size = c->audio_pkt[1].size = 0; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user