#include <DVDVideoCodecFFmpeg.h>
 | 
| static enum AVPixelFormat  | GetFormat (struct AVCodecContext *avctx, const AVPixelFormat *fmt) | 
|   | 
◆ CDVDVideoCodecFFmpeg()
  
  
      
        
          | CDVDVideoCodecFFmpeg::CDVDVideoCodecFFmpeg  | 
          ( | 
          CProcessInfo & |           processInfo | ) | 
           | 
         
       
   | 
  
explicit   | 
  
 
 
◆ ~CDVDVideoCodecFFmpeg()
  
  
      
        
          | CDVDVideoCodecFFmpeg::~CDVDVideoCodecFFmpeg  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
override   | 
  
 
 
◆ AddData()
add data, decoder has to consume the entire packet returns true if the packet was consumed or if resubmitting it is useless 
- Todo
 - : properly handle avpkt side_data. this works around our improper use of the side_data 
 
Implements CDVDVideoCodec.
 
 
◆ Dispose()
  
  
      
        
          | void CDVDVideoCodecFFmpeg::Dispose  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ FilterClose()
  
  
      
        
          | void CDVDVideoCodecFFmpeg::FilterClose  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ FilterOpen()
  
  
      
        
          | int CDVDVideoCodecFFmpeg::FilterOpen  | 
          ( | 
          const std::string & |           filters,  | 
         
        
           | 
           | 
          bool |           scale ) | 
         
       
   | 
  
protected   | 
  
 
 
◆ FilterProcess()
◆ GetAllowedReferences()
  
  
      
        
          | unsigned CDVDVideoCodecFFmpeg::GetAllowedReferences  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
Number of references to old pictures that are allowed to be retained when calling decode on the next demux packet 
Reimplemented from CDVDVideoCodec.
 
 
◆ GetCodecStats()
  
  
      
        
          | bool CDVDVideoCodecFFmpeg::GetCodecStats  | 
          ( | 
          double & |           pts,  | 
         
        
           | 
           | 
          int & |           droppedFrames,  | 
         
        
           | 
           | 
          int & |           skippedPics ) | 
         
       
   | 
  
overridevirtual   | 
  
 
For calculation of dropping requirements player asks for some information.
- pts : right after decoder, used to detect gaps (dropped frames in decoder)
 
- droppedFrames : indicates if decoder has dropped a frame -1 means that decoder has no info on this.
 
- skippedPics : indicates if postproc has skipped a already decoded picture -1 means that decoder has no info on this.
 
If codec does not implement this method, pts of decoded frame at input video player is used. In case decoder does post-proc and de-interlacing there may be quite some frames queued up between exit decoder and entry player. 
Reimplemented from CDVDVideoCodec.
 
 
◆ GetConvergeCount()
  
  
      
        
          | unsigned CDVDVideoCodecFFmpeg::GetConvergeCount  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
How many packets should player remember, so codec can recover should something cause it to flush outside of players control 
Reimplemented from CDVDVideoCodec.
 
 
◆ GetFormat()
  
  
      
        
          | enum AVPixelFormat CDVDVideoCodecFFmpeg::GetFormat  | 
          ( | 
          struct AVCodecContext * |           avctx,  | 
         
        
           | 
           | 
          const AVPixelFormat * |           fmt ) | 
         
       
   | 
  
staticprotected   | 
  
 
 
◆ GetHWAccel()
◆ GetName()
  
  
      
        
          | const char * CDVDVideoCodecFFmpeg::GetName  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlineoverridevirtual   | 
  
 
 
◆ GetPicture()
GetPicture controls decoding. Player calls it on every cycle it can signal a picture, request a buffer, or return none, if nothing applies the data is valid until the next GetPicture return VC_PICTURE 
Implements CDVDVideoCodec.
 
 
◆ GetPictureCommon()
◆ HasHardware()
  
  
      
        
          | bool CDVDVideoCodecFFmpeg::HasHardware  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlineprotected   | 
  
 
 
◆ Open()
Open the decoder, returns true on success Decoders not capable of running multiple instances should return false in case there is already a instance open 
- Todo
 - allow per video setting? 
 
Implements CDVDVideoCodec.
 
 
◆ Reopen()
  
  
      
        
          | void CDVDVideoCodecFFmpeg::Reopen  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
Re-open the decoder. Decoder request to re-open 
Reimplemented from CDVDVideoCodec.
 
 
◆ Reset()
  
  
      
        
          | void CDVDVideoCodecFFmpeg::Reset  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
