Для каждого макроблока, кодирующегося в libx264

#video-encoding #x264 #libx264

#кодирование видео #x264 #libx264

Вопрос:

Я знаю, что в кодировке x264 процесс продолжается с единицей макроблока. Однако возможно ли установить параметры для каждого макроблока? Например, если я хочу, чтобы QP какой-то конкретной области был меньше, чем у других. Возможно ли это? Если мне нужно изменить функции и API в libx264, с чего мне следует начать?

Ответ №1:

Если единственное, что вы хотите изменить для каждого макроблока, это QP, то да, это возможно. И нет, вам не нужно изменять libx264 API для этого. Для таких вещей, как рентабельность инвестиций (область интереса), в поле quant_offsets в структуре x264_image_properties_t есть quant_offsets (реквизит в структуре x264_picture_t из pic_in для вызова x264_encoder_encode). Подробнее о том, как ее использовать, вы можете прочитать в комментариях к x264.h