Сбой кодировщика AVIF при повторном использовании кодера/изображенияC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Сбой кодировщика AVIF при повторном использовании кодера/изображения

Сообщение Anonymous »

Невозможно ли повторно использовать кодировщик/изображение при кодировании avif?
Когда я пытаюсь закодировать новое изображение с помощью того же кодировщика, происходит сбой в результате = avifEncoderWrite(encoder, image , &avifOutput);
с ошибкой: AVIF_RESULT_ENCODE_COLOR_FAILED
avifEncoder* encoder = nullptr;
avifImage* image = nullptr;
avifRGBImage avifRgb = {};
avifRWData avifOutput = AVIF_DATA_EMPTY;

void initializeAVIF()
{
encoder = avifEncoderCreate();
if (!encoder)
{
std::cerr speed = 10; // Fastest encoding (0 = slowest/best, 10 = fastest)
encoder->minQuantizer = 30; // Higher = more compression/lower quality
encoder->maxQuantizer = 30; // Keep both quantizers equal for consistent quality

image = avifImageCreate(width, height, 8, AVIF_PIXEL_FORMAT_YUV444);
if (!image)
{
std::cerr transferCharacteristics = AVIF_TRANSFER_CHARACTERISTICS_SRGB;
image->matrixCoefficients = AVIF_MATRIX_COEFFICIENTS_BT601;

// Set up RGB image
avifRGBImageSetDefaults(&avifRgb, image);
avifRgb.format = AVIF_RGB_FORMAT_RGB;
avifRgb.depth = 8;
avifRgb.pixels = Scan0;
avifRgb.rowBytes = stride;

// Update RGB to YUV conversion
auto result = avifImageRGBToYUV(image, &avifRgb);
if (result != AVIF_RESULT_OK)
{
std::cerr

Подробнее здесь: https://stackoverflow.com/questions/793 ... oder-image
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»