RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
BitVacuumerJPEGBenchmark.cpp File Reference
#include "bitstreams/BitVacuumerJPEG.h"
#include "adt/Array1DRef.h"
#include "adt/Casts.h"
#include "adt/CoalescingOutputIterator.h"
#include "adt/DefaultInitAllocatorAdaptor.h"
#include "adt/Optional.h"
#include "adt/PartitioningOutputIterator.h"
#include "bench/Common.h"
#include "bitstreams/BitStreamJPEGUtils.h"
#include "bitstreams/BitVacuumerMSB.h"
#include "common/Common.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <memory>
#include <type_traits>
#include <vector>
#include <benchmark/benchmark.h>
#include <limits>
Include dependency graph for BitVacuumerJPEGBenchmark.cpp:

Go to the source code of this file.

Classes

struct  rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::BitStreamRoundtripTypes< T >
struct  rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::BitStreamRoundtripTypes< BitstreamFlavorMSB >
struct  rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::BitStreamRoundtripTypes< BitstreamFlavorJPEG >
struct  rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::C< b, T >

Namespaces

namespace  rawspeed
namespace  rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}

Macros

#define BENCHMARK_TEMPLATE2_CAPTURE(func, a, b, test_case_name, ...)
#define GEN(A, B, C, D)
#define GEN_T(A, C, D)

Typedefs

using rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::NoCoalescing = C<false, uint8_t>
template<typename T>
using rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::CoalesceTo = C<true, T>

Functions

template<bool ShouldCoalesce, typename UnderlyingOutputIterator>
requires (!ShouldCoalesce)
auto rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::getMaybeCoalescingOutputIterator (UnderlyingOutputIterator e)
template<bool ShouldCoalesce, typename UnderlyingOutputIterator>
requires (ShouldCoalesce)
auto rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::getMaybeCoalescingOutputIterator (UnderlyingOutputIterator e)
template<typename T, typename C>
void rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::BM (benchmark::State &state, bool Stuffed)
void rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::CustomArguments (benchmark::internal::Benchmark *b)
 rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::GEN_T (BitstreamFlavorJPEG, Stuffed, true)
 rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::GEN_T (BitstreamFlavorJPEG, Unstuffed, false)
 rawspeed::anonymous_namespace{BitVacuumerJPEGBenchmark.cpp}::GEN_T (BitstreamFlavorMSB, Unstuffed, false)
 BENCHMARK_MAIN ()

Macro Definition Documentation

◆ BENCHMARK_TEMPLATE2_CAPTURE

#define BENCHMARK_TEMPLATE2_CAPTURE ( func,
a,
b,
test_case_name,
... )
Value:
BENCHMARK_PRIVATE_DECLARE(func) = \
(::benchmark::internal::RegisterBenchmarkInternal( \
new ::benchmark::internal::FunctionBenchmark( \
#func "<" #a "," #b ">" \
"/" #test_case_name, \
[](::benchmark::State& st) { func<a, b>(st, __VA_ARGS__); })))

Definition at line 167 of file BitVacuumerJPEGBenchmark.cpp.

◆ GEN

#define GEN ( A,
B,
C,
D )
Value:
BENCHMARK_TEMPLATE2_CAPTURE(BM, A, B, C, D)->Apply(CustomArguments)
#define BENCHMARK_TEMPLATE2_CAPTURE(func, a, b, test_case_name,...)

Definition at line 177 of file BitVacuumerJPEGBenchmark.cpp.

◆ GEN_T

#define GEN_T ( A,
C,
D )
Value:
GEN(A, NoCoalescing, C, D); \
GEN(A, CoalesceTo<uint16_t>, C, D); \
GEN(A, CoalesceTo<uint32_t>, C, D); \
GEN(A, CoalesceTo<uint64_t>, C, D)

Definition at line 180 of file BitVacuumerJPEGBenchmark.cpp.

Function Documentation

◆ BENCHMARK_MAIN()

BENCHMARK_MAIN ( )