| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 
							- #pragma once
 
- static inline int64_t rescale_ts(int64_t val, AVCodecContext *context,
 
- 		AVRational new_base)
 
- {
 
- 	return av_rescale_q_rnd(val, context->time_base, new_base,
 
- 			AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX);
 
- }
 
- static inline enum AVPixelFormat obs_to_ffmpeg_video_format(
 
- 		enum video_format format)
 
- {
 
- 	switch (format) {
 
- 	case VIDEO_FORMAT_NONE: return AV_PIX_FMT_NONE;
 
- 	case VIDEO_FORMAT_I420: return AV_PIX_FMT_YUV420P;
 
- 	case VIDEO_FORMAT_NV12: return AV_PIX_FMT_NV12;
 
- 	case VIDEO_FORMAT_YVYU: return AV_PIX_FMT_NONE;
 
- 	case VIDEO_FORMAT_YUY2: return AV_PIX_FMT_YUYV422;
 
- 	case VIDEO_FORMAT_UYVY: return AV_PIX_FMT_UYVY422;
 
- 	case VIDEO_FORMAT_RGBA: return AV_PIX_FMT_RGBA;
 
- 	case VIDEO_FORMAT_BGRA: return AV_PIX_FMT_BGRA;
 
- 	case VIDEO_FORMAT_BGRX: return AV_PIX_FMT_BGRA;
 
- 	}
 
- 	return AV_PIX_FMT_NONE;
 
- }
 
- static inline enum audio_format convert_ffmpeg_sample_format(
 
- 		enum AVSampleFormat format)
 
- {
 
- 	switch ((uint32_t)format) {
 
- 	case AV_SAMPLE_FMT_U8:   return AUDIO_FORMAT_U8BIT;
 
- 	case AV_SAMPLE_FMT_S16:  return AUDIO_FORMAT_16BIT;
 
- 	case AV_SAMPLE_FMT_S32:  return AUDIO_FORMAT_32BIT;
 
- 	case AV_SAMPLE_FMT_FLT:  return AUDIO_FORMAT_FLOAT;
 
- 	case AV_SAMPLE_FMT_U8P:  return AUDIO_FORMAT_U8BIT_PLANAR;
 
- 	case AV_SAMPLE_FMT_S16P: return AUDIO_FORMAT_16BIT_PLANAR;
 
- 	case AV_SAMPLE_FMT_S32P: return AUDIO_FORMAT_32BIT_PLANAR;
 
- 	case AV_SAMPLE_FMT_FLTP: return AUDIO_FORMAT_FLOAT_PLANAR;
 
- 	}
 
- 	/* shouldn't get here */
 
- 	return AUDIO_FORMAT_16BIT;
 
- }
 
 
  |