avcpp  2.0
Wrapper for the FFmpeg that simplify usage from C++ projects.
codec.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <list>
4 #include <deque>
5 #include <memory>
6 
7 #include "ffmpeg.h"
8 #include "rational.h"
9 #include "format.h"
10 #include "pixelformat.h"
11 #include "sampleformat.h"
12 #include "channellayout.h"
13 #include "avutils.h"
14 
15 namespace av {
16 
17 class Codec : public FFWrapperPtr<const AVCodec>
18 {
19 public:
21 
22  const char *name() const;
23  const char *longName() const;
24  bool canEncode() const;
25  bool canDecode() const;
26  bool isEncoder() const;
27  bool isDecoder() const;
28  AVMediaType type() const;
29 
30  std::deque<Rational> supportedFramerates() const;
31  std::deque<PixelFormat> supportedPixelFormats() const;
32  std::deque<int> supportedSamplerates() const;
33  std::deque<SampleFormat> supportedSampleFormats() const;
34  std::deque<uint64_t> supportedChannelLayouts() const;
35 
36 #if AVCPP_API_NEW_CHANNEL_LAYOUT
37  std::deque<ChannelLayoutView> supportedChannelLayouts2() const;
38 #endif
39 
40  AVCodecID id() const;
41 };
42 
43 
44 
45 Codec findEncodingCodec(AVCodecID id);
46 Codec findEncodingCodec(const std::string& name);
47 
48 Codec findDecodingCodec(AVCodecID id);
49 Codec findDecodingCodec(const std::string& name);
50 
51 #if AVCPP_HAS_AVFORMAT
52 Codec findEncodingCodec(const OutputFormat &format, bool isVideo = true);
53 Codec guessEncodingCodec(OutputFormat format, const char *name, const char *url, const char* mime, AVMediaType mediaType);
54 #endif // if AVCPP_HAS_AVFORMAT
55 
56 } // ::fmpeg
Definition: codec.h:18
AVCodecID id() const
Definition: codec.cpp:217
const char * name() const
Definition: codec.cpp:11
std::deque< Rational > supportedFramerates() const
Definition: codec.cpp:67
std::deque< uint64_t > supportedChannelLayouts() const
Definition: codec.cpp:160
bool isDecoder() const
Definition: codec.cpp:57
bool canEncode() const
Definition: codec.cpp:21
bool isEncoder() const
Definition: codec.cpp:52
std::deque< PixelFormat > supportedPixelFormats() const
Definition: codec.cpp:88
const char * longName() const
Definition: codec.cpp:16
std::deque< SampleFormat > supportedSampleFormats() const
Definition: codec.cpp:136
AVMediaType type() const
Definition: codec.cpp:62
std::deque< int > supportedSamplerates() const
Definition: codec.cpp:112
bool canDecode() const
Definition: codec.cpp:38
Definition: audioresampler.cpp:8
Codec findEncodingCodec(AVCodecID id)
Definition: codec.cpp:222
Codec findDecodingCodec(AVCodecID id)
Definition: codec.cpp:232
Definition: ffmpeg.h:22