Coverage Report

Created: 2026-01-25 07:18

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/ffmpeg/libavutil/intfloat.h
Line
Count
Source
1
/*
2
 * Copyright (c) 2011 Mans Rullgard
3
 *
4
 * This file is part of FFmpeg.
5
 *
6
 * FFmpeg is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU Lesser General Public
8
 * License as published by the Free Software Foundation; either
9
 * version 2.1 of the License, or (at your option) any later version.
10
 *
11
 * FFmpeg is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
 * Lesser General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU Lesser General Public
17
 * License along with FFmpeg; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
 */
20
21
#ifndef AVUTIL_INTFLOAT_H
22
#define AVUTIL_INTFLOAT_H
23
24
#include <stdint.h>
25
#include "attributes.h"
26
27
union av_intfloat32 {
28
    uint32_t i;
29
    float    f;
30
};
31
32
union av_intfloat64 {
33
    uint64_t i;
34
    double   f;
35
};
36
37
/**
38
 * Reinterpret a 32-bit integer as a float.
39
 */
40
static av_always_inline float av_int2float(uint32_t i)
41
0
{
42
0
    union av_intfloat32 v;
43
0
    v.i = i;
44
0
    return v.f;
45
0
}
Unexecuted instantiation: avfiltergraph.c:av_int2float
Unexecuted instantiation: buffersink.c:av_int2float
Unexecuted instantiation: buffersrc.c:av_int2float
Unexecuted instantiation: formats.c:av_int2float
Unexecuted instantiation: framequeue.c:av_int2float
Unexecuted instantiation: graphparser.c:av_int2float
Unexecuted instantiation: pthread.c:av_int2float
Unexecuted instantiation: video.c:av_int2float
Unexecuted instantiation: allfilters.c:av_int2float
Unexecuted instantiation: avfilter.c:av_int2float
Unexecuted instantiation: framepool.c:av_int2float
Unexecuted instantiation: audio.c:av_int2float
Unexecuted instantiation: swscale.c:av_int2float
Unexecuted instantiation: utils.c:av_int2float
Unexecuted instantiation: vscale.c:av_int2float
Unexecuted instantiation: hscale_fast_bilinear_simd.c:av_int2float
Unexecuted instantiation: yuv2rgb.c:av_int2float
Unexecuted instantiation: alphablend.c:av_int2float
Unexecuted instantiation: format.c:av_int2float
Unexecuted instantiation: graph.c:av_int2float
Unexecuted instantiation: hscale_fast_bilinear.c:av_int2float
Unexecuted instantiation: input.c:av_int2float
Unexecuted instantiation: lut3d.c:av_int2float
Unexecuted instantiation: ops.c:av_int2float
Unexecuted instantiation: ops_backend.c:av_int2float
Unexecuted instantiation: ops_chain.c:av_int2float
Unexecuted instantiation: ops_memcpy.c:av_int2float
Unexecuted instantiation: ops_optimizer.c:av_int2float
Unexecuted instantiation: options.c:av_int2float
Unexecuted instantiation: output.c:av_int2float
Unexecuted instantiation: rgb2rgb.c:av_int2float
Unexecuted instantiation: slice.c:av_int2float
Unexecuted instantiation: swscale_unscaled.c:av_int2float
Unexecuted instantiation: cms.c:av_int2float
Unexecuted instantiation: csputils.c:av_int2float
Unexecuted instantiation: gamma.c:av_int2float
Unexecuted instantiation: hscale.c:av_int2float
Unexecuted instantiation: avformat.c:av_int2float
Unexecuted instantiation: demux.c:av_int2float
Unexecuted instantiation: demux_utils.c:av_int2float
Unexecuted instantiation: id3v2.c:av_int2float
Unexecuted instantiation: metadata.c:av_int2float
Unexecuted instantiation: seek.c:av_int2float
Unexecuted instantiation: allformats.c:av_int2float
Unexecuted instantiation: avio.c:av_int2float
Unexecuted instantiation: aviobuf.c:av_int2float
Unexecuted instantiation: id3v1.c:av_int2float
Unexecuted instantiation: network.c:av_int2float
Unexecuted instantiation: os_support.c:av_int2float
Unexecuted instantiation: allcodecs.c:av_int2float
Unexecuted instantiation: avcodec.c:av_int2float
Unexecuted instantiation: bitstream_filters.c:av_int2float
Unexecuted instantiation: bsf.c:av_int2float
Unexecuted instantiation: codec_desc.c:av_int2float
Unexecuted instantiation: codec_par.c:av_int2float
Unexecuted instantiation: decode.c:av_int2float
Unexecuted instantiation: encode.c:av_int2float
Unexecuted instantiation: exif.c:av_int2float
Unexecuted instantiation: get_buffer.c:av_int2float
Unexecuted instantiation: packet.c:av_int2float
Unexecuted instantiation: parser.c:av_int2float
Unexecuted instantiation: parsers.c:av_int2float
Unexecuted instantiation: profiles.c:av_int2float
Unexecuted instantiation: pthread_frame.c:av_int2float
Unexecuted instantiation: pthread_slice.c:av_int2float
Unexecuted instantiation: raw.c:av_int2float
Unexecuted instantiation: threadprogress.c:av_int2float
Unexecuted instantiation: tiff_common.c:av_int2float
Unexecuted instantiation: to_upper4.c:av_int2float
Unexecuted instantiation: buffer.c:av_int2float
Unexecuted instantiation: channel_layout.c:av_int2float
Unexecuted instantiation: container_fifo.c:av_int2float
Unexecuted instantiation: cpu.c:av_int2float
Unexecuted instantiation: display.c:av_int2float
Unexecuted instantiation: eval.c:av_int2float
Unexecuted instantiation: frame.c:av_int2float
Unexecuted instantiation: hwcontext.c:av_int2float
Unexecuted instantiation: iamf.c:av_int2float
Unexecuted instantiation: imgutils.c:av_int2float
Unexecuted instantiation: log.c:av_int2float
Unexecuted instantiation: mastering_display_metadata.c:av_int2float
Unexecuted instantiation: mathematics.c:av_int2float
Unexecuted instantiation: mem.c:av_int2float
Unexecuted instantiation: opt.c:av_int2float
Unexecuted instantiation: parseutils.c:av_int2float
Unexecuted instantiation: pixdesc.c:av_int2float
Unexecuted instantiation: random_seed.c:av_int2float
Unexecuted instantiation: rational.c:av_int2float
Unexecuted instantiation: side_data.c:av_int2float
Unexecuted instantiation: slicethread.c:av_int2float
Unexecuted instantiation: timestamp.c:av_int2float
Unexecuted instantiation: half2float.c:av_int2float
Unexecuted instantiation: avsscanf.c:av_int2float
Unexecuted instantiation: file_open.c:av_int2float
46
47
/**
48
 * Reinterpret a float as a 32-bit integer.
49
 */
