
Data Structures | |
| struct | picture_pts_t |
| struct | encoder_sys_t |
Defines | |
| #define | DIRAC_RESEARCH_VERSION_ATLEAST(x, y, z) 0 |
| #define | ENC_CFG_PREFIX "sout-dirac-" |
| #define | ENC_QUALITY_FACTOR "quality" |
| #define | ENC_QUALITY_FACTOR_TEXT N_("Constant quality factor") |
| #define | ENC_QUALITY_FACTOR_LONGTEXT N_("If bitrate=0, use this value for constant quality") |
| #define | ENC_TARGETRATE "bitrate" |
| #define | ENC_TARGETRATE_TEXT N_("CBR bitrate (kbps)") |
| #define | ENC_TARGETRATE_LONGTEXT N_("A value > 0 enables constant bitrate mode") |
| #define | ENC_LOSSLESS "lossless" |
| #define | ENC_LOSSLESS_TEXT N_("Enable lossless coding") |
| #define | ENC_LOSSLESS_LONGTEXT |
| #define | ENC_PREFILTER "prefilter" |
| #define | ENC_PREFILTER_TEXT N_("Prefilter") |
| #define | ENC_PREFILTER_LONGTEXT N_("Enable adaptive prefiltering") |
| #define | ENC_PREFILTER_STRENGTH "prefilter-strength" |
| #define | ENC_PREFILTER_STRENGTH_TEXT N_("Amount of prefiltering") |
| #define | ENC_PREFILTER_STRENGTH_LONGTEXT N_("Higher value implies more prefiltering") |
| #define | ENC_CHROMAFMT "chroma-fmt" |
| #define | ENC_CHROMAFMT_TEXT N_("Chroma format") |
| #define | ENC_CHROMAFMT_LONGTEXT |
| #define | ENC_L1SEP "l1-sep" |
| #define | ENC_L1SEP_TEXT N_("Distance between 'P' frames") |
| #define | ENC_L1SEP_LONGTEXT ENC_L1SEP_TEXT |
| #define | ENC_L1NUM "num-l1" |
| #define | ENC_L1NUM_TEXT N_("Number of 'P' frames per GOP") |
| #define | ENC_L1NUM_LONGTEXT ENC_L1NUM_TEXT |
| #define | ENC_CODINGMODE "coding-mode" |
| #define | ENC_CODINGMODE_TEXT N_("Picture coding mode") |
| #define | ENC_CODINGMODE_LONGTEXT |
| #define | ENC_MCBLK_WIDTH "mc-blk-width" |
| #define | ENC_MCBLK_WIDTH_TEXT N_("Width of motion compensation blocks") |
| #define | ENC_MCBLK_WIDTH_LONGTEXT "" |
| #define | ENC_MCBLK_HEIGHT "mc-blk-height" |
| #define | ENC_MCBLK_HEIGHT_TEXT N_("Height of motion compensation blocks") |
| #define | ENC_MCBLK_HEIGHT_LONGTEXT "" |
| #define | ENC_MCBLK_OVERLAP "mc-blk-overlap" |
| #define | ENC_MCBLK_OVERLAP_TEXT N_("Block overlap (%)") |
| #define | ENC_MCBLK_OVERLAP_LONGTEXT |
| #define | ENC_MCBLK_XBLEN "mc-blk-xblen" |
| #define | ENC_MCBLK_XBLEN_TEXT N_("xblen") |
| #define | ENC_MCBLK_XBLEN_LONGTEXT N_("Total horizontal block length including overlaps") |
| #define | ENC_MCBLK_YBLEN "mc-blk-yblen" |
| #define | ENC_MCBLK_YBLEN_TEXT N_("yblen") |
| #define | ENC_MCBLK_YBLEN_LONGTEXT N_("Total vertical block length including overlaps") |
| #define | ENC_MVPREC "mv-prec" |
| #define | ENC_MVPREC_TEXT N_("Motion vector precision") |
| #define | ENC_MVPREC_LONGTEXT N_("Motion vector precision in pels.") |
| #define | ENC_ME_SIMPLESEARCH "me-simple-search" |
| #define | ENC_ME_SIMPLESEARCH_TEXT N_("Simple ME search area x:y") |
| #define | ENC_ME_SIMPLESEARCH_LONGTEXT |
| #define | ENC_ME_COMBINED "me-combined" |
| #define | ENC_ME_COMBINED_TEXT N_("Three component motion estimation") |
| #define | ENC_ME_COMBINED_LONGTEXT N_("Use chroma as part of the motion estimation process") |
| #define | ENC_DWTINTRA "dwt-intra" |
| #define | ENC_DWTINTRA_TEXT N_("Intra picture DWT filter") |
| #define | ENC_DWTINTRA_LONGTEXT ENC_DWTINTRA_TEXT |
| #define | ENC_DWTINTER "dwt-inter" |
| #define | ENC_DWTINTER_TEXT N_("Inter picture DWT filter") |
| #define | ENC_DWTINTER_LONGTEXT ENC_DWTINTER_TEXT |
| #define | ENC_DWTDEPTH "dwt-depth" |
| #define | ENC_DWTDEPTH_TEXT N_("Number of DWT iterations") |
| #define | ENC_DWTDEPTH_LONGTEXT N_("Also known as DWT levels") |
| #define | ENC_MULTIQUANT "multi-quant" |
| #define | ENC_MULTIQUANT_TEXT N_("Enable multiple quantizers") |
| #define | ENC_MULTIQUANT_LONGTEXT N_("Enable multiple quantizers per subband (one per codeblock)") |
| #define | ENC_SPARTITION "spartition" |
| #define | ENC_SPARTITION_TEXT N_("Enable spatial partitioning") |
| #define | ENC_SPARTITION_LONGTEXT ENC_SPARTITION_TEXT |
| #define | ENC_NOAC "noac" |
| #define | ENC_NOAC_TEXT N_("Disable arithmetic coding") |
| #define | ENC_NOAC_LONGTEXT N_("Use variable length codes instead, useful for very high bitrates") |
| #define | ENC_CPD "cpd" |
| #define | ENC_CPD_TEXT N_("cycles per degree") |
| #define | ENC_CPD_LONGTEXT ENC_CPD_TEXT |
| #define | PTS_TLB_SIZE 256 |
Functions | |
| static int | OpenEncoder (vlc_object_t *p_this) |
| static void | CloseEncoder (vlc_object_t *p_this) |
| static block_t * | Encode (encoder_t *p_enc, picture_t *p_pict) |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| static void | ResetPTStlb (encoder_t *p_enc) |
| static void | StorePicturePTS (encoder_t *p_enc, uint32_t u_pnum, mtime_t i_pts) |
| static mtime_t | GetPicturePTS (encoder_t *p_enc, uint32_t u_pnum) |
| static int | ReadDiracPictureNumber (uint32_t *p_picnum, block_t *p_block) |
Variables | |
| static const char *const | enc_prefilter_list [] |
| static const char *const | enc_prefilter_list_text [] |
| static const char *const | enc_chromafmt_list [] |
| static const char *const | enc_chromafmt_list_text [] |
| static const char *const | enc_codingmode_list [] |
| static const char *const | enc_codingmode_list_text [] |
| static const char *const | enc_mvprec_list [] |
| static const char *const | ppsz_enc_options [] |
| struct { | |
| unsigned int i_height | |
| int i_approx_fps | |
| VideoFormat i_vf | |
| } | dirac_format_guess [] |
| #define DIRAC_RESEARCH_VERSION_ATLEAST | ( | x, | |||
| y, | |||||
| z | ) | 0 |
| #define ENC_CFG_PREFIX "sout-dirac-" |
| #define ENC_CHROMAFMT "chroma-fmt" |
| #define ENC_CHROMAFMT_LONGTEXT |
Value:
N_("Picking chroma format will force a " \ "conversion of the video into that format")
| #define ENC_CHROMAFMT_TEXT N_("Chroma format") |
| #define ENC_CODINGMODE "coding-mode" |
| #define ENC_CODINGMODE_LONGTEXT |
Value:
N_("Field coding is where interlaced fields are coded" \ " seperately as opposed to a pseudo-progressive frame")
| #define ENC_CODINGMODE_TEXT N_("Picture coding mode") |
| #define ENC_CPD "cpd" |
| #define ENC_CPD_LONGTEXT ENC_CPD_TEXT |
| #define ENC_CPD_TEXT N_("cycles per degree") |
| #define ENC_DWTDEPTH "dwt-depth" |
| #define ENC_DWTDEPTH_LONGTEXT N_("Also known as DWT levels") |
| #define ENC_DWTDEPTH_TEXT N_("Number of DWT iterations") |
| #define ENC_DWTINTER "dwt-inter" |
| #define ENC_DWTINTER_LONGTEXT ENC_DWTINTER_TEXT |
| #define ENC_DWTINTER_TEXT N_("Inter picture DWT filter") |
| #define ENC_DWTINTRA "dwt-intra" |
| #define ENC_DWTINTRA_LONGTEXT ENC_DWTINTRA_TEXT |
| #define ENC_DWTINTRA_TEXT N_("Intra picture DWT filter") |
| #define ENC_L1NUM "num-l1" |
| #define ENC_L1NUM_LONGTEXT ENC_L1NUM_TEXT |
| #define ENC_L1NUM_TEXT N_("Number of 'P' frames per GOP") |
| #define ENC_L1SEP "l1-sep" |
| #define ENC_L1SEP_LONGTEXT ENC_L1SEP_TEXT |
| #define ENC_L1SEP_TEXT N_("Distance between 'P' frames") |
| #define ENC_LOSSLESS "lossless" |
| #define ENC_LOSSLESS_LONGTEXT |
Value:
N_("Lossless coding ignores bitrate and quality settings, " \ "allowing for perfect reproduction of the original")
| #define ENC_LOSSLESS_TEXT N_("Enable lossless coding") |
| #define ENC_MCBLK_HEIGHT "mc-blk-height" |
| #define ENC_MCBLK_HEIGHT_LONGTEXT "" |
| #define ENC_MCBLK_HEIGHT_TEXT N_("Height of motion compensation blocks") |
| #define ENC_MCBLK_OVERLAP "mc-blk-overlap" |
| #define ENC_MCBLK_OVERLAP_LONGTEXT |
Value:
N_("Amount that each motion block should " \ "be overlapped by its neighbours")
| #define ENC_MCBLK_OVERLAP_TEXT N_("Block overlap (%)") |
| #define ENC_MCBLK_WIDTH "mc-blk-width" |
| #define ENC_MCBLK_WIDTH_LONGTEXT "" |
| #define ENC_MCBLK_WIDTH_TEXT N_("Width of motion compensation blocks") |
| #define ENC_MCBLK_XBLEN "mc-blk-xblen" |
| #define ENC_MCBLK_XBLEN_LONGTEXT N_("Total horizontal block length including overlaps") |
| #define ENC_MCBLK_XBLEN_TEXT N_("xblen") |
| #define ENC_MCBLK_YBLEN "mc-blk-yblen" |
| #define ENC_MCBLK_YBLEN_LONGTEXT N_("Total vertical block length including overlaps") |
| #define ENC_MCBLK_YBLEN_TEXT N_("yblen") |
| #define ENC_ME_COMBINED "me-combined" |
| #define ENC_ME_COMBINED_LONGTEXT N_("Use chroma as part of the motion estimation process") |
| #define ENC_ME_COMBINED_TEXT N_("Three component motion estimation") |
| #define ENC_ME_SIMPLESEARCH "me-simple-search" |
| #define ENC_ME_SIMPLESEARCH_LONGTEXT |
Value:
N_("(Not recommended) Perform a simple (non hierarchical " \ "block matching motion vector search with search range " \ "of +/-x, +/-y")
| #define ENC_ME_SIMPLESEARCH_TEXT N_("Simple ME search area x:y") |
| #define ENC_MULTIQUANT "multi-quant" |
| #define ENC_MULTIQUANT_LONGTEXT N_("Enable multiple quantizers per subband (one per codeblock)") |
| #define ENC_MULTIQUANT_TEXT N_("Enable multiple quantizers") |
| #define ENC_MVPREC "mv-prec" |
| #define ENC_MVPREC_LONGTEXT N_("Motion vector precision in pels.") |
| #define ENC_MVPREC_TEXT N_("Motion vector precision") |
| #define ENC_NOAC "noac" |
| #define ENC_NOAC_LONGTEXT N_("Use variable length codes instead, useful for very high bitrates") |
| #define ENC_NOAC_TEXT N_("Disable arithmetic coding") |
| #define ENC_PREFILTER "prefilter" |
| #define ENC_PREFILTER_LONGTEXT N_("Enable adaptive prefiltering") |
| #define ENC_PREFILTER_STRENGTH "prefilter-strength" |
| #define ENC_PREFILTER_STRENGTH_LONGTEXT N_("Higher value implies more prefiltering") |
| #define ENC_PREFILTER_STRENGTH_TEXT N_("Amount of prefiltering") |
| #define ENC_PREFILTER_TEXT N_("Prefilter") |
| #define ENC_QUALITY_FACTOR "quality" |
| #define ENC_QUALITY_FACTOR_LONGTEXT N_("If bitrate=0, use this value for constant quality") |
| #define ENC_QUALITY_FACTOR_TEXT N_("Constant quality factor") |
| #define ENC_SPARTITION "spartition" |
| #define ENC_SPARTITION_LONGTEXT ENC_SPARTITION_TEXT |
| #define ENC_SPARTITION_TEXT N_("Enable spatial partitioning") |
| #define ENC_TARGETRATE "bitrate" |
| #define ENC_TARGETRATE_LONGTEXT N_("A value > 0 enables constant bitrate mode") |
| #define ENC_TARGETRATE_TEXT N_("CBR bitrate (kbps)") |
| #define PTS_TLB_SIZE 256 |
Referenced by GetPicturePTS(), ResetPTStlb(), and StorePicturePTS().
| static void CloseEncoder | ( | vlc_object_t * | p_this | ) | [static] |
References encoder_sys_t::b_auto_field_coding, picture_t::b_progressive, picture_t::b_top_field_first, block_ChainAppend(), block_ChainGather(), block_FifoGet(), block_FifoPut(), BLOCK_FLAG_TYPE_I, block_New, block_Release(), encoder_sys_t::ctx, picture_t::date, date_Get(), date_Increment(), date_Init(), date_Set(), encoder_t::fmt_in, encoder_t::fmt_out, GetDWBE, GetPicturePTS(), encoder_sys_t::i_buffer_in, encoder_sys_t::i_buffer_out, block_t::i_dts, es_format_t::i_extra, encoder_sys_t::i_field_time, block_t::i_flags, video_format_t::i_frame_rate, video_format_t::i_frame_rate_base, encoder_sys_t::i_input_picnum, plane_t::i_pitch, picture_t::i_planes, block_t::i_pts, encoder_sys_t::i_pts_offset, plane_t::i_visible_lines, plane_t::i_visible_pitch, msg_Dbg, msg_Err, picture_t::p, block_t::p_buffer, encoder_sys_t::p_buffer_in, encoder_sys_t::p_buffer_out, encoder_sys_t::p_chain, encoder_sys_t::p_dirac, p_dst, encoder_sys_t::p_dts_fifo, es_format_t::p_extra, plane_t::p_pixels, encoder_t::p_sys, ReadDiracPictureNumber(), SetDWBE, StorePicturePTS(), es_format_t::video, and vlc_memcpy().
References picture_pts_t::b_empty, i, picture_pts_t::i_pts, msg_Err, encoder_t::p_sys, p_sys, encoder_sys_t::pts_tlb, PTS_TLB_SIZE, and picture_pts_t::u_pnum.
Referenced by Encode().
| static int OpenEncoder | ( | vlc_object_t * | p_this | ) | [static] |
| static int ReadDiracPictureNumber | ( | uint32_t * | p_picnum, | |
| block_t * | p_block | |||
| ) | [static] |
| static void ResetPTStlb | ( | encoder_t * | p_enc | ) | [static] |
References picture_pts_t::b_empty, i, encoder_t::p_sys, p_sys, encoder_sys_t::pts_tlb, and PTS_TLB_SIZE.
References picture_pts_t::b_empty, i, picture_pts_t::i_pts, msg_Err, encoder_t::p_sys, p_sys, encoder_sys_t::pts_tlb, PTS_TLB_SIZE, and picture_pts_t::u_pnum.
Referenced by Encode().
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
struct { ... } dirac_format_guess[] [static] |
const char* const enc_chromafmt_list[] [static] |
Initial value:
{ "420", "422", "444" }
const char* const enc_chromafmt_list_text[] [static] |
const char* const enc_codingmode_list[] [static] |
Initial value:
{ "auto", "progressive", "field" }
const char* const enc_codingmode_list_text[] [static] |
const char* const enc_mvprec_list[] [static] |
Initial value:
{ "1", "1/2", "1/4", "1/8" }
const char* const enc_prefilter_list[] [static] |
Initial value:
{ "none", "cwm", "rectlp", "diaglp" }
const char* const enc_prefilter_list_text[] [static] |
| int i_approx_fps |
| unsigned int i_height |
Referenced by aglReshape(), Blend(), CommonOpen(), MainInterface::controlVideo(), VoutManager::controlWindow(), ControlWindow(), decode_region_composition(), DecodeBlock(), Demux(), drawBall(), Encode(), ffmpeg_GetFrameBuf(), Filter(), FilterErase(), GetAbsoluteMaxFrameRate(), GetMaxDimensions(), GetMoovBox(), Mouse(), Open(), OpenDecoder(), OpenVideoDev(), osd_ButtonFind(), ParseRLE(), plane_CopyPixels(), RegionDraw(), RenderText(), RenderYUVA(), UpdateStats(), WindowEventHandler(), and WindowOpen().
| VideoFormat i_vf |
const char* const ppsz_enc_options[] [static] |
Initial value:
{
"quality" , "bitrate" , "lossless" , "prefilter" , "prefilter-strength" ,
"chroma-fmt" , "l1-sep" , "num-l1" , "coding-mode" ,
"mc-blk-width" , "mc-blk-height" , "mc-blk-overlap" ,
"mv-prec" , "me-simple-search" , "me-combined" ,
"dwt-intra" , "dwt-inter" , "dwt-depth" ,
"multi-quant" , "spartition" , "noac" ,
"cpd" ,
NULL
}
1.5.6