LCOV - code coverage report
Current view: top level - libavcodec - h264chroma.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 6 6 100.0 %
Date: 2017-12-16 13:57:32 Functions: 1 1 100.0 %

          Line data    Source code
       1             : /*
       2             :  * This file is part of FFmpeg.
       3             :  *
       4             :  * FFmpeg is free software; you can redistribute it and/or
       5             :  * modify it under the terms of the GNU Lesser General Public
       6             :  * License as published by the Free Software Foundation; either
       7             :  * version 2.1 of the License, or (at your option) any later version.
       8             :  *
       9             :  * FFmpeg is distributed in the hope that it will be useful,
      10             :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      11             :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      12             :  * Lesser General Public License for more details.
      13             :  *
      14             :  * You should have received a copy of the GNU Lesser General Public
      15             :  * License along with FFmpeg; if not, write to the Free Software
      16             :  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
      17             :  */
      18             : 
      19             : #include "config.h"
      20             : #include "libavutil/attributes.h"
      21             : #include "h264chroma.h"
      22             : 
      23             : #define BIT_DEPTH 8
      24             : #include "h264chroma_template.c"
      25             : #undef BIT_DEPTH
      26             : 
      27             : #define BIT_DEPTH 16
      28             : #include "h264chroma_template.c"
      29             : #undef BIT_DEPTH
      30             : 
      31             : #define SET_CHROMA(depth)                                                   \
      32             :     c->put_h264_chroma_pixels_tab[0] = put_h264_chroma_mc8_ ## depth ## _c; \
      33             :     c->put_h264_chroma_pixels_tab[1] = put_h264_chroma_mc4_ ## depth ## _c; \
      34             :     c->put_h264_chroma_pixels_tab[2] = put_h264_chroma_mc2_ ## depth ## _c; \
      35             :     c->put_h264_chroma_pixels_tab[3] = put_h264_chroma_mc1_ ## depth ## _c; \
      36             :     c->avg_h264_chroma_pixels_tab[0] = avg_h264_chroma_mc8_ ## depth ## _c; \
      37             :     c->avg_h264_chroma_pixels_tab[1] = avg_h264_chroma_mc4_ ## depth ## _c; \
      38             :     c->avg_h264_chroma_pixels_tab[2] = avg_h264_chroma_mc2_ ## depth ## _c; \
      39             :     c->avg_h264_chroma_pixels_tab[3] = avg_h264_chroma_mc1_ ## depth ## _c; \
      40             : 
      41        1285 : av_cold void ff_h264chroma_init(H264ChromaContext *c, int bit_depth)
      42             : {
      43        1285 :     if (bit_depth > 8 && bit_depth <= 16) {
      44          42 :         SET_CHROMA(16);
      45             :     } else {
      46        1243 :         SET_CHROMA(8);
      47             :     }
      48             : 
      49             :     if (ARCH_AARCH64)
      50             :         ff_h264chroma_init_aarch64(c, bit_depth);
      51             :     if (ARCH_ARM)
      52             :         ff_h264chroma_init_arm(c, bit_depth);
      53             :     if (ARCH_PPC)
      54             :         ff_h264chroma_init_ppc(c, bit_depth);
      55             :     if (ARCH_X86)
      56        1285 :         ff_h264chroma_init_x86(c, bit_depth);
      57             :     if (ARCH_MIPS)
      58             :         ff_h264chroma_init_mips(c, bit_depth);
      59        1285 : }

Generated by: LCOV version 1.13