summaryrefslogtreecommitdiff
path: root/libavfilter/yadif_common.c
Commit message (Collapse)AuthorAgeFilesLines
* avfilter/ccfifo: remove unnecessary context allocationsJames Almer2023-05-121-3/+3
| | | | | | | This is not public API, no it has no need for an alloc() and free() functions. The struct can reside on stack. Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/yadif: Properly preserve CEA-708 closed captionsDevin Heitmueller2023-05-111-0/+5
| | | | | | | | | | | | | Various deinterlacing modes have the effect of doubling the framerate, and we need to ensure that the caption data isn't duplicated (or else you get double captions on-screen). Use the new ccfifo mechanism for yadif (and yadif_cuda and bwdif since they use the same yadif core) so that CEA-708 data is properly preserved through this filter. Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avutil/frame: deprecate interlaced_frame and top_field_firstJames Almer2023-05-041-0/+8
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter: use the new AVFrame interlace flags in all filtersJames Almer2023-05-041-5/+7
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* Revert "avfilter/yadif: simplify the code for better readability"Limin Wang2020-08-271-1/+1
| | | | This reverts commit 2a9b934675b9e2d3850b46f8a618c19b03f02551.
* avfilter/yadif: simplify the code for better readabilityLimin Wang2020-08-261-1/+1
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/yadif_common: Add field type tracking to help bwdifPhilip Langdale2018-11-141-3/+9
| | | | | | | | The bwdif filter can use common yadif frame management if we track when a field is the first or last field in a sequence. While this information is not used by yadif, the added benefit of removing the duplicated frame management logic makes it worth tracking this state in the common code.
* libavfilter/vf_yadif: Make frame management logic and options shareablePhilip Langdale2018-11-021-0/+209
I'm writing a cuda implementation of yadif, and while this obviously has a very different implementation of the actual filtering, all the frame management is unchanged. To avoid duplicating that logic, let's make it shareable. From the perspective of the existing filter, the only real change is introducing a function pointer for the filter() function so it can be specified for the specific filter.