#include <inttypes.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <libcrystalhd/bc_dts_types.h>#include <libcrystalhd/bc_dts_defs.h>#include <libcrystalhd/libcrystalhd_if.h>#include "avcodec.h"#include "h264.h"#include "libavutil/imgutils.h"#include "libavutil/intreadwrite.h"#include "libavutil/opt.h"Go to the source code of this file.
Data Structures | |
| struct | OpaqueList |
| struct | CHDContext |
Defines | |
| #define | _XOPEN_SOURCE 600 |
| #define | OUTPUT_PROC_TIMEOUT 50 |
| Timeout parameter passed to DtsProcOutput() in us. | |
| #define | TIMESTAMP_UNIT 100000 |
| Step between fake timestamps passed to hardware in units of 100ns. | |
| #define | BASE_WAIT 10000 |
| Initial value in us of the wait in decode(). | |
| #define | WAIT_UNIT 1000 |
| Increment in us to adjust wait in decode(). | |
Enumerations | |
| enum | CopyRet { RET_ERROR = -1, RET_OK = 0, RET_COPY_AGAIN = 1, RET_SKIP_NEXT_COPY = 2, RET_COPY_NEXT_FIELD = 3 } |
Functions | |
| 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, uint8_t pic_type) |
| 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, void *data, int *data_size) |
| static CopyRet | receive_frame (AVCodecContext *avctx, void *data, int *data_size) |
| static int | decode (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt) |
Variables | |
| static const AVOption | options [] |
| #define _XOPEN_SOURCE 600 |
Definition at line 76 of file crystalhd.c.
| #define BASE_WAIT 10000 |
| #define OUTPUT_PROC_TIMEOUT 50 |
Timeout parameter passed to DtsProcOutput() in us.
Definition at line 93 of file crystalhd.c.
Referenced by receive_frame().
| #define TIMESTAMP_UNIT 100000 |
Step between fake timestamps passed to hardware in units of 100ns.
Definition at line 95 of file crystalhd.c.
Referenced by opaque_list_push().
| #define WAIT_UNIT 1000 |
Increment in us to adjust wait in decode().
Definition at line 99 of file crystalhd.c.
Referenced by decode().
| enum CopyRet |
Definition at line 106 of file crystalhd.c.
| static CopyRet copy_frame | ( | AVCodecContext * | avctx, | |
| BC_DTS_PROC_OUT * | output, | |||
| void * | data, | |||
| int * | data_size | |||
| ) | [inline, static] |
Definition at line 536 of file crystalhd.c.
Referenced by decode_frame(), encode_frame(), and receive_frame().
| static int decode | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | data_size, | |||
| AVPacket * | avpkt | |||
| ) | [static] |
Definition at line 870 of file crystalhd.c.
Referenced by mimic_decode_frame(), ra288_decode_frame(), and show_formats().
| static void flush | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 315 of file crystalhd.c.
| static BC_MEDIA_SUBTYPE id2subtype | ( | CHDContext * | priv, | |
| enum AVCodecID | id | |||
| ) | [inline, static] |
| static av_cold int init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 380 of file crystalhd.c.
| static OpaqueList* opaque_list_pop | ( | CHDContext * | priv, | |
| uint64_t | fake_timestamp | |||
| ) | [static] |
| static uint64_t opaque_list_push | ( | CHDContext * | priv, | |
| uint64_t | reordered_opaque, | |||
| uint8_t | pic_type | |||
| ) | [static] |
| static void print_frame_info | ( | CHDContext * | priv, | |
| BC_DTS_PROC_OUT * | output | |||
| ) | [inline, static] |
| static CopyRet receive_frame | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | data_size | |||
| ) | [inline, static] |
| static av_cold int uninit | ( | AVCodecContext * | avctx | ) | [static] |
Initial value:
{
{ "crystalhd_downscale_width",
"Turn on downscaling to the specified width",
0x42,
AV_OPT_TYPE_INT, 0, 0, UINT32_MAX,
AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM, },
{ NULL, },
}
Definition at line 152 of file crystalhd.c.
1.5.8