/* There are no YUV formats with different bit depth per component,
* so just check both against the first component for simplicity */
bit_depth_luma = bit_depth_chroma = desc->comp[0].depth;
for (int i = 0; i < frame->nb_side_data; i++) { if (frame->side_data[i]->type != AV_FRAME_DATA_FILM_GRAIN_PARAMS) continue;
fgp = (const AVFilmGrainParams*)frame->side_data[i]->data; if (fgp->width && fgp->width > frame->width ||
fgp->height && fgp->height > frame->height) continue;
switch (fgp->type) { case AV_FILM_GRAIN_PARAMS_NONE: continue; case AV_FILM_GRAIN_PARAMS_AV1: /* AOM FGS needs an exact match for the chroma resolution */ if (fgp->subsampling_x != desc->log2_chroma_w ||
fgp->subsampling_y != desc->log2_chroma_h) continue; break; case AV_FILM_GRAIN_PARAMS_H274: /* H.274 FGS can be adapted to any lower chroma resolution */ if (fgp->subsampling_x > desc->log2_chroma_w ||
fgp->subsampling_y > desc->log2_chroma_h) continue; break;
}
if (!best || best->width < fgp->width || best->height < fgp->height)
best = fgp;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.