diff options
author | sfan5 <sfan5@live.de> | 2017-12-07 20:37:48 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2017-12-08 20:02:16 +0100 |
commit | a428f2fcd95906cdfca1eff574369fb32169317e (patch) | |
tree | ae2c56f864cee8be45a02c28a81d5d3316a7d4ce /libavcodec/hevc_filter.c | |
parent | 2fdc9f7c4939f83a6c9d1f9d85b6d37ce0bab714 (diff) | |
download | ffmpeg-a428f2fcd95906cdfca1eff574369fb32169317e.tar.gz |
libavcodec/hevc_filter: move AVDISCARD_NONREF switch-case into function
In preparation for implementation of skip_frame.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/hevc_filter.c')
-rw-r--r-- | libavcodec/hevc_filter.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/libavcodec/hevc_filter.c b/libavcodec/hevc_filter.c index 94fb7cd3d1..6b9824088c 100644 --- a/libavcodec/hevc_filter.c +++ b/libavcodec/hevc_filter.c @@ -842,29 +842,15 @@ 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; - int skip = 0, is_n = 0; - switch (s->nal_unit_type) { - case HEVC_NAL_TRAIL_N: - case HEVC_NAL_TSA_N: - case HEVC_NAL_STSA_N: - case HEVC_NAL_RADL_N: - case HEVC_NAL_RASL_N: - case HEVC_NAL_VCL_N10: - case HEVC_NAL_VCL_N12: - case HEVC_NAL_VCL_N14: - case HEVC_NAL_BLA_N_LP: - case HEVC_NAL_IDR_N_LP: - is_n = 1; - break; - default: break; - } + int skip = 0; if (s->avctx->skip_loop_filter >= AVDISCARD_ALL || (s->avctx->skip_loop_filter >= AVDISCARD_NONKEY && !IS_IDR(s)) || (s->avctx->skip_loop_filter >= AVDISCARD_NONINTRA && s->sh.slice_type != HEVC_SLICE_I) || (s->avctx->skip_loop_filter >= AVDISCARD_BIDIR && s->sh.slice_type == HEVC_SLICE_B) || - (s->avctx->skip_loop_filter >= AVDISCARD_NONREF && is_n)) + (s->avctx->skip_loop_filter >= AVDISCARD_NONREF && + ff_hevc_nal_is_nonref(s->nal_unit_type))) skip = 1; if (!skip) |