Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
a2941c8c
Commit
a2941c8c
authored
Apr 29, 2014
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lavc: move CODEC_FLAG_MV0 to mpegvideo
parent
64841491
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
31 additions
and
5 deletions
+31
-5
APIchanges
doc/APIchanges
+4
-0
avcodec.h
libavcodec/avcodec.h
+7
-1
motion_est.c
libavcodec/motion_est.c
+3
-2
motion_est_template.c
libavcodec/motion_est_template.c
+2
-1
mpegvideo.h
libavcodec/mpegvideo.h
+2
-0
mpegvideo_enc.c
libavcodec/mpegvideo_enc.c
+7
-0
options_table.h
libavcodec/options_table.h
+2
-0
version.h
libavcodec/version.h
+4
-1
No files found.
doc/APIchanges
View file @
a2941c8c
...
...
@@ -13,6 +13,10 @@ libavutil: 2013-12-xx
API changes, most recent first:
2014-04-xx - xxxxxxx - lavc 55.50.3 - avcodec.h
Deprecate CODEC_FLAG_MV0. It is replaced by the flag "mv0" in the
"mpv_flags" private option of the mpegvideo encoders.
2014-04-xx - xxxxxxx - lavc 55.50.2 - avcodec.h
Deprecate CODEC_FLAG_GMC. It is replaced by the "gmc" private option of the
libxvid encoder.
...
...
libavcodec/avcodec.h
View file @
a2941c8c
...
...
@@ -675,7 +675,13 @@ typedef struct RcOverride{
*/
#define CODEC_FLAG_GMC 0x0020 ///< Use GMC.
#endif
#define CODEC_FLAG_MV0 0x0040 ///< Always try a MB with MV=<0,0>.
#if FF_API_MV0
/**
* @deprecated use the flag "mv0" in the "mpv_flags" private option of the
* mpegvideo encoders
*/
#define CODEC_FLAG_MV0 0x0040
#endif
#if FF_API_INPUT_PRESERVED
/**
* @deprecated passing reference-counted frames to the encoders replaces this
...
...
libavcodec/motion_est.c
View file @
a2941c8c
...
...
@@ -973,7 +973,7 @@ void ff_estimate_p_frame_motion(MpegEncContext * s,
// if (varc*2 + 200*256 + 50*(s->lambda2>>FF_LAMBDA_SHIFT) > vard){
mb_type
|=
CANDIDATE_MB_TYPE_INTER
;
c
->
sub_motion_search
(
s
,
&
mx
,
&
my
,
dmin
,
0
,
0
,
0
,
16
);
if
(
s
->
flags
&
CODEC
_FLAG_MV0
)
if
(
s
->
mpv_flags
&
FF_MPV
_FLAG_MV0
)
if
(
mx
||
my
)
mb_type
|=
CANDIDATE_MB_TYPE_SKIPPED
;
//FIXME check difference
}
else
{
...
...
@@ -1592,7 +1592,8 @@ void ff_estimate_b_frame_motion(MpegEncContext * s,
}
//FIXME something smarter
if
(
dmin
>
256
*
256
*
16
)
type
&=
~
CANDIDATE_MB_TYPE_DIRECT
;
//do not try direct mode if it is invalid for this MB
if
(
s
->
codec_id
==
AV_CODEC_ID_MPEG4
&&
type
&
CANDIDATE_MB_TYPE_DIRECT
&&
s
->
flags
&
CODEC_FLAG_MV0
&&
*
(
uint32_t
*
)
s
->
b_direct_mv_table
[
xy
])
if
(
s
->
codec_id
==
AV_CODEC_ID_MPEG4
&&
type
&
CANDIDATE_MB_TYPE_DIRECT
&&
s
->
mpv_flags
&
FF_MPV_FLAG_MV0
&&
*
(
uint32_t
*
)
s
->
b_direct_mv_table
[
xy
])
type
|=
CANDIDATE_MB_TYPE_DIRECT0
;
}
...
...
libavcodec/motion_est_template.c
View file @
a2941c8c
...
...
@@ -896,7 +896,8 @@ static av_always_inline int epzs_motion_search_internal(MpegEncContext * s, int
score_map
[
0
]
=
dmin
;
//FIXME precalc first term below?
if
((
s
->
pict_type
==
AV_PICTURE_TYPE_B
&&
!
(
c
->
flags
&
FLAG_DIRECT
))
||
s
->
flags
&
CODEC_FLAG_MV0
)
if
((
s
->
pict_type
==
AV_PICTURE_TYPE_B
&&
!
(
c
->
flags
&
FLAG_DIRECT
))
||
s
->
mpv_flags
&
FF_MPV_FLAG_MV0
)
dmin
+=
(
mv_penalty
[
pred_x
]
+
mv_penalty
[
pred_y
])
*
penalty_factor
;
/* first line */
...
...
libavcodec/mpegvideo.h
View file @
a2941c8c
...
...
@@ -650,6 +650,7 @@ typedef struct MpegEncContext {
#define FF_MPV_FLAG_QP_RD 0x0004
#define FF_MPV_FLAG_CBP_RD 0x0008
#define FF_MPV_FLAG_NAQ 0x0010
#define FF_MPV_FLAG_MV0 0x0020
#define FF_MPV_OFFSET(x) offsetof(MpegEncContext, x)
#define FF_MPV_OPT_FLAGS (AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM)
...
...
@@ -660,6 +661,7 @@ typedef struct MpegEncContext {
{ "qp_rd", "Use rate distortion optimization for qp selection", 0, AV_OPT_TYPE_CONST, { .i64 = FF_MPV_FLAG_QP_RD }, 0, 0, FF_MPV_OPT_FLAGS, "mpv_flags" },\
{ "cbp_rd", "use rate distortion optimization for CBP", 0, AV_OPT_TYPE_CONST, { .i64 = FF_MPV_FLAG_CBP_RD }, 0, 0, FF_MPV_OPT_FLAGS, "mpv_flags" },\
{ "naq", "normalize adaptive quantization", 0, AV_OPT_TYPE_CONST, { .i64 = FF_MPV_FLAG_NAQ }, 0, 0, FF_MPV_OPT_FLAGS, "mpv_flags" },\
{ "mv0", "always try a mb with mv=<0,0>", 0, AV_OPT_TYPE_CONST, { .i64 = FF_MPV_FLAG_MV0 }, 0, 0, FF_MPV_OPT_FLAGS, "mpv_flags" },\
{ "luma_elim_threshold", "single coefficient elimination threshold for luminance (negative values also consider dc coefficient)",\
FF_MPV_OFFSET(luma_elim_threshold), AV_OPT_TYPE_INT, { .i64 = 0 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS },\
{ "chroma_elim_threshold", "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient)",\
...
...
libavcodec/mpegvideo_enc.c
View file @
a2941c8c
...
...
@@ -787,6 +787,13 @@ av_cold int ff_MPV_encode_init(AVCodecContext *avctx)
FF_ENABLE_DEPRECATION_WARNINGS
;
#endif
#if FF_API_MV0
FF_DISABLE_DEPRECATION_WARNINGS
if
(
avctx
->
flags
&
CODEC_FLAG_MV0
)
s
->
mpv_flags
|=
FF_MPV_FLAG_MV0
;
FF_ENABLE_DEPRECATION_WARNINGS
#endif
if
(
avctx
->
b_frame_strategy
==
2
)
{
for
(
i
=
0
;
i
<
s
->
max_b_frames
+
2
;
i
++
)
{
s
->
tmp_frames
[
i
]
=
av_frame_alloc
();
...
...
libavcodec/options_table.h
View file @
a2941c8c
...
...
@@ -55,7 +55,9 @@ static const AVOption avcodec_options[] = {
#if FF_API_GMC
{
"gmc"
,
"use gmc"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_GMC
},
INT_MIN
,
INT_MAX
,
V
|
E
,
"flags"
},
#endif
#if FF_API_MV0
{
"mv0"
,
"always try a mb with mv=<0,0>"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_MV0
},
INT_MIN
,
INT_MAX
,
V
|
E
,
"flags"
},
#endif
#if FF_API_INPUT_PRESERVED
{
"input_preserved"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_INPUT_PRESERVED
},
INT_MIN
,
INT_MAX
,
0
,
"flags"
},
#endif
...
...
libavcodec/version.h
View file @
a2941c8c
...
...
@@ -30,7 +30,7 @@
#define LIBAVCODEC_VERSION_MAJOR 55
#define LIBAVCODEC_VERSION_MINOR 50
#define LIBAVCODEC_VERSION_MICRO
2
#define LIBAVCODEC_VERSION_MICRO
3
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
...
...
@@ -138,5 +138,8 @@
#ifndef FF_API_GMC
#define FF_API_GMC (LIBAVCODEC_VERSION_MAJOR < 57)
#endif
#ifndef FF_API_MV0
#define FF_API_MV0 (LIBAVCODEC_VERSION_MAJOR < 57)
#endif
#endif
/* AVCODEC_VERSION_H */
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