[FFmpeg-devel] [PATCH] lavc/hevc: rudimentary support for skip_loop_filter.
Nicolas George
george at nsup.org
Thu Jul 23 12:33:37 CEST 2015
All frames are treated as ref frames, skipping only applies
at level "all".
+~9% speed on Core i5 on test sample.
Signed-off-by: Nicolas George <george at nsup.org>
---
libavcodec/hevc_filter.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
I have a few clips that an Atom struggles to decode in real time. I am way
out of my depth, but I thought I could give it a try. I could not see the
differences with the naked eye.
If someone knows how to know what frames are ref, B, etc...
diff --git a/libavcodec/hevc_filter.c b/libavcodec/hevc_filter.c
index 45cb823..cc3aa8e 100644
--- a/libavcodec/hevc_filter.c
+++ b/libavcodec/hevc_filter.c
@@ -843,7 +843,8 @@ void ff_hevc_deblocking_boundary_strengths(HEVCContext *s, int x0, int y0,
void ff_hevc_hls_filter(HEVCContext *s, int x, int y, int ctb_size)
{
int x_end = x >= s->ps.sps->width - ctb_size;
- deblocking_filter_CTB(s, x, y);
+ if (s->avctx->skip_loop_filter < AVDISCARD_ALL)
+ deblocking_filter_CTB(s, x, y);
if (s->ps.sps->sao_enabled) {
int y_end = y >= s->ps.sps->height - ctb_size;
if (y && x)
--
2.1.4
More information about the ffmpeg-devel
mailing list