Commit 52c75d48 authored by Nicolas George's avatar 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
parent 744051a5
...@@ -25,6 +25,13 @@ enabled decoders. ...@@ -25,6 +25,13 @@ enabled decoders.
A description of some of the currently available video decoders A description of some of the currently available video decoders
follows. follows.
@section hevc
HEVC / H.265 decoder.
Note: the @option{skip_loop_filter} option has effect only at level
@code{all}.
@section rawvideo @section rawvideo
Raw video decoder. Raw video decoder.
......
...@@ -843,7 +843,8 @@ void ff_hevc_deblocking_boundary_strengths(HEVCContext *s, int x0, int y0, ...@@ -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) void ff_hevc_hls_filter(HEVCContext *s, int x, int y, int ctb_size)
{ {
int x_end = x >= s->ps.sps->width - 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) { if (s->ps.sps->sao_enabled) {
int y_end = y >= s->ps.sps->height - ctb_size; int y_end = y >= s->ps.sps->height - ctb_size;
if (y && x) if (y && x)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment