summaryrefslogtreecommitdiff
path: root/libavcodec/hevc_filter.c
diff options
context:
space:
mode:
authorNicolas George <george@nsup.org>2015-07-23 12:10:14 +0200
committerNicolas George <george@nsup.org>2015-07-23 16:26:14 +0200
commit52c75d486ed5f75cbb79e5dbd07b7aef24f3071f (patch)
treecc678393efc953949a7fe390153141919e24a394 /libavcodec/hevc_filter.c
parent744051a57ad561a3a59bf0e89c56b67dabbd8692 (diff)
lavc/hevc: rudimentary support for skip_loop_filter.
+~9% speed on Core i5 on test sample. All frames are treated as ref frames, skipping only applies at level "all". The following mail contains information on how to improve that: http://ffmpeg.org/pipermail/ffmpeg-devel/2015-July/176116.html
Diffstat (limited to 'libavcodec/hevc_filter.c')
-rw-r--r--libavcodec/hevc_filter.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/hevc_filter.c b/libavcodec/hevc_filter.c
index 45cb823d6e..cc3aa8ee63 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)