LINUX.ORG.RU

История изменений

Исправление i-rinat, (текущая версия) :

а теперь вопрос знатокам: что vaapi знает про этот постпроцессинг? а нихрена оно не знает

Знает, знает.

va_vpp.h

 * The video processing API uses the same paradigm as for decoding:
 * - Query for supported filters;
 * - Set up a video processing pipeline;
 * - Send video processing parameters through VA buffers.
 *
 * \section api_vpp_caps Query for supported filters
 *
 * Checking whether video processing is supported can be performed
 * with vaQueryConfigEntrypoints() and the profile argument set to
 * #VAProfileNone. If video processing is supported, then the list of
 * returned entry-points will include #VAEntrypointVideoProc.
 *
 * \code
 * VAEntrypoint *entrypoints;
 * int i, num_entrypoints, supportsVideoProcessing = 0;
 *
 * num_entrypoints = vaMaxNumEntrypoints();
 * entrypoints = malloc(num_entrypoints * sizeof(entrypoints[0]);
 * vaQueryConfigEntrypoints(va_dpy, VAProfileNone,
 *     entrypoints, &num_entrypoints);
 *
 * for (i = 0; !supportsVideoProcessing && i < num_entrypoints; i++) {
 *     if (entrypoints[i] == VAEntrypointVideoProc)
 *         supportsVideoProcessing = 1;
 * }
 * \endcode

Это из ветки staging. Если не нравится — в VDPAU постпроцессинг есть. Там большая часть — это постпроцессинг.

получить из yuvного выхлопа текстуру нельзя, охрененный геморрой

Не знаю, про VAAPI ли ты тут, или про XvBA, но в VAAPI поверхность в текстуру перевести можно (vaCopySurfaceGLX).

Исходная версия i-rinat, :

а теперь вопрос знатокам: что vaapi знает про этот постпроцессинг? а нихрена оно не знает

Знает, знает.

va_vpp.h

 * The video processing API uses the same paradigm as for decoding:
 * - Query for supported filters;
 * - Set up a video processing pipeline;
 * - Send video processing parameters through VA buffers.
 *
 * \section api_vpp_caps Query for supported filters
 *
 * Checking whether video processing is supported can be performed
 * with vaQueryConfigEntrypoints() and the profile argument set to
 * #VAProfileNone. If video processing is supported, then the list of
 * returned entry-points will include #VAEntrypointVideoProc.
 *
 * \code
 * VAEntrypoint *entrypoints;
 * int i, num_entrypoints, supportsVideoProcessing = 0;
 *
 * num_entrypoints = vaMaxNumEntrypoints();
 * entrypoints = malloc(num_entrypoints * sizeof(entrypoints[0]);
 * vaQueryConfigEntrypoints(va_dpy, VAProfileNone,
 *     entrypoints, &num_entrypoints);
 *
 * for (i = 0; !supportsVideoProcessing && i < num_entrypoints; i++) {
 *     if (entrypoints[i] == VAEntrypointVideoProc)
 *         supportsVideoProcessing = 1;
 * }
 * \endcode

Это из ветки staging. Если не нравится — в VDPAU постпроцессинг есть. Там большая часть — это постпроцессинг.

получить из yuvного выхлопа текстуру нельзя, охрененный геморрой

Не знаю, про VAAPI ли ты тут, или про XvBA, но в VAAPI поверхность в текстуру перевести можно.