MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / init_scan_tables

Function init_scan_tables

libavcodec/h264_slice.c:754–786  ·  view source on GitHub ↗

* initialize scan tables */

Source from the content-addressed store, hash-verified

752 * initialize scan tables
753 */
754static void init_scan_tables(H264Context *h)
755{
756 int i;
757 for (i = 0; i < 16; i++) {
758#define TRANSPOSE(x) ((x) >> 2) | (((x) << 2) & 0xF)
759 h->zigzag_scan[i] = TRANSPOSE(ff_zigzag_scan[i]);
760 h->field_scan[i] = TRANSPOSE(field_scan[i]);
761#undef TRANSPOSE
762 }
763 for (i = 0; i < 64; i++) {
764#define TRANSPOSE(x) ((x) >> 3) | (((x) & 7) << 3)
765 h->zigzag_scan8x8[i] = TRANSPOSE(ff_zigzag_direct[i]);
766 h->zigzag_scan8x8_cavlc[i] = TRANSPOSE(zigzag_scan8x8_cavlc[i]);
767 h->field_scan8x8[i] = TRANSPOSE(field_scan8x8[i]);
768 h->field_scan8x8_cavlc[i] = TRANSPOSE(field_scan8x8_cavlc[i]);
769#undef TRANSPOSE
770 }
771 if (h->ps.sps->transform_bypass) { // FIXME same ugly
772 memcpy(h->zigzag_scan_q0 , ff_zigzag_scan , sizeof(h->zigzag_scan_q0 ));
773 memcpy(h->zigzag_scan8x8_q0 , ff_zigzag_direct , sizeof(h->zigzag_scan8x8_q0 ));
774 memcpy(h->zigzag_scan8x8_cavlc_q0 , zigzag_scan8x8_cavlc , sizeof(h->zigzag_scan8x8_cavlc_q0));
775 memcpy(h->field_scan_q0 , field_scan , sizeof(h->field_scan_q0 ));
776 memcpy(h->field_scan8x8_q0 , field_scan8x8 , sizeof(h->field_scan8x8_q0 ));
777 memcpy(h->field_scan8x8_cavlc_q0 , field_scan8x8_cavlc , sizeof(h->field_scan8x8_cavlc_q0 ));
778 } else {
779 memcpy(h->zigzag_scan_q0 , h->zigzag_scan , sizeof(h->zigzag_scan_q0 ));
780 memcpy(h->zigzag_scan8x8_q0 , h->zigzag_scan8x8 , sizeof(h->zigzag_scan8x8_q0 ));
781 memcpy(h->zigzag_scan8x8_cavlc_q0 , h->zigzag_scan8x8_cavlc , sizeof(h->zigzag_scan8x8_cavlc_q0));
782 memcpy(h->field_scan_q0 , h->field_scan , sizeof(h->field_scan_q0 ));
783 memcpy(h->field_scan8x8_q0 , h->field_scan8x8 , sizeof(h->field_scan8x8_q0 ));
784 memcpy(h->field_scan8x8_cavlc_q0 , h->field_scan8x8_cavlc , sizeof(h->field_scan8x8_cavlc_q0 ));
785 }
786}
787
788static enum AVPixelFormat get_pixel_format(H264Context *h, int force_callback)
789{

Callers 1

h264_slice_header_initFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected