#include "config_components.h"
#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <libcrystalhd/bc_dts_types.h>
#include <libcrystalhd/bc_dts_defs.h>
#include <libcrystalhd/libcrystalhd_if.h>
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
#include "internal.h"
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/opt.h"
 
Go to the source code of this file.
 | 
| static BC_MEDIA_SUBTYPE  | id2subtype (CHDContext *priv, enum AVCodecID id) | 
|   | 
| static void  | print_frame_info (CHDContext *priv, BC_DTS_PROC_OUT *output) | 
|   | 
| static uint64_t  | opaque_list_push (CHDContext *priv, uint64_t reordered_opaque) | 
|   | 
| static OpaqueList *  | opaque_list_pop (CHDContext *priv, uint64_t fake_timestamp) | 
|   | 
| static void  | flush (AVCodecContext *avctx) | 
|   | 
| static av_cold int  | uninit (AVCodecContext *avctx) | 
|   | 
| static av_cold int  | init (AVCodecContext *avctx) | 
|   | 
| static CopyRet  | copy_frame (AVCodecContext *avctx, BC_DTS_PROC_OUT *output, AVFrame *frame, int *got_frame) | 
|   | 
| static CopyRet  | receive_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame) | 
|   | 
| static int  | crystalhd_decode_packet (AVCodecContext *avctx, const AVPacket *avpkt) | 
|   | 
| static int  | crystalhd_receive_frame (AVCodecContext *avctx, AVFrame *frame) | 
|   | 
◆ _XOPEN_SOURCE
      
        
          | #define _XOPEN_SOURCE   600 | 
        
      
 
 
◆ OUTPUT_PROC_TIMEOUT
      
        
          | #define OUTPUT_PROC_TIMEOUT   50 | 
        
      
 
Timeout parameter passed to DtsProcOutput() in us. 
Definition at line 72 of file crystalhd.c.
 
 
◆ TIMESTAMP_UNIT
      
        
          | #define TIMESTAMP_UNIT   100000 | 
        
      
 
Step between fake timestamps passed to hardware in units of 100ns. 
Definition at line 74 of file crystalhd.c.
 
 
◆ DEFINE_CRYSTALHD_DECODER
      
        
          | #define DEFINE_CRYSTALHD_DECODER | 
          ( | 
            | 
          x,  | 
        
        
           | 
           | 
            | 
          X,  | 
        
        
           | 
           | 
            | 
          bsf_name  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:    static const AVClass x##_crystalhd_class = { \
 
    }; \
    const 
FFCodec ff_##x##_crystalhd_decoder = { \
 
        .
p.
name         = #x 
"_crystalhd", \
 
        CODEC_LONG_NAME(
"CrystalHD " #
X " decoder"), \
 
        .p.id           = AV_CODEC_ID_##
X, \
 
        .p.priv_class   = &x##_crystalhd_class, \
        .bsfs           = bsf_name, \
                          FF_CODEC_CAP_SETS_FRAME_PROPS, \
        .p.wrapper_name = "crystalhd", \
    };
 
Definition at line 778 of file crystalhd.c.
 
 
◆ CopyRet
| Enumerator | 
|---|
| RET_ERROR  |  | 
| RET_OK  |  | 
| RET_COPY_AGAIN  |  | 
Definition at line 81 of file crystalhd.c.
 
 
◆ id2subtype()
◆ print_frame_info()
  
  
      
        
          | static void print_frame_info  | 
          ( | 
          CHDContext *  | 
          priv,  | 
         
        
           | 
           | 
          BC_DTS_PROC_OUT *  | 
          output  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
 
◆ opaque_list_push()
  
  
      
        
          | static uint64_t opaque_list_push  | 
          ( | 
          CHDContext *  | 
          priv,  | 
         
        
           | 
           | 
          uint64_t  | 
          reordered_opaque  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
 
◆ opaque_list_pop()
◆ flush()
◆ uninit()
◆ init()
◆ copy_frame()
◆ receive_frame()
◆ crystalhd_decode_packet()
◆ crystalhd_receive_frame()
◆ options
Initial value:= {
    { "crystalhd_downscale_width",
      "Turn on downscaling to the specified width",
      0x42,
}
 
Definition at line 112 of file crystalhd.c.