50
static av_always_inline uint32_t av_float2int(float f)
51
0
{
52
0
    union av_intfloat32 v;
53
0
    v.f = f;
54
0
    return v.i;
55
0
}
Unexecuted instantiation: avfiltergraph.c:av_float2int
Unexecuted instantiation: buffersink.c:av_float2int
Unexecuted instantiation: buffersrc.c:av_float2int
Unexecuted instantiation: formats.c:av_float2int
Unexecuted instantiation: framequeue.c:av_float2int
Unexecuted instantiation: graphparser.c:av_float2int
Unexecuted instantiation: pthread.c:av_float2int
Unexecuted instantiation: video.c:av_float2int
Unexecuted instantiation: allfilters.c:av_float2int
Unexecuted instantiation: avfilter.c:av_float2int
Unexecuted instantiation: framepool.c:av_float2int
Unexecuted instantiation: audio.c:av_float2int
Unexecuted instantiation: swscale.c:av_float2int
Unexecuted instantiation: utils.c:av_float2int
Unexecuted instantiation: vscale.c:av_float2int
Unexecuted instantiation: hscale_fast_bilinear_simd.c:av_float2int
Unexecuted instantiation: yuv2rgb.c:av_float2int
Unexecuted instantiation: alphablend.c:av_float2int
Unexecuted instantiation: format.c:av_float2int
Unexecuted instantiation: graph.c:av_float2int
Unexecuted instantiation: hscale_fast_bilinear.c:av_float2int
Unexecuted instantiation: input.c:av_float2int
Unexecuted instantiation: lut3d.c:av_float2int
Unexecuted instantiation: ops.c:av_float2int
Unexecuted instantiation: ops_backend.c:av_float2int
Unexecuted instantiation: ops_chain.c:av_float2int
Unexecuted instantiation: ops_memcpy.c:av_float2int
Unexecuted instantiation: ops_optimizer.c:av_float2int
Unexecuted instantiation: options.c:av_float2int
Unexecuted instantiation: output.c:av_float2int
Unexecuted instantiation: rgb2rgb.c:av_float2int
Unexecuted instantiation: slice.c:av_float2int
Unexecuted instantiation: swscale_unscaled.c:av_float2int
Unexecuted instantiation: cms.c:av_float2int
Unexecuted instantiation: csputils.c:av_float2int
Unexecuted instantiation: gamma.c:av_float2int
Unexecuted instantiation: hscale.c:av_float2int
Unexecuted instantiation: avformat.c:av_float2int
Unexecuted instantiation: demux.c:av_float2int
Unexecuted instantiation: demux_utils.c:av_float2int
Unexecuted instantiation: id3v2.c:av_float2int
Unexecuted instantiation: metadata.c:av_float2int
Unexecuted instantiation: seek.c:av_float2int
Unexecuted instantiation: allformats.c:av_float2int
Unexecuted instantiation: avio.c:av_float2int
Unexecuted instantiation: aviobuf.c:av_float2int
Unexecuted instantiation: id3v1.c:av_float2int
Unexecuted instantiation: network.c:av_float2int
Unexecuted instantiation: os_support.c:av_float2int
Unexecuted instantiation: allcodecs.c:av_float2int
Unexecuted instantiation: avcodec.c:av_float2int
Unexecuted instantiation: bitstream_filters.c:av_float2int
Unexecuted instantiation: bsf.c:av_float2int
Unexecuted instantiation: codec_desc.c:av_float2int
Unexecuted instantiation: codec_par.c:av_float2int
Unexecuted instantiation: decode.c:av_float2int
Unexecuted instantiation: encode.c:av_float2int
Unexecuted instantiation: exif.c:av_float2int
Unexecuted instantiation: get_buffer.c:av_float2int
Unexecuted instantiation: packet.c:av_float2int
Unexecuted instantiation: parser.c:av_float2int
Unexecuted instantiation: parsers.c:av_float2int
Unexecuted instantiation: profiles.c:av_float2int
Unexecuted instantiation: pthread_frame.c:av_float2int
Unexecuted instantiation: pthread_slice.c:av_float2int
Unexecuted instantiation: raw.c:av_float2int
Unexecuted instantiation: threadprogress.c:av_float2int
Unexecuted instantiation: tiff_common.c:av_float2int
Unexecuted instantiation: to_upper4.c:av_float2int
Unexecuted instantiation: buffer.c:av_float2int
Unexecuted instantiation: channel_layout.c:av_float2int
Unexecuted instantiation: container_fifo.c:av_float2int
Unexecuted instantiation: cpu.c:av_float2int
Unexecuted instantiation: display.c:av_float2int
Unexecuted instantiation: eval.c:av_float2int
Unexecuted instantiation: frame.c:av_float2int
Unexecuted instantiation: hwcontext.c:av_float2int
Unexecuted instantiation: iamf.c:av_float2int
Unexecuted instantiation: imgutils.c:av_float2int
Unexecuted instantiation: log.c:av_float2int
Unexecuted instantiation: mastering_display_metadata.c:av_float2int
Unexecuted instantiation: mathematics.c:av_float2int
Unexecuted instantiation: mem.c:av_float2int
Unexecuted instantiation: opt.c:av_float2int
Unexecuted instantiation: parseutils.c:av_float2int
Unexecuted instantiation: pixdesc.c:av_float2int
Unexecuted instantiation: random_seed.c:av_float2int
Unexecuted instantiation: rational.c:av_float2int
Unexecuted instantiation: side_data.c:av_float2int
Unexecuted instantiation: slicethread.c:av_float2int
Unexecuted instantiation: timestamp.c:av_float2int
Unexecuted instantiation: half2float.c:av_float2int
Unexecuted instantiation: avsscanf.c:av_float2int
Unexecuted instantiation: file_open.c:av_float2int
56
57
/**
58
 * Reinterpret a 64-bit integer as a double.
59
 */
