[FFmpeg-cvslog] lavc/hevc: rudimentary support for skip_loop_filter.
Nicolas George
git at videolan.org
Thu Jul 23 16:51:12 CEST 2015
ffmpeg | branch: master | Nicolas George <george at nsup.org> | Thu Jul 23 12:10:14 2015 +0200| [52c75d486ed5f75cbb79e5dbd07b7aef24f3071f] | committer: Nicolas George
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
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=52c75d486ed5f75cbb79e5dbd07b7aef24f3071f
---
doc/decoders.texi | 7 +++++++
libavcodec/hevc_filter.c | 3 ++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/doc/decoders.texi b/doc/decoders.texi
index 2fb533a..2a73cc6 100644
--- a/doc/decoders.texi
+++ b/doc/decoders.texi
@@ -25,6 +25,13 @@ enabled decoders.
A description of some of the currently available video decoders
follows.
+ at section hevc
+
+HEVC / H.265 decoder.
+
+Note: the @option{skip_loop_filter} option has effect only at level
+ at code{all}.
+
@section rawvideo
Raw video decoder.
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)
More information about the ffmpeg-cvslog
mailing list