33 #elif HAVE_MAPVIEWOFFILE
49 int log_offset,
void *log_ctx)
52 int err, fd = open(filename, O_RDONLY);
66 if (fstat(fd, &st) < 0) {
74 off_size = st.st_size;
75 if (off_size > SIZE_MAX) {
77 "File size for file '%s' is too big\n", filename);
84 ptr = mmap(
NULL, *size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
85 if (ptr == MAP_FAILED) {
93 #elif HAVE_MAPVIEWOFFILE
95 HANDLE mh, fh = (HANDLE)_get_osfhandle(fd);
97 mh = CreateFileMapping(fh,
NULL, PAGE_READONLY, 0, 0,
NULL);
104 ptr = MapViewOfFile(mh, FILE_MAP_READ, 0, 0, *size);
121 read(fd, *bufptr, *size);
131 munmap(bufptr, size);
132 #elif HAVE_MAPVIEWOFFILE
133 UnmapViewOfFile(bufptr);
void * av_malloc(size_t size)
Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if ...
memory handling functions
void av_file_unmap(uint8_t *bufptr, size_t size)
Unmap or free the buffer bufptr created by av_file_map().
void av_free(void *ptr)
Free a memory block which has been allocated with av_malloc(z)() or av_realloc(). ...
int av_file_map(const char *filename, uint8_t **bufptr, size_t *size, int log_offset, void *log_ctx)
Read the file with name filename, and put its content in a newly allocated buffer or map it with mmap...
void av_log(void *avcl, int level, const char *fmt,...)
static void close(AVCodecParserContext *s)
Describe the class of an AVClass context structure.
int av_strerror(int errnum, char *errbuf, size_t errbuf_size)
Put a description of the AVERROR code errnum in errbuf.
static const AVClass file_log_ctx_class