Reset the decoder. Should be the same as calling Dispose and Open after each other 
Implements CDVDVideoCodec.
 
 
◆ SetCodecControl()
  
  
      
        
          | void CDVDVideoCodecFFmpeg::SetCodecControl  | 
          ( | 
          int |           flags | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
Codec can be informed by player with the following flags:
DVD_CODEC_CTRL_NO_POSTPROC : if speed is not normal the codec can switch off postprocessing and de-interlacing
DVD_CODEC_CTRL_HURRY : codecs may do postprocessing and de-interlacing. If video buffers in RenderManager are about to run dry, this is signaled to codec. Codec can wait for post-proc to be finished instead of returning empty and getting another packet.
DVD_CODEC_CTRL_DRAIN : instruct decoder to deliver last pictures without requesting new packets
DVD_CODEC_CTRL_DROP : this packet is going to be dropped. decoder is free to use it for decoding 
Reimplemented from CDVDVideoCodec.
 
 
◆ SetFilters()
  
  
      
        
          | void CDVDVideoCodecFFmpeg::SetFilters  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ SetHardware()
◆ SetPictureParams()
◆ UpdateName()
  
  
      
        
          | void CDVDVideoCodecFFmpeg::UpdateName  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_codecControlFlags
  
  
      
        
          | int CDVDVideoCodecFFmpeg::m_codecControlFlags = 0 | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_DAR
  
  
      
        
          | double CDVDVideoCodecFFmpeg::m_DAR = 1.0 | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_decoderPts
◆ m_decoderState
  
  
      
        
          | int CDVDVideoCodecFFmpeg::m_decoderState | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_dropCtrl
◆ m_droppedFrames
  
  
      
        
          | int CDVDVideoCodecFFmpeg::m_droppedFrames = 0 | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_dts
◆ m_eof
  
  
      
        
          | bool CDVDVideoCodecFFmpeg::m_eof = false | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_filterEof
  
  
      
        
          | bool CDVDVideoCodecFFmpeg::m_filterEof = false | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_filters
  
  
      
        
          | std::string CDVDVideoCodecFFmpeg::m_filters | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_filters_next
  
  
      
        
          | std::string CDVDVideoCodecFFmpeg::m_filters_next | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_formats
  
  
      
        
          | std::vector<AVPixelFormat> CDVDVideoCodecFFmpeg::m_formats | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_hints
◆ m_iLastKeyframe
  
  
      
        
          | int CDVDVideoCodecFFmpeg::m_iLastKeyframe = 0 | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_interlaced
  
  
      
        
          | bool CDVDVideoCodecFFmpeg::m_interlaced = false | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_iOrientation
  
  
      
        
          | int CDVDVideoCodecFFmpeg::m_iOrientation = 0 | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_iPictureHeight
  
  
      
        
          | int CDVDVideoCodecFFmpeg::m_iPictureHeight = 0 | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_iPictureWidth
  
  
      
        
          | int CDVDVideoCodecFFmpeg::m_iPictureWidth = 0 | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_iScreenHeight
  
  
      
        
          | int CDVDVideoCodecFFmpeg::m_iScreenHeight = 0 | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_iScreenWidth
  
  
      
        
          | int CDVDVideoCodecFFmpeg::m_iScreenWidth = 0 | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_name
  
  
      
        
          | std::string CDVDVideoCodecFFmpeg::m_name | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_options
◆ m_pCodecContext
  
  
      
        
          | AVCodecContext* CDVDVideoCodecFFmpeg::m_pCodecContext = nullptr | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_pDecodedFrame
  
  
      
        
          | AVFrame* CDVDVideoCodecFFmpeg::m_pDecodedFrame = nullptr | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_pFilterFrame
  
  
      
        
          | AVFrame* CDVDVideoCodecFFmpeg::m_pFilterFrame = nullptr | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_pFilterGraph
  
  
      
        
          | AVFilterGraph* CDVDVideoCodecFFmpeg::m_pFilterGraph = nullptr | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_pFilterIn
  
  
      
        
          | AVFilterContext* CDVDVideoCodecFFmpeg::m_pFilterIn = nullptr | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_pFilterOut
  
  
      
        
          | AVFilterContext* CDVDVideoCodecFFmpeg::m_pFilterOut = nullptr | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_pFrame
  
  
      
        
          | AVFrame* CDVDVideoCodecFFmpeg::m_pFrame = nullptr | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_pHardware
◆ m_postProc
  
  
      
        
          | std::unique_ptr<IDVDVideoPP> CDVDVideoCodecFFmpeg::m_postProc | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_requestSkipDeint
  
  
      
        
          | bool CDVDVideoCodecFFmpeg::m_requestSkipDeint = false | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_skippedDeint
  
  
      
        
          | int CDVDVideoCodecFFmpeg::m_skippedDeint = 0 | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_started
  
  
      
        
          | bool CDVDVideoCodecFFmpeg::m_started = false | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_startedInput
  
  
      
        
          | bool CDVDVideoCodecFFmpeg::m_startedInput = false | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_videoBufferPool
The documentation for this class was generated from the following files: