You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	ffmpeg: use a rational for -aspect option.
This commit is contained in:
		
							
								
								
									
										6
									
								
								ffmpeg.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								ffmpeg.c
									
									
									
									
									
								
							| @@ -1071,7 +1071,7 @@ static int reap_filters(void) | ||||
|             switch (ost->filter->filter->inputs[0]->type) { | ||||
|             case AVMEDIA_TYPE_VIDEO: | ||||
|                 filtered_frame->pts = frame_pts; | ||||
|                 if (!ost->frame_aspect_ratio) | ||||
|                 if (!ost->frame_aspect_ratio.num) | ||||
|                     ost->st->codec->sample_aspect_ratio = filtered_frame->sample_aspect_ratio; | ||||
|  | ||||
|                 do_video_out(of->ctx, ost, filtered_frame); | ||||
| @@ -2300,8 +2300,8 @@ static int transcode_init(void) | ||||
|                 codec->width  = ost->filter->filter->inputs[0]->w; | ||||
|                 codec->height = ost->filter->filter->inputs[0]->h; | ||||
|                 codec->sample_aspect_ratio = ost->st->sample_aspect_ratio = | ||||
|                     ost->frame_aspect_ratio ? // overridden by the -aspect cli option | ||||
|                     av_d2q(ost->frame_aspect_ratio * codec->height/codec->width, 255) : | ||||
|                     ost->frame_aspect_ratio.num ? // overridden by the -aspect cli option | ||||
|                     av_mul_q(ost->frame_aspect_ratio, (AVRational){ codec->height, codec->width }) : | ||||
|                     ost->filter->filter->inputs[0]->sample_aspect_ratio; | ||||
|                 if (!strncmp(ost->enc->name, "libx264", 7) && | ||||
|                     codec->pix_fmt == AV_PIX_FMT_NONE && | ||||
|   | ||||
							
								
								
									
										2
									
								
								ffmpeg.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								ffmpeg.h
									
									
									
									
									
								
							| @@ -331,7 +331,7 @@ typedef struct OutputStream { | ||||
|     int force_fps; | ||||
|     int top_field_first; | ||||
|  | ||||
|     float frame_aspect_ratio; | ||||
|     AVRational frame_aspect_ratio; | ||||
|  | ||||
|     /* forced key frames */ | ||||
|     int64_t *forced_kf_pts; | ||||
|   | ||||
| @@ -1203,7 +1203,7 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc, in | ||||
|                 av_log(NULL, AV_LOG_FATAL, "Invalid aspect ratio: %s\n", frame_aspect_ratio); | ||||
|                 exit(1); | ||||
|             } | ||||
|             ost->frame_aspect_ratio = av_q2d(q); | ||||
|             ost->frame_aspect_ratio = q; | ||||
|         } | ||||
|  | ||||
|         video_enc->bits_per_raw_sample = frame_bits_per_raw_sample; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user