avcodec/videotoolboxenc: log when get_cv_pixel_format failed

Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
pull/388/head
Zhao Zhili 2 years ago
parent 52eb2396d7
commit 5ab429d8df
  1. 23
      libavcodec/videotoolboxenc.c

@ -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) {

Loading…
Cancel
Save