Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
adfa53d6
Commit
adfa53d6
authored
Feb 23, 2013
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lavc: remove disabled FF_API_VDA_ASYNC cruft
parent
bdd1567c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
0 additions
and
182 deletions
+0
-182
vda.h
libavcodec/vda.h
+0
-75
vda_h264.c
libavcodec/vda_h264.c
+0
-104
version.h
libavcodec/version.h
+0
-3
No files found.
libavcodec/vda.h
View file @
adfa53d6
...
@@ -31,10 +31,6 @@
...
@@ -31,10 +31,6 @@
#include "libavcodec/version.h"
#include "libavcodec/version.h"
#if FF_API_VDA_ASYNC
#include <pthread.h>
#endif
#include <stdint.h>
#include <stdint.h>
// emmintrin.h is unable to compile with -std=c99 -Werror=missing-prototypes
// emmintrin.h is unable to compile with -std=c99 -Werror=missing-prototypes
...
@@ -52,39 +48,6 @@
...
@@ -52,39 +48,6 @@
* @{
* @{
*/
*/
#if FF_API_VDA_ASYNC
/**
* This structure is used to store decoded frame information and data.
*
* @deprecated Use synchronous decoding mode.
*/
typedef
struct
vda_frame
{
/**
* The PTS of the frame.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
int64_t
pts
;
/**
* The CoreVideo buffer that contains the decoded data.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
CVPixelBufferRef
cv_buffer
;
/**
* A pointer to the next frame.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
struct
vda_frame
*
next_frame
;
}
vda_frame
;
#endif
/**
/**
* This structure is used to provide the necessary configurations and data
* This structure is used to provide the necessary configurations and data
* to the VDA Libav HWAccel implementation.
* to the VDA Libav HWAccel implementation.
...
@@ -116,28 +79,6 @@ struct vda_context {
...
@@ -116,28 +79,6 @@ struct vda_context {
*/
*/
int
use_sync_decoding
;
int
use_sync_decoding
;
#if FF_API_VDA_ASYNC
/**
* VDA frames queue ordered by presentation timestamp.
*
* @deprecated Use synchronous decoding mode.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
vda_frame
*
queue
;
/**
* Mutex for locking queue operations.
*
* @deprecated Use synchronous decoding mode.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
pthread_mutex_t
queue_mutex
;
#endif
/**
/**
* The frame width.
* The frame width.
*
*
...
@@ -194,22 +135,6 @@ int ff_vda_create_decoder(struct vda_context *vda_ctx,
...
@@ -194,22 +135,6 @@ int ff_vda_create_decoder(struct vda_context *vda_ctx,
/** Destroy the video decoder. */
/** Destroy the video decoder. */
int
ff_vda_destroy_decoder
(
struct
vda_context
*
vda_ctx
);
int
ff_vda_destroy_decoder
(
struct
vda_context
*
vda_ctx
);
#if FF_API_VDA_ASYNC
/**
* Return the top frame of the queue.
*
* @deprecated Use synchronous decoding mode.
*/
vda_frame
*
ff_vda_queue_pop
(
struct
vda_context
*
vda_ctx
);
/**
* Release the given frame.
*
* @deprecated Use synchronous decoding mode.
*/
void
ff_vda_release_vda_frame
(
vda_frame
*
frame
);
#endif
/**
/**
* @}
* @}
*/
*/
...
...
libavcodec/vda_h264.c
View file @
adfa53d6
...
@@ -28,101 +28,6 @@
...
@@ -28,101 +28,6 @@
#include "h264.h"
#include "h264.h"
#include "vda.h"
#include "vda.h"
#if FF_API_VDA_ASYNC
#include <CoreFoundation/CFDictionary.h>
/* helper to create a dictionary according to the given pts */
static
CFDictionaryRef
vda_dictionary_with_pts
(
int64_t
i_pts
)
{
CFStringRef
key
=
CFSTR
(
"FF_VDA_DECODER_PTS_KEY"
);
CFNumberRef
value
=
CFNumberCreate
(
kCFAllocatorDefault
,
kCFNumberSInt64Type
,
&
i_pts
);
CFDictionaryRef
user_info
=
CFDictionaryCreate
(
kCFAllocatorDefault
,
(
const
void
**
)
&
key
,
(
const
void
**
)
&
value
,
1
,
&
kCFTypeDictionaryKeyCallBacks
,
&
kCFTypeDictionaryValueCallBacks
);
CFRelease
(
value
);
return
user_info
;
}
/* helper to retrieve the pts from the given dictionary */
static
int64_t
vda_pts_from_dictionary
(
CFDictionaryRef
user_info
)
{
CFNumberRef
pts
;
int64_t
outValue
=
0
;
if
(
!
user_info
)
return
0
;
pts
=
CFDictionaryGetValue
(
user_info
,
CFSTR
(
"FF_VDA_DECODER_PTS_KEY"
));
if
(
pts
)
CFNumberGetValue
(
pts
,
kCFNumberSInt64Type
,
&
outValue
);
return
outValue
;
}
/* Remove and release all frames from the queue. */
static
void
vda_clear_queue
(
struct
vda_context
*
vda_ctx
)
{
vda_frame
*
top_frame
;
pthread_mutex_lock
(
&
vda_ctx
->
queue_mutex
);
while
(
vda_ctx
->
queue
)
{
top_frame
=
vda_ctx
->
queue
;
vda_ctx
->
queue
=
top_frame
->
next_frame
;
ff_vda_release_vda_frame
(
top_frame
);
}
pthread_mutex_unlock
(
&
vda_ctx
->
queue_mutex
);
}
static
int
vda_decoder_decode
(
struct
vda_context
*
vda_ctx
,
uint8_t
*
bitstream
,
int
bitstream_size
,
int64_t
frame_pts
)
{
OSStatus
status
=
kVDADecoderNoErr
;
CFDictionaryRef
user_info
;
CFDataRef
coded_frame
;
coded_frame
=
CFDataCreate
(
kCFAllocatorDefault
,
bitstream
,
bitstream_size
);
user_info
=
vda_dictionary_with_pts
(
frame_pts
);
status
=
VDADecoderDecode
(
vda_ctx
->
decoder
,
0
,
coded_frame
,
user_info
);
CFRelease
(
user_info
);
CFRelease
(
coded_frame
);
return
status
;
}
vda_frame
*
ff_vda_queue_pop
(
struct
vda_context
*
vda_ctx
)
{
vda_frame
*
top_frame
;
if
(
!
vda_ctx
->
queue
)
return
NULL
;
pthread_mutex_lock
(
&
vda_ctx
->
queue_mutex
);
top_frame
=
vda_ctx
->
queue
;
vda_ctx
->
queue
=
top_frame
->
next_frame
;
pthread_mutex_unlock
(
&
vda_ctx
->
queue_mutex
);
return
top_frame
;
}
void
ff_vda_release_vda_frame
(
vda_frame
*
frame
)
{
if
(
frame
)
{
CVPixelBufferRelease
(
frame
->
cv_buffer
);
av_freep
(
&
frame
);
}
}
#endif
/* Decoder callback that adds the VDA frame to the queue in display order. */
/* Decoder callback that adds the VDA frame to the queue in display order. */
static
void
vda_decoder_callback
(
void
*
vda_hw_ctx
,
static
void
vda_decoder_callback
(
void
*
vda_hw_ctx
,
CFDictionaryRef
user_info
,
CFDictionaryRef
user_info
,
...
@@ -276,10 +181,6 @@ int ff_vda_create_decoder(struct vda_context *vda_ctx,
...
@@ -276,10 +181,6 @@ int ff_vda_create_decoder(struct vda_context *vda_ctx,
CFMutableDictionaryRef
io_surface_properties
;
CFMutableDictionaryRef
io_surface_properties
;
CFNumberRef
cv_pix_fmt
;
CFNumberRef
cv_pix_fmt
;
#if FF_API_VDA_ASYNC
pthread_mutex_init
(
&
vda_ctx
->
queue_mutex
,
NULL
);
#endif
/* Each VCL NAL in the bistream sent to the decoder
/* Each VCL NAL in the bistream sent to the decoder
* is preceded by a 4 bytes length header.
* is preceded by a 4 bytes length header.
* Change the avcC atom header if needed, to signal headers of 4 bytes. */
* Change the avcC atom header if needed, to signal headers of 4 bytes. */
...
@@ -357,11 +258,6 @@ int ff_vda_destroy_decoder(struct vda_context *vda_ctx)
...
@@ -357,11 +258,6 @@ int ff_vda_destroy_decoder(struct vda_context *vda_ctx)
if
(
vda_ctx
->
decoder
)
if
(
vda_ctx
->
decoder
)
status
=
VDADecoderDestroy
(
vda_ctx
->
decoder
);
status
=
VDADecoderDestroy
(
vda_ctx
->
decoder
);
#if FF_API_VDA_ASYNC
vda_clear_queue
(
vda_ctx
);
pthread_mutex_destroy
(
&
vda_ctx
->
queue_mutex
);
#endif
av_freep
(
&
vda_ctx
->
priv_bitstream
);
av_freep
(
&
vda_ctx
->
priv_bitstream
);
return
status
;
return
status
;
...
...
libavcodec/version.h
View file @
adfa53d6
...
@@ -49,9 +49,6 @@
...
@@ -49,9 +49,6 @@
#ifndef FF_API_REQUEST_CHANNELS
#ifndef FF_API_REQUEST_CHANNELS
#define FF_API_REQUEST_CHANNELS (LIBAVCODEC_VERSION_MAJOR < 56)
#define FF_API_REQUEST_CHANNELS (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
#endif
#ifndef FF_API_VDA_ASYNC
#define FF_API_VDA_ASYNC (LIBAVCODEC_VERSION_MAJOR < 55)
#endif
#ifndef FF_API_AVCODEC_RESAMPLE
#ifndef FF_API_AVCODEC_RESAMPLE
#define FF_API_AVCODEC_RESAMPLE (LIBAVCODEC_VERSION_MAJOR < 55)
#define FF_API_AVCODEC_RESAMPLE (LIBAVCODEC_VERSION_MAJOR < 55)
#endif
#endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment