SWSCALE COLOR ESPACIO CONVERTIR FRAMES INTERLADOS?
-
13-12-2019 - |
Pregunta
Estoy escribiendo una aplicación que exporta el video que he capturado (PAL SDI). El espacio de color original es Uyvy (4: 2: 2). Cuando convierta los marcos con SWSCALE a 4: 2: 0 y codifique con AVCODEC, obtenga el sangrado de color entre los campos. Sospecho que esto es de SWSCALE, sin ser consciente del marco que se está entrelazado. Aquí hay un ejemplo de una parte de un marco bob-deinterlicado de mi video exportado que muestra uno de los campos:
Como puede ver, el color sangra del otro campo. ¿Cómo sigo sucediendo esto? He mirado la biblioteca y traté de encontrar algo en Swscale que le dice que respete los campos, pero no he encontrado nada.
Al almacenamiento de cada campo en buffers separados, para que pueda procesar los campos individualmente de la mano si eso lo ayudaría.
Agradecido por cualquier ayuda en esto!
Saludos Carl
Editar: Básicamente, lo que quiero es emitir PAL DV. Sospecho que SWSCALE es capaz de producir de alguna manera este tipo de entrelazado 420, ya que FFMPEG (la aplicación) puede manejar esto (creo).
Solución
La respuesta es hacer dos operaciones de SWSCALE, una para cada campo.Puede engañar a SWSCALE para usar el mismo búfer especificando la mitad de la altura con doble paso y luego compensando la segunda operación por una línea.
Finalmente recibí la respuesta de la lista de usuarios de Libav.El código de ejemplo se puede encontrar en MPlayer / libmpcodecs / vf_scale.c y libavfilter / vf_scale.c