| Valkka
    1.6.1
    OpenSource Video Management | 
Video decoder using FFmpeg/libav with VAAPI. More...
#include <hwdecoder.h>


| Public Member Functions | |
| AVHwDecoder (AVCodecID av_codec_id, AVHWDeviceType hwtype, int n_threads=1) | |
| Default constructor.  More... | |
| virtual | ~AVHwDecoder () | 
| Default destructor. | |
| virtual void | flush () | 
| Reset decoder state. How to flush depends on the decoder library. | |
| virtual bool | isOk () | 
| The thread that uses this decoder can check if it has gone sour. | |
|  Public Member Functions inherited from Decoder | |
| Decoder () | |
| Default constructor. | |
| virtual | ~Decoder () | 
| Default destructor. | |
| void | input (Frame *f) | 
| Create a copy of the frame into the internal storage of the decoder (i.e. to Decoder::in_frame) | |
| long int | getMsTimestamp () | 
| virtual Frame * | output ()=0 | 
| < Return in_frame timestamp  More... | |
| virtual void | releaseOutput () | 
| Decoder might want to know that it's ok to overwrite the frame. | |
| virtual bool | pull ()=0 | 
| Decode in_frame to out_frame. Return true if decoder returned a new frame (into out_frame), otherwise false. Implementation depends on the decoder library. | |
| bool | hasFrame () | 
| Public Attributes | |
| AVCodecID | av_codec_id | 
| FFmpeg AVCodecId, identifying the codec. | |
| AVPacket * | av_packet | 
| FFmpeg internal data structure; encoded frame (say, H264) | |
| AVCodecContext * | av_codec_context | 
| FFmpeg internal data structure. | |
| AVCodec * | av_codec | 
| FFmpeg internal data structure. | |
| AVBufferRef * | hw_device_ctx | 
| FFmpeg/libav hardware context. | |
| AVFrame * | hw_frame | 
| AVPixelFormat | hw_pix_format | 
| Protected Attributes | |
| int | n_threads | 
| bool | active | 
|  Protected Attributes inherited from Decoder | |
| BasicFrame | in_frame | 
| Payload data to be decoded. | |
| bool | has_frame | 
Video decoder using FFmpeg/libav with VAAPI.
Subclassed from the basic ffmpeg/libav decoder class VideoDecoder
See also Code walkthrough: rendering
TODO: from here we still need to subclass into HWVideoDecoder i.e. to define Frame *output() bool pull()
like class VideoDecoder : public AVDecoder
| AVHwDecoder::AVHwDecoder | ( | AVCodecID | av_codec_id, | 
| AVHWDeviceType | hwtype, | ||
| int | n_threads = 1 | ||
| ) | 
Default constructor.