#include <inttypes.h>
#include <dvdnav/dvdnav.h>
#include <dvdread/dvd_reader.h>
#include <dvdread/ifo_read.h>
#include <dvdread/ifo_types.h>
#include <dvdread/nav_read.h>
#include "libavcodec/ac3_parser.h"
#include "libavutil/avstring.h"
#include "libavutil/avutil.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/samplefmt.h"
#include "avformat.h"
#include "avio_internal.h"
#include "avlanguage.h"
#include "demux.h"
#include "dvdclut.h"
#include "internal.h"
#include "url.h"
Go to the source code of this file.
|
static void | dvdvideo_libdvdread_log (void *opaque, dvd_logger_level_t level, const char *msg, va_list msg_va) |
|
static void | dvdvideo_libdvdnav_log (void *opaque, dvdnav_logger_level_t level, const char *msg, va_list msg_va) |
|
static void | dvdvideo_ifo_close (AVFormatContext *s) |
|
static int | dvdvideo_ifo_open (AVFormatContext *s) |
|
static int | dvdvideo_is_cell_promising (AVFormatContext *s, pgc_t *pgc, int celln) |
|
static int | dvdvideo_is_pgc_promising (AVFormatContext *s, pgc_t *pgc) |
|
static void | dvdvideo_menu_close (AVFormatContext *s, DVDVideoPlaybackState *state) |
|
static int | dvdvideo_menu_open (AVFormatContext *s, DVDVideoPlaybackState *state) |
|
static int | dvdvideo_menu_next_ps_block (AVFormatContext *s, DVDVideoPlaybackState *state, uint8_t *buf, int buf_size, int *p_is_nav_packet) |
|
static void | dvdvideo_play_close (AVFormatContext *s, DVDVideoPlaybackState *state) |
|
static int | dvdvideo_play_open (AVFormatContext *s, DVDVideoPlaybackState *state) |
|
static int | dvdvideo_play_next_ps_block (AVFormatContext *s, DVDVideoPlaybackState *state, uint8_t *buf, int buf_size, int *p_is_nav_packet) |
|
static int | dvdvideo_chapters_setup_simple (AVFormatContext *s) |
|
static int | dvdvideo_chapters_setup_preindex (AVFormatContext *s) |
|
static int | dvdvideo_video_stream_analyze (AVFormatContext *s, video_attr_t video_attr, DVDVideoVTSVideoStreamEntry *entry) |
|
static int | dvdvideo_video_stream_add (AVFormatContext *s, DVDVideoVTSVideoStreamEntry *entry) |
|
static int | dvdvideo_video_stream_setup (AVFormatContext *s) |
|
static int | dvdvideo_audio_stream_analyze (AVFormatContext *s, audio_attr_t audio_attr, uint16_t audio_control, DVDVideoPGCAudioStreamEntry *entry) |
|
static int | dvdvideo_audio_stream_add (AVFormatContext *s, DVDVideoPGCAudioStreamEntry *entry) |
|
static int | dvdvideo_audio_stream_add_all (AVFormatContext *s) |
|
static int | dvdvideo_subp_stream_analyze (AVFormatContext *s, uint32_t offset, subp_attr_t subp_attr, DVDVideoPGCSubtitleStreamEntry *entry) |
|
static int | dvdvideo_subp_stream_add (AVFormatContext *s, DVDVideoPGCSubtitleStreamEntry *entry) |
|
static int | dvdvideo_subp_stream_add_internal (AVFormatContext *s, uint32_t offset, subp_attr_t subp_attr, enum DVDVideoSubpictureViewport viewport) |
|
static int | dvdvideo_subp_stream_add_all (AVFormatContext *s) |
|
static int | dvdvideo_subdemux_read_data (void *opaque, uint8_t *buf, int buf_size) |
|
static void | dvdvideo_subdemux_close (AVFormatContext *s) |
|
static int | dvdvideo_subdemux_open (AVFormatContext *s) |
|
static int | dvdvideo_subdemux_reset (AVFormatContext *s) |
|
static int | dvdvideo_read_header (AVFormatContext *s) |
|
static int | dvdvideo_read_packet (AVFormatContext *s, AVPacket *pkt) |
|
static int | dvdvideo_close (AVFormatContext *s) |
|
static int | dvdvideo_read_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags) |
|
◆ DVDVIDEO_MAX_PS_SEARCH_BLOCKS
#define DVDVIDEO_MAX_PS_SEARCH_BLOCKS 128 |
◆ DVDVIDEO_BLOCK_SIZE
#define DVDVIDEO_BLOCK_SIZE 2048 |
◆ DVDVIDEO_TIME_BASE_Q
#define DVDVIDEO_TIME_BASE_Q (AVRational) { 1, 90000 } |
◆ DVDVIDEO_PTS_WRAP_BITS
#define DVDVIDEO_PTS_WRAP_BITS 32 /* VOBUs use 32 (PES allows 33) */ |
◆ DVDVIDEO_LIBDVDX_LOG_BUFFER_SIZE
#define DVDVIDEO_LIBDVDX_LOG_BUFFER_SIZE 1024 |
◆ PCI_START_BYTE
#define PCI_START_BYTE 45 /* complement dvdread's DSI_START_BYTE */ |
◆ OFFSET
◆ DVDVideoSubpictureViewport
Enumerator |
---|
DVDVIDEO_SUBP_VIEWPORT_FULLSCREEN | |
DVDVIDEO_SUBP_VIEWPORT_WIDESCREEN | |
DVDVIDEO_SUBP_VIEWPORT_LETTERBOX | |
DVDVIDEO_SUBP_VIEWPORT_PANSCAN | |
Definition at line 66 of file dvdvideodec.c.
◆ dvdvideo_libdvdread_log()
static void dvdvideo_libdvdread_log |
( |
void * |
opaque, |
|
|
dvd_logger_level_t |
level, |
|
|
const char * |
msg, |
|
|
va_list |
msg_va |
|
) |
| |
|
static |
◆ dvdvideo_libdvdnav_log()
static void dvdvideo_libdvdnav_log |
( |
void * |
opaque, |
|
|
dvdnav_logger_level_t |
level, |
|
|
const char * |
msg, |
|
|
va_list |
msg_va |
|
) |
| |
|
static |
◆ dvdvideo_ifo_close()
◆ dvdvideo_ifo_open()
◆ dvdvideo_is_cell_promising()
static int dvdvideo_is_cell_promising |
( |
AVFormatContext * |
s, |
|
|
pgc_t * |
pgc, |
|
|
int |
celln |
|
) |
| |
|
static |
◆ dvdvideo_is_pgc_promising()
◆ dvdvideo_menu_close()
◆ dvdvideo_menu_open()
◆ dvdvideo_menu_next_ps_block()
◆ dvdvideo_play_close()
◆ dvdvideo_play_open()
◆ dvdvideo_play_next_ps_block()
◆ dvdvideo_chapters_setup_simple()
◆ dvdvideo_chapters_setup_preindex()
◆ dvdvideo_video_stream_analyze()
◆ dvdvideo_video_stream_add()
◆ dvdvideo_video_stream_setup()
◆ dvdvideo_audio_stream_analyze()
◆ dvdvideo_audio_stream_add()
◆ dvdvideo_audio_stream_add_all()
◆ dvdvideo_subp_stream_analyze()
◆ dvdvideo_subp_stream_add()
◆ dvdvideo_subp_stream_add_internal()
◆ dvdvideo_subp_stream_add_all()
◆ dvdvideo_subdemux_read_data()
static int dvdvideo_subdemux_read_data |
( |
void * |
opaque, |
|
|
uint8_t * |
buf, |
|
|
int |
buf_size |
|
) |
| |
|
static |
◆ dvdvideo_subdemux_close()
◆ dvdvideo_subdemux_open()
◆ dvdvideo_subdemux_reset()
◆ dvdvideo_read_header()
◆ dvdvideo_read_packet()
◆ dvdvideo_close()
◆ dvdvideo_read_seek()
◆ dvdvideo_nav_header
const uint8_t dvdvideo_nav_header[4] = { 0x00, 0x00, 0x01, 0xBF } |
|
static |
◆ dvdvideo_subp_viewport_labels
const char dvdvideo_subp_viewport_labels[4][13] |
|
static |
◆ dvdvideo_options
◆ dvdvideo_class
Initial value:= {
.class_name = "DVD-Video demuxer",
}
Definition at line 1815 of file dvdvideodec.c.
◆ ff_dvdvideo_demuxer
Initial value:= {
.p.name = "dvdvideo",
}
Definition at line 1822 of file dvdvideodec.c.
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
static av_cold int read_close(AVFormatContext *ctx)
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
static int dvdvideo_read_header(AVFormatContext *s)
#define FF_INFMT_FLAG_INIT_CLEANUP
For an FFInputFormat with this flag set read_close() needs to be called by the caller upon read_heade...
#define LIBAVUTIL_VERSION_INT
static int read_header(FFV1Context *f)
static const AVClass dvdvideo_class
static int dvdvideo_read_packet(AVFormatContext *s, AVPacket *pkt)
const char * av_default_item_name(void *ptr)
Return the context name.
static int dvdvideo_close(AVFormatContext *s)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
static const AVOption dvdvideo_options[]
@ AV_OPT_TYPE_INT
Underlying C type is int.
static int dvdvideo_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
#define AV_OPT_FLAG_DECODING_PARAM
A generic parameter which can be set by the user for demuxing or decoding.
@ AV_OPT_TYPE_BOOL
Underlying C type is int.