@@ -847,13 +847,22 @@ static int get_cv_pixel_format(AVCodecContext* avctx,
int* av_pixel_format,
int* range_guessed)
{
+ const char *range_name;
if (range_guessed) *range_guessed = range != AVCOL_RANGE_MPEG &&
range != AVCOL_RANGE_JPEG;
//MPEG range is used when no range is set
*av_pixel_format = av_map_videotoolbox_format_from_pixfmt2(fmt, range == AVCOL_RANGE_JPEG);
+ if (*av_pixel_format)
+ return 0;
+
+ range_name = av_color_range_name(range);
+ av_log(avctx, AV_LOG_ERROR,
+ "Could not get pixel format for color format '%s' range '%s'.\n",
+ av_get_pix_fmt_name(fmt),
+ range_name ? range_name : "Unknown");
- return *av_pixel_format ? 0 : AVERROR(EINVAL);
+ return AVERROR(EINVAL);
}
static void add_color_attr(AVCodecContext *avctx, CFMutableDictionaryRef dict) {
@@ -2146,18 +2155,8 @@ static int get_cv_pixel_info(
return AVERROR(EINVAL);
status = get_cv_pixel_format(avctx, av_format, av_color_range, color, &range_guessed);
- if (status) {
- av_log(avctx,
- AV_LOG_ERROR,
- "Could not get pixel format for color format '%s' range '%s'.\n",
- av_get_pix_fmt_name(av_format),
- av_color_range > AVCOL_RANGE_UNSPECIFIED &&
- av_color_range < AVCOL_RANGE_NB ?
- av_color_range_name(av_color_range) :
- "Unknown");
-
+ if (status)
return AVERROR(EINVAL);
- }
if (range_guessed) {
if (!vtctx->warned_color_range) {