60
static av_always_inline double av_int2double(uint64_t i)
61
0
{
62
0
    union av_intfloat64 v;
63
0
    v.i = i;
64
0
    return v.f;
65
0
}
Unexecuted instantiation: avfiltergraph.c:av_int2double
Unexecuted instantiation: buffersink.c:av_int2double
Unexecuted instantiation: buffersrc.c:av_int2double
Unexecuted instantiation: formats.c:av_int2double
Unexecuted instantiation: framequeue.c:av_int2double
Unexecuted instantiation: graphparser.c:av_int2double
Unexecuted instantiation: pthread.c:av_int2double
Unexecuted instantiation: video.c:av_int2double
Unexecuted instantiation: allfilters.c:av_int2double
Unexecuted instantiation: avfilter.c:av_int2double
Unexecuted instantiation: framepool.c:av_int2double
Unexecuted instantiation: audio.c:av_int2double
Unexecuted instantiation: swscale.c:av_int2double
Unexecuted instantiation: utils.c:av_int2double
Unexecuted instantiation: vscale.c:av_int2double
Unexecuted instantiation: hscale_fast_bilinear_simd.c:av_int2double
Unexecuted instantiation: yuv2rgb.c:av_int2double
Unexecuted instantiation: alphablend.c:av_int2double
Unexecuted instantiation: format.c:av_int2double
Unexecuted instantiation: graph.c:av_int2double
Unexecuted instantiation: hscale_fast_bilinear.c:av_int2double
Unexecuted instantiation: input.c:av_int2double
Unexecuted instantiation: lut3d.c:av_int2double
Unexecuted instantiation: ops.c:av_int2double
Unexecuted instantiation: ops_backend.c:av_int2double
Unexecuted instantiation: ops_chain.c:av_int2double
Unexecuted instantiation: ops_memcpy.c:av_int2double
Unexecuted instantiation: ops_optimizer.c:av_int2double
Unexecuted instantiation: options.c:av_int2double
Unexecuted instantiation: output.c:av_int2double
Unexecuted instantiation: rgb2rgb.c:av_int2double
Unexecuted instantiation: slice.c:av_int2double
Unexecuted instantiation: swscale_unscaled.c:av_int2double
Unexecuted instantiation: cms.c:av_int2double
Unexecuted instantiation: csputils.c:av_int2double
Unexecuted instantiation: gamma.c:av_int2double
Unexecuted instantiation: hscale.c:av_int2double
Unexecuted instantiation: avformat.c:av_int2double
Unexecuted instantiation: demux.c:av_int2double
Unexecuted instantiation: demux_utils.c:av_int2double
Unexecuted instantiation: id3v2.c:av_int2double
Unexecuted instantiation: metadata.c:av_int2double
Unexecuted instantiation: seek.c:av_int2double
Unexecuted instantiation: allformats.c:av_int2double
Unexecuted instantiation: avio.c:av_int2double
Unexecuted instantiation: aviobuf.c:av_int2double
Unexecuted instantiation: id3v1.c:av_int2double
Unexecuted instantiation: network.c:av_int2double
Unexecuted instantiation: os_support.c:av_int2double
Unexecuted instantiation: allcodecs.c:av_int2double
Unexecuted instantiation: avcodec.c:av_int2double
Unexecuted instantiation: bitstream_filters.c:av_int2double
Unexecuted instantiation: bsf.c:av_int2double
Unexecuted instantiation: codec_desc.c:av_int2double
Unexecuted instantiation: codec_par.c:av_int2double
Unexecuted instantiation: decode.c:av_int2double
Unexecuted instantiation: encode.c:av_int2double
Unexecuted instantiation: exif.c:av_int2double
Unexecuted instantiation: get_buffer.c:av_int2double
Unexecuted instantiation: packet.c:av_int2double
Unexecuted instantiation: parser.c:av_int2double
Unexecuted instantiation: parsers.c:av_int2double
Unexecuted instantiation: profiles.c:av_int2double
Unexecuted instantiation: pthread_frame.c:av_int2double
Unexecuted instantiation: pthread_slice.c:av_int2double
Unexecuted instantiation: raw.c:av_int2double
Unexecuted instantiation: threadprogress.c:av_int2double
Unexecuted instantiation: tiff_common.c:av_int2double
Unexecuted instantiation: to_upper4.c:av_int2double
Unexecuted instantiation: buffer.c:av_int2double
Unexecuted instantiation: channel_layout.c:av_int2double
Unexecuted instantiation: container_fifo.c:av_int2double
Unexecuted instantiation: cpu.c:av_int2double
Unexecuted instantiation: display.c:av_int2double
Unexecuted instantiation: eval.c:av_int2double
Unexecuted instantiation: frame.c:av_int2double
Unexecuted instantiation: hwcontext.c:av_int2double
Unexecuted instantiation: iamf.c:av_int2double
Unexecuted instantiation: imgutils.c:av_int2double
Unexecuted instantiation: log.c:av_int2double
Unexecuted instantiation: mastering_display_metadata.c:av_int2double
Unexecuted instantiation: mathematics.c:av_int2double
Unexecuted instantiation: mem.c:av_int2double
Unexecuted instantiation: opt.c:av_int2double
Unexecuted instantiation: parseutils.c:av_int2double
Unexecuted instantiation: pixdesc.c:av_int2double
Unexecuted instantiation: random_seed.c:av_int2double
Unexecuted instantiation: rational.c:av_int2double
Unexecuted instantiation: side_data.c:av_int2double
Unexecuted instantiation: slicethread.c:av_int2double
Unexecuted instantiation: timestamp.c:av_int2double
Unexecuted instantiation: half2float.c:av_int2double
Unexecuted instantiation: avsscanf.c:av_int2double
Unexecuted instantiation: file_open.c:av_int2double
66
67
/**
68
 * Reinterpret a double as a 64-bit integer.
69
 */
