[FFmpeg-cvslog] mpeg4videodec: move MpegEncContext.resync_marker into Mpeg4DecContext.
Anton Khirnov
git at videolan.org
Sat Nov 30 01:35:24 CET 2013
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Tue Nov 26 12:18:44 2013 +0100| [48e139409556861c9e561ce34133891d8eecc3cf] | committer: Anton Khirnov
mpeg4videodec: move MpegEncContext.resync_marker into Mpeg4DecContext.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=48e139409556861c9e561ce34133891d8eecc3cf
---
libavcodec/mpeg4video.h | 2 ++
libavcodec/mpeg4videodec.c | 4 ++--
libavcodec/mpegvideo.h | 1 -
libavcodec/vaapi_mpeg4.c | 2 +-
libavcodec/vdpau_mpeg4.c | 6 ++++--
5 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/libavcodec/mpeg4video.h b/libavcodec/mpeg4video.h
index 12a49f9..1bdae38 100644
--- a/libavcodec/mpeg4video.h
+++ b/libavcodec/mpeg4video.h
@@ -68,6 +68,8 @@ typedef struct Mpeg4DecContext {
int vol_sprite_usage;
// reversible vlc
int rvlc;
+ ///< could this stream contain resync markers
+ int resync_marker;
} Mpeg4DecContext;
/* dc encoding for mpeg4 */
diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
index 65d51e2..8511dc3 100644
--- a/libavcodec/mpeg4videodec.c
+++ b/libavcodec/mpeg4videodec.c
@@ -1931,7 +1931,7 @@ no_cplx_est:
s->cplx_estimation_trash_b = 0;
}
- s->resync_marker = !get_bits1(gb); /* resync_marker_disabled */
+ ctx->resync_marker = !get_bits1(gb); /* resync_marker_disabled */
s->data_partitioning = get_bits1(gb);
if (s->data_partitioning)
@@ -2240,7 +2240,7 @@ static int decode_vop_header(Mpeg4DecContext *ctx, GetBitContext *gb)
s->pict_type == AV_PICTURE_TYPE_I ? "I" : (s->pict_type == AV_PICTURE_TYPE_P ? "P" : (s->pict_type == AV_PICTURE_TYPE_B ? "B" : "S")),
gb->size_in_bits, s->progressive_sequence, s->alternate_scan,
s->top_field_first, s->quarter_sample ? "q" : "h",
- s->data_partitioning, s->resync_marker,
+ s->data_partitioning, ctx->resync_marker,
s->num_sprite_warping_points, s->sprite_warping_accuracy,
1 - s->no_rounding, s->vo_type,
s->vol_control_parameters ? " VOLC" : " ", s->intra_dc_threshold,
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
index a83241a..e8a9ec2 100644
--- a/libavcodec/mpegvideo.h
+++ b/libavcodec/mpegvideo.h
@@ -599,7 +599,6 @@ typedef struct MpegEncContext {
int low_latency_sprite;
int data_partitioning; ///< data partitioning flag from header
int partitioned_frame; ///< is current frame partitioned
- int resync_marker; ///< could this stream contain resync markers
int low_delay; ///< no reordering needed / has no b-frames
int vo_type;
int vol_control_parameters; ///< does the stream contain the low_delay flag, used to workaround buggy encoders
diff --git a/libavcodec/vaapi_mpeg4.c b/libavcodec/vaapi_mpeg4.c
index 75bfb22..f01285a 100644
--- a/libavcodec/vaapi_mpeg4.c
+++ b/libavcodec/vaapi_mpeg4.c
@@ -72,7 +72,7 @@ static int vaapi_mpeg4_start_frame(AVCodecContext *avctx, av_unused const uint8_
pic_param->vol_fields.bits.quarter_sample = s->quarter_sample;
pic_param->vol_fields.bits.data_partitioned = s->data_partitioning;
pic_param->vol_fields.bits.reversible_vlc = ctx->rvlc;
- pic_param->vol_fields.bits.resync_marker_disable = !s->resync_marker;
+ pic_param->vol_fields.bits.resync_marker_disable = !ctx->resync_marker;
pic_param->no_of_sprite_warping_points = s->num_sprite_warping_points;
for (i = 0; i < s->num_sprite_warping_points && i < 3; i++) {
pic_param->sprite_trajectory_du[i] = s->sprite_traj[i][0];
diff --git a/libavcodec/vdpau_mpeg4.c b/libavcodec/vdpau_mpeg4.c
index 8ccb3d6..17205fe 100644
--- a/libavcodec/vdpau_mpeg4.c
+++ b/libavcodec/vdpau_mpeg4.c
@@ -24,13 +24,15 @@
#include <vdpau/vdpau.h>
#include "avcodec.h"
+#include "mpeg4video.h"
#include "vdpau.h"
#include "vdpau_internal.h"
static int vdpau_mpeg4_start_frame(AVCodecContext *avctx,
const uint8_t *buffer, uint32_t size)
{
- MpegEncContext * const s = avctx->priv_data;
+ Mpeg4DecContext *ctx = avctx->priv_data;
+ MpegEncContext * const s = &ctx->m;
Picture *pic = s->current_picture_ptr;
struct vdpau_picture_context *pic_ctx = pic->hwaccel_picture_private;
VdpPictureInfoMPEG4Part2 *info = &pic_ctx->info.mpeg4;
@@ -62,7 +64,7 @@ static int vdpau_mpeg4_start_frame(AVCodecContext *avctx,
info->vop_time_increment_resolution = s->avctx->time_base.den;
info->vop_fcode_forward = s->f_code;
info->vop_fcode_backward = s->b_code;
- info->resync_marker_disable = !s->resync_marker;
+ info->resync_marker_disable = !ctx->resync_marker;
info->interlaced = !s->progressive_sequence;
info->quant_type = s->mpeg_quant;
info->quarter_sample = s->quarter_sample;
More information about the ffmpeg-cvslog
mailing list