|
@@ -26,6 +26,7 @@
|
|
|
*/
|
|
|
|
|
|
#include "libavutil/imgutils.h"
|
|
|
+#include "libavutil/opt.h"
|
|
|
#include "internal.h"
|
|
|
#include "dsputil.h"
|
|
|
#include "avcodec.h"
|
|
@@ -4231,6 +4232,26 @@ static const AVProfile profiles[] = {
|
|
|
{ FF_PROFILE_UNKNOWN },
|
|
|
};
|
|
|
|
|
|
+static const AVOption h264_options[] = {
|
|
|
+ {"is_avc", "is avc", offsetof(H264Context, is_avc), FF_OPT_TYPE_INT, {.dbl = 0}, 0, 1, 0},
|
|
|
+ {"nal_length_size", "nal_length_size", offsetof(H264Context, nal_length_size), FF_OPT_TYPE_INT, {.dbl = 0}, 0, 4, 0},
|
|
|
+ {NULL}
|
|
|
+};
|
|
|
+
|
|
|
+static const AVClass h264_class = {
|
|
|
+ "H264 Decoder",
|
|
|
+ av_default_item_name,
|
|
|
+ h264_options,
|
|
|
+ LIBAVUTIL_VERSION_INT,
|
|
|
+};
|
|
|
+
|
|
|
+static const AVClass h264_vdpau_class = {
|
|
|
+ "H264 VDPAU Decoder",
|
|
|
+ av_default_item_name,
|
|
|
+ h264_options,
|
|
|
+ LIBAVUTIL_VERSION_INT,
|
|
|
+};
|
|
|
+
|
|
|
AVCodec ff_h264_decoder = {
|
|
|
.name = "h264",
|
|
|
.type = AVMEDIA_TYPE_VIDEO,
|
|
@@ -4246,6 +4267,7 @@ AVCodec ff_h264_decoder = {
|
|
|
.init_thread_copy = ONLY_IF_THREADS_ENABLED(decode_init_thread_copy),
|
|
|
.update_thread_context = ONLY_IF_THREADS_ENABLED(decode_update_thread_context),
|
|
|
.profiles = NULL_IF_CONFIG_SMALL(profiles),
|
|
|
+ .priv_class = &h264_class,
|
|
|
};
|
|
|
|
|
|
#if CONFIG_H264_VDPAU_DECODER
|
|
@@ -4262,5 +4284,6 @@ AVCodec ff_h264_vdpau_decoder = {
|
|
|
.long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration)"),
|
|
|
.pix_fmts = (const enum PixelFormat[]){PIX_FMT_VDPAU_H264, PIX_FMT_NONE},
|
|
|
.profiles = NULL_IF_CONFIG_SMALL(profiles),
|
|
|
+ .priv_class = &h264_vdpau_class,
|
|
|
};
|
|
|
#endif
|