News:

--

Main Menu

Video codec setting information

Started by EEMcGee, July 02, 2016, 10:13:32 PM

Previous topic - Next topic

EEMcGee

Is there any way to find out if the video codec settings for a video file are allowing future image blocks to be referenced  for B-frames?  I'm just wondering if that detailed of information is in the header of video files.  It seems like video players would have to know that when they open a file for playback.  I'm wondering as I have been editing Mpeg2 TS files from USA over the air broadcast without any problem when setting the A marker off of I-frames in COPY mode. It would be nice to know for any video that I open to edit if it referencing future frames so I know if that file can be cut off off I-frame on the A marker.  I know the B marker always has to be on I-frames.

AQUAR

Assuming you are using ADM2.6 not ADM2.5 (with smart copy functionality!).

This from Wiki:
Reference frames are frames of a compressed video that are used to define future frames. As such, they are only used in inter-frame compression techniques. In older video encoding standards, such as MPEG-2, only one reference frame ââ,¬â€œ the previous frame ââ,¬â€œ was used for P-frames. Two reference frames (one past and one future) were used for B-frames.

With older codecs (like Mpeg2), your workflow would have a lower impact in terms of creating orphan frames.
Using a modern codec (like AVC) this referencing is multi layered (intra frames, pyramid B-frames, slices).

Either way I think your work flow is not respecting the limitations of the copy process available in ADM 2.6.

That is just my thought as an end user with very limited comprehension of these codecs.
Only person currently on this forum that can answer this question with confidence is the main Author of ADM.

EEMcGee

I just looked through an Apple document on M-Peg 2 and found the answer.

The ducument is at

https://documentation.apple.com/en/compressor/usermanual/index.html#chapter=18%26section=5%26tasks=true

Here is an excerpt from the document
    Intra (I): Also known as the key frame. Every GOP contains one I-frame. The I-frame is the only MPEG-2 frame type which can be fully decompressed without any reference to frames that precede or follow it. It is also the most data-heavy, requiring the most disk space. If you want to place an I-frame at a scene change or some other specific frame location, you need to manually set it using the Preview window. This is known as a forced I-frame. See Adding Markers to a Clip for more information.
    Predicted (P): Encoded from a ââ,¬Å"predictedââ,¬Â picture based on the closest preceding I- or P-frame. P-frames typically require much less disk space than do I-frames because they reference a preceding I- or P-frame in the GOP.

    Note: Both I-frames and P-frames are also known as reference frames, because a B-frame may refer to either one or both frame types.
    Bi-directional (B): Encoded from an interpolation of succeeding and preceding reference frames, either I-frame or P-frame. B-frames are the most storage-efficient MPEG-2 frame type, requiring the least amount of disk space.

According to this information (FOR M-PEG2 ONLY), if you put an A marker on any B-frame that directly succeeding a P-frame, you will never have a orphaned frame.  The reason I am discussing this is because the compression scheme is not always the best an putting I frames at scene changes where they should be.  In some of those instances you may cut off something you want or be left with something you don't if you only cut at I-frames.  Again, THIS IS FOR M-PEG 2 ONLY.

I welcome further comment and will not take it personally if others don't think this is an acceptable thing to do.

AQUAR

#3
From info contained in previous threads I understand that, ADM being time based, can only look ahead.
The order of decoding the frames is dictated by the decoder not avidemux.
So if that understanding is true (not saying it is!) then you need to splice cut point "A" at an I frame.
ADM has no knowledge of the order the frames are decoded post an I frame in a GOP (for version 2.6).
ADM can't "fetch" a future frame referenced by a B frame as it has no clue where in the video buffer that future frame is.

Still think that only the Author of ADM can answer your question about the ADM process at these splice/edit points.
Still think you need to cut at the intra frames when using ADM2.6