| 
																	
																	
																		
																	
																	
																 | 
																@@ -1525,6 +1525,31 @@ static int matroska_parse_flac(AVFormatContext *s, | 
															
														
														
													
														
															
																 | 
																 | 
																    return 0; | 
																 | 
																 | 
																    return 0; | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																static void mkv_stereo_mode_display_mul(int stereo_mode, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                                        int *h_width, int *h_height) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    switch (stereo_mode) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_MONO: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_CHECKERBOARD_RL: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_CHECKERBOARD_LR: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_BOTH_EYES_BLOCK_RL: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_BOTH_EYES_BLOCK_LR: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_RIGHT_LEFT: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_LEFT_RIGHT: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_COL_INTERLEAVED_RL: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_COL_INTERLEAVED_LR: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        *h_width = 2; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_BOTTOM_TOP: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_TOP_BOTTOM: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_ROW_INTERLEAVED_RL: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case MATROSKA_VIDEO_STEREOMODE_TYPE_ROW_INTERLEAVED_LR: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        *h_height = 2; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																static int matroska_parse_tracks(AVFormatContext *s) | 
																 | 
																 | 
																static int matroska_parse_tracks(AVFormatContext *s) | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																    MatroskaDemuxContext *matroska = s->priv_data; | 
																 | 
																 | 
																    MatroskaDemuxContext *matroska = s->priv_data; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -1810,14 +1835,21 @@ static int matroska_parse_tracks(AVFormatContext *s) | 
															
														
														
													
														
															
																 | 
																 | 
																        } | 
																 | 
																 | 
																        } | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																        if (track->type == MATROSKA_TRACK_TYPE_VIDEO) { | 
																 | 
																 | 
																        if (track->type == MATROSKA_TRACK_TYPE_VIDEO) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            int display_width_mul  = 1; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            int display_height_mul = 1; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																            st->codec->codec_type = AVMEDIA_TYPE_VIDEO; | 
																 | 
																 | 
																            st->codec->codec_type = AVMEDIA_TYPE_VIDEO; | 
															
														
														
													
														
															
																 | 
																 | 
																            st->codec->codec_tag  = track->video.fourcc; | 
																 | 
																 | 
																            st->codec->codec_tag  = track->video.fourcc; | 
															
														
														
													
														
															
																 | 
																 | 
																            st->codec->width      = track->video.pixel_width; | 
																 | 
																 | 
																            st->codec->width      = track->video.pixel_width; | 
															
														
														
													
														
															
																 | 
																 | 
																            st->codec->height     = track->video.pixel_height; | 
																 | 
																 | 
																            st->codec->height     = track->video.pixel_height; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            if (track->video.stereo_mode && track->video.stereo_mode < MATROSKA_VIDEO_STEREOMODE_TYPE_NB) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                mkv_stereo_mode_display_mul(track->video.stereo_mode, &display_width_mul, &display_height_mul); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																            av_reduce(&st->sample_aspect_ratio.num, | 
																 | 
																 | 
																            av_reduce(&st->sample_aspect_ratio.num, | 
															
														
														
													
														
															
																 | 
																 | 
																                      &st->sample_aspect_ratio.den, | 
																 | 
																 | 
																                      &st->sample_aspect_ratio.den, | 
															
														
														
													
														
															
																 | 
																 | 
																                      st->codec->height * track->video.display_width, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																                      st->codec->width  * track->video.display_height, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                      st->codec->height * track->video.display_width  * display_width_mul, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                      st->codec->width  * track->video.display_height * display_height_mul, | 
															
														
														
													
														
															
																 | 
																 | 
																                      255); | 
																 | 
																 | 
																                      255); | 
															
														
														
													
														
															
																 | 
																 | 
																            if (st->codec->codec_id != AV_CODEC_ID_H264 && | 
																 | 
																 | 
																            if (st->codec->codec_id != AV_CODEC_ID_H264 && | 
															
														
														
													
														
															
																 | 
																 | 
																                st->codec->codec_id != AV_CODEC_ID_HEVC) | 
																 | 
																 | 
																                st->codec->codec_id != AV_CODEC_ID_HEVC) | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																	
																 | 
																
  |