/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 */ |