70
static av_always_inline uint64_t av_double2int(double f)
71
0
{
72
0
    union av_intfloat64 v;
73
0
    v.f = f;
74
0
    return v.i;
75
0
}
Unexecuted instantiation: avfiltergraph.c:av_double2int
Unexecuted instantiation: buffersink.c:av_double2int
Unexecuted instantiation: buffersrc.c:av_double2int
Unexecuted instantiation: formats.c:av_double2int
Unexecuted instantiation: framequeue.c:av_double2int
Unexecuted instantiation: graphparser.c:av_double2int
Unexecuted instantiation: pthread.c:av_double2int
Unexecuted instantiation: video.c:av_double2int
Unexecuted instantiation: allfilters.c:av_double2int
Unexecuted instantiation: avfilter.c:av_double2int
Unexecuted instantiation: framepool.c:av_double2int
Unexecuted instantiation: audio.c:av_double2int
Unexecuted instantiation: swscale.c:av_double2int
Unexecuted instantiation: utils.c:av_double2int
Unexecuted instantiation: vscale.c:av_double2int
Unexecuted instantiation: hscale_fast_bilinear_simd.c:av_double2int
Unexecuted instantiation: yuv2rgb.c:av_double2int
Unexecuted instantiation: alphablend.c:av_double2int
Unexecuted instantiation: format.c:av_double2int
Unexecuted instantiation: graph.c:av_double2int
Unexecuted instantiation: hscale_fast_bilinear.c:av_double2int
Unexecuted instantiation: input.c:av_double2int
Unexecuted instantiation: lut3d.c:av_double2int
Unexecuted instantiation: ops.c:av_double2int
Unexecuted instantiation: ops_backend.c:av_double2int
Unexecuted instantiation: ops_chain.c:av_double2int
Unexecuted instantiation: ops_memcpy.c:av_double2int
Unexecuted instantiation: ops_optimizer.c:av_double2int
Unexecuted instantiation: options.c:av_double2int
Unexecuted instantiation: output.c:av_double2int
Unexecuted instantiation: rgb2rgb.c:av_double2int
Unexecuted instantiation: slice.c:av_double2int
Unexecuted instantiation: swscale_unscaled.c:av_double2int
Unexecuted instantiation: cms.c:av_double2int
Unexecuted instantiation: csputils.c:av_double2int
Unexecuted instantiation: gamma.c:av_double2int
Unexecuted instantiation: hscale.c:av_double2int
Unexecuted instantiation: avformat.c:av_double2int
Unexecuted instantiation: demux.c:av_double2int
Unexecuted instantiation: demux_utils.c:av_double2int
Unexecuted instantiation: id3v2.c:av_double2int
Unexecuted instantiation: metadata.c:av_double2int
Unexecuted instantiation: seek.c:av_double2int
Unexecuted instantiation: allformats.c:av_double2int
Unexecuted instantiation: avio.c:av_double2int
Unexecuted instantiation: aviobuf.c:av_double2int
Unexecuted instantiation: id3v1.c:av_double2int
Unexecuted instantiation: network.c:av_double2int
Unexecuted instantiation: os_support.c:av_double2int
Unexecuted instantiation: allcodecs.c:av_double2int
Unexecuted instantiation: avcodec.c:av_double2int
Unexecuted instantiation: bitstream_filters.c:av_double2int
Unexecuted instantiation: bsf.c:av_double2int
Unexecuted instantiation: codec_desc.c:av_double2int
Unexecuted instantiation: codec_par.c:av_double2int
Unexecuted instantiation: decode.c:av_double2int
Unexecuted instantiation: encode.c:av_double2int
Unexecuted instantiation: exif.c:av_double2int
Unexecuted instantiation: get_buffer.c:av_double2int
Unexecuted instantiation: packet.c:av_double2int
Unexecuted instantiation: parser.c:av_double2int
Unexecuted instantiation: parsers.c:av_double2int
Unexecuted instantiation: profiles.c:av_double2int
Unexecuted instantiation: pthread_frame.c:av_double2int
Unexecuted instantiation: pthread_slice.c:av_double2int
Unexecuted instantiation: raw.c:av_double2int
Unexecuted instantiation: threadprogress.c:av_double2int
Unexecuted instantiation: tiff_common.c:av_double2int
Unexecuted instantiation: to_upper4.c:av_double2int
Unexecuted instantiation: buffer.c:av_double2int
Unexecuted instantiation: channel_layout.c:av_double2int
Unexecuted instantiation: container_fifo.c:av_double2int
Unexecuted instantiation: cpu.c:av_double2int
Unexecuted instantiation: display.c:av_double2int
Unexecuted instantiation: eval.c:av_double2int
Unexecuted instantiation: frame.c:av_double2int
Unexecuted instantiation: hwcontext.c:av_double2int
Unexecuted instantiation: iamf.c:av_double2int
Unexecuted instantiation: imgutils.c:av_double2int
Unexecuted instantiation: log.c:av_double2int
Unexecuted instantiation: mastering_display_metadata.c:av_double2int
Unexecuted instantiation: mathematics.c:av_double2int
Unexecuted instantiation: mem.c:av_double2int
Unexecuted instantiation: opt.c:av_double2int
Unexecuted instantiation: parseutils.c:av_double2int
Unexecuted instantiation: pixdesc.c:av_double2int
Unexecuted instantiation: random_seed.c:av_double2int
Unexecuted instantiation: rational.c:av_double2int
Unexecuted instantiation: side_data.c:av_double2int
Unexecuted instantiation: slicethread.c:av_double2int
Unexecuted instantiation: timestamp.c:av_double2int
Unexecuted instantiation: half2float.c:av_double2int
Unexecuted instantiation: avsscanf.c:av_double2int
Unexecuted instantiation: file_open.c:av_double2int
76
77
#endif /* AVUTIL_INTFLOAT_H */