From: Dmitrii Ovchinnikov <ovchinnikov.dmitrii@gmail.com>
To: FFmpeg development discussions and patches
<ffmpeg-devel@ffmpeg.org>,
OvchinnikovDmitrii <ovchinnikov.dmitrii@gmail.com>
Subject: Re: [FFmpeg-devel] [crop support for matroska demuxer, V3 1/3] libavcodec: Add crop related fields to structure AVCodecContext and AVCodecParameters.
Date: Wed, 12 Oct 2022 17:20:19 +0200
Message-ID: <CADXbNkSo+6bndRTxL3V+VP6+GYyVYAiQSQTZVPNa0cOxOWwjww@mail.gmail.com> (raw)
In-Reply-To: <166548955531.5794.12476590707197899360@lain.khirnov.net>
>> I don't see why should a decoder deal with this at all?
>>This can be just as well done by the caller.
This implementation takes a reference of the h.264 supporting cropping. In
h264, if width (stored in ACCodecContext) parsed from container is
different from width parsed from elementary, it will trigger cropping. This
is essentially a kind of cropping that related with container. It will
infer parameters cb(crop bottom), cr(crop right), and then finally assigned
them to AVFrame.
This gives the inspiration when we get direct cropping parameters from
container. We can us the same methodology.
Parser cropping parameters from container in demuxer -> stored container
cropping parameters in AVCodec -> pass container cropping parameters to
AVFrame-> Apply Crop in frame.c of libavutil.
I agree that the caller decide container cropping. To support caller decide
the behaviors of cropping,I declare a new field “container_apply_cropping”.
The value of this fields container_apply_cropping is decided by caller.
This field is by default 1.
- When set to 1 (the default), libavcodec will apply container cropping
to codec cropping additionally.
- When set to 2, libavcodec will use container cropping to overwrite
codec cropping (the final cropping uses container cropping parameters)
- When set to 0, libavcodec will ignore container cropping parameters
(the final cropping uses codec cropping parameters)
Caller can total decide the behaviors of container cropping.
This field “container_apply_cropping” subject the value of
“apply_cropping" (an existing field ). Only apply_cropping is 1, this field
works. This make sure the container cropping parameters supporting is
consistent with the current cropping mechanism.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2022-10-12 15:20 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-07 14:59 OvchinnikovDmitrii
2022-10-07 14:59 ` [FFmpeg-devel] [crop support for matroska demuxer, V3 2/3] libavcodec: Public code to support container crop OvchinnikovDmitrii
2022-10-07 14:59 ` [FFmpeg-devel] [crop support for matroska demuxer, V3 3/3] libavformat\matroskadec.c: crop support for matroska demuxer OvchinnikovDmitrii
2022-10-11 11:59 ` [FFmpeg-devel] [crop support for matroska demuxer, V3 1/3] libavcodec: Add crop related fields to structure AVCodecContext and AVCodecParameters Anton Khirnov
2022-10-12 15:20 ` Dmitrii Ovchinnikov [this message]
2022-10-11 12:43 ` Timo Rothenpieler
2022-10-11 12:51 ` James Almer
2022-10-12 17:08 ` Anton Khirnov
2022-10-12 15:21 ` Dmitrii Ovchinnikov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CADXbNkSo+6bndRTxL3V+VP6+GYyVYAiQSQTZVPNa0cOxOWwjww@mail.gmail.com \
--to=ovchinnikov.dmitrii@gmail.